/* =============================================================================
   avanza-modules.css
   CSS extraído de archivos .blade.php y .vue (non-scoped, non-SCSS).
   Generado automáticamente — no editar a mano.
   ============================================================================= */

/* ── resources/js/billModule/budgets/components/EditImport.vue ─────────────────────────────────────────────── */
.p-inputnumber,
    .p-inputnumber-input {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        font-size: .8125rem !important;
        border-color: #E5E5E5 !important;
    }

    #import .p-inputnumber-input[readonly] {
        background-color: #e2e8f0a9 !important;
        border-color: #D0D9D9 !important;
        color: #3f4141 !important;
    }

/* ── resources/js/contabilidadModule/balances/components/MovimientosInline.vue ─────────────────────────────────────────────── */
/* Asegurar que el overlay del asiento tenga un z-index mayor */
.asiento-dialog-wrapper .p-dialog-overlay {
    z-index: 10001 !important;
}

.asiento-dialog-wrapper .p-dialog {
    z-index: 10002 !important;
}

/* ── resources/js/contabilidadModule/facturas/components/FacturasDialog.vue ─────────────────────────────────────────────── */
.facturas-dialog-fixed .p-dialog-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.facturas-dialog-fixed {
    display: flex;
    flex-direction: column;
}

/* ── resources/js/contabilidadModule/facturas/components/FacturasVerifactuModal.vue ─────────────────────────────────────────────── */
/* Asegurar que el overlay del asiento tenga un z-index mayor */
.asiento-dialog-wrapper .p-dialog-overlay {
    z-index: 10001 !important;
}

.asiento-dialog-wrapper .p-dialog {
    z-index: 10002 !important;
}

/* ── resources/js/contabilidadModule/facturas/components/RecogerFacturasDigitDsescan.vue ─────────────────────────────────────────────── */
.asiento-dialog-wrapper .p-dialog-overlay {
    z-index: 10001 !important;
}

.asiento-dialog-wrapper .p-dialog {
    z-index: 10002 !important;
}

/* ── resources/js/contabilidadModule/facturas/components/RecogerFacturasDsfacturacion.vue ─────────────────────────────────────────────── */
.asiento-dialog-wrapper .p-dialog-overlay {
    z-index: 10001 !important;
}

.asiento-dialog-wrapper .p-dialog {
    z-index: 10002 !important;
}

/* ── resources/js/contabilidadModule/movimientos/components/ExportExcelDialog.vue ─────────────────────────────────────────────── */
.custom-dialog {
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.export-options-container {
    padding: 0 1rem;
}

.switch-option-container {
    background: #f8f9fa;
    padding: 1rem;
    border-radius: 6px;
    border: 1px solid #e9ecef;
}

.switch-label-content {
    flex: 1;
}

.switch-label-title {
    color: #2c3e50;
    font-size: 0.95rem;
    font-weight: 600;
    display: block;
    margin-bottom: 0.25rem;
}

.switch-label-description {
    font-size: 0.85rem;
    color: #6c757d;
}

.switch-parent {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 26px;
}

.switch-parent:active .slider {
    width: 28px;
    border-radius: 50%;
}

.switch {
    width: 100%;
    height: 100%;
    display: block;
    background-color: #e9e9eb;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease-out;
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.12), 0px 2px 1px rgba(0, 0, 0, 0.05);
}

.slider {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: 0.4s;
    border-radius: 50%;
}

/* Hide default HTML checkbox */
.checkbox {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.checkbox:checked + .switch:active .slider {
    width: 28px;
    left: calc(30% - 20px / 2 + 8px);
}

.checkbox:checked + .switch {
    background-color: #34c759;
}


.checkbox:checked + .switch .slider {
    left: calc(50% - 20px / 2 + 8px);
    top: calc(50% - 20px / 2);
}

/* ── resources/js/shared/editor/Editor.vue ─────────────────────────────────────────────── */
/*!
 * Quill Editor v1.3.3
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */
.ql-container {
  box-sizing: border-box;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  height: 100%;
  margin: 0px;
  position: relative;
}
.ql-container.ql-disabled .ql-tooltip {
  visibility: hidden;
}
.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before {
  pointer-events: none;
}
.ql-clipboard {
  left: -100000px;
  height: 1px;
  overflow-y: hidden;
  position: absolute;
  top: 50%;
}
.ql-clipboard p {
  margin: 0;
  padding: 0;
}
.ql-editor {
  box-sizing: border-box;
  line-height: 1.42;
  height: 100%;
  outline: none;
  overflow-y: auto;
  padding: 12px 15px;
  tab-size: 4;
  -moz-tab-size: 4;
  text-align: left;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.ql-editor > * {
  cursor: text;
}
.ql-editor strong {
    font-weight: 600;
}
.ql-editor p,
.ql-editor ol,
.ql-editor ul,
.ql-editor pre,
.ql-editor blockquote,
.ql-editor h1,
.ql-editor h2,
.ql-editor h3,
.ql-editor h4,
.ql-editor h5,
.ql-editor h6 {
  margin: 0;
  padding: 0;
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol,
.ql-editor ul {
  padding-left: 1.5rem;
}
.ql-editor ol > li,
.ql-editor ul > li {
  list-style-type: none;
}
.ql-editor ul > li::before {
  content: '\2022';
}
.ql-editor ul[data-checked=true],
.ql-editor ul[data-checked=false] {
  pointer-events: none;
}
.ql-editor ul[data-checked=true] > li *,
.ql-editor ul[data-checked=false] > li * {
  pointer-events: all;
}
.ql-editor ul[data-checked=true] > li::before,
.ql-editor ul[data-checked=false] > li::before {
  color: #777;
  cursor: pointer;
  pointer-events: all;
}
.ql-editor ul[data-checked=true] > li::before {
  content: '\2611';
}
.ql-editor ul[data-checked=false] > li::before {
  content: '\2610';
}
.ql-editor li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2rem;
}
.ql-editor li:not(.ql-direction-rtl)::before {
  margin-left: -1.5rem;
  margin-right: 0.3rem;
  text-align: right;
}
.ql-editor li.ql-direction-rtl::before {
  margin-left: 0.3rem;
  margin-right: -1.5rem;
}
.ql-editor ol li:not(.ql-direction-rtl),
.ql-editor ul li:not(.ql-direction-rtl) {
  padding-left: 1.5rem;
}
.ql-editor ol li.ql-direction-rtl,
.ql-editor ul li.ql-direction-rtl {
  padding-right: 1.5rem;
}
.ql-editor ol li {
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  counter-increment: list-0;
}
.ql-editor ol li:before {
  content: counter(list-0, decimal) '. ';
}
.ql-editor ol li.ql-indent-1 {
  counter-increment: list-1;
}
.ql-editor ol li.ql-indent-1:before {
  content: counter(list-1, lower-alpha) '. ';
}
.ql-editor ol li.ql-indent-1 {
  counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-2 {
  counter-increment: list-2;
}
.ql-editor ol li.ql-indent-2:before {
  content: counter(list-2, lower-roman) '. ';
}
.ql-editor ol li.ql-indent-2 {
  counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-3 {
  counter-increment: list-3;
}
.ql-editor ol li.ql-indent-3:before {
  content: counter(list-3, decimal) '. ';
}
.ql-editor ol li.ql-indent-3 {
  counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-4 {
  counter-increment: list-4;
}
.ql-editor ol li.ql-indent-4:before {
  content: counter(list-4, lower-alpha) '. ';
}
.ql-editor ol li.ql-indent-4 {
  counter-reset: list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-5 {
  counter-increment: list-5;
}
.ql-editor ol li.ql-indent-5:before {
  content: counter(list-5, lower-roman) '. ';
}
.ql-editor ol li.ql-indent-5 {
  counter-reset: list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-6 {
  counter-increment: list-6;
}
.ql-editor ol li.ql-indent-6:before {
  content: counter(list-6, decimal) '. ';
}
.ql-editor ol li.ql-indent-6 {
  counter-reset: list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-7 {
  counter-increment: list-7;
}
.ql-editor ol li.ql-indent-7:before {
  content: counter(list-7, lower-alpha) '. ';
}
.ql-editor ol li.ql-indent-7 {
  counter-reset: list-8 list-9;
}
.ql-editor ol li.ql-indent-8 {
  counter-increment: list-8;
}
.ql-editor ol li.ql-indent-8:before {
  content: counter(list-8, lower-roman) '. ';
}
.ql-editor ol li.ql-indent-8 {
  counter-reset: list-9;
}
.ql-editor ol li.ql-indent-9 {
  counter-increment: list-9;
}
.ql-editor ol li.ql-indent-9:before {
  content: counter(list-9, decimal) '. ';
}
.ql-editor .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3rem;
}
.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5rem;
}
.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3rem;
}
.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5rem;
}
.ql-editor .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6rem;
}
.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5rem;
}
.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6rem;
}
.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5rem;
}
.ql-editor .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9rem;
}
.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5rem;
}
.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9rem;
}
.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5rem;
}
.ql-editor .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12rem;
}
.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5rem;
}
.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12rem;
}
.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5rem;
}
.ql-editor .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15rem;
}
.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5rem;
}
.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15rem;
}
.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5rem;
}
.ql-editor .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18rem;
}
.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5rem;
}
.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18rem;
}
.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5rem;
}
.ql-editor .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21rem;
}
.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5rem;
}
.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21rem;
}
.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5rem;
}
.ql-editor .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24rem;
}
.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5rem;
}
.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24rem;
}
.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5rem;
}
.ql-editor .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27rem;
}
.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5rem;
}
.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27rem;
}
.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5rem;
}
.ql-editor .ql-video {
  display: block;
  max-width: 100%;
}
.ql-editor .ql-video.ql-align-center {
  margin: 0 auto;
}
.ql-editor .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}
.ql-editor .ql-bg-black {
  background-color: #000;
}
.ql-editor .ql-bg-red {
  background-color: #e60000;
}
.ql-editor .ql-bg-orange {
  background-color: #f90;
}
.ql-editor .ql-bg-yellow {
  background-color: #ff0;
}
.ql-editor .ql-bg-green {
  background-color: #008a00;
}
.ql-editor .ql-bg-blue {
  background-color: #06c;
}
.ql-editor .ql-bg-purple {
  background-color: #93f;
}
.ql-editor .ql-color-white {
  color: #fff;
}
.ql-editor .ql-color-red {
  color: #e60000;
}
.ql-editor .ql-color-orange {
  color: #f90;
}
.ql-editor .ql-color-yellow {
  color: #ff0;
}
.ql-editor .ql-color-green {
  color: #008a00;
}
.ql-editor .ql-color-blue {
  color: #06c;
}
.ql-editor .ql-color-purple {
  color: #93f;
}
.ql-editor .ql-font-serif {
  font-family: Georgia, Times New Roman, serif;
}
.ql-editor .ql-font-monospace {
  font-family: Monaco, Courier New, monospace;
}
.ql-editor .ql-size-small {
  font-size: 0.75rem;
}
.ql-editor .ql-size-large {
  font-size: 1.5rem;
}
.ql-editor .ql-size-huge {
  font-size: 2.5rem;
}
.ql-editor .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}
.ql-editor .ql-align-center {
  text-align: center;
}
.ql-editor .ql-align-justify {
  text-align: justify;
}
.ql-editor .ql-align-right {
  text-align: right;
}
.ql-editor.ql-blank::before {
  color: rgba(0,0,0,0.6);
  content: attr(data-placeholder);
  font-style: italic;
  left: 15px;
  pointer-events: none;
  position: absolute;
  right: 15px;
}
.ql-snow.ql-toolbar:after,
.ql-snow .ql-toolbar:after {
  clear: both;
  content: '';
  display: table;
}
.ql-snow.ql-toolbar button,
.ql-snow .ql-toolbar button {
  background: none;
  border: none;
  cursor: pointer;
  float: left;
  height: 24px;
  padding: 3px 5px;
  width: 28px;
}
.ql-snow.ql-toolbar button svg,
.ql-snow .ql-toolbar button svg {
  float: left;
  height: 100%;
}
.ql-snow.ql-toolbar button:active:hover,
.ql-snow .ql-toolbar button:active:hover {
  outline: none;
}
.ql-snow.ql-toolbar input.ql-image[type=file],
.ql-snow .ql-toolbar input.ql-image[type=file] {
  display: none;
}
.ql-snow.ql-toolbar button:hover,
.ql-snow .ql-toolbar button:hover,
.ql-snow.ql-toolbar button:focus,
.ql-snow .ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow .ql-toolbar button.ql-active,
.ql-snow.ql-toolbar .ql-picker-label:hover,
.ql-snow .ql-toolbar .ql-picker-label:hover,
.ql-snow.ql-toolbar .ql-picker-label.ql-active,
.ql-snow .ql-toolbar .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker-item:hover,
.ql-snow .ql-toolbar .ql-picker-item:hover,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: #06c;
}
.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button:focus .ql-fill,
.ql-snow .ql-toolbar button:focus .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  fill: #06c;
}
.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:focus .ql-stroke,
.ql-snow .ql-toolbar button:focus .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow.ql-toolbar button:hover .ql-stroke-miter,
.ql-snow .ql-toolbar button:hover .ql-stroke-miter,
.ql-snow.ql-toolbar button:focus .ql-stroke-miter,
.ql-snow .ql-toolbar button:focus .ql-stroke-miter,
.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: #06c;
}
@media (pointer: coarse) {
  .ql-snow.ql-toolbar button:hover:not(.ql-active),
  .ql-snow .ql-toolbar button:hover:not(.ql-active) {
    color: #444;
  }
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {
    fill: #444;
  }
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {
    stroke: #444;
  }
}
.ql-snow {
  box-sizing: border-box;
}
.ql-snow * {
  box-sizing: border-box;
}
.ql-snow .ql-hidden {
  display: none;
}
.ql-snow .ql-out-bottom,
.ql-snow .ql-out-top {
  visibility: hidden;
}
.ql-snow .ql-tooltip {
  position: absolute;
  transform: translateY(10px);
}
.ql-snow .ql-tooltip a {
  cursor: pointer;
  text-decoration: none;
}
.ql-snow .ql-tooltip.ql-flip {
  transform: translateY(-10px);
}
.ql-snow .ql-formats {
  display: inline-block;
  vertical-align: middle;
}
.ql-snow .ql-formats:after {
  clear: both;
  content: '';
  display: table;
}
.ql-snow .ql-stroke {
  fill: none;
  stroke: #444;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.ql-snow .ql-stroke-miter {
  fill: none;
  stroke: #444;
  stroke-miterlimit: 10;
  stroke-width: 2;
}
.ql-snow .ql-fill,
.ql-snow .ql-stroke.ql-fill {
  fill: #444;
}
.ql-snow .ql-empty {
  fill: none;
}
.ql-snow .ql-even {
  fill-rule: evenodd;
}
.ql-snow .ql-thin,
.ql-snow .ql-stroke.ql-thin {
  stroke-width: 1;
}
.ql-snow .ql-transparent {
  opacity: 0.4;
}
.ql-snow .ql-direction svg:last-child {
  display: none;
}
.ql-snow .ql-direction.ql-active svg:last-child {
  display: inline;
}
.ql-snow .ql-direction.ql-active svg:first-child {
  display: none;
}
.ql-snow .ql-editor h1 {
  font-size: 2rem;
}
.ql-snow .ql-editor h2 {
  font-size: 1.5rem;
}
.ql-snow .ql-editor h3 {
  font-size: 1.17rem;
}
.ql-snow .ql-editor h4 {
  font-size: 1rem;
}
.ql-snow .ql-editor h5 {
  font-size: 0.83rem;
}
.ql-snow .ql-editor h6 {
  font-size: 0.67rem;
}
.ql-snow .ql-editor a {
  text-decoration: underline;
}
.ql-snow .ql-editor blockquote {
  border-left: 4px solid #ccc;
  margin-bottom: 5px;
  margin-top: 5px;
  padding-left: 16px;
}
.ql-snow .ql-editor code,
.ql-snow .ql-editor pre {
  background-color: #f0f0f0;
  border-radius: 3px;
}
.ql-snow .ql-editor pre {
  white-space: pre-wrap;
  margin-bottom: 5px;
  margin-top: 5px;
  padding: 5px 10px;
}
.ql-snow .ql-editor code {
  font-size: 85%;
  padding: 2px 4px;
}
.ql-snow .ql-editor pre.ql-syntax {
  background-color: #23241f;
  color: #f8f8f2;
  overflow: visible;
}
.ql-snow .ql-editor img {
  max-width: 100%;
}
.ql-snow .ql-picker {
  color: #444;
  float: left;
  font-size: 14px;
  font-weight: 500;
  height: 24px;
  position: relative;
  vertical-align: middle;
}
.ql-snow .ql-picker-label {
  cursor: pointer;
  display: inline-block;
  height: 100%;
  padding-left: 8px;
  padding-right: 2px;
  position: relative;
  width: 100%;
}
.ql-snow .ql-picker-label::before {
  display: inline-block;
  line-height: 22px;
}
.ql-snow .ql-picker-options {
  background-color: #fff;
  display: none;
  min-width: 100%;
  padding: 4px 8px;
  position: absolute;
  white-space: nowrap;
}
.ql-snow .ql-picker-options .ql-picker-item {
  cursor: pointer;
  display: block;
  padding-bottom: 5px;
  padding-top: 5px;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  color: #ccc;
  z-index: 2;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
  fill: #ccc;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
  stroke: #ccc;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  display: block;
  margin-top: -1px;
  top: 100%;
  z-index: 1;
}
.ql-snow .ql-color-picker,
.ql-snow .ql-icon-picker {
  width: 28px;
}
.ql-snow .ql-color-picker .ql-picker-label,
.ql-snow .ql-icon-picker .ql-picker-label {
  padding: 2px 4px;
}
.ql-snow .ql-color-picker .ql-picker-label svg,
.ql-snow .ql-icon-picker .ql-picker-label svg {
  right: 4px;
}
.ql-snow .ql-icon-picker .ql-picker-options {
  padding: 4px 0px;
}
.ql-snow .ql-icon-picker .ql-picker-item {
  height: 24px;
  width: 24px;
  padding: 2px 4px;
}
.ql-snow .ql-color-picker .ql-picker-options {
  padding: 3px 5px;
  width: 152px;
}
.ql-snow .ql-color-picker .ql-picker-item {
  border: 1px solid transparent;
  float: left;
  height: 16px;
  margin: 2px;
  padding: 0px;
  width: 16px;
}
.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
  position: absolute;
  margin-top: -9px;
  right: 0;
  top: 50%;
  width: 18px;
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before {
  content: attr(data-label);
}
.ql-snow .ql-picker.ql-header {
  width: 110px;
}
.ql-snow .ql-picker.ql-header .ql-picker-label::before,
.ql-snow .ql-picker.ql-header .ql-picker-item::before {
  content: 'Normal';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  content: 'Heading 1';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  content: 'Heading 2';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  content: 'Heading 3';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  content: 'Heading 4';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  content: 'Heading 5';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  content: 'Heading 6';
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  font-size: 2rem;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  font-size: 1.5rem;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  font-size: 1.17rem;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  font-size: 1rem;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  font-size: 0.83rem;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  font-size: 0.67rem;
}
.ql-snow .ql-picker.ql-font {
  width: 108px;
}
.ql-snow .ql-picker.ql-font .ql-picker-label::before,
.ql-snow .ql-picker.ql-font .ql-picker-item::before {
  content: 'Sans Serif';
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  content: 'Serif';
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  content: 'Monospace';
}
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  font-family: Georgia, Times New Roman, serif;
}
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  font-family: Monaco, Courier New, monospace;
}
.ql-snow .ql-picker.ql-size {
  width: 98px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
  content: 'Normal';
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  content: 'Small';
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  content: 'Large';
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  content: 'Huge';
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  font-size: 10px;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  font-size: 18px;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  font-size: 32px;
}
.ql-snow .ql-color-picker.ql-background .ql-picker-item {
  background-color: #fff;
}
.ql-snow .ql-color-picker.ql-color .ql-picker-item {
  background-color: #000;
}
.ql-toolbar.ql-snow {
  border: 1px solid #ccc;
  box-sizing: border-box;
  font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  padding: 8px;
}
.ql-toolbar.ql-snow .ql-formats {
  margin-right: 15px;
}
.ql-toolbar.ql-snow .ql-picker-label {
  border: 1px solid transparent;
}
.ql-toolbar.ql-snow .ql-picker-options {
  border: 1px solid transparent;
  box-shadow: rgba(0,0,0,0.2) 0 2px 8px;
}
.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  border-color: #ccc;
}
.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  border-color: #ccc;
}
.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,
.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {
  border-color: #000;
}
.ql-toolbar.ql-snow + .ql-container.ql-snow {
  border-top: 0px;
}
.ql-snow .ql-tooltip {
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0px 0px 5px #ddd;
  color: #444;
  padding: 5px 12px;
  white-space: nowrap;
}
.ql-snow .ql-tooltip::before {
  content: "Visit URL:";
  line-height: 26px;
  margin-right: 8px;
}
.ql-snow .ql-tooltip input[type=text] {
  display: none;
  border: 1px solid #ccc;
  font-size: 13px;
  height: 26px;
  margin: 0px;
  padding: 3px 5px;
  width: 170px;
}
.ql-snow .ql-tooltip a.ql-preview {
  display: inline-block;
  max-width: 200px;
  overflow-x: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}
.ql-snow .ql-tooltip a.ql-action::after {
  border-right: 1px solid #ccc;
  content: 'Edit';
  margin-left: 16px;
  padding-right: 8px;
}
.ql-snow .ql-tooltip a.ql-remove::before {
  content: 'Remove';
  margin-left: 8px;
}
.ql-snow .ql-tooltip a {
  line-height: 26px;
}
.ql-snow .ql-tooltip.ql-editing a.ql-preview,
.ql-snow .ql-tooltip.ql-editing a.ql-remove {
  display: none;
}
.ql-snow .ql-tooltip.ql-editing input[type=text] {
  display: inline-block;
}
.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
  border-right: 0px;
  content: 'Save';
  padding-right: 0px;
}
.ql-snow .ql-tooltip[data-mode=link]::before {
  content: "Enter link:";
}
.ql-snow .ql-tooltip[data-mode=formula]::before {
  content: "Enter formula:";
}
.ql-snow .ql-tooltip[data-mode=video] {
    left: 50px !important;
    top: 28px !important;
}
.ql-snow .ql-tooltip[data-mode=video]::before {
  content: "Insertar video:";
}
.ql-snow a {
  color: #06c;
}
.ql-container.ql-snow {
  border: 1px solid #ccc;
}

.ql-video {
    width: 595px;
    height: 315px;
}

/* ── resources/views/agreements/index.blade.php ─────────────────────────────────────────────── */
/* Estilos para el modal de confirmación y actualización */
    #confirm-modal .modal-dialog{
        max-width: 400px;
    }
    #update-modal .modal-dialog {
        max-width: 500px;
    }

    #confirm-modal .modal-content,
    #update-modal .modal-content {
        border-radius: 0;
    }

    #confirm-modal .modal-header,
    #update-modal .modal-header {
        background-color: #f8f9fa;
        border-bottom: none;
        padding: 10px 20px;
    }

    #confirm-modal .modal-title,
    #update-modal .modal-title {
        color: #333;
        font-weight: 600;
        font-size: 15px;
        margin: 0;
    }

    #confirm-modal .modal-body,
    #update-modal .modal-body {
        padding: 20px;
        text-align: center;
    }

    #confirm-modal .modal-body .row,
    #update-modal .modal-body .row {
        align-items: center;
        margin-bottom: 20px;
    }

    #confirm-modal .modal-body .col-4,
    #update-modal .modal-body .col-4 {
        text-align: center;
    }

    #confirm-modal .modal-body .col-4 i,
    #update-modal .modal-body .col-4 i {
        font-size: 4rem;
    }

    #confirm-modal .modal-body .col-8 p,
    #update-modal .modal-body .col-8 p {
        margin-bottom: 0;
    }

    #confirm-modal .modal-footer,
    #update-modal .modal-footer {
        border-top: none;
        padding: 10px 20px;
    }

    #confirm-modal .btn,
    #update-modal .btn {
        border-radius: 0;
    }

    #confirm-modal #btn-no,
    #update-modal .btn-secondary {
        background-color: #6c757d;
        color: #fff;
    }

    #confirm-modal #btn-si,
    #update-modal #update-confirm-btn {
        background-color: #007bff;
        color: #fff;
    }

/* ── resources/views/billModule/banks/index.blade.php ─────────────────────────────────────────────── */
#dt-connections-summary td { vertical-align: middle; }
            .autosync-switch {
                position: relative; display: inline-block;
                width: 40px; height: 22px; margin: 0; cursor: pointer;
            }
            .autosync-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
            .autosync-slider {
                position: absolute; inset: 0; background-color: #ccc;
                border-radius: 22px; transition: background-color .2s;
            }
            .autosync-slider::before {
                content: ""; position: absolute; width: 16px; height: 16px;
                left: 3px; top: 3px; background-color: #fff;
                border-radius: 50%; transition: transform .2s;
            }
            .autosync-switch input:checked + .autosync-slider { background-color: #1bc5bd; }
            .autosync-switch input:checked + .autosync-slider::before { transform: translateX(18px); }
            .autosync-switch--disabled { cursor: not-allowed; opacity: 0.5; }

/* ── resources/views/billModule/invoices/edit.blade.php ─────────────────────────────────────────────── */
td.details-control {
            cursor: pointer;
        }
        .charge-lines-table {
            background-color: #f9f9f9;
        }
        .expand-charge {
            padding: 0.25rem 0.5rem;
        }
        .btn-delete {
            width: 100%;
            background-color: transparent;
            color: #555;
            border: none;
            font-size: 14px;
            display: grid;
            align-items: center;
            gap: 5px;
            padding: 8px 12px;
            transition: color 0.3s ease, background-color 0.3s ease;
            cursor: pointer;
        }

        .btn-delete i {
            font-size: 12px;
        }

        .btn-delete:hover {
            background-color: #f2f2f2;
            color: #d9534f;
        }

        .btn-delete:focus {
            outline: none;
            box-shadow: none;
        }

        .payment-timeline-container {
            position: relative;
            padding-top: 5px;
        }

        .timeline-row {
            position: relative;
        }

        .timeline-line {
            position: absolute;
            top: 50%;
            left: 0;
            right: 0;
            height: 4px;
            background: var(--dues-gradient);
            z-index: 0;
            border-radius: 4px;
        }

        .payment-card {
            position: relative;
            border-radius: 10px;
            transition: all 0.3s ease;
            z-index: 1;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
            background-color: #fff;
            border-top: 4px solid #3f6ad8;
            height: 100%;
            margin-left: 5px;
            margin-right: 5px;
        }

        .payment-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
        }

        .payment-card {
            border-top-color: var(--primary-color);
        }

        .payment-card .payment-marker {
            background-color: var(--primary-color);
        }

        .payment-marker {
            position: absolute;
            top: -20px;
            left: 50%;
            transform: translateX(-50%);
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-weight: bold;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        }

        .marker-number {
            font-size: 18px;
        }

        .payment-details {
            text-align: center;
            margin-top: 18px;
            margin-bottom: 5px;
        }

        .payment-title {
            font-size: 16px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .payment-date, .payment-amount {
            padding: 5px 0;
        }

        .payment-amount {
            font-size: 14px;
        }

        .payment-status {
            padding: 5px 0;
            font-size: 13px;
        }

        .payment-status i {
            margin-right: 5px;
        }

        .payment-remittance-code {
            padding: 3px 0;
            font-size: 12px;
            color: #666;
        }

        .payment-remittance-code a {
            color: #007bff;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .payment-remittance-code a:hover {
            color: #0056b3;
            text-decoration: underline;
        }

        .payment-remittance-date {
            padding: 3px 0;
            font-size: 12px;
            color: #666;
        }

        .payment-remittance-date strong {
            color: #333;
        }

        /* Responsive adjustments */
        @media (max-width: 768px) {
            .timeline-line {
                display: none;
            }

            .payment-card {
                margin-top: 30px;
            }
        }

        /* CSS para modal compacto */
        .compact-modal .swal2-html-container {
            margin: 0.5rem 0;
            padding: 0;
        }

        .compact-modal .swal2-title {
            font-size: 1.25rem;
            margin-bottom: 1rem;
        }

        .compact-modal .row {
            margin-left: -0.25rem;
            margin-right: -0.25rem;
        }

        .compact-modal .col-6 {
            padding-left: 0.25rem;
            padding-right: 0.25rem;
        }

        .compact-modal small.text-muted {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .compact-modal .card-body {
            background-color: #f8f9fa;
            border-radius: 0.375rem;
        }

        .compact-modal .table th {
            border-top: none;
            font-weight: 600;
            background-color: #e9ecef;
            font-size: 0.75rem;
            padding: 0.375rem 0.25rem;
        }

        .compact-modal .table td {
            padding: 0.375rem 0.25rem;
            vertical-align: middle;
        }

        .compact-modal .btn-outline-info {
            font-size: 0.8rem;
            padding: 0.25rem 0.5rem;
        }

        /* Animación suave para el collapse */
        .collapse {
            transition: height 0.35s ease;
        }

        /* Responsive para móviles */
        @media (max-width: 576px) {
            .compact-modal {
                width: 95% !important;
                max-width: none !important;
            }

            .compact-modal .table th,
            .compact-modal .table td {
                font-size: 0.7rem;
                padding: 0.25rem 0.125rem;
            }
        }

/* ── resources/views/fiscalModule/account_mappings.blade.php ─────────────────────────────────────────────── */
.view-mode-badge {
        display: flex;
        align-items: center;
        min-height: calc(1.5em + 0.5rem + 2px);
        padding: 0.25rem 0.65rem;
        border-radius: 0.25rem;
        border: 1px solid #e0e0e0;
        background: #f8f9fa;
        color: #666;
        font-size: 0.8125rem;
        line-height: 1.3;
        max-width: 100%;
        overflow: hidden;
    }
    .view-mode-badge--client {
        background: #eef3ff;
        border-color: #c5d4f5;
        color: #3b5998;
    }
    .view-mode-badge__icon {
        flex-shrink: 0;
        margin-right: 0.4rem;
        font-size: 0.75rem;
        opacity: 0.85;
    }
    .view-mode-badge__text {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

/* ── resources/views/integral/bankEntities/index.blade.php ─────────────────────────────────────────────── */
.is-common-switch {
                position: relative;
                display: inline-block;
                width: 40px;
                height: 22px;
                margin: 0;
                cursor: pointer;
            }
            .is-common-switch input {
                opacity: 0;
                width: 0;
                height: 0;
                position: absolute;
            }
            .is-common-slider {
                position: absolute;
                inset: 0;
                background-color: #ccc;
                border-radius: 22px;
                transition: background-color .2s;
            }
            .is-common-slider::before {
                content: "";
                position: absolute;
                width: 16px;
                height: 16px;
                left: 3px;
                top: 3px;
                background-color: #fff;
                border-radius: 50%;
                transition: transform .2s;
            }
            .is-common-switch input:checked + .is-common-slider {
                background-color: #1bc5bd;
            }
            .is-common-switch input:checked + .is-common-slider::before {
                transform: translateX(18px);
            }
            .is-common-switch--disabled {
                cursor: not-allowed;
                opacity: 0.5;
            }

/* ── resources/views/integral/clientBankAccount/index.blade.php ─────────────────────────────────────────────── */
#dt-connections-summary td {
                vertical-align: middle;
            }
            .autosync-switch {
                position: relative;
                display: inline-block;
                width: 40px;
                height: 22px;
                margin: 0;
                cursor: pointer;
            }
            .autosync-switch input {
                opacity: 0;
                width: 0;
                height: 0;
                position: absolute;
            }
            .autosync-slider {
                position: absolute;
                inset: 0;
                background-color: #ccc;
                border-radius: 22px;
                transition: background-color .2s;
            }
            .autosync-slider::before {
                content: "";
                position: absolute;
                width: 16px;
                height: 16px;
                left: 3px;
                top: 3px;
                background-color: #fff;
                border-radius: 50%;
                transition: transform .2s;
            }
            .autosync-switch input:checked + .autosync-slider {
                background-color: #1bc5bd;
            }
            .autosync-switch input:checked + .autosync-slider::before {
                transform: translateX(18px);
            }
            .autosync-switch--disabled {
                cursor: not-allowed;
                opacity: 0.5;
            }

/* ── resources/views/integral/clients/centers/general/index.blade.php ─────────────────────────────────────────────── */
.form-container {
        font-family: Arial, sans-serif;
        max-width: 600px;
        margin: auto;
        padding: 20px;
        border-radius: 8px;
        background-color: #f9f9f9;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }

    .form-container label {
        display: block;
        font-weight: bold;
        color: #333;
    }

    .form-container input[type="month"],
    .form-container input[type="number"] {
        width: 100%;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        margin-bottom: 15px;
    }

    .checkbox-container {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: center;
    }

    .checkbox-container input[type="checkbox"] {
        width: auto;
        margin-right: 10px;
    }

    .checkbox-label {
        font-weight: normal;
        color: #666;
    }

    .number-inputs-container {
        display: flex;
        gap: 10px; /* Espacio entre los inputs, puedes ajustar el valor */
    }

    .number-input {
        flex: 1; /* Para que cada input ocupe el mismo espacio disponible */
    }

    /* Transición suave para todas las badges */
    .badge-pill {
        transition: background-color 0.3s ease;
    }

    /* Badge primaria: cambio al pasar el ratón */
    .badge-hover-primary:hover {
        background-color: #004085; /* Azul más oscuro */
    }

    /* Badge oscura: cambio al pasar el ratón */
    .badge-hover-dark:hover {
        background-color: #23272b; /* Gris más oscuro */
    }

    /* Badge de éxito: cambio al pasar el ratón */
    .badge-hover-success:hover {
        background-color: #1e7e34; /* Verde más oscuro */
    }

    .badge-hover-danger:hover {
        background-color: #7e1e61;
    }

    /* Enlaces dentro de las badges */
    .badge-link {
        color: white;
        text-decoration: none;
    }
    .badge-link:hover {
        color: white; /* Asegura que no cambie el color del texto */
    }

/* ── resources/views/integral/clients/charges/edit.blade.php ─────────────────────────────────────────────── */
#items thead th {
            vertical-align: middle;
        }

/* ── resources/views/integral/clients/dashboard.blade.php ─────────────────────────────────────────────── */
.fiscal-modal .summary-table col:nth-child(3) {
            width: 90px !important;
        }
        .fiscal-modal .summary-table col:nth-child(4) {
            width: 56px !important;
        }
        .fiscal-modal .summary-table .badge {
            white-space: nowrap;
        }
        @media (max-width: 1800px) {
            .fiscal-modal .summary-table tbody tr {
                display: grid;
                grid-template-columns: 1fr auto;
                grid-template-areas:
                    "modelo modelo"
                    "periodo periodo"
                    "estado borrar";
                row-gap: 6px;
            }
            .fiscal-modal .summary-table tbody td {
                width: auto !important;
            }
            .fiscal-modal .summary-table tbody td:first-child {
                grid-area: modelo;
            }
            .fiscal-modal .summary-table tbody td:nth-child(2) {
                grid-area: periodo;
            }
            .fiscal-modal .summary-table tbody td:nth-child(3) {
                grid-area: estado;
            }
            .fiscal-modal .summary-table tbody td:last-child {
                grid-area: borrar;
                text-align: right;
            }
        }

/* ── resources/views/integral/clients/variaciones/edit.blade.php ─────────────────────────────────────────────── */
.btn-delete {
            width: 100%;
            background-color: transparent;
            color: #555;
            border: none;
            font-size: 14px;
            display: grid;
            align-items: center;
            gap: 5px;
            padding: 8px 12px;
            transition: color 0.3s ease, background-color 0.3s ease;
            cursor: pointer;
        }

        .btn-delete i {
            font-size: 12px;
        }

        .btn-delete:hover {
            background-color: #f2f2f2;
            color: #d9534f;
        }

        .btn-delete:focus {
            outline: none;
            box-shadow: none;
        }

/* ── resources/views/labModule/agreements/index.blade.php ─────────────────────────────────────────────── */
#btn-tour-boe-icon {
         text-decoration: none;
         cursor: pointer;
         display: inline-flex;
         align-items: center;
         justify-content: center;
         width: 1.35rem;
         height: 1.35rem;
         margin-left: 0.5rem;
         padding: 0;
         border-radius: 50%;
         background: rgba(255, 255, 255, 0.2);
         color: rgba(255, 255, 255, 0.95);
         border: none;
         box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3) inset;
         transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
         vertical-align: middle;
     }
     #btn-tour-boe-icon i {
         font-size: 0.7rem;
     }
     #btn-tour-boe-icon:hover {
         background: rgba(255, 255, 255, 0.35);
         color: #fff;
         box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.45) inset;
         transform: scale(1.05);
     }
     #btn-tour-boe-icon:focus {
         outline: none;
         box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
     }
     /* Estilos para el modal de confirmación y actualización */
     #confirm-modal .modal-dialog{
        max-width: 400px;
    }
    #update-modal .modal-dialog {
        max-width: 500px;
    }

    #confirm-modal .modal-content,
    #update-modal .modal-content {
        border-radius: 0;
    }

    #confirm-modal .modal-header,
    #update-modal .modal-header {
        background-color: #f8f9fa;
        border-bottom: none;
        padding: 10px 20px;
    }

    #confirm-modal .modal-title,
    #update-modal .modal-title {
        color: #333;
        font-weight: 600;
        font-size: 15px;
        margin: 0;
    }

    #confirm-modal .modal-body,
    #update-modal .modal-body {
        padding: 20px;
        text-align: center;
    }

    #confirm-modal .modal-body .row,
    #update-modal .modal-body .row {
        align-items: center;
        margin-bottom: 20px;
    }

    #confirm-modal .modal-body .col-4,
    #update-modal .modal-body .col-4 {
        text-align: center;
    }

    #confirm-modal .modal-body .col-4 i,
    #update-modal .modal-body .col-4 i {
        font-size: 4rem;
    }

    #confirm-modal .modal-body .col-8 p,
    #update-modal .modal-body .col-8 p {
        margin-bottom: 0;
    }

    #confirm-modal .modal-footer,
    #update-modal .modal-footer {
        border-top: none;
        padding: 10px 20px;
    }

    #confirm-modal .btn,
    #update-modal .btn {
        border-radius: 0;
    }

    #confirm-modal #btn-no,
    #update-modal .btn-secondary {
        background-color: #6c757d;
        color: #fff;
    }

    #confirm-modal #btn-si,
    #update-modal #update-confirm-btn {
        background-color: #007bff;
        color: #fff;
    }

/* ── resources/views/labModule/agreements/index.blade.php ─────────────────────────────────────────────── */
.driver-popover.driverjs-boe-tour {
        min-width: 320px;
        max-width: 420px;
        padding: 20px 24px;
        border-radius: 10px;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
        border: 1px solid rgba(0, 0, 0, 0.08);
        background: #fff;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-title {
        font-size: 16px;
        font-weight: 700;
        color: #1e293b;
        font-family: inherit;
        margin-bottom: 2px;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-description {
        font-size: 13.5px;
        line-height: 1.6;
        color: #475569;
        font-family: inherit;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-description b {
        display: inline-block;
        border-radius: 4px;
        font-weight: 600;
        color: #1e293b;
        margin: 2px 0;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-close-btn {
        color: #94a3b8;
        font-size: 16px;
        width: 28px;
        height: 28px;
        line-height: 28px;
        border-radius: 6px;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-close-btn:hover {
        color: #1e293b;
        background: #f1f5f9;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-footer {
        margin-top: 16px;
        padding-top: 12px;
        border-top: 1px solid #e2e8f0;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-progress-text {
        font-size: 12px;
        color: #94a3b8;
        font-weight: 500;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-footer button {
        font-family: inherit;
        font-size: 13px;
        font-weight: 500;
        padding: 6px 18px;
        min-width: 96px;
        text-align: center;
        border-radius: 6px;
        border: none;
        text-shadow: none;
        line-height: 1.4;
        transition: all 0.15s ease;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-prev-btn {
        background: #f1f5f9;
        color: #475569;
        border: 1px solid #e2e8f0;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-prev-btn:hover {
        background: #e2e8f0;
        color: #1e293b;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-next-btn {
        background: #007bff;
        color: #fff;
        border: 1px solid #007bff;
        text-shadow: none;
    }
    .driver-popover.driverjs-boe-tour .driver-popover-next-btn:hover {
        background: #0069d9;
        border-color: #0062cc;
    }

/* ── resources/views/labModule/employee-card/general/index.blade.php ─────────────────────────────────────────────── */
.form-container {
        font-family: Arial, sans-serif;
        max-width: 600px;
        margin: auto;
        padding: 20px;
        border-radius: 8px;
        background-color: #f9f9f9;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }

    .form-container label {
        display: block;
        font-weight: bold;
        color: #333;
    }

    .form-container input[type="month"],
    .form-container input[type="number"] {
        width: 100%;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        margin-bottom: 15px;
    }

    .checkbox-container {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: center;
    }

    .checkbox-container input[type="checkbox"] {
        width: auto;
        margin-right: 10px;
    }

    .checkbox-label {
        font-weight: normal;
        color: #666;
    }

    .number-inputs-container {
        display: flex;
        gap: 10px; /* Espacio entre los inputs, puedes ajustar el valor */
    }

    .number-input {
        flex: 1; /* Para que cada input ocupe el mismo espacio disponible */
    }

    /* Transición suave para todas las badges */
    .badge-pill {
        transition: background-color 0.3s ease;
    }

    /* Badge primaria: cambio al pasar el ratón */
    .badge-hover-primary:hover {
        background-color: #004085; /* Azul más oscuro */
    }

    /* Badge oscura: cambio al pasar el ratón */
    .badge-hover-dark:hover {
        background-color: #23272b; /* Gris más oscuro */
    }

    /* Badge de éxito: cambio al pasar el ratón */
    .badge-hover-success:hover {
        background-color: #1e7e34; /* Verde más oscuro */
    }

    .badge-hover-danger:hover {
        background-color: #7e1e61;
    }

    /* Enlaces dentro de las badges */
    .badge-link {
        color: white;
        text-decoration: none;
    }
    .badge-link:hover {
        color: white; /* Asegura que no cambie el color del texto */
    }

/* ── resources/views/labModule/employees/claveIRPF/index.blade.php ─────────────────────────────────────────────── */
/* Navegación por pestañas — minimalista y acorde a la página */
        .clave-irpf-nav { border-bottom: 1px solid #e0e0e0; }
        .clave-irpf-tabs { border: none; }
        .clave-irpf-tabs .nav-item { margin-bottom: -1px; }
        .clave-irpf-tabs .nav-link {
            border: none;
            border-bottom: 2px solid transparent;
            color: #6c757d;
            font-weight: 500;
            padding: 0.6rem 1rem;
            background: transparent;
        }
        .clave-irpf-tabs .nav-link:hover { color: #495057; }
        .clave-irpf-tabs .nav-link.active {
            color: #0d6efd;
            border-bottom-color: #0d6efd;
            background: transparent;
        }
        .clave-irpf-tabs .nav-link i { opacity: 0.85; }

        /* Formulario Modelo 145 — estilos modernos */
        .modelo145-form-wrap .card {
            border: none;
            border-radius: 12px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
            overflow: hidden;
        }
        .modelo145-form-wrap .card-header {
            border-bottom: 1px solid rgba(0, 0, 0, 0.06);
            padding: 1rem 1.25rem;
            background: #fff;
        }
        .modelo145-form-wrap .card-header .card-title {
            font-size: 1.05rem;
            font-weight: 600;
            color: #1a1d21;
            display: flex;
            align-items: center;
        }
        .modelo145-form-wrap .card-header .card-title i.fa-file-invoice { color: #0d6efd; margin-right: 0.5rem; }
        .modelo145-form-wrap .card-body { padding: 1.25rem; }

        /* Bloque datos informativos */
        .modelo145-info-card {
            border: none;
            border-radius: 12px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
            background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
            overflow: hidden;
        }
        .modelo145-info-card .card-body {
            padding: 1.25rem 1.5rem;
        }
        .modelo145-info-icon {
            font-size: 2rem;
            color: #64748b;
            opacity: 0.9;
        }
        .modelo145-info-label {
            font-size: 0.75rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.03em;
            color: #64748b;
            margin-bottom: 0.2rem;
        }
        .modelo145-info-value {
            font-size: 0.95rem;
            font-weight: 600;
            color: #1e293b;
        }
        .modelo145-download-pdf-btn {
            border-radius: 8px;
            font-weight: 500;
            padding: 0.5rem 1rem;
            box-shadow: 0 2px 6px rgba(13, 110, 253, 0.25);
            transition: transform 0.15s ease, box-shadow 0.15s ease;
        }
        .modelo145-download-pdf-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
        }
        .modelo145-download-pdf-btn:disabled { transform: none; }
        .modelo145-send-email-btn {
            border-radius: 8px;
            font-weight: 500;
            padding: 0.5rem 1rem;
            box-shadow: 0 2px 6px rgba(13, 110, 253, 0.25);
            transition: transform 0.15s ease, box-shadow 0.15s ease;
        }
        .modelo145-send-email-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
        }

        /* Secciones del formulario */
        .modelo145-section-card {
            border: none;
            border-radius: 12px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
            overflow: hidden;
        }
        .modelo145-section-header {
            background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
            border-bottom: 1px solid rgba(0, 0, 0, 0.06);
            padding: 0.75rem 1.25rem;
            font-weight: 600;
            font-size: 0.95rem;
            color: #334155;
        }
        .modelo145-section-header h5 {
            display: flex;
            align-items: center;
            margin: 0;
        }
        .modelo145-section-header h5 i { margin-right: 0.5rem; opacity: 0.85; color: #475569; }
        .modelo145-section-card .card-body {
            padding: 1.25rem 1.5rem;
            background: #fff;
        }
        .modelo145-section-card .form-label {
            font-weight: 500;
            color: #475569;
            font-size: 0.875rem;
        }
        .modelo145-section-card .form-control {
            border-radius: 8px;
            border-color: #e2e8f0;
        }
        .modelo145-section-card .form-control:focus {
            border-color: #0d6efd;
            box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.15);
        }

        /* Filas ascendientes/descendientes */
        .modelo145-familiar-row {
            border-radius: 10px;
            padding: 1rem 1.25rem !important;
            transition: box-shadow 0.2s ease, transform 0.2s ease;
        }
        .modelo145-familiar-row:hover {
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
        }
        .modelo145-familiar-row.border-info {
            border-width: 2px !important;
            box-shadow: 0 2px 8px rgba(14, 165, 233, 0.12);
        }
        .modelo145-familiar-row.border-warning {
            border-width: 2px !important;
            box-shadow: 0 2px 8px rgba(245, 158, 11, 0.12);
        }

        /* Botones y checkboxes dentro del formulario */
        .modelo145-form-wrap .btn-success { border-radius: 8px; font-weight: 500; }
        .modelo145-form-wrap .btn-primary { border-radius: 8px; font-weight: 500; box-shadow: 0 2px 8px rgba(13, 110, 253, 0.25); }
        .modelo145-form-wrap .custom-control-label { font-weight: 500; color: #475569; }

        /* Acumulados IRPF mes */
        .acumulados-irpf-form-wrap .acumulados-irpf-card {
            border: none;
            border-radius: 12px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
            overflow: hidden;
        }
        .acumulados-irpf-form-wrap .acumulados-irpf-section-header {
            background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
            border-bottom: 1px solid rgba(0, 0, 0, 0.06);
            padding: 0.75rem 1.25rem;
            font-weight: 600;
            font-size: 0.95rem;
            color: #334155;
        }
        .acumulados-irpf-form-wrap .acumulados-irpf-section-header h5 { margin: 0; display: flex; align-items: center; }

/* ── resources/views/labModule/employees/claveIRPF/index.blade.php ─────────────────────────────────────────────── */
.clave-highlight {
            color: #0056b3;
            font-weight: 600;
            font-size: 1em;
            padding: 4px 6px;
            background-color: #e8f4fc;
            border: 1px solid #b3d7f2;
            border-radius: 4px;
            display: inline-block;
            line-height: 1.2;
        }

        .clave-id {
            font-size: 0.85em;
            color: #666;
            font-weight: 500;
        }

        .btn-delete {
            width: 100%;
            background-color: transparent;
            color: #555;
            border: none;
            font-size: 14px;
            display: grid;
            align-items: center;
            gap: 5px;
            padding: 8px 12px;
            transition: color 0.3s ease, background-color 0.3s ease;
            cursor: pointer;
        }

        .btn-delete i {
            font-size: 12px;
        }

        .btn-delete:hover {
            background-color: #f2f2f2;
            color: #d9534f;
        }

        .btn-delete:focus {
            outline: none;
            box-shadow: none;
        }

/* ── resources/views/labModule/employees/edit.blade.php ─────────────────────────────────────────────── */
@media (max-width: 992px) {
            .form-group .row > [class*="col-"] {
                margin-bottom: 1rem;
            }
            .form-group .row {
                margin-bottom: -1rem;
            }
        }

/* ── resources/views/labModule/employees/general/index.blade.php ─────────────────────────────────────────────── */
.form-container {
        font-family: Arial, sans-serif;
        max-width: 600px;
        margin: auto;
        padding: 20px;
        border-radius: 8px;
        background-color: #f9f9f9;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }

    .form-container label {
        display: block;
        font-weight: bold;
        color: #333;
    }

    .form-container input[type="month"],
    .form-container input[type="number"] {
        width: 100%;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        margin-bottom: 15px;
    }

    .checkbox-container {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: center;
    }

    .checkbox-container input[type="checkbox"] {
        width: auto;
        margin-right: 10px;
    }

    .checkbox-label {
        font-weight: normal;
        color: #666;
    }

    .number-inputs-container {
        display: flex;
        gap: 10px; /* Espacio entre los inputs, puedes ajustar el valor */
    }

    .number-input {
        flex: 1; /* Para que cada input ocupe el mismo espacio disponible */
    }

    /* Transición suave para todas las badges */
    .badge-pill {
        transition: background-color 0.3s ease;
    }

    /* Badge primaria: cambio al pasar el ratón */
    .badge-hover-primary:hover {
        background-color: #004085; /* Azul más oscuro */
    }

    /* Badge oscura: cambio al pasar el ratón */
    .badge-hover-dark:hover {
        background-color: #23272b; /* Gris más oscuro */
    }

    /* Badge de éxito: cambio al pasar el ratón */
    .badge-hover-success:hover {
        background-color: #1e7e34; /* Verde más oscuro */
    }

    .badge-hover-danger:hover {
        background-color: #7e1e61;
    }

    /* Enlaces dentro de las badges */
    .badge-link {
        color: white;
        text-decoration: none;
    }
    .badge-link:hover {
        color: white; /* Asegura que no cambie el color del texto */
    }

/* ── resources/views/labModule/employees/index.blade.php ─────────────────────────────────────────────── */
.form-container {
        font-family: Arial, sans-serif;
        max-width: 600px;
        margin: auto;
        padding: 20px;
        border-radius: 8px;
        background-color: #f9f9f9;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }

    .form-container label {
        display: block;
        font-weight: bold;
        color: #333;
    }

    .form-container input[type="month"],
    .form-container input[type="number"] {
        width: 100%;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        margin-bottom: 15px;
    }

    .checkbox-container {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: center;
    }

    .checkbox-container input[type="checkbox"] {
        width: auto;
        margin-right: 10px;
    }

    .checkbox-label {
        font-weight: normal;
        color: #666;
    }

    .number-inputs-container {
        display: flex;
        gap: 10px; /* Espacio entre los inputs, puedes ajustar el valor */
    }

    .number-input {
        flex: 1; /* Para que cada input ocupe el mismo espacio disponible */
    }

    /* Transición suave para todas las badges */
    .badge-pill {
        transition: background-color 0.3s ease;
    }

    /* Badge primaria: cambio al pasar el ratón */
    .badge-hover-primary:hover {
        background-color: #004085; /* Azul más oscuro */
    }

    /* Badge oscura: cambio al pasar el ratón */
    .badge-hover-dark:hover {
        background-color: #23272b; /* Gris más oscuro */
    }

    /* Badge de éxito: cambio al pasar el ratón */
    .badge-hover-success:hover {
        background-color: #1e7e34; /* Verde más oscuro */
    }

    .badge-hover-danger:hover {
        background-color: #7e1e61;
    }

    /* Enlaces dentro de las badges */
    .badge-link {
        color: white;
        text-decoration: none;
    }
    .badge-link:hover {
        color: white; /* Asegura que no cambie el color del texto */
    }

/* ── resources/views/labModule/employees/peticionAlta/detail.blade.php ─────────────────────────────────────────────── */
@media (max-width: 992px) {
            .form-group .row > [class*="col-"] {
                margin-bottom: 1rem;
            }
            .form-group .row {
                margin-bottom: -1rem;
            }
        }
        @media (min-width: 768px) and (max-width: 1400px) {
            #ajuste_section_section .form-group .row > [class*="col-"] {
                margin-bottom: 1rem;
            }
            #ajuste_section_section .form-group .row {
                margin-bottom: -1rem;
            }
        }

/* ── resources/views/labModule/employees/peticionAlta/index.blade.php ─────────────────────────────────────────────── */
@media (max-width: 992px) {
            .form-group .row > [class*="col-"] {
                margin-bottom: 1rem;
            }
            .form-group .row {
                margin-bottom: -1rem;
            }
        }
        @media (min-width: 768px) and (max-width: 1400px) {
            #ajuste_section_section .form-group .row > [class*="col-"] {
                margin-bottom: 1rem;
            }
            #ajuste_section_section .form-group .row {
                margin-bottom: -1rem;
            }
        }

/* ── resources/views/livewire/contabilidad-module/partials/amortizacion-detail-styles.blade.php ─────────────────────────────────────────────── */
.amortizacion-detail .modal-header {
        background: linear-gradient(135deg, #1f4e79 0%, #2c7be5 100%);
        border-bottom: 0;
        padding: 12px 16px;
    }

    .amortizacion-detail .modal-body {
        overflow-x: hidden;
        background-color: #f8f9fa;
        padding: 12px;
    }

    .amortizacion-detail .modal-title {
        display: flex;
        align-items: center;
        gap: 8px;
        font-weight: 700;
        font-size: 1rem;
    }

    .amortizacion-detail .card {
        border: 1px solid #e1e6ef;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 6px rgba(31, 78, 121, .06);
        transition: transform 0.2s;
    }

    .amortizacion-detail .card:hover {
        transform: translateY(-2px);
    }

    .amortizacion-detail .card-header {
        font-weight: 700;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: .3px;
        padding: 8px 12px;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
    }

    .amortizacion-detail .card-header.amortizacion-info {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    }

    .amortizacion-detail .card-header.lineas-amortizacion {
        background: linear-gradient(135deg, #36d1dc 0%, #5b86e5 100%);
    }

    .amortizacion-detail .card-body {
        background: #fff;
        padding: 12px 22px;
    }

    .amortizacion-detail .table {
        border: 1px solid #e9edf4;
        border-radius: 8px;
        margin-bottom: 0;
    }

    .amortizacion-detail .table thead th {
        background: #f5f7fb;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: .3px;
        color: #6c757d;
        border-bottom: 1px solid #e1e6ef;
        padding: 8px 10px;
    }

    .amortizacion-detail .table tbody tr {
        transition: all 0.2s;
    }

    .amortizacion-detail .table tbody tr:hover {
        background-color: #e3f2fd !important;
        transform: scale(1.01);
    }

    .amortizacion-detail .table tbody td {
        padding: 8px 10px;
        vertical-align: middle;
        font-size: 0.875rem;
    }

    .amortizacion-detail .badge {
        font-size: 0.8rem;
        padding: 3px 8px;
        border-radius: 4px;
        font-weight: 500;
    }

    .amortizacion-detail .text-cyan {
        color: #17a2b8 !important;
    }

    .amortizacion-detail dl.row {
        margin-bottom: 6px;
    }

    .amortizacion-detail dl.row dt {
        font-size: 12px;
        padding: 2px 0;
    }

    .amortizacion-detail dl.row dd {
        font-size: 12px;
        padding: 2px 0;
    }

    .amortizacion-detail .modal-footer {
        background: #f5f7fb;
        border-top: 1px solid #e1e6ef;
        padding: 10px 16px;
    }

    .amortizacion-detail .btn-search-lupa {
        border-color: #ced4da;
        color: #6c757d;
        background-color: #fff;
    }

    .amortizacion-detail .btn-search-lupa:hover {
        border-color: #ced4da;
        color: #495057;
        background-color: #f8f9fa;
    }

    .amortizacion-detail .btn-search-lupa:focus,
    .amortizacion-detail .btn-search-lupa:active {
        border-color: #ced4da;
        color: #495057;
        background-color: #f8f9fa;
        box-shadow: none;
    }

/* ── resources/views/livewire/fiscal/form-036.blade.php ─────────────────────────────────────────────── */
/* --- Global form036 soft green palette --- */
    #form036-tabs {
        border-bottom: 2px solid #8fbc8f;
    }
    #form036-tabs .nav-link {
        color: #5a7a5a;
        font-weight: 600;
        font-size: 0.82rem;
        border: 1px solid transparent;
        border-bottom: none;
        padding: 0.45rem 1rem;
        transition: all 0.15s;
    }
    #form036-tabs .nav-link:hover {
        background: #f0f7f0;
        color: #3d5c3d;
    }
    #form036-tabs .nav-link.active {
        background: #fff;
        color: #3d5c3d;
        border-color: #8fbc8f #8fbc8f #fff;
        font-weight: 700;
    }
    .form036-section {
        border: 1px solid #d5e8d4;
        border-top: none;
        border-radius: 0 0 8px 8px;
        padding: 1rem;
        background: #fbfdfb;
        margin-bottom: 1rem;
    }
    .form036-section-title {
        background: linear-gradient(135deg, #6a9e6a 0%, #8fbc8f 100%);
        color: #fff;
        font-weight: 800;
        font-size: 0.92rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        padding: 0.5rem 0.75rem;
        border-radius: 4px;
        margin-bottom: 0.75rem;
    }
    .form036-section-title label {
        color: #fff;
    }
    .form036-section-title select.form-control {
        background: #fff;
        color: #374151;
        border: 2px solid rgba(255,255,255,0.6);
        border-radius: 4px;
        font-weight: 600;
        box-shadow: 0 1px 3px rgba(0,0,0,0.12);
    }
    .form036-section-title select.form-control:focus {
        border-color: #fff;
        box-shadow: 0 0 0 3px rgba(255,255,255,0.35);
    }
    .form036-subtitle {
        background: linear-gradient(135deg, #a3c9a3 0%, #c5dfc5 100%);
        color: #3d5c3d;
        font-weight: 700;
        font-size: 0.82rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        padding: 0.3rem 0.65rem;
        border-radius: 3px;
        margin-top: 0.5rem;
        margin-bottom: 0.4rem;
    }
    .form036-subtitle-secondary {
        background: linear-gradient(135deg, #eef6ee 0%, #f7fbf7 100%);
        color: #547054;
        border: 1px solid #d8e9d8;
    }
    .form036-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.82rem;
    }
    .form036-table thead th {
        background: #eef5ee;
        color: #5a7a5a;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        font-weight: 700;
        padding: 0.35rem 0.5rem;
        border-bottom: 2px solid #a3c9a3;
    }
    .form036-row-label {
        width: 55%;
        padding-right: 1rem;
    }
    .form036-label {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-weight: 600;
        color: #374151;
        font-size: 0.85rem;
    }
    .form036-label::after {
        content: '';
        flex: 1;
        border-bottom: 1px dotted #c5dfc5;
        transform: translateY(1px);
    }
    .form036-cell {
        padding: 0.4rem 0.5rem;
        vertical-align: middle;
        border-bottom: 1px solid #d5e8d4;
    }
    .form036-code {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.3rem;
        min-width: 2.3rem;
        height: 2.1rem;
        font-weight: 800;
        font-size: 0.75rem;
        background: #dfeede;
        border: 1px solid #a3c9a3;
        border-radius: 5px;
        color: #4a6e4a;
    }
    .form036-check {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
    }
    .form036-check input[type="checkbox"] {
        width: 1.1rem;
        height: 1.1rem;
        margin: 0;
        cursor: pointer;
    }
    .form036-muted {
        font-size: 0.75rem;
        color: #6b8a6b;
        margin-top: 0.25rem;
    }
    .form036-table tbody tr:hover {
        background: #f5faf5;
    }
    .form036-table tbody td {
        padding: 0.4rem 0.5rem;
        border-bottom: 1px solid #d5e8d4;
    }

    /* --- Rep & Local blocks --- */
    .form036-rep-block,
    .form036-local-block {
        border: 1px solid #d5e8d4;
        background: #fff;
        border-radius: 8px;
    }
    .form036-rep-block:hover,
    .form036-local-block:hover {
        border-color: #a3c9a3;
    }

    /* --- Buttons green --- */
    #form036-section-2 .btn-outline-primary,
    #form036-section-3 .btn-outline-primary,
    #form036-section-4 .btn-outline-primary {
        color: #5a7a5a;
        border-color: #8fbc8f;
    }
    #form036-section-2 .btn-outline-primary:hover,
    #form036-section-3 .btn-outline-primary:hover,
    #form036-section-4 .btn-outline-primary:hover {
        background: #8fbc8f;
        color: #fff;
        border-color: #6a9e6a;
    }

    /* --- Buttons inside green headers/subtitles --- */
    .form036-section-title .btn,
    .form036-subtitle .btn {
        font-size: 0.75rem;
        font-weight: 600;
        padding: 0.2rem 0.7rem;
        background: #fff;
        color: #4a6e4a;
        border: 2px solid rgba(255,255,255,0.6);
        border-radius: 4px;
        box-shadow: 0 1px 3px rgba(0,0,0,0.12);
    }
    .form036-section-title .btn:hover,
    .form036-subtitle .btn:hover {
        background: #f5faf5;
        color: #3d5c3d;
        border-color: #fff;
        box-shadow: 0 0 0 3px rgba(255,255,255,0.35);
    }

    /* --- Form labels in sections --- */
    .form036-section .form-label {
        font-size: 0.78rem;
        font-weight: 600;
        color: #4a6e4a;
        margin-bottom: 0.2rem;
    }
    .form036-section .form-control:focus {
        border-color: #a3c9a3;
        box-shadow: 0 0 0 0.15rem rgba(143, 188, 143, 0.2);
    }

    /* --- Section 5-6: Official PDF-inspired styles --- */
    .form036-official-header {
        background: linear-gradient(135deg, #6a9e6a 0%, #8fbc8f 100%);
        color: #fff;
        font-weight: 800;
        font-size: 0.88rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        padding: 0.45rem 0.75rem;
        border-radius: 4px;
        margin-bottom: 0.75rem;
    }
    .form036-official-sub {
        background: linear-gradient(135deg, #a3c9a3 0%, #c5dfc5 100%);
        color: #3d5c3d;
        font-weight: 700;
        font-size: 0.82rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        padding: 0.3rem 0.65rem;
        border-radius: 3px;
        margin-bottom: 0.5rem;
        margin-top: 0.75rem;
    }

    /* --- Section 11: toggle groups (900-903) --- */
    .form036-toggle-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        flex-wrap: wrap;
    }
    .form036-toggle-group {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex-wrap: wrap;
    }
    .form036-toggle-item {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.35rem 0.55rem;
        background: #ffffff;
        border: 1px solid #d5e8d4;
        border-radius: 10px;
        box-shadow: 0 1px 2px rgba(0,0,0,0.04);
    }
    .form036-toggle-item .custom-control.custom-switch {
        margin: 0;
    }
    .form036-toggle-label {
        font-size: 0.82rem;
        font-weight: 700;
        color: #374151;
        line-height: 1.1;
    }
    .form036-toggle-help {
        font-size: 0.78rem;
        color: #6b7280;
        max-width: 520px;
    }
    .form036-umbral-row {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.6rem;
        flex-wrap: wrap;
    }
    .form036-umbral-choice {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        min-width: 135px;
        padding: 0.3rem 0.55rem;
        border: 1px solid #d5e8d4;
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 1px 2px rgba(0,0,0,0.04);
        gap: 0.45rem;
    }
    .form036-umbral-text {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        color: #6b7280;
        font-size: 0.8rem;
        font-weight: 600;
    }
    .form036-official-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.82rem;
    }
    .form036-official-table thead th {
        background: #eef5ee;
        color: #5a7a5a;
        font-weight: 700;
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        padding: 0.35rem 0.5rem;
        border-bottom: 2px solid #a3c9a3;
    }
    .form036-official-table tbody td {
        padding: 0.4rem 0.5rem;
        border-bottom: 1px solid #d5e8d4;
        vertical-align: middle;
        color: #374151;
    }
    .form036-official-table tbody tr:hover {
        background: #f5faf5;
    }
    .form036-official-table input[type="checkbox"],
    .form036-official-table input[type="radio"] {
        cursor: pointer;
    }
    .form036-casilla {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2rem;
        height: 1.6rem;
        font-weight: 800;
        font-size: 0.7rem;
        background: #dfeede;
        border: 1px solid #a3c9a3;
        border-radius: 4px;
        color: #4a6e4a;
        margin-right: 0.5rem;
    }
    .form036-casilla-sm {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.5rem;
        height: 1.3rem;
        font-weight: 800;
        font-size: 0.62rem;
        background: #dfeede;
        border: 1px solid #a3c9a3;
        border-radius: 3px;
        color: #4a6e4a;
        margin: 0 0.25rem;
    }
    .form036-inline-check {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        font-size: 0.8rem;
        font-weight: 500;
        color: #4b5563;
        cursor: pointer;
        white-space: nowrap;
        margin: 0 1.25rem 0 0;
    }
    .form036-regime-label {
        font-weight: 700;
        font-size: 0.82rem;
        color: #5a7a5a;
        padding: 0.2rem 0.5rem;
        background: #eef5ee;
        border-left: 3px solid #8fbc8f;
        margin-bottom: 0.35rem;
        margin-top: 0.5rem;
    }
    .form036-official-card {
        background: #f5faf5;
        border: 1px solid #d5e8d4;
        border-radius: 6px;
        padding: 0.75rem;
    }
    .form036-sector-label {
        font-weight: 700;
        font-size: 0.78rem;
        color: #5a7a5a;
        min-width: 60px;
    }

    /* Separación extra para filas de epígrafes (casillas 613/614, etc.) */
    .form036-epigrafe-row {
        column-gap: 1.5rem;
    }

/* ── resources/views/livewire/fiscal/form-111-perceptores.blade.php ─────────────────────────────────────────────── */
.p111p-root {
        --p111-primary:   #2563eb;
        --p111-blue-bg:   #eff6ff;
        --p111-blue-bd:   #bfdbfe;
        --p111-purple:    #7c3aed;
        --p111-purp-bg:   #f5f3ff;
        --p111-purp-bd:   #ddd6fe;
        --p111-teal:      #0891b2;
        --p111-teal-bg:   #ecfeff;
        --p111-teal-bd:   #a5f3fc;
        --p111-green:     #16a34a;
        --p111-green-bg:  #f0fdf4;
        --p111-green-bd:  #bbf7d0;
        --p111-gray:      #475569;
        --p111-gray-bg:   #f8fafc;
        --p111-border:    #e2e8f0;
        --p111-text:      #0f172a;
        --p111-muted:     #64748b;
        --p111-subtle:    #94a3b8;
        --p111-success:   #16a34a;
        --p111-danger:    #dc2626;
        --p111-warn:      #d97706;
        font-size: 0.875rem;
        color: var(--p111-text);
    }

    /* ── Header ────────────────────────────────────────────────── */
    .p111p-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        flex-wrap: wrap;
        padding: 0.85rem 1rem;
        background: #fff;
        border: 1px solid var(--p111-border);
        border-radius: 12px;
        margin-bottom: 1rem;
        box-shadow: 0 1px 3px rgba(15,23,42,.04);
    }
    .p111p-header-left   { display:flex; align-items:center; gap:0.65rem; min-width:0; }
    .p111p-back-btn {
        display: inline-flex; align-items: center; gap: 0.35rem;
        padding: 0.3rem 0.65rem;
        border: 1px solid var(--p111-border);
        border-radius: 7px;
        background: #fff;
        font-size: 0.75rem; font-weight: 600; color: var(--p111-muted);
        cursor: pointer; transition: all .15s; text-decoration: none; white-space: nowrap;
    }
    .p111p-back-btn:hover { background:#f1f5f9; color:var(--p111-text); border-color:#cbd5e1; }
    .p111p-title   { font-size:0.95rem; font-weight:700; color:var(--p111-text); white-space:nowrap; }
    .p111p-subtitle { font-size:0.78rem; color:var(--p111-muted); white-space:nowrap; }
    .p111p-divider { width:1px; height:20px; background:var(--p111-border); flex-shrink:0; }
    .p111p-header-right { display:flex; align-items:center; gap:0.5rem; flex-shrink:0; }

    /* ── Buttons ───────────────────────────────────────────────── */
    .p111p-btn {
        display: inline-flex; align-items: center; gap: 0.3rem;
        padding: 0.35rem 0.8rem;
        border-radius: 8px; border: 1.5px solid transparent;
        font-size: 0.78rem; font-weight: 600; cursor: pointer;
        transition: all .15s; white-space: nowrap;
    }
    .p111p-btn-outline {
        background:#fff; border-color:var(--p111-border); color:var(--p111-muted);
    }
    .p111p-btn-outline:hover { background:#f1f5f9; color:var(--p111-text); border-color:#94a3b8; }
    .p111p-btn-outline:disabled { opacity:.45; cursor:not-allowed; }
    .p111p-btn-primary {
        background:var(--p111-primary); border-color:var(--p111-primary); color:#fff;
    }
    .p111p-btn-primary:hover { background:#1d4ed8; border-color:#1d4ed8; }
    .p111p-btn-primary:disabled { opacity:.45; cursor:not-allowed; }
    .p111p-btn-success {
        background:#16a34a; border-color:#16a34a; color:#fff;
    }
    .p111p-btn-success:hover { background:#15803d; }
    .p111p-btn-success:disabled { opacity:.45; cursor:not-allowed; }
    .p111p-btn-danger-ghost {
        background:transparent; border-color:transparent; color:var(--p111-subtle);
        padding:0.25rem 0.4rem;
    }
    .p111p-btn-danger-ghost:hover { color:var(--p111-danger); background:#fef2f2; border-color:#fecaca; }
    .p111p-btn-danger-ghost:disabled { opacity:.35; cursor:not-allowed; }
    .p111p-btn-icon-ghost {
        background:transparent; border-color:transparent; color:var(--p111-subtle);
        padding:0.25rem 0.4rem;
    }
    .p111p-btn-icon-ghost:hover { color:var(--p111-primary); background:var(--p111-blue-bg); border-color:var(--p111-blue-bd); }
    .p111p-btn-icon-ghost:disabled { opacity:.35; cursor:not-allowed; }

    /* ── Summary bar ───────────────────────────────────────────── */
    .p111p-summary {
        display: flex; gap: 0.65rem; flex-wrap: wrap;
        margin-bottom: 1rem;
    }
    .p111p-stat {
        flex: 1 1 140px;
        display: flex; align-items: center; gap: 0.6rem;
        padding: 0.65rem 0.85rem;
        background: #fff;
        border: 1px solid var(--p111-border);
        border-radius: 10px;
        box-shadow: 0 1px 2px rgba(15,23,42,.03);
    }
    .p111p-stat-icon {
        width: 32px; height: 32px; border-radius: 8px;
        display: flex; align-items: center; justify-content: center;
        font-size: 0.85rem; flex-shrink: 0;
    }
    .p111p-stat--blue  .p111p-stat-icon { background:var(--p111-blue-bg);  color:var(--p111-primary); }
    .p111p-stat--red   .p111p-stat-icon { background:#fef2f2; color:var(--p111-danger); }
    .p111p-stat--green .p111p-stat-icon { background:var(--p111-green-bg); color:var(--p111-green); }
    .p111p-stat--purp  .p111p-stat-icon { background:var(--p111-purp-bg);  color:var(--p111-purple); }
    .p111p-stat--teal  .p111p-stat-icon { background:var(--p111-teal-bg);  color:var(--p111-teal); }
    .p111p-stat-label  { font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--p111-muted); }
    .p111p-stat-value  { font-size:0.98rem; font-weight:800; color:var(--p111-text); line-height:1.1; margin-top:1px; }
    .p111p-stat-casilla { font-size:0.62rem; color:var(--p111-subtle); font-weight:600; margin-top:1px; }

    /* ── Section divider ──────────────────────────────────────── */
    .p111p-seccion-divider {
        display: flex; align-items: center; gap: 0.6rem;
        margin: 1.25rem 0 0.35rem;
        padding: 0.45rem 0.75rem;
        border-radius: 8px;
    }
    .p111p-seccion-divider:first-child { margin-top: 0; }
    .p111p-seccion-divider--trabajo               { background:var(--p111-blue-bg);  border:1px solid var(--p111-blue-bd); }
    .p111p-seccion-divider--actividades_economicas { background:var(--p111-purp-bg);  border:1px solid var(--p111-purp-bd); }
    .p111p-seccion-divider--premios                { background:#fff7ed; border:1px solid #fed7aa; }
    .p111p-seccion-divider--ganancias_forestales   { background:var(--p111-green-bg); border:1px solid var(--p111-green-bd); }
    .p111p-seccion-header-badge {
        font-size: 0.72rem; font-weight: 800;
        white-space: nowrap; border:none; padding:0; background:transparent;
    }
    .p111p-seccion-casillas {
        font-size: 0.65rem; font-weight: 600; color: var(--p111-subtle);
        white-space: nowrap;
    }

    /* ── Month divider ─────────────────────────────────────────── */
    .p111p-month-divider {
        display: flex; align-items: center; gap: 0.6rem;
        margin: 1rem 0 0.5rem;
    }
    .p111p-month-divider:first-child { margin-top: 0; }
    .p111p-month-badge {
        display: inline-flex; align-items: center;
        padding: 0.2rem 0.75rem;
        background: var(--p111-blue-bg); border: 1px solid var(--p111-blue-bd);
        border-radius: 999px;
        font-size: 0.72rem; font-weight: 700; color: var(--p111-primary);
        text-transform: uppercase; letter-spacing: .05em;
        white-space: nowrap;
    }
    .p111p-month-line { flex:1; height:1px; background:var(--p111-border); }

    /* ── Perceptor card ────────────────────────────────────────── */
    .p111p-card {
        background: #fff;
        border: 1px solid var(--p111-border);
        border-radius: 10px;
        margin-bottom: 0.5rem;
        overflow: hidden;
        transition: box-shadow .15s, border-color .15s;
    }
    .p111p-card:hover { box-shadow: 0 2px 8px rgba(15,23,42,.06); }
    .p111p-card--editing {
        border-color: var(--p111-primary);
        box-shadow: 0 0 0 3px rgba(37,99,235,.1);
    }
    .p111p-card--new {
        border-color: var(--p111-primary);
        box-shadow: 0 0 0 3px rgba(37,99,235,.1);
    }

    /* Card head (always visible) */
    .p111p-card-head {
        display: flex; align-items: center; gap: 0.6rem;
        padding: 0.6rem 0.85rem;
        flex-wrap: wrap;
    }
    .p111p-card-head-main { display:flex; align-items:center; gap:0.5rem; flex:1; min-width:0; flex-wrap:wrap; }
    .p111p-nif  { font-size:0.75rem; font-weight:700; font-family:monospace; color:var(--p111-muted); background:#f1f5f9; padding:0.1rem 0.45rem; border-radius:5px; white-space:nowrap; }
    .p111p-name { font-size:0.85rem; font-weight:600; color:var(--p111-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
    .p111p-amounts { display:flex; gap:0.5rem; align-items:center; flex-wrap:wrap; }
    .p111p-amount-chip {
        display: inline-flex; align-items: center; gap: 0.3rem;
        font-size: 0.72rem; font-weight: 600;
        padding: 0.12rem 0.5rem; border-radius: 6px;
        white-space: nowrap;
    }
    .p111p-amount-chip--blue  { background:var(--p111-blue-bg);  color:var(--p111-primary); }
    .p111p-amount-chip--red   { background:#fef2f2; color:var(--p111-danger); }
    .p111p-amount-chip--teal  { background:var(--p111-teal-bg);  color:var(--p111-teal); }
    .p111p-amount-chip--green { background:var(--p111-green-bg); color:var(--p111-green); border:1px solid var(--p111-green-bd); }
    .p111p-card-actions { display:flex; align-items:center; gap:0.2rem; flex-shrink:0; margin-left:auto; }

    /* Card body (edit form) */
    .p111p-card-body {
        border-top: 1px solid var(--p111-border);
        padding: 0.85rem 0.85rem 0.75rem;
        background: #fafbfc;
    }

    /* Form sections inside card */
    .p111p-form-id {
        display: grid;
        grid-template-columns: 90px 120px 1fr;
        gap: 0.6rem;
        margin-bottom: 0.85rem;
    }
    .p111p-select--seccion {
        font-weight: 700;
        color: var(--p111-primary);
    }
    .p111p-form-section {
        border-radius: 8px;
        border: 1px solid var(--p111-border);
        background: #fff;
        margin-bottom: 0.55rem;
        overflow: hidden;
    }
    .p111p-form-section-title {
        display: flex; align-items: center; gap: 0.4rem;
        padding: 0.4rem 0.75rem;
        font-size: 0.68rem; font-weight: 800;
        text-transform: uppercase; letter-spacing: .06em;
        border-bottom: 1px solid var(--p111-border);
    }
    .p111p-form-section-title i { font-size: 0.75rem; }
    .p111p-section--din   .p111p-form-section-title { color:var(--p111-primary); background:var(--p111-blue-bg); border-color:var(--p111-blue-bd); }
    .p111p-section--it    .p111p-form-section-title { color:var(--p111-purple);  background:var(--p111-purp-bg); border-color:var(--p111-purp-bd); }
    .p111p-section--esp   .p111p-form-section-title { color:var(--p111-teal);    background:var(--p111-teal-bg); border-color:var(--p111-teal-bd); }
    .p111p-section--reduc .p111p-form-section-title { color:var(--p111-gray);    background:var(--p111-gray-bg); border-color:var(--p111-border); }

    /* Collapsible section header */
    .p111p-section-toggle {
        cursor: pointer; user-select: none;
        border-bottom: none !important;
        transition: opacity .1s;
    }
    .p111p-section-toggle:hover { opacity: .85; }
    .p111p-section--it   [x-show] .p111p-form-grid2,
    .p111p-section--esp  [x-show] .p111p-form-grid4,
    .p111p-section--reduc [x-show] .p111p-form-grid4 { border-top: 1px solid var(--p111-border); }
    .p111p-toggle-hint {
        font-size: 0.63rem; font-weight: 400; text-transform: none; letter-spacing: 0;
        opacity: .7; margin-left: 0.2rem;
    }
    .p111p-chevron {
        font-size: 0.7rem;
        transition: transform .2s;
    }
    .p111p-chevron--open { transform: rotate(180deg); }

    .p111p-form-grid2 {
        display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem;
        padding: 0.6rem 0.75rem;
    }
    .p111p-form-grid4 {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem;
        padding: 0.6rem 0.75rem;
    }
    /* Section badge on card head */
    .p111p-seccion-badge {
        display: inline-flex; align-items: center;
        padding: 0.1rem 0.5rem;
        border-radius: 999px; border: 1px solid;
        font-size: 0.65rem; font-weight: 700;
        white-space: nowrap; flex-shrink: 0;
    }
    .p111p-seccion-badge--trabajo               { background:var(--p111-blue-bg);  color:var(--p111-primary); border-color:var(--p111-blue-bd); }
    .p111p-seccion-badge--actividades_economicas { background:var(--p111-purp-bg);  color:var(--p111-purple);  border-color:var(--p111-purp-bd); }
    .p111p-seccion-badge--premios                { background:#fff7ed; color:#c2410c; border-color:#fed7aa; }
    .p111p-seccion-badge--ganancias_forestales   { background:var(--p111-green-bg); color:var(--p111-green);  border-color:var(--p111-green-bd); }

    @media (max-width:640px) {
        .p111p-form-id    { grid-template-columns: 1fr 1fr; }
        .p111p-form-id > :last-child { grid-column: 1/-1; }
        .p111p-form-grid4 { grid-template-columns: 1fr 1fr; }
        .p111p-name { max-width: 150px; }
    }

    .p111p-label {
        display: block; font-size: 0.7rem; font-weight: 600;
        color: var(--p111-muted); margin-bottom: 0.2rem; white-space: nowrap;
    }
    .p111p-input {
        width: 100%;
        padding: 0.3rem 0.5rem;
        font-size: 0.82rem;
        border: 1px solid var(--p111-border);
        border-radius: 6px;
        background: #fff;
        color: var(--p111-text);
        transition: border-color .15s, box-shadow .15s;
        -moz-appearance: textfield;
    }
    .p111p-input:focus {
        outline: none;
        border-color: var(--p111-primary);
        box-shadow: 0 0 0 2.5px rgba(37,99,235,.15);
    }
    .p111p-input::-webkit-outer-spin-button,
    .p111p-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
    .p111p-input.is-invalid { border-color: var(--p111-danger); }
    .p111p-error { font-size:0.68rem; color:var(--p111-danger); margin-top:0.2rem; }
    .p111p-select {
        width: 100%; padding: 0.3rem 0.5rem;
        font-size: 0.82rem; border: 1px solid var(--p111-border);
        border-radius: 6px; background: #fff; color: var(--p111-text);
        cursor: pointer;
    }
    .p111p-select:focus { outline:none; border-color:var(--p111-primary); box-shadow:0 0 0 2.5px rgba(37,99,235,.15); }

    /* Card form footer */
    .p111p-card-footer {
        display: flex; justify-content: flex-end; gap: 0.5rem; align-items: center;
        padding: 0.6rem 0.85rem;
        border-top: 1px solid var(--p111-border);
        background: #f8fafc;
    }

    /* Impact preview */
    .p111p-impact {
        margin-top: 1rem;
        background: #fff;
        border: 1px solid var(--p111-blue-bd);
        border-radius: 10px;
        padding: 0.75rem 1rem;
    }
    .p111p-impact-title {
        font-size: 0.7rem; font-weight: 800; text-transform: uppercase;
        letter-spacing: .06em; color: var(--p111-primary); margin-bottom: 0.55rem;
    }
    .p111p-impact-grid {
        display: flex; flex-wrap: wrap; gap: 0.5rem;
    }
    .p111p-impact-item {
        display: flex; align-items: center; gap: 0.4rem;
        padding: 0.3rem 0.7rem;
        background: var(--p111-blue-bg); border: 1px solid var(--p111-blue-bd);
        border-radius: 8px; font-size: 0.72rem;
    }
    .p111p-impact-num  { font-weight: 800; color: var(--p111-primary); }
    .p111p-impact-key  { font-weight: 700; color: var(--p111-muted); }
    .p111p-impact-desc { color: var(--p111-muted); }

    /* Empty state */
    .p111p-empty {
        text-align: center; padding: 3rem 1rem;
        background: #fff; border: 1px dashed var(--p111-border);
        border-radius: 12px;
    }
    .p111p-empty-icon { font-size: 2rem; color: var(--p111-subtle); margin-bottom: 0.75rem; }
    .p111p-empty-text { font-size: 0.9rem; color: var(--p111-muted); margin-bottom: 1rem; }

    /* New-card header label */
    .p111p-new-label {
        display: flex; align-items: center; gap: 0.4rem;
        padding: 0.5rem 0.85rem;
        font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
        color: var(--p111-primary); background: var(--p111-blue-bg);
        border-bottom: 1px solid var(--p111-blue-bd);
    }

/* ── resources/views/livewire/fiscal/form-111.blade.php ─────────────────────────────────────────────── */
.form111-root {
            position: relative;
            min-height: 100%;
            height: 100%;
            isolation: isolate;
        }
        .form111-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form111-root > .form111-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form111-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form111-root > .form111-loader .form111-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form111-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form111-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form111-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form111-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form111-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form111-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form111-loader-bounce 1.2s ease-in-out infinite;
        }
        .form111-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form111-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form111-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.9;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .form111-loader-dots span {
                animation: none;
                opacity: 0.65;
            }
        }
        .form111-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .form111-meta-wide {
            grid-column: 1 / -1;
        }
        .form111-meta .form-control {
            background: #f7f8fb;
        }
        .form111-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form111-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form111-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0 6px;
        }
        .form111-table thead th {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
            font-weight: 700;
            padding: 0 0.5rem 0.4rem;
        }
        .form111-row-label {
            width: 44%;
            padding-right: 1rem;
        }
        .form111-label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 600;
            color: #1f2d3d;
            font-size: 0.85rem;
        }
        .form111-label::after {
            content: '';
            flex: 1;
            border-bottom: 1px dotted #c1c7d0;
            transform: translateY(1px);
        }
        .form111-cell {
            padding: 0 0.5rem;
            vertical-align: middle;
        }
        .form111-field {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .form111-code {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            min-width: 2rem;
            height: 2rem;
            font-weight: 800;
            font-size: 0.75rem;
            background: #e9ecef;
            border: 1px solid #cbd5e1;
            border-radius: 6px;
            color: #4b5563;
        }
        .form111-input {
            width: 100%;
            border: 1px solid #b9d48c;
            border-radius: 6px;
            padding: 0.35rem 0.5rem;
            font-size: 0.85rem;
            background: #ffffff;
        }
        .form111-input--amount {
            text-align: right;
            font-variant-numeric: tabular-nums;
        }
        .form111-muted {
            font-size: 0.75rem;
            color: #6c757d;
            font-weight: 700;
            text-transform: uppercase;
            margin: 0.6rem 0 0.3rem;
        }
        .form111-complementaria {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 0.75rem;
            align-items: end;
        }
        .form111-complementaria .form-check {
            margin-bottom: 0;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form-actions-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin: 0 0 1rem;
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        @media (max-width: 768px) {
            .form111-complementaria {
                grid-template-columns: 1fr;
            }
            .form111-row-label {
                width: 100%;
            }
            .form111-table thead {
                display: none;
            }
        }

/* ── resources/views/livewire/fiscal/form-115-perceptores.blade.php ─────────────────────────────────────────────── */
.p115p-root {
        --p115-primary:  #0891b2;
        --p115-blue-bg:  #ecfeff;
        --p115-blue-bd:  #a5f3fc;
        --p115-green:    #16a34a;
        --p115-green-bg: #f0fdf4;
        --p115-green-bd: #bbf7d0;
        --p115-amber:    #d97706;
        --p115-amber-bg: #fffbeb;
        --p115-amber-bd: #fde68a;
        --p115-gray:     #475569;
        --p115-gray-bg:  #f8fafc;
        --p115-border:   #e2e8f0;
        --p115-text:     #0f172a;
        --p115-muted:    #64748b;
        --p115-subtle:   #94a3b8;
        --p115-danger:   #dc2626;
        font-size: 0.875rem;
        color: var(--p115-text);
    }

    /* ── Header ───────────────────────────────────────── */
    .p115p-header {
        display: flex; align-items: center; justify-content: space-between;
        gap: 0.75rem; flex-wrap: wrap;
        padding: 0.85rem 1rem;
        background: #fff; border: 1px solid var(--p115-border);
        border-radius: 12px; margin-bottom: 1rem;
        box-shadow: 0 1px 3px rgba(15,23,42,.04);
    }
    .p115p-header-left  { display:flex; align-items:center; gap:0.65rem; min-width:0; }
    .p115p-back-btn {
        display: inline-flex; align-items: center; gap: 0.35rem;
        padding: 0.3rem 0.65rem; border: 1px solid var(--p115-border);
        border-radius: 7px; background: #fff;
        font-size: 0.75rem; font-weight: 600; color: var(--p115-muted);
        cursor: pointer; transition: all .15s; text-decoration: none; white-space: nowrap;
    }
    .p115p-back-btn:hover { background:#f1f5f9; color:var(--p115-text); border-color:#cbd5e1; }
    .p115p-title    { font-size:0.95rem; font-weight:700; color:var(--p115-text); white-space:nowrap; }
    .p115p-subtitle { font-size:0.78rem; color:var(--p115-muted); white-space:nowrap; }
    .p115p-divider  { width:1px; height:20px; background:var(--p115-border); flex-shrink:0; }
    .p115p-header-right { display:flex; align-items:center; gap:0.5rem; flex-shrink:0; }

    /* ── Buttons ──────────────────────────────────────── */
    .p115p-btn {
        display: inline-flex; align-items: center; gap: 0.3rem;
        padding: 0.35rem 0.8rem; border-radius: 8px; border: 1.5px solid transparent;
        font-size: 0.78rem; font-weight: 600; cursor: pointer;
        transition: all .15s; white-space: nowrap;
    }
    .p115p-btn-outline  { background:#fff; border-color:var(--p115-border); color:var(--p115-muted); }
    .p115p-btn-outline:hover { background:#f1f5f9; color:var(--p115-text); border-color:#94a3b8; }
    .p115p-btn-outline:disabled { opacity:.45; cursor:not-allowed; }
    .p115p-btn-primary  { background:var(--p115-primary); border-color:var(--p115-primary); color:#fff; }
    .p115p-btn-primary:hover { background:#0e7490; }
    .p115p-btn-primary:disabled { opacity:.45; cursor:not-allowed; }
    .p115p-btn-success  { background:var(--p115-green); border-color:var(--p115-green); color:#fff; }
    .p115p-btn-success:hover { background:#15803d; }
    .p115p-btn-success:disabled { opacity:.45; cursor:not-allowed; }
    .p115p-btn-danger-ghost {
        background:transparent; border-color:transparent; color:var(--p115-subtle); padding:0.25rem 0.4rem;
    }
    .p115p-btn-danger-ghost:hover { color:var(--p115-danger); background:#fef2f2; border-color:#fecaca; }
    .p115p-btn-danger-ghost:disabled { opacity:.35; cursor:not-allowed; }
    .p115p-btn-icon-ghost {
        background:transparent; border-color:transparent; color:var(--p115-subtle); padding:0.25rem 0.4rem;
    }
    .p115p-btn-icon-ghost:hover { color:var(--p115-primary); background:var(--p115-blue-bg); border-color:var(--p115-blue-bd); }
    .p115p-btn-icon-ghost:disabled { opacity:.35; cursor:not-allowed; }

    /* ── Summary bar ──────────────────────────────────── */
    .p115p-summary { display:flex; gap:0.65rem; flex-wrap:wrap; margin-bottom:1rem; }
    .p115p-stat {
        flex: 1 1 140px; display:flex; align-items:center; gap:0.6rem;
        padding: 0.65rem 0.85rem; background:#fff;
        border: 1px solid var(--p115-border); border-radius:10px;
        box-shadow: 0 1px 2px rgba(15,23,42,.03);
    }
    .p115p-stat-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:0.85rem; flex-shrink:0; }
    .p115p-stat--teal  .p115p-stat-icon { background:var(--p115-blue-bg);  color:var(--p115-primary); }
    .p115p-stat--red   .p115p-stat-icon { background:#fef2f2; color:var(--p115-danger); }
    .p115p-stat--green .p115p-stat-icon { background:var(--p115-green-bg); color:var(--p115-green); }
    .p115p-stat-label  { font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--p115-muted); }
    .p115p-stat-value  { font-size:0.98rem; font-weight:800; color:var(--p115-text); line-height:1.1; margin-top:1px; }
    .p115p-stat-casilla{ font-size:0.62rem; color:var(--p115-subtle); font-weight:600; margin-top:1px; }

    /* ── Perceptor card ───────────────────────────────── */
    .p115p-card {
        background:#fff; border:1px solid var(--p115-border);
        border-radius:10px; margin-bottom:0.5rem; overflow:hidden;
        transition: box-shadow .15s, border-color .15s;
    }
    .p115p-card:hover { box-shadow: 0 2px 8px rgba(15,23,42,.06); }
    .p115p-card--editing { border-color:var(--p115-primary); box-shadow:0 0 0 3px rgba(8,145,178,.1); }
    .p115p-card--new     { border-color:var(--p115-primary); box-shadow:0 0 0 3px rgba(8,145,178,.1); }

    .p115p-card-head {
        display:flex; align-items:center; gap:0.6rem; padding:0.6rem 0.85rem; flex-wrap:wrap;
    }
    .p115p-card-head-main { display:flex; align-items:center; gap:0.5rem; flex:1; min-width:0; flex-wrap:wrap; }
    .p115p-nif  { font-size:0.75rem; font-weight:700; font-family:monospace; color:var(--p115-muted); background:#f1f5f9; padding:0.1rem 0.45rem; border-radius:5px; white-space:nowrap; }
    .p115p-name { font-size:0.85rem; font-weight:600; color:var(--p115-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
    .p115p-catastral { font-size:0.72rem; font-family:monospace; color:var(--p115-muted); background:#f8f9fa; padding:0.1rem 0.4rem; border-radius:4px; white-space:nowrap; border:1px solid var(--p115-border); }
    .p115p-amounts { display:flex; gap:0.5rem; align-items:center; flex-wrap:wrap; }
    .p115p-amount-chip {
        display:inline-flex; align-items:center; gap:0.3rem;
        font-size:0.72rem; font-weight:600; padding:0.12rem 0.5rem; border-radius:6px; white-space:nowrap;
    }
    .p115p-amount-chip--blue  { background:var(--p115-blue-bg);  color:var(--p115-primary); }
    .p115p-amount-chip--red   { background:#fef2f2; color:var(--p115-danger); }
    .p115p-amount-chip--green { background:var(--p115-green-bg); color:var(--p115-green); border:1px solid var(--p115-green-bd); }
    .p115p-card-actions { display:flex; align-items:center; gap:0.2rem; flex-shrink:0; margin-left:auto; }

    /* ── Card body (form) ─────────────────────────────── */
    .p115p-card-body { border-top:1px solid var(--p115-border); padding:0.85rem 0.85rem 0.75rem; background:#fafbfc; }
    .p115p-card-footer {
        display:flex; justify-content:flex-end; gap:0.5rem; align-items:center;
        padding:0.6rem 0.85rem; border-top:1px solid var(--p115-border); background:#f8fafc;
    }

    /* Form identity row */
    .p115p-form-id {
        display: grid; grid-template-columns: 140px 1fr 1fr;
        gap: 0.6rem; margin-bottom: 0.75rem;
    }

    /* Form section */
    .p115p-form-section {
        border-radius:8px; border:1px solid var(--p115-border);
        background:#fff; margin-bottom:0.55rem; overflow:hidden;
    }
    .p115p-form-section-title {
        display:flex; align-items:center; gap:0.4rem; padding:0.4rem 0.75rem;
        font-size:0.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em;
        border-bottom:1px solid var(--p115-border);
    }
    .p115p-section--mes .p115p-form-section-title      { color:var(--p115-primary); background:var(--p115-blue-bg); border-color:var(--p115-blue-bd); }
    .p115p-section--inmueble .p115p-form-section-title { color:var(--p115-amber);   background:var(--p115-amber-bg); border-color:var(--p115-amber-bd); }
    .p115p-section-toggle { cursor:pointer; user-select:none; border-bottom:none !important; transition:opacity .1s; }
    .p115p-section-toggle:hover { opacity:.85; }
    .p115p-toggle-hint { font-size:0.63rem; font-weight:400; text-transform:none; letter-spacing:0; opacity:.7; margin-left:0.2rem; }
    .p115p-chevron { font-size:0.7rem; transition:transform .2s; }
    .p115p-chevron--open { transform:rotate(180deg); }

    /* Mes grid: label col + 3 data cols */
    .p115p-mes-grid {
        display: grid; grid-template-columns: 80px 1fr 70px 1fr;
        gap: 0.45rem; padding: 0.6rem 0.75rem;
        align-items: center;
    }
    .p115p-mes-col-head { font-size:0.65rem; font-weight:700; color:var(--p115-muted); text-transform:uppercase; letter-spacing:.04em; text-align:center; }
    .p115p-mes-tipo-label { display:flex; align-items:center; }
    .p115p-tipo-badge {
        display:inline-flex; align-items:center; padding:0.15rem 0.5rem;
        border-radius:999px; border:1px solid; font-size:0.65rem; font-weight:700; white-space:nowrap;
    }
    .p115p-tipo-badge--din { background:var(--p115-blue-bg); color:var(--p115-primary); border-color:var(--p115-blue-bd); }
    .p115p-tipo-badge--esp { background:var(--p115-amber-bg); color:var(--p115-amber); border-color:var(--p115-amber-bd); }

    /* Inmueble grid */
    .p115p-form-inmueble {
        display: grid; grid-template-columns: repeat(4, 1fr);
        gap: 0.6rem; padding: 0.6rem 0.75rem;
    }

    /* Inputs */
    .p115p-label { display:block; font-size:0.7rem; font-weight:600; color:var(--p115-muted); margin-bottom:0.2rem; white-space:nowrap; }
    .p115p-input {
        width:100%; padding:0.3rem 0.5rem; font-size:0.82rem;
        border:1px solid var(--p115-border); border-radius:6px;
        background:#fff; color:var(--p115-text); transition:border-color .15s;
        -moz-appearance:textfield;
    }
    .p115p-input:focus { outline:none; border-color:var(--p115-primary); box-shadow:0 0 0 2.5px rgba(8,145,178,.15); }
    .p115p-input::-webkit-outer-spin-button,
    .p115p-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
    .p115p-input.is-invalid { border-color:var(--p115-danger); }
    .p115p-error { font-size:0.68rem; color:var(--p115-danger); margin-top:0.2rem; }

    /* New card label */
    .p115p-new-label {
        display:flex; align-items:center; gap:0.4rem; padding:0.5rem 0.85rem;
        font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
        color:var(--p115-primary); background:var(--p115-blue-bg); border-bottom:1px solid var(--p115-blue-bd);
    }

    /* Impact preview */
    .p115p-impact { margin-top:1rem; background:#fff; border:1px solid var(--p115-blue-bd); border-radius:10px; padding:0.75rem 1rem; }
    .p115p-impact-title { font-size:0.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--p115-primary); margin-bottom:0.55rem; }
    .p115p-impact-grid  { display:flex; flex-wrap:wrap; gap:0.5rem; }
    .p115p-impact-item  { display:flex; align-items:center; gap:0.4rem; padding:0.3rem 0.7rem; background:var(--p115-blue-bg); border:1px solid var(--p115-blue-bd); border-radius:8px; font-size:0.72rem; }
    .p115p-impact-num   { font-weight:800; color:var(--p115-primary); }
    .p115p-impact-key   { font-weight:700; color:var(--p115-muted); }
    .p115p-impact-desc  { color:var(--p115-muted); }

    /* Empty state */
    .p115p-empty { text-align:center; padding:3rem 1rem; background:#fff; border:1px dashed var(--p115-border); border-radius:12px; }
    .p115p-empty-icon { font-size:2rem; color:var(--p115-subtle); margin-bottom:0.75rem; }
    .p115p-empty-text { font-size:0.9rem; color:var(--p115-muted); margin-bottom:1rem; }

    @media (max-width:640px) {
        .p115p-form-id { grid-template-columns: 1fr 1fr; }
        .p115p-form-id > :last-child { grid-column: 1/-1; }
        .p115p-mes-grid { grid-template-columns: 70px 1fr 55px 1fr; }
        .p115p-form-inmueble { grid-template-columns: 1fr 1fr; }
        .p115p-name { max-width:150px; }
    }

/* ── resources/views/livewire/fiscal/form-115.blade.php ─────────────────────────────────────────────── */
.form115-root {
            position: relative;
            min-height: 100%;
            height: 100%;
            isolation: isolate;
        }
        .form115-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form115-root > .form115-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form115-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form115-root > .form115-loader .form115-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form115-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form115-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form115-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form115-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form115-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form115-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form115-loader-bounce 1.2s ease-in-out infinite;
        }
        .form115-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form115-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form115-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.9;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .form115-loader-dots span {
                animation: none;
                opacity: 0.65;
            }
        }
        .form115-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .form115-meta-wide {
            grid-column: 1 / -1;
        }
        .form115-meta .form-control {
            background: #f7f8fb;
        }
        .form115-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form115-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form115-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0 6px;
        }
        .form115-row-label {
            width: 60%;
            padding-right: 1rem;
        }
        .form115-label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 600;
            color: #1f2d3d;
            font-size: 0.85rem;
        }
        .form115-label::after {
            content: '';
            flex: 1;
            border-bottom: 1px dotted #c1c7d0;
            transform: translateY(1px);
        }
        .form115-cell {
            padding: 0 0.5rem;
            vertical-align: middle;
        }
        .form115-field {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .form115-code {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            min-width: 2rem;
            height: 2rem;
            font-weight: 800;
            font-size: 0.75rem;
            background: #e9ecef;
            border: 1px solid #cbd5e1;
            border-radius: 6px;
            color: #4b5563;
        }
        .form115-input {
            width: 100%;
            border: 1px solid #b9d48c;
            border-radius: 6px;
            padding: 0.35rem 0.5rem;
            font-size: 0.85rem;
            background: #ffffff;
        }
        .form115-input--amount {
            text-align: right;
            font-variant-numeric: tabular-nums;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form-actions-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin: 0 0 1rem;
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .form115-complementaria {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 0.75rem;
            align-items: end;
        }
        .form115-complementaria .form-check {
            margin-bottom: 0;
        }
        @media (max-width: 768px) {
            .form115-complementaria {
                grid-template-columns: 1fr;
            }
            .form115-row-label {
                width: 100%;
            }
        }

/* ── resources/views/livewire/fiscal/form-123-perceptores.blade.php ─────────────────────────────────────────────── */
.p123p-root {
        --p123-primary:  #7c3aed;
        --p123-purp-bg:  #f5f3ff;
        --p123-purp-bd:  #ddd6fe;
        --p123-teal:     #0891b2;
        --p123-teal-bg:  #ecfeff;
        --p123-teal-bd:  #a5f3fc;
        --p123-green:    #16a34a;
        --p123-green-bg: #f0fdf4;
        --p123-green-bd: #bbf7d0;
        --p123-gray-bg:  #f8fafc;
        --p123-border:   #e2e8f0;
        --p123-text:     #0f172a;
        --p123-muted:    #64748b;
        --p123-subtle:   #94a3b8;
        --p123-danger:   #dc2626;
        font-size: 0.875rem;
        color: var(--p123-text);
    }

    /* ── Header ───────────────────────────────────────── */
    .p123p-header {
        display:flex; align-items:center; justify-content:space-between;
        gap:0.75rem; flex-wrap:wrap;
        padding:0.85rem 1rem; background:#fff;
        border:1px solid var(--p123-border); border-radius:12px;
        margin-bottom:1rem; box-shadow:0 1px 3px rgba(15,23,42,.04);
    }
    .p123p-header-left  { display:flex; align-items:center; gap:0.65rem; min-width:0; }
    .p123p-back-btn {
        display:inline-flex; align-items:center; gap:0.35rem;
        padding:0.3rem 0.65rem; border:1px solid var(--p123-border);
        border-radius:7px; background:#fff;
        font-size:0.75rem; font-weight:600; color:var(--p123-muted);
        cursor:pointer; transition:all .15s; text-decoration:none; white-space:nowrap;
    }
    .p123p-back-btn:hover { background:#f1f5f9; color:var(--p123-text); border-color:#cbd5e1; }
    .p123p-title    { font-size:0.95rem; font-weight:700; color:var(--p123-text); white-space:nowrap; }
    .p123p-subtitle { font-size:0.78rem; color:var(--p123-muted); white-space:nowrap; }
    .p123p-divider  { width:1px; height:20px; background:var(--p123-border); flex-shrink:0; }
    .p123p-header-right { display:flex; align-items:center; gap:0.5rem; flex-shrink:0; }

    /* ── Buttons ──────────────────────────────────────── */
    .p123p-btn {
        display:inline-flex; align-items:center; gap:0.3rem;
        padding:0.35rem 0.8rem; border-radius:8px; border:1.5px solid transparent;
        font-size:0.78rem; font-weight:600; cursor:pointer;
        transition:all .15s; white-space:nowrap;
    }
    .p123p-btn-outline { background:#fff; border-color:var(--p123-border); color:var(--p123-muted); }
    .p123p-btn-outline:hover { background:#f1f5f9; color:var(--p123-text); border-color:#94a3b8; }
    .p123p-btn-outline:disabled { opacity:.45; cursor:not-allowed; }
    .p123p-btn-primary { background:var(--p123-primary); border-color:var(--p123-primary); color:#fff; }
    .p123p-btn-primary:hover { background:#6d28d9; }
    .p123p-btn-primary:disabled { opacity:.45; cursor:not-allowed; }
    .p123p-btn-success { background:var(--p123-green); border-color:var(--p123-green); color:#fff; }
    .p123p-btn-success:hover { background:#15803d; }
    .p123p-btn-success:disabled { opacity:.45; cursor:not-allowed; }
    .p123p-btn-danger-ghost {
        background:transparent; border-color:transparent; color:var(--p123-subtle); padding:0.25rem 0.4rem;
    }
    .p123p-btn-danger-ghost:hover { color:var(--p123-danger); background:#fef2f2; border-color:#fecaca; }
    .p123p-btn-danger-ghost:disabled { opacity:.35; cursor:not-allowed; }
    .p123p-btn-icon-ghost {
        background:transparent; border-color:transparent; color:var(--p123-subtle); padding:0.25rem 0.4rem;
    }
    .p123p-btn-icon-ghost:hover { color:var(--p123-primary); background:var(--p123-purp-bg); border-color:var(--p123-purp-bd); }
    .p123p-btn-icon-ghost:disabled { opacity:.35; cursor:not-allowed; }

    /* ── Summary bar ──────────────────────────────────── */
    .p123p-summary { display:flex; gap:0.65rem; flex-wrap:wrap; margin-bottom:1rem; }
    .p123p-stat {
        flex:1 1 140px; display:flex; align-items:center; gap:0.6rem;
        padding:0.65rem 0.85rem; background:#fff;
        border:1px solid var(--p123-border); border-radius:10px;
        box-shadow:0 1px 2px rgba(15,23,42,.03);
    }
    .p123p-stat-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:0.85rem; flex-shrink:0; }
    .p123p-stat--purp  .p123p-stat-icon { background:var(--p123-purp-bg); color:var(--p123-primary); }
    .p123p-stat--red   .p123p-stat-icon { background:#fef2f2; color:var(--p123-danger); }
    .p123p-stat--green .p123p-stat-icon { background:var(--p123-green-bg); color:var(--p123-green); }
    .p123p-stat-label  { font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--p123-muted); }
    .p123p-stat-value  { font-size:0.98rem; font-weight:800; color:var(--p123-text); line-height:1.1; margin-top:1px; }
    .p123p-stat-casilla{ font-size:0.62rem; color:var(--p123-subtle); font-weight:600; margin-top:1px; }

    /* ── Tipo divider ─────────────────────────────────── */
    .p123p-tipo-divider {
        display:flex; align-items:center; gap:0.6rem;
        margin:1.25rem 0 0.5rem; padding:0.45rem 0.75rem; border-radius:8px;
    }
    .p123p-tipo-divider:first-child { margin-top:0; }
    .p123p-tipo-divider--div   { background:var(--p123-purp-bg); border:1px solid var(--p123-purp-bd); }
    .p123p-tipo-divider--resto { background:var(--p123-teal-bg); border:1px solid var(--p123-teal-bd); }
    .p123p-tipo-line { flex:1; height:1px; background:var(--p123-border); }
    .p123p-tipo-casillas { font-size:0.65rem; font-weight:600; color:var(--p123-subtle); white-space:nowrap; }

    /* ── Perceptor card ───────────────────────────────── */
    .p123p-card {
        background:#fff; border:1px solid var(--p123-border);
        border-radius:10px; margin-bottom:0.5rem; overflow:hidden;
        transition:box-shadow .15s, border-color .15s;
    }
    .p123p-card:hover { box-shadow:0 2px 8px rgba(15,23,42,.06); }
    .p123p-card--editing { border-color:var(--p123-primary); box-shadow:0 0 0 3px rgba(124,58,237,.1); }
    .p123p-card--new     { border-color:var(--p123-primary); box-shadow:0 0 0 3px rgba(124,58,237,.1); }

    .p123p-card-head {
        display:flex; align-items:center; gap:0.6rem; padding:0.6rem 0.85rem; flex-wrap:wrap;
    }
    .p123p-card-head-main { display:flex; align-items:center; gap:0.5rem; flex:1; min-width:0; flex-wrap:wrap; }
    .p123p-nif    { font-size:0.75rem; font-weight:700; font-family:monospace; color:var(--p123-muted); background:#f1f5f9; padding:0.1rem 0.45rem; border-radius:5px; white-space:nowrap; }
    .p123p-name   { font-size:0.85rem; font-weight:600; color:var(--p123-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
    .p123p-amounts { display:flex; gap:0.5rem; align-items:center; flex-wrap:wrap; }
    .p123p-amount-chip {
        display:inline-flex; align-items:center; gap:0.3rem;
        font-size:0.72rem; font-weight:600; padding:0.12rem 0.5rem; border-radius:6px; white-space:nowrap;
    }
    .p123p-amount-chip--purp  { background:var(--p123-purp-bg); color:var(--p123-primary); }
    .p123p-amount-chip--red   { background:#fef2f2; color:var(--p123-danger); }
    .p123p-amount-chip--green { background:var(--p123-green-bg); color:var(--p123-green); border:1px solid var(--p123-green-bd); }
    .p123p-card-actions { display:flex; align-items:center; gap:0.2rem; flex-shrink:0; margin-left:auto; }

    /* ── Tipo badge ───────────────────────────────────── */
    .p123p-tipo-badge {
        display:inline-flex; align-items:center; padding:0.1rem 0.5rem;
        border-radius:999px; border:1px solid; font-size:0.65rem; font-weight:700; white-space:nowrap; flex-shrink:0;
    }
    .p123p-tipo-badge--div   { background:var(--p123-purp-bg); color:var(--p123-primary); border-color:var(--p123-purp-bd); }
    .p123p-tipo-badge--resto { background:var(--p123-teal-bg); color:var(--p123-teal); border-color:var(--p123-teal-bd); }

    /* ── Card body / form ─────────────────────────────── */
    .p123p-card-body { border-top:1px solid var(--p123-border); padding:0.85rem 0.85rem 0.75rem; background:#fafbfc; }
    .p123p-card-footer {
        display:flex; justify-content:flex-end; gap:0.5rem; align-items:center;
        padding:0.6rem 0.85rem; border-top:1px solid var(--p123-border); background:#f8fafc;
    }

    .p123p-form-id {
        display:grid; grid-template-columns: 150px 120px 1fr;
        gap:0.6rem; margin-bottom:0.75rem;
    }

    .p123p-form-section {
        border-radius:8px; border:1px solid var(--p123-purp-bd);
        background:#fff; margin-bottom:0.55rem; overflow:hidden;
    }
    .p123p-form-section-title {
        display:flex; align-items:center; gap:0.4rem; padding:0.4rem 0.75rem;
        font-size:0.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em;
        color:var(--p123-primary); background:var(--p123-purp-bg); border-bottom:1px solid var(--p123-purp-bd);
    }

    .p123p-mes-grid {
        display:grid; grid-template-columns: 1fr 80px 1fr;
        gap:0.6rem; padding:0.6rem 0.75rem;
    }

    /* Inputs / selects */
    .p123p-label  { display:block; font-size:0.7rem; font-weight:600; color:var(--p123-muted); margin-bottom:0.2rem; white-space:nowrap; }
    .p123p-input  {
        width:100%; padding:0.3rem 0.5rem; font-size:0.82rem;
        border:1px solid var(--p123-border); border-radius:6px;
        background:#fff; color:var(--p123-text); transition:border-color .15s;
        -moz-appearance:textfield;
    }
    .p123p-input:focus { outline:none; border-color:var(--p123-primary); box-shadow:0 0 0 2.5px rgba(124,58,237,.15); }
    .p123p-input::-webkit-outer-spin-button,
    .p123p-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
    .p123p-input.is-invalid { border-color:var(--p123-danger); }
    .p123p-select {
        width:100%; padding:0.3rem 0.5rem; font-size:0.82rem;
        border:1px solid var(--p123-border); border-radius:6px;
        background:#fff; color:var(--p123-text); cursor:pointer;
    }
    .p123p-select:focus { outline:none; border-color:var(--p123-primary); box-shadow:0 0 0 2.5px rgba(124,58,237,.15); }
    .p123p-error { font-size:0.68rem; color:var(--p123-danger); margin-top:0.2rem; }

    /* New card label */
    .p123p-new-label {
        display:flex; align-items:center; gap:0.4rem; padding:0.5rem 0.85rem;
        font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
        color:var(--p123-primary); background:var(--p123-purp-bg); border-bottom:1px solid var(--p123-purp-bd);
    }

    /* Impact preview */
    .p123p-impact { margin-top:1rem; background:#fff; border:1px solid var(--p123-purp-bd); border-radius:10px; padding:0.75rem 1rem; }
    .p123p-impact-title { font-size:0.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--p123-primary); margin-bottom:0.55rem; }
    .p123p-impact-grid  { display:flex; flex-wrap:wrap; gap:0.5rem; }
    .p123p-impact-item  { display:flex; align-items:center; gap:0.4rem; padding:0.3rem 0.7rem; background:var(--p123-purp-bg); border:1px solid var(--p123-purp-bd); border-radius:8px; font-size:0.72rem; }
    .p123p-impact-num   { font-weight:800; color:var(--p123-primary); }
    .p123p-impact-key   { font-weight:700; color:var(--p123-muted); }
    .p123p-impact-desc  { color:var(--p123-muted); }

    /* Empty state */
    .p123p-empty { text-align:center; padding:3rem 1rem; background:#fff; border:1px dashed var(--p123-border); border-radius:12px; }
    .p123p-empty-icon { font-size:2rem; color:var(--p123-subtle); margin-bottom:0.75rem; }
    .p123p-empty-text { font-size:0.9rem; color:var(--p123-muted); margin-bottom:1rem; }

    @media (max-width:640px) {
        .p123p-form-id  { grid-template-columns: 1fr 1fr; }
        .p123p-form-id > :nth-child(3) { grid-column: 1/-1; }
        .p123p-mes-grid { grid-template-columns: 1fr 70px 1fr; }
        .p123p-name { max-width:150px; }
    }

/* ── resources/views/livewire/fiscal/form-123.blade.php ─────────────────────────────────────────────── */
.form123-root {
            position: relative;
            min-height: 100%;
            height: 100%;
            isolation: isolate;
        }
        .form123-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form123-root > .form123-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form123-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form123-root > .form123-loader .form123-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form123-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form123-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form123-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form123-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form123-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form123-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form123-loader-bounce 1.2s ease-in-out infinite;
        }
        .form123-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form123-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form123-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.9;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .form123-loader-dots span {
                animation: none;
                opacity: 0.65;
            }
        }
        .form123-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .form123-meta-wide {
            grid-column: 1 / -1;
        }
        .form123-meta .form-control {
            background: #f7f8fb;
        }
        .form123-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form123-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form123-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0 6px;
        }
        .form123-table thead th {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
            font-weight: 700;
            padding: 0 0.5rem 0.4rem;
        }
        .form123-row-label {
            width: 40%;
            padding-right: 1rem;
        }
        .form123-label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 600;
            color: #1f2d3d;
            font-size: 0.85rem;
        }
        .form123-label::after {
            content: '';
            flex: 1;
            border-bottom: 1px dotted #c1c7d0;
            transform: translateY(1px);
        }
        .form123-cell {
            padding: 0 0.5rem;
            vertical-align: middle;
        }
        .form123-field {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .form123-code {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            min-width: 2rem;
            height: 2rem;
            font-weight: 800;
            font-size: 0.75rem;
            background: #e9ecef;
            border: 1px solid #cbd5e1;
            border-radius: 6px;
            color: #4b5563;
        }
        .form123-input {
            width: 100%;
            border: 1px solid #b9d48c;
            border-radius: 6px;
            padding: 0.35rem 0.5rem;
            font-size: 0.85rem;
            background: #ffffff;
        }
        .form123-muted {
            font-size: 0.75rem;
            color: #6c757d;
            font-weight: 700;
            text-transform: uppercase;
            margin: 0.7rem 0 0.3rem;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form-actions-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin: 0 0 1rem;
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .form123-complementaria {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 0.75rem;
            align-items: end;
        }
        .form123-complementaria .form-check {
            margin-bottom: 0;
        }
        @media (max-width: 768px) {
            .form123-complementaria {
                grid-template-columns: 1fr;
            }
            .form123-row-label {
                width: 100%;
            }
            .form123-table thead {
                display: none;
            }
        }

/* ── resources/views/livewire/fiscal/form-130.blade.php ─────────────────────────────────────────────── */
.form130-root {
            position: relative;
            min-height: 100%;
            isolation: isolate;
        }
        .form130-root--filtered::after {
            content: '';
            position: absolute;
            inset: 0;
            border: 3px solid rgba(245, 158, 11, 0.42);
            border-radius: 10px;
            pointer-events: none;
            z-index: 1;
        }
        .form130-filter-banner {
            margin: 0 0 1rem;
            padding: 0.7rem 0.9rem;
            border: 1px solid #f59e0b;
            background: #fff7ed;
            color: #9a3412;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            font-size: 0.84rem;
            line-height: 1.4;
        }
        .form130-filter-banner strong {
            color: #7c2d12;
            font-weight: 800;
        }
        .form130-filter-banner span {
            color: #c2410c;
            font-weight: 700;
            white-space: nowrap;
        }
        .form130-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form130-root > .form130-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form130-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form130-root > .form130-loader .form130-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form130-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form130-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form130-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form130-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form130-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form130-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form130-loader-bounce 1.2s ease-in-out infinite;
        }
        .form130-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form130-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form130-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.9;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .form130-loader-dots span {
                animation: none;
                opacity: 0.65;
            }
        }
        .form130-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .form130-meta-wide {
            grid-column: 1 / -1;
        }
        .form130-meta .form-control {
            background: #f7f8fb;
        }
        .form130-trace-overview {
            margin: 0 0 0.85rem;
            padding-left: 1.1rem;
            color: #475569;
            font-size: 0.84rem;
        }
        .form130-trace-overview li + li {
            margin-top: 0.3rem;
        }
        .form130-trace-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 0.84rem;
            background: #fff;
            border: 1px solid #dbe4ee;
            border-radius: 8px;
            overflow: hidden;
        }
        .form130-trace-table th,
        .form130-trace-table td {
            padding: 0.65rem 0.75rem;
            border-bottom: 1px solid #e8edf3;
            vertical-align: top;
        }
        .form130-trace-table th {
            background: #eff4f9;
            color: #334155;
            font-size: 0.78rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form130-trace-table tbody tr:last-child td {
            border-bottom: 0;
        }
        .form130-trace-casilla {
            font-weight: 800;
            color: #0f172a;
            white-space: nowrap;
        }
        .form130-trace-importe {
            font-weight: 700;
            color: #0f172a;
            white-space: nowrap;
        }
        .form130-trace-cuentas {
            color: #475569;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
            font-size: 0.78rem;
        }
        .form130-trace-evidencia {
            display: block;
            color: #64748b;
            font-size: 0.77rem;
            margin-bottom: 0.35rem;
        }
        .form130-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form130-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form130-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0 6px;
        }
        .form130-row-label {
            width: 70%;
            padding-right: 1rem;
        }
        .form130-label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 600;
            color: #1f2d3d;
            font-size: 0.85rem;
        }
        .form130-label::after {
            content: '';
            flex: 1;
            border-bottom: 1px dotted #c1c7d0;
            transform: translateY(1px);
        }
        .form130-cell {
            padding: 0 0.5rem;
            vertical-align: middle;
        }
        .form130-field {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .form130-code {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            min-width: 2rem;
            height: 2rem;
            font-weight: 800;
            font-size: 0.75rem;
            background: #e9ecef;
            border: 1px solid #cbd5e1;
            border-radius: 6px;
            color: #4b5563;
        }
        .form130-input {
            width: 100%;
            border: 1px solid #b9d48c;
            border-radius: 6px;
            padding: 0.35rem 0.5rem;
            font-size: 0.85rem;
            background: #ffffff;
        }
        .form130-muted {
            font-size: 0.75rem;
            color: #6c757d;
            font-weight: 700;
            text-transform: uppercase;
            margin: 0.7rem 0 0.3rem;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form-actions-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin: 0 0 1rem;
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .form130-complementaria {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 0.75rem;
            align-items: end;
        }
        .form130-complementaria .form-check {
            margin-bottom: 0;
        }
        @media (max-width: 768px) {
            .form130-complementaria {
                grid-template-columns: 1fr;
            }
            .form130-row-label {
                width: 100%;
            }
        }

/* ── resources/views/livewire/fiscal/form-131.blade.php ─────────────────────────────────────────────── */
.form131-root {
            position: relative;
            min-height: 100%;
            isolation: isolate;
        }
        .form131-root--filtered::after {
            content: '';
            position: absolute;
            inset: 0;
            border: 3px solid rgba(245, 158, 11, 0.42);
            border-radius: 10px;
            pointer-events: none;
            z-index: 1;
        }
        .form131-filter-banner {
            margin: 0 0 1rem;
            padding: 0.7rem 0.9rem;
            border: 1px solid #f59e0b;
            background: #fff7ed;
            color: #9a3412;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            font-size: 0.84rem;
            line-height: 1.4;
        }
        .form131-filter-banner strong {
            color: #7c2d12;
            font-weight: 800;
        }
        .form131-filter-banner span {
            color: #c2410c;
            font-weight: 700;
            white-space: nowrap;
        }
        .form131-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form131-root > .form131-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form131-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form131-root > .form131-loader .form131-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form131-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form131-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form131-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form131-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form131-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form131-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form131-loader-bounce 1.2s ease-in-out infinite;
        }
        .form131-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form131-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form131-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.9;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .form131-loader-dots span {
                animation: none;
                opacity: 0.65;
            }
        }
        .form303-sticky-head {
            position: sticky;
            top: 0;
            z-index: 30;
            background: #ffffff;
            padding: 0.5rem 0 0.75rem;
            margin: -1rem -0.75rem 1rem;
            border-bottom: 1px solid #e9ecef;
        }
        .form303-sticky-head .nav-tabs {
            margin-bottom: 0.5rem;
            padding: 0 0.75rem;
        }
        .form303-sticky-head .form303-nav-controls {
            padding: 0 0.75rem;
        }
        .form131-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .form131-meta-wide {
            grid-column: 1 / -1;
        }
        .form131-meta .form-control {
            background: #f7f8fb;
        }
        .form131-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form131-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form131-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0 6px;
        }
        .form131-row-label {
            width: 70%;
            padding-right: 1rem;
        }
        .form131-label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 600;
            color: #1f2d3d;
            font-size: 0.85rem;
        }
        .form131-label::after {
            content: '';
            flex: 1;
            border-bottom: 1px dotted #c1c7d0;
            transform: translateY(1px);
        }
        .form131-cell {
            padding: 0 0.5rem;
            vertical-align: middle;
        }
        .form131-field {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .form131-code {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            min-width: 2rem;
            height: 2rem;
            font-weight: 800;
            font-size: 0.75rem;
            background: #e9ecef;
            border: 1px solid #cbd5e1;
            border-radius: 6px;
            color: #4b5563;
        }
        .form131-input {
            width: 100%;
            border: 1px solid #b9d48c;
            border-radius: 6px;
            padding: 0.35rem 0.5rem;
            font-size: 0.85rem;
            background: #ffffff;
        }
        .form131-activity-table th {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
            font-weight: 700;
            padding: 0 0.5rem 0.4rem;
        }
        .form131-activity-table td {
            padding: 0 0.5rem;
        }
        .form131-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
        }
        .form131-subtitle {
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #6c757d;
            margin: 0.75rem 0 0.35rem;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }

/* ── resources/views/livewire/fiscal/form-180.blade.php ─────────────────────────────────────────────── */
.form180-root {
            position: relative;
            min-height: 100%;
            height: 100%;
            isolation: isolate;
        }
        .form180-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form180-root > .form180-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form180-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form180-root > .form180-loader .form180-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form180-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form180-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form180-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form180-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form180-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form180-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form180-loader-bounce 1.2s ease-in-out infinite;
        }
        .form180-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form180-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form180-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.9;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .form180-loader-dots span {
                animation: none;
                opacity: 0.65;
            }
        }
        .form180-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .form180-meta-wide {
            grid-column: 1 / -1;
        }
        .form180-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form180-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form180-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
        }
        .form180-summary {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
            gap: 0.75rem;
        }
        .summary-card {
            background: #ffffff;
            border: 1px solid #e1e5eb;
            border-radius: 8px;
            padding: 0.75rem;
        }
        .summary-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .summary-value {
            font-size: 1rem;
            font-weight: 700;
            color: #1f2d3d;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .form-actions-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin: 0 0 1rem;
        }
        .perceptor-card {
            border: 1px solid #d8dee6;
            border-radius: 8px;
            background: #fff;
            padding: 0.75rem;
            margin-bottom: 0.75rem;
        }
        .perceptor-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.75rem;
        }
        .perceptor-title {
            font-size: 0.8rem;
            font-weight: 700;
            color: #334155;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .perceptor-subtitle {
            margin: 0.8rem 0 0.5rem;
            font-size: 0.72rem;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form180-actions {
            display: flex;
            gap: 0.5rem;
            justify-content: space-between;
            align-items: center;
            margin-top: 0.5rem;
        }
        .form-check-inline {
            margin-right: 1rem;
        }

/* ── resources/views/livewire/fiscal/form-184.blade.php ─────────────────────────────────────────────── */
.form184-root {
            position: relative;
            min-height: 100%;
            isolation: isolate;
        }
        .form184-root--filtered::after {
            content: '';
            position: absolute;
            inset: 0;
            border: 3px solid rgba(245, 158, 11, 0.42);
            border-radius: 10px;
            pointer-events: none;
            z-index: 1;
        }
        .form184-filter-banner {
            margin: 0 0 1rem;
            padding: 0.7rem 0.9rem;
            border: 1px solid #f59e0b;
            background: #fff7ed;
            color: #9a3412;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            font-size: 0.84rem;
            line-height: 1.4;
        }
        .form184-filter-banner strong {
            color: #7c2d12;
            font-weight: 800;
        }
        .form184-filter-banner span {
            color: #c2410c;
            font-weight: 700;
            white-space: nowrap;
        }
        .form184-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form184-root > .form184-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
        }
        .form184-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            max-width: 430px;
            width: 100%;
        }
        .form184-loader-svg {
            width: 400px;
            height: auto;
            opacity: 0.92;
        }
        .form184-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
        }
        .form184-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form184-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form184-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form184-loader-bounce 1.2s ease-in-out infinite;
        }
        .form184-loader-dots span:nth-child(2) { animation-delay: 0.18s; }
        .form184-loader-dots span:nth-child(3) { animation-delay: 0.36s; }
        @keyframes form184-loader-bounce {
            0% { transform: translateY(0) scale(0.88); opacity: 0.3; }
            30% { transform: translateY(-4px) scale(1); opacity: 0.9; }
            60%, 100% { transform: translateY(0) scale(0.88); opacity: 0.3; }
        }
        .form303-sticky-head {
            position: sticky;
            top: 0;
            z-index: 30;
            background: #ffffff;
            padding: 0.5rem 0 0.75rem;
            margin: -1rem -0.75rem 1rem;
            border-bottom: 1px solid #e9ecef;
        }
        .form303-sticky-head .nav-tabs,
        .form303-sticky-head .form303-nav-controls {
            padding: 0 0.75rem;
        }
        .m184-hero {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            gap: 1rem;
            margin-bottom: 1rem;
        }
        .m184-title h2 {
            margin: 0;
            font-size: 1.25rem;
            font-weight: 800;
            color: #0f172a;
        }
        .m184-subtitle {
            color: #64748b;
            font-size: 0.82rem;
            font-weight: 600;
        }
        .m184-chip-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1rem;
        }
        .m184-chip {
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
            padding: 0.85rem 1rem;
            box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
        }
        .m184-chip-label {
            margin: 0;
            color: #64748b;
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 700;
        }
        .m184-chip-value {
            margin: 0.2rem 0 0;
            font-size: 1.1rem;
            font-weight: 800;
            color: #0f172a;
        }
        .m184-chip-help {
            margin: 0.35rem 0 0;
            color: #64748b;
            font-size: 0.77rem;
            line-height: 1.4;
        }
        .m184-alert {
            border: 1px solid #fde68a;
            background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
            border-radius: 12px;
            padding: 0.95rem 1rem;
            margin-bottom: 1rem;
        }
        .m184-alert--danger {
            border-color: #fecaca;
            background: linear-gradient(180deg, #fef2f2 0%, #fee2e2 100%);
        }
        .m184-alert-title {
            margin: 0 0 0.45rem;
            color: #92400e;
            font-size: 0.82rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 800;
        }
        .m184-alert--danger .m184-alert-title,
        .m184-alert--danger ul {
            color: #991b1b;
        }
        .m184-alert ul {
            margin: 0;
            padding-left: 1.15rem;
            color: #78350f;
            font-size: 0.86rem;
        }
        .m184-grid {
            display: grid;
            grid-template-columns: repeat(12, minmax(0, 1fr));
            gap: 1rem;
        }
        .m184-col-4 { grid-column: span 4; }
        .m184-col-6 { grid-column: span 6; }
        .m184-col-8 { grid-column: span 8; }
        .m184-col-12 { grid-column: span 12; }
        .m184-card {
            border: 1px solid #e1e5eb;
            border-radius: 14px;
            background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
            box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
            overflow: hidden;
        }
        .m184-card-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.75rem;
            padding: 0.9rem 1rem;
            border-bottom: 1px solid #e2e8f0;
            background: rgba(248, 250, 252, 0.85);
        }
        .m184-card-head strong {
            font-size: 0.88rem;
            color: #1f2d3d;
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }
        .m184-card-body { padding: 1rem; }
        .m184-section-title {
            margin: 0 0 0.8rem;
            color: #64748b;
            font-size: 0.73rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 800;
        }
        .m184-section-note {
            color: #64748b;
            font-size: 0.8rem;
            font-weight: 600;
        }
        .m184-form-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 0.85rem;
        }
        .m184-form-grid-tight {
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        }
        .m184-field label {
            margin-bottom: 0.35rem;
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            font-weight: 700;
            color: #64748b;
        }
        .m184-field-help {
            display: block;
            margin-top: 0.28rem;
            font-size: 0.72rem;
            color: #64748b;
            line-height: 1.35;
        }
        .m184-checkbox-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.65rem;
        }
        .m184-inline-check {
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            background: #fff;
            padding: 0.7rem 0.85rem;
        }
        .m184-record-list {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .m184-record {
            border: 1px solid #dbe2ea;
            border-radius: 14px;
            background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
            overflow: hidden;
            box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
        }
        .m184-record-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.75rem;
            padding: 0.85rem 1rem;
            border-bottom: 1px solid #e2e8f0;
            background: rgba(248, 250, 252, 0.85);
        }
        .m184-record-title {
            margin: 0;
            font-size: 0.88rem;
            color: #1f2d3d;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        .m184-record-actions {
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
        }
        .m184-record-body { padding: 1rem; }
        .m184-divider {
            margin: 1rem 0 0.9rem;
            border-top: 1px solid #e2e8f0;
            padding-top: 0.95rem;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0 !important;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option--pendiente input:checked + label { background: #fff4d6; color: #b45309; }
        .status-option--elaborado input:checked + label { background: #e0f2fe; color: #0369a1; }
        .status-option--confirmar input:checked + label { background: #fee2e2; color: #b91c1c; }
        .status-option--presentado input:checked + label { background: #dcfce7; color: #15803d; }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        @media (max-width: 991.98px) {
            .m184-col-4,
            .m184-col-6,
            .m184-col-8,
            .m184-col-12 {
                grid-column: span 12;
            }
            .m184-record-head,
            .m184-card-head {
                align-items: flex-start;
                flex-direction: column;
            }
        }

/* ── resources/views/livewire/fiscal/form-190.blade.php ─────────────────────────────────────────────── */
.form190-root {
            position: relative;
            min-height: 100%;
            height: 100%;
            isolation: isolate;
        }
        .form190-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form190-root > .form190-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form190-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form190-root > .form190-loader .form190-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form190-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form190-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form190-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form190-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form190-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form190-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form190-loader-bounce 1.2s ease-in-out infinite;
        }
        .form190-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form190-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form190-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.95;
            }
            60% {
                transform: translateY(0) scale(0.92);
                opacity: 0.45;
            }
            100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        .form190-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .form190-meta-wide {
            grid-column: 1 / -1;
        }
        .form190-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form190-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form190-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
        }
        .form190-summary {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
            gap: 0.75rem;
        }
        .summary-card {
            background: #ffffff;
            border: 1px solid #e1e5eb;
            border-radius: 8px;
            padding: 0.75rem;
        }
        .summary-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .summary-value {
            font-size: 1rem;
            font-weight: 700;
            color: #1f2d3d;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .form-actions-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin: 0 0 1rem;
        }
        .perceptor-card {
            border: 1px solid #d8dee6;
            border-radius: 8px;
            background: #fff;
            padding: 0.75rem;
            margin-bottom: 0.75rem;
        }
        .perceptor-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.75rem;
        }
        .perceptor-title {
            font-size: 0.8rem;
            font-weight: 700;
            color: #334155;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .perceptor-subtitle {
            margin: 0.8rem 0 0.5rem;
            font-size: 0.72rem;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form190-actions {
            display: flex;
            gap: 0.5rem;
            justify-content: space-between;
            align-items: center;
            margin-top: 0.5rem;
        }
        .form-check-inline {
            margin-right: 1rem;
        }

/* ── resources/views/livewire/fiscal/form-193.blade.php ─────────────────────────────────────────────── */
.form193-root {
            position: relative;
            min-height: 100%;
            height: 100%;
            isolation: isolate;
        }
        .form193-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form193-root > .form193-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form193-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form193-root > .form193-loader .form193-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form193-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form193-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form193-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form193-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form193-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form193-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form193-loader-bounce 1.2s ease-in-out infinite;
        }
        .form193-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form193-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form193-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.9;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        .form303-sticky-head {
            position: sticky;
            top: 0;
            z-index: 30;
            background: #ffffff;
            padding: 0.5rem 0 0.75rem;
            margin: -1rem -0.75rem 1rem;
            border-bottom: 1px solid #e9ecef;
        }
        .form303-sticky-head .nav-tabs {
            margin-bottom: 0.5rem;
            padding: 0 0.75rem;
        }
        .form303-sticky-head .form303-nav-controls {
            padding: 0 0.75rem;
        }
        .form193-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1rem;
        }
        .form193-meta-wide {
            grid-column: 1 / -1;
        }
        .form193-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form193-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form193-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
        }
        .form193-summary {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 0.75rem;
        }
        .autocarga-resumen {
            border: 1px solid #dbe2ea;
            background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
            border-radius: 10px;
            padding: 0.9rem 1rem;
            margin-bottom: 1rem;
        }
        .autocarga-resumen-toggle {
            margin-bottom: 1rem;
        }
        .autocarga-resumen-toggle summary {
            list-style: none;
            display: inline-flex;
            align-items: center;
            cursor: pointer;
        }
        .autocarga-resumen-toggle summary::-webkit-details-marker {
            display: none;
        }
        .autocarga-resumen-trigger {
            border: none;
            background: transparent;
            padding: 0;
            outline: none;
        }
        .autocarga-info-icon {
            width: 2rem;
            height: 2rem;
            border-radius: 999px;
            border: 1px solid #cbd5e1;
            background: #ffffff;
            color: #2563eb;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.95rem;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
            transition: all 0.15s ease;
        }
        .autocarga-resumen-toggle[open] .autocarga-info-icon,
        .autocarga-resumen-toggle summary:hover .autocarga-info-icon {
            background: #e8f1ff;
            border-color: #93c5fd;
            color: #1d4ed8;
        }
        .autocarga-resumen-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 0.55rem;
        }
        .autocarga-resumen-head strong {
            color: #1f2d3d;
            font-size: 0.94rem;
        }
        .autocarga-resumen-head small {
            color: #64748b;
            font-size: 0.76rem;
            font-weight: 700;
        }
        .autocarga-summary-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.55rem;
            margin-top: 0.7rem;
        }
        .autocarga-kpi {
            border: 1px solid #d5deea;
            border-radius: 8px;
            padding: 0.55rem 0.65rem;
            background: #ffffff;
        }
        .autocarga-kpi-label {
            margin: 0;
            color: #64748b;
            font-size: 0.72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.03em;
        }
        .autocarga-kpi-value {
            margin: 0.15rem 0 0;
            color: #0f172a;
            font-size: 0.95rem;
            font-weight: 800;
        }
        .autocarga-resumen-section {
            margin-top: 0.8rem;
            padding-top: 0.8rem;
            border-top: 1px dashed #d5deea;
        }
        .autocarga-casillas-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.7rem;
            margin-bottom: 0.35rem;
        }
        .autocarga-casillas-title {
            margin: 0;
            color: #1e293b;
            font-size: 0.8rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        .autocarga-table-wrap {
            margin-top: 0.45rem;
            overflow-x: auto;
        }
        .autocarga-table {
            width: 100%;
            min-width: 760px;
            border-collapse: collapse;
            background: #ffffff;
            border: 1px solid #dbe2ea;
            border-radius: 8px;
            overflow: hidden;
        }
        .autocarga-table th {
            background: #eef2f7;
            color: #334155;
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.03em;
            font-weight: 800;
            padding: 0.45rem 0.5rem;
            border-bottom: 1px solid #dbe2ea;
            white-space: nowrap;
        }
        .autocarga-table td {
            color: #1e293b;
            font-size: 0.77rem;
            padding: 0.45rem 0.5rem;
            border-bottom: 1px dashed #e2e8f0;
            vertical-align: top;
        }
        .autocarga-table tr:last-child td {
            border-bottom: none;
        }
        .autocarga-chip {
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 0.15rem 0.5rem;
            font-size: 0.7rem;
            font-weight: 700;
            border: 1px solid #d4dde8;
            background: #f8fafc;
            color: #334155;
            white-space: nowrap;
        }
        .autocarga-chip--perceptores {
            background: #e0f2fe;
            color: #0369a1;
            border-color: #b7e2fc;
        }
        .autocarga-chip--gastos {
            background: #ecfccb;
            color: #3f6212;
            border-color: #d9f99d;
        }
        .autocarga-evidencia {
            color: #475569;
            font-size: 0.75rem;
            font-weight: 600;
        }
        .autocarga-link-button {
            margin-top: 0.45rem;
            padding: 0;
            border: none;
            background: transparent;
            color: #1d4ed8;
            font-size: 0.76rem;
            font-weight: 700;
            cursor: pointer;
        }
        .autocarga-link-button:hover {
            text-decoration: underline;
        }
        .autocarga-details {
            border: 1px solid #dbe2ea;
            border-radius: 8px;
            background: #ffffff;
            margin-top: 0.5rem;
            overflow: hidden;
        }
        .autocarga-details + .autocarga-details {
            margin-top: 0.45rem;
        }
        .autocarga-details summary {
            list-style: none;
            cursor: pointer;
            padding: 0.5rem 0.6rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.5rem;
            background: #f8fafc;
            border-bottom: 1px solid #e2e8f0;
        }
        .autocarga-details summary::-webkit-details-marker {
            display: none;
        }
        .autocarga-details-title {
            margin: 0;
            color: #1e293b;
            font-size: 0.77rem;
            font-weight: 700;
        }
        .autocarga-details-body {
            padding: 0.55rem 0.65rem;
            font-size: 0.78rem;
            color: #334155;
        }
        .autocarga-bullets {
            margin: 0.25rem 0 0;
            padding-left: 1rem;
        }
        .autocarga-bullets li + li {
            margin-top: 0.15rem;
        }
        .autocarga-pill-row {
            margin-top: 0.35rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
        }
        .autocarga-pill {
            display: inline-flex;
            align-items: center;
            border: 1px solid #cfd9e6;
            border-radius: 999px;
            background: #ffffff;
            color: #334155;
            font-size: 0.72rem;
            font-weight: 700;
            padding: 0.2rem 0.55rem;
        }
        .autocarga-mini-table {
            width: 100%;
            margin-top: 0.35rem;
            border-collapse: collapse;
        }
        .autocarga-mini-table td {
            border-bottom: 1px dashed #e2e8f0;
            padding: 0.28rem 0.2rem;
            font-size: 0.76rem;
        }
        .autocarga-mini-table tr:last-child td {
            border-bottom: none;
        }
        .autocarga-mini-table td:last-child {
            text-align: right;
            font-weight: 700;
            white-space: nowrap;
        }
        .autocarga-preview-list {
            margin-top: 0.45rem;
            display: grid;
            gap: 0.35rem;
        }
        .autocarga-preview-item {
            border: 1px solid #dbe2ea;
            border-radius: 8px;
            background: #ffffff;
            padding: 0.45rem 0.55rem;
        }
        .autocarga-preview-item strong {
            display: block;
            color: #0f172a;
            font-size: 0.76rem;
            font-weight: 700;
            line-height: 1.25;
        }
        .autocarga-preview-item span {
            display: block;
            color: #64748b;
            font-size: 0.72rem;
            font-weight: 600;
            margin-top: 0.12rem;
        }
        .summary-card {
            background: #fff;
            border: 1px solid #e1e5eb;
            border-radius: 8px;
            padding: 0.75rem;
        }
        .summary-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .summary-value {
            font-size: 1rem;
            font-weight: 700;
            color: #1f2d3d;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #fff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .perceptor-card,
        .gasto-card {
            border: 1px solid #d8dee6;
            border-radius: 8px;
            background: #fff;
            padding: 0.75rem;
            margin-bottom: 0.75rem;
        }
        .perceptor-head,
        .gasto-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.75rem;
        }
        .perceptor-title,
        .gasto-title {
            font-size: 0.8rem;
            font-weight: 700;
            color: #334155;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .perceptor-subtitle {
            margin: 0.8rem 0 0.5rem;
            font-size: 0.72rem;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form193-actions {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.5rem;
            margin-top: 0.75rem;
        }
        .form-check-inline {
            margin-right: 1rem;
        }
        @media (max-width: 991.98px) {
            .autocarga-summary-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }
        @media (max-width: 575.98px) {
            .autocarga-summary-grid {
                grid-template-columns: 1fr;
            }
        }

/* ── resources/views/livewire/fiscal/form-303.blade.php ─────────────────────────────────────────────── */
.form303-root {
        position: relative;
        min-height: 100%;
        isolation: isolate;
    }
    .form303-root--filtered::after {
        content: '';
        position: absolute;
        inset: 0;
        border: 3px solid rgba(245, 158, 11, 0.42);
        border-radius: 10px;
        pointer-events: none;
        z-index: 1;
    }
    .form303-loader {
        position: absolute;
        inset: 0;
        background:
            linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
            radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
        backdrop-filter: blur(16px) saturate(135%);
        z-index: 60;
        display: grid;
        place-items: center;
        padding: 1.5rem;
        min-height: 100%;
    }
    .modal-window .modal-body > .form303-root > .form303-loader {
        inset: -1rem;
        border-radius: 0 0 10px 10px;
        padding: 2rem;
        background:
            linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
            radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
        backdrop-filter: blur(18px) saturate(125%);
    }
    .form303-loader-card {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.85rem;
        padding: 1.35rem 1.5rem 1.2rem;
        border-radius: 22px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
        border: 1px solid rgba(226, 232, 240, 0.95);
        box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
        backdrop-filter: blur(14px) saturate(120%);
        max-width: 430px;
        width: 100%;
        position: relative;
        overflow: hidden;
    }
    .modal-window .modal-body > .form303-root > .form303-loader .form303-loader-card {
        max-width: min(430px, calc(100% - 1rem));
    }
    .form303-loader-graphic {
        width: 96px;
        height: 96px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 0.1rem;
    }
    .form303-loader-svg {
        width: 400px;
        height: auto;
        filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
        opacity: 0.92;
        transform: none;
        transform-origin: center;
    }
    .form303-loader-title {
        margin: 0;
        font-size: 0.98rem;
        font-weight: 800;
        color: #0f172a;
        letter-spacing: -0.01em;
    }
    .form303-loader-sub {
        margin: 0.2rem 0 0;
        font-size: 0.8rem;
        color: #475569;
        font-weight: 600;
        line-height: 1.45;
    }
    .form303-loader-dots {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        margin-top: 0.25rem;
    }
    .form303-loader-dots span {
        width: 0.48rem;
        height: 0.48rem;
        border-radius: 999px;
        background: linear-gradient(180deg, #94a3b8, #64748b);
        opacity: 0.35;
        animation: form303-loader-bounce 1.2s ease-in-out infinite;
    }
    .form303-loader-dots span:nth-child(2) {
        animation-delay: 0.18s;
    }
    .form303-loader-dots span:nth-child(3) {
        animation-delay: 0.36s;
    }
    @keyframes form303-loader-bounce {
        0% {
            transform: translateY(0) scale(0.88);
            opacity: 0.3;
        }
        30% {
            transform: translateY(-4px) scale(1);
            opacity: 0.9;
        }
        60%, 100% {
            transform: translateY(0) scale(0.88);
            opacity: 0.3;
        }
    }
    @media (prefers-reduced-motion: reduce) {
        .form303-loader-dots span {
            animation: none;
            opacity: 0.65;
        }
    }
    .form303-sticky-head {
        position: sticky;
        top: 0;
        z-index: 30;
        background: #ffffff;
        padding: 0.5rem 0 0.75rem;
        margin: -1rem -0.75rem 1rem;
        border-bottom: 1px solid #e9ecef;
    }
    .form303-sticky-head .nav-tabs {
        margin-bottom: 0.5rem;
        padding: 0 0.75rem;
    }
    .form303-sticky-head .form303-nav-controls {
        padding: 0 0.75rem;
    }
    .form303-filter-banner {
        margin: 0 0.75rem 0.75rem;
        padding: 0.7rem 0.9rem;
        border: 1px solid #f59e0b;
        background: #fff7ed;
        color: #9a3412;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        font-size: 0.84rem;
        line-height: 1.4;
    }
    .form303-filter-banner strong {
        color: #7c2d12;
        font-weight: 800;
    }
    .form303-filter-banner span {
        color: #c2410c;
        font-weight: 700;
        white-space: nowrap;
    }
    .devengado-wrap,
    .deducible-wrap {
        border: 1px solid #e1e5eb;
        border-radius: 10px;
        padding: 1rem;
        background: #f7f8fb;
    }
    .devengado-title,
    .deducible-title {
        display: flex;
        align-items: baseline;
        gap: 0.6rem;
        margin-bottom: 0.75rem;
    }
    .devengado-title span,
    .deducible-title span {
        font-size: 1.05rem;
        font-weight: 800;
        color: #1f2d3d;
    }
    .devengado-title small,
    .deducible-title small {
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 700;
        color: #7a8796;
    }
    .devengado-table,
    .deducible-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 6px;
    }
    .devengado-table thead th,
    .deducible-table thead th {
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #6c757d;
        font-weight: 700;
        padding: 0 0.5rem 0.4rem 0.5rem;
    }
    .devengado-row-label,
    .deducible-row-label {
        width: 46%;
        vertical-align: top;
        padding-right: 1rem;
    }
    .devengado-label,
    .deducible-label {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-weight: 600;
        color: #1f2d3d;
        font-size: 0.85rem;
    }
    .devengado-label::after,
    .deducible-label::after {
        content: '';
        flex: 1;
        border-bottom: 1px dotted #c1c7d0;
        transform: translateY(1px);
    }
    .devengado-cell,
    .deducible-cell {
        padding: 0 0.5rem;
    }
    .devengado-field,
    .deducible-field {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
    .devengado-casilla,
    .deducible-casilla,
    .rs-casilla {
        min-width: 30px;
        text-align: center;
        background: #e9ecef;
        border: 1px solid #d6d9de;
        border-radius: 4px;
        font-size: 0.7rem;
        color: #495057;
        padding: 0.2rem 0.25rem;
        font-weight: 600;
        flex-shrink: 0;
    }
    .devengado-disabled input,
    .deducible-disabled input {
        background: #eef1f4;
        color: #6c757d;
    }
    .devengado-total,
    .deducible-total {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        justify-content: flex-end;
        margin-top: 0.75rem;
        font-weight: 600;
    }
    .devengado-total label,
    .deducible-total label {
        margin: 0;
        font-size: 0.8rem;
        color: #495057;
    }
    .devengado-total .form-control,
    .deducible-total .form-control {
        max-width: 200px;
    }
    .rs-wrap {
        border: 1px solid #e1e5eb;
        border-radius: 10px;
        padding: 1rem;
        background: #f7f8fb;
    }
    .rs-title {
        display: flex;
        align-items: baseline;
        gap: 0.6rem;
        margin-bottom: 0.75rem;
    }
    .rs-title span {
        font-size: 1.05rem;
        font-weight: 800;
        color: #1f2d3d;
    }
    .rs-section {
        margin-top: 1rem;
    }
    .rs-section:first-of-type {
        margin-top: 0;
    }
    .rs-section-title {
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 700;
        color: #7a8796;
        margin-bottom: 0.5rem;
    }
    .rs-columns {
        display: flex;
        flex-wrap: wrap;
        gap: 1.5rem;
    }
    .rs-column {
        flex: 1 1 300px;
        min-width: 260px;
    }
    .rs-grid {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }
    .rs-row {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }
    .rs-label {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-weight: 600;
        color: #1f2d3d;
        font-size: 0.85rem;
    }
    .rs-label::after {
        content: '';
        flex: 1;
        border-bottom: 1px dotted #c1c7d0;
        transform: translateY(1px);
    }
    .rs-field {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        min-width: 180px;
        justify-content: flex-end;
    }
    .rs-field .form-control {
        max-width: 200px;
    }
    .rs-field .form-check-input {
        margin: 0;
    }
    .rs-subsection {
        margin-top: 1rem;
    }
    .rs-module-title {
        margin-top: 0.75rem;
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        font-weight: 700;
        color: #6c7786;
    }
    .rs-modules-block .rs-grid {
        margin-top: 0.5rem;
    }
    .info-note {
        margin: 0.75rem 0;
        font-size: 0.78rem;
        color: #5f6c7b;
        font-weight: 600;
    }
    .info-dual {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        justify-content: flex-end;
    }
    .info-dual-head {
        align-items: center;
    }
    .info-dual-row .rs-label::after {
        border-bottom: none;
    }
    .info-head-text {
        width: 160px;
        text-align: center;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 700;
        color: #7a8796;
        display: inline-block;
    }
    .info-casilla-placeholder {
        visibility: hidden;
    }
    .info-field {
        display: flex;
        align-items: center;
        gap: 0.4rem;
    }
    .info-field .form-control {
        max-width: 160px;
    }
    .info-field-compact .form-control {
        max-width: 100px;
    }
    .info-suffix {
        font-size: 0.75rem;
        color: #6c7786;
        font-weight: 600;
    }
    .result-note {
        margin-top: 0.75rem;
        padding: 0.6rem 0.75rem;
        border: 1px dashed #c9d2dc;
        border-radius: 6px;
        background: #ffffff;
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        align-items: center;
        justify-content: space-between;
        font-size: 0.75rem;
        color: #5f6c7b;
    }
    .result-note .rs-field {
        min-width: 220px;
    }
    .rs-field-wide .form-control {
        max-width: 320px;
    }
    .exon-activities {
        margin-top: 0.5rem;
        overflow-x: auto;
    }
    .exon-activity-head,
    .exon-activity-row {
        display: grid;
        grid-template-columns: 90px minmax(220px, 1fr) 90px 160px;
        gap: 0.6rem;
        align-items: center;
        min-width: 560px;
    }
    .exon-activity-head {
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 700;
        color: #7a8796;
        margin-bottom: 0.4rem;
    }
    .exon-activity-head-cell {
        display: flex;
        align-items: center;
        gap: 0.35rem;
    }
    .exon-activity-row .rs-label::after {
        border-bottom: none;
    }
    .exon-activity-field .form-control {
        max-width: none;
    }
    .exon-territories {
        display: flex;
        flex-wrap: wrap;
        gap: 1.25rem;
    }
    .exon-territory {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        font-weight: 600;
        color: #1f2d3d;
    }
    .exon-territory .form-control {
        max-width: 120px;
    }
    .prorrata-wrap {
        margin-top: 0.5rem;
    }
    .prorrata-row {
        display: grid;
        grid-template-columns: 44px minmax(240px, 1fr);
        gap: 0.8rem;
        align-items: stretch;
        background: #ffffff;
        border: 1px solid #e1e5eb;
        border-radius: 8px;
        padding: 0.75rem;
        margin-bottom: 0.75rem;
    }
    .prorrata-index {
        font-size: 1.6rem;
        font-weight: 700;
        color: #95a0ae;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f1f3f6;
        border-radius: 6px;
    }
    .prorrata-fields {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 0.75rem;
        align-items: end;
    }
    .prorrata-field label {
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        font-weight: 700;
        color: #7a8796;
        margin-bottom: 0.3rem;
    }
    .prorrata-input {
        display: flex;
        align-items: center;
        gap: 0.4rem;
    }
    .prorrata-input .form-control {
        max-width: 190px;
    }
    .deducciones-group-title {
        display: inline-block;
        background: #d8e4f5;
        color: #2b5f95;
        font-weight: 700;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        padding: 0.2rem 0.6rem;
        border-radius: 4px;
        margin: 0.6rem 0 0.4rem 0;
    }
    .diff-label-stack {
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
    }
    .diff-sub {
        font-size: 0.75rem;
        font-weight: 500;
        color: #6c757d;
    }
    .rs-activities {
        display: flex;
        flex-wrap: wrap;
        gap: 1.5rem;
    }
    .rs-activity {
        flex: 1 1 320px;
        min-width: 260px;
        background: #ffffff;
        border: 1px solid #e1e5eb;
        border-radius: 10px;
        padding: 0.75rem;
    }
    .rs-activity-title {
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 700;
        color: #7a8796;
        margin-bottom: 0.5rem;
    }
    .rs-modules {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 6px;
        margin: 0.25rem 0 0.75rem;
    }
    .rs-modules thead th {
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #6c757d;
        font-weight: 700;
        padding: 0 0.5rem 0.4rem 0.5rem;
    }
    .rs-modules td {
        padding: 0 0.5rem;
    }
    .rs-modules th:nth-child(2),
    .rs-modules td:nth-child(2),
    .rs-modules th:nth-child(3),
    .rs-modules td:nth-child(3) {
        width: 140px;
        max-width: 140px;
    }
    .rs-modules td:nth-child(2) {
        padding-right: 0.2rem;
    }
    .rs-modules td:nth-child(3) {
        padding-left: 0.2rem;
    }
    .rs-modules-label {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        font-weight: 600;
        color: #1f2d3d;
        font-size: 0.8rem;
    }
    .rs-modules-label::after {
        content: '';
        flex: 1;
        border-bottom: 1px dotted #c1c7d0;
        transform: translateY(1px);
        min-width: 24px;
    }
    .rs-modules-label .diff-sub {
        white-space: nowrap;
    }
    .rs-modules .form-control {
        max-width: 130px;
    }
    .status-selector {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        align-items: center;
    }
    .status-option {
        position: relative;
        display: inline-flex;
    }
    .status-option input {
        position: absolute;
        opacity: 0 !important;
        pointer-events: none;
    }
    .status-option label {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        border: 1px solid #d5d8de;
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #475569;
        background: #ffffff;
        cursor: pointer;
        transition: all 0.15s ease;
    }
    .status-option label::before {
        content: '';
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: currentColor;
        opacity: 0.4;
    }
    .status-option input:checked + label {
        color: #0f172a;
        border-color: transparent;
        box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
    }
    .status-option input:checked + label::before {
        opacity: 1;
    }
    .status-option--pendiente input:checked + label {
        background: #fff4d6;
        color: #b45309;
    }
    .status-option--elaborado input:checked + label {
        background: #e0f2fe;
        color: #0369a1;
    }
    .status-option--confirmar input:checked + label {
        background: #fee2e2;
        color: #b91c1c;
    }
    .status-option--presentado input:checked + label {
        background: #dcfce7;
        color: #15803d;
    }
    .form-status-frame {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        padding: 0.35rem 0.7rem;
        border: 1px solid #e1e5eb;
        border-radius: 10px;
        background: #ffffff;
    }
    .form-status-label {
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #6c757d;
    }
    .tipo-toggle-group {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    .tipo-toggle {
        position: relative;
    }
    .tipo-toggle input {
        position: absolute;
        opacity: 0 !important;
        pointer-events: none;
    }
    .tipo-toggle label {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.35rem 0.8rem;
        border-radius: 999px;
        border: 1px solid #d6d9de;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #475569;
        background: #ffffff;
        cursor: pointer;
        transition: all 0.15s ease;
    }
    .tipo-toggle label::before {
        content: '';
        width: 10px;
        height: 10px;
        border-radius: 3px;
        border: 2px solid currentColor;
        display: inline-block;
        opacity: 0.5;
    }
    .tipo-toggle input:checked + label {
        background: #e8f1ff;
        color: #1d4ed8;
        border-color: transparent;
        box-shadow: 0 6px 16px rgba(29, 78, 216, 0.15);
    }
    .tipo-toggle input:checked + label::before {
        background: currentColor;
        opacity: 1;
    }
    .autocarga-resumen {
        border: 1px solid #dbe2ea;
        background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
        border-radius: 10px;
        padding: 0.9rem 1rem;
        margin-bottom: 1rem;
        margin-top: 1rem;
    }
    .autocarga-resumen-toggle {
        margin-bottom: 1rem;
    }
    .autocarga-resumen-toggle summary {
        list-style: none;
        display: inline-flex;
        align-items: center;
        cursor: pointer;
    }
    .autocarga-resumen-toggle summary::-webkit-details-marker {
        display: none;
    }
    .autocarga-resumen-trigger {
        border: none;
        background: transparent;
        padding: 0;
        outline: none;
    }
    .autocarga-info-icon {
        width: 2rem;
        height: 2rem;
        border-radius: 999px;
        border: 1px solid #cbd5e1;
        background: #ffffff;
        color: #2563eb;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0.95rem;
        box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
        transition: all 0.15s ease;
    }
    .autocarga-resumen-toggle[open] .autocarga-info-icon,
    .autocarga-resumen-toggle summary:hover .autocarga-info-icon {
        background: #e8f1ff;
        border-color: #93c5fd;
        color: #1d4ed8;
    }
    .autocarga-resumen-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.75rem;
        margin-bottom: 0.55rem;
    }
    .autocarga-resumen-head strong {
        color: #1f2d3d;
        font-size: 0.94rem;
    }
    .autocarga-resumen-head small {
        color: #64748b;
        font-size: 0.76rem;
        font-weight: 700;
    }
    .autocarga-resumen-desc {
        margin: 0;
        color: #475569;
        font-size: 0.81rem;
        font-weight: 600;
    }
    .autocarga-summary-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.55rem;
        margin-top: 0.7rem;
    }
    .autocarga-kpi {
        border: 1px solid #d5deea;
        border-radius: 8px;
        padding: 0.55rem 0.65rem;
        background: #ffffff;
    }
    .autocarga-kpi-label {
        margin: 0;
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }
    .autocarga-kpi-value {
        margin: 0.15rem 0 0;
        color: #0f172a;
        font-size: 0.95rem;
        font-weight: 800;
    }
    .autocarga-resumen-section {
        margin-top: 0.8rem;
        padding-top: 0.8rem;
        border-top: 1px dashed #d5deea;
    }
    .autocarga-resumen-title {
        font-size: 0.78rem;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        color: #475569;
        font-weight: 800;
        margin-bottom: 0.3rem;
    }
    .autocarga-pill-row {
        margin-top: 0.35rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
    }
    .autocarga-pill {
        display: inline-flex;
        align-items: center;
        border: 1px solid #cfd9e6;
        border-radius: 999px;
        background: #ffffff;
        color: #334155;
        font-size: 0.72rem;
        font-weight: 700;
        padding: 0.2rem 0.55rem;
    }
    .autocarga-table-wrap {
        margin-top: 0.45rem;
        overflow-x: auto;
    }
    .autocarga-table {
        width: 100%;
        min-width: 820px;
        border-collapse: collapse;
        background: #ffffff;
        border: 1px solid #dbe2ea;
        border-radius: 8px;
        overflow: hidden;
    }
    .autocarga-table th {
        background: #eef2f7;
        color: #334155;
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        font-weight: 800;
        padding: 0.45rem 0.5rem;
        border-bottom: 1px solid #dbe2ea;
        white-space: nowrap;
    }
    .autocarga-table td {
        color: #1e293b;
        font-size: 0.77rem;
        padding: 0.45rem 0.5rem;
        border-bottom: 1px dashed #e2e8f0;
        vertical-align: top;
    }
    .autocarga-table tr:last-child td {
        border-bottom: none;
    }
    .autocarga-table td small {
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 600;
    }
    .autocarga-block + .autocarga-block {
        margin-top: 0.75rem;
    }
    .autocarga-block-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.7rem;
    }
    .autocarga-block-title {
        margin: 0;
        color: #1e293b;
        font-size: 0.79rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }
    .autocarga-block-subtitle {
        margin: 0.2rem 0 0;
        color: #475569;
        font-size: 0.78rem;
        font-weight: 600;
    }
    .autocarga-details {
        border: 1px solid #dbe2ea;
        border-radius: 8px;
        background: #ffffff;
        margin-top: 0.5rem;
        overflow: hidden;
    }
    .autocarga-details + .autocarga-details {
        margin-top: 0.45rem;
    }
    .autocarga-details summary {
        list-style: none;
        cursor: pointer;
        padding: 0.5rem 0.6rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.5rem;
        background: #f8fafc;
        border-bottom: 1px solid #e2e8f0;
    }
    .autocarga-details summary::-webkit-details-marker {
        display: none;
    }
    .autocarga-details-title {
        margin: 0;
        color: #1e293b;
        font-size: 0.77rem;
        font-weight: 700;
    }
    .autocarga-details-body {
        padding: 0.55rem 0.65rem;
        font-size: 0.78rem;
        color: #334155;
    }
    .autocarga-bullets {
        margin: 0.25rem 0 0;
        padding-left: 1rem;
    }
    .autocarga-bullets li + li {
        margin-top: 0.15rem;
    }
    .autocarga-mini-table {
        width: 100%;
        margin-top: 0.35rem;
        border-collapse: collapse;
    }
    .autocarga-mini-table td {
        border-bottom: 1px dashed #e2e8f0;
        padding: 0.28rem 0.2rem;
        font-size: 0.76rem;
    }
    .autocarga-mini-table tr:last-child td {
        border-bottom: none;
    }
    .autocarga-mini-table td:last-child {
        text-align: right;
        font-weight: 700;
        white-space: nowrap;
    }
    .autocarga-hint {
        margin-top: 0.45rem;
        color: #64748b;
        font-size: 0.74rem;
        font-weight: 600;
    }
    .autocarga-casillas {
        margin-top: 0.7rem;
    }
    .autocarga-casillas-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.7rem;
        margin-bottom: 0.35rem;
    }
    .autocarga-casillas-title {
        margin: 0;
        color: #1e293b;
        font-size: 0.8rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }
    .autocarga-evidencia {
        color: #475569;
        font-size: 0.75rem;
        font-weight: 600;
    }
    .autocarga-preview-list {
        margin-top: 0.45rem;
        display: grid;
        gap: 0.35rem;
    }
    .autocarga-preview-item {
        border: 1px solid #dbe2ea;
        border-radius: 8px;
        background: #ffffff;
        padding: 0.45rem 0.55rem;
    }
    .autocarga-preview-item strong {
        display: block;
        color: #0f172a;
        font-size: 0.76rem;
        font-weight: 700;
        line-height: 1.25;
    }
    .autocarga-preview-item span {
        display: block;
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 600;
        margin-top: 0.12rem;
    }
    .autocarga-link-button {
        margin-top: 0.45rem;
        padding: 0;
        border: none;
        background: transparent;
        color: #1d4ed8;
        font-size: 0.76rem;
        font-weight: 700;
        cursor: pointer;
    }
    .autocarga-link-button:hover {
        text-decoration: underline;
    }
    .autocarga-docs-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
        margin-top: 0.55rem;
    }
    .autocarga-doc-card {
        border: 1px solid #dbe2ea;
        border-radius: 8px;
        background: #ffffff;
        padding: 0.55rem 0.65rem;
    }
    .autocarga-doc-card h6 {
        margin: 0;
        color: #1e293b;
        font-size: 0.76rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        font-weight: 800;
    }
    .autocarga-doc-line {
        margin-top: 0.25rem;
        color: #475569;
        font-size: 0.76rem;
        font-weight: 600;
    }
    .autocarga-chip {
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 0.15rem 0.5rem;
        font-size: 0.7rem;
        font-weight: 700;
        border: 1px solid #d4dde8;
        background: #f8fafc;
        color: #334155;
        white-space: nowrap;
    }
    .autocarga-chip--emitidas {
        background: #e0f2fe;
        color: #0369a1;
        border-color: #b7e2fc;
    }
    .autocarga-chip--recibidas {
        background: #dcfce7;
        color: #166534;
        border-color: #bbf7d0;
    }
    @media (max-width: 1200px) {
        .autocarga-summary-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }
    @media (max-width: 900px) {
        .autocarga-docs-grid {
            grid-template-columns: 1fr;
        }
    }
    @media (max-width: 700px) {
        .autocarga-summary-grid {
            grid-template-columns: 1fr;
        }
    }

/* ── resources/views/livewire/fiscal/form-347.blade.php ─────────────────────────────────────────────── */
.form347-root {
            position: relative;
            min-height: 100%;
            height: 100%;
            isolation: isolate;
        }
        .form347-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form347-root > .form347-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form347-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form347-root > .form347-loader .form347-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form347-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form347-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form347-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form347-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form347-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form347-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form347-loader-bounce 1.2s ease-in-out infinite;
        }
        .form347-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form347-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form347-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.95;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        .form347-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .form347-meta-wide {
            grid-column: 1 / -1;
        }
        .form347-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form347-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form347-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
        }
        .form347-summary {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
            gap: 0.75rem;
        }
        .summary-card {
            background: #ffffff;
            border: 1px solid #e1e5eb;
            border-radius: 8px;
            padding: 0.75rem;
        }
        .summary-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .summary-value {
            font-size: 1rem;
            font-weight: 700;
            color: #1f2d3d;
        }
        .clave-breakdown {
            margin-top: 0.75rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
        }
        .clave-chip {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            background: #fff;
            border: 1px solid #e1e5eb;
            border-radius: 7px;
            padding: 0.3rem 0.65rem;
            font-size: 0.78rem;
            white-space: nowrap;
        }
        .clave-chip-badge {
            background: #ea580c;
            color: #fff;
            border-radius: 4px;
            padding: 0.08rem 0.38rem;
            font-weight: 700;
            font-size: 0.7rem;
            letter-spacing: 0.02em;
        }
        .clave-chip-count {
            color: #6c757d;
        }
        .clave-chip-sep {
            color: #ced4da;
        }
        .clave-chip-amount {
            font-weight: 700;
            color: #1f2d3d;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label { background: #fff4d6; color: #b45309; }
        .status-option--elaborado input:checked + label { background: #e0f2fe; color: #0369a1; }
        .status-option--confirmar input:checked + label { background: #fee2e2; color: #b91c1c; }
        .status-option--presentado input:checked + label { background: #dcfce7; color: #15803d; }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .form-actions-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin: 0 0 1rem;
        }
        .row-card {
            border: 1px solid #d8dee6;
            border-radius: 8px;
            background: #fff;
            padding: 0.75rem;
            margin-bottom: 0.75rem;
        }
        .row-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.75rem;
        }
        .row-title {
            font-size: 0.8rem;
            font-weight: 700;
            color: #334155;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .row-subtitle {
            margin: 0.8rem 0 0.5rem;
            font-size: 0.72rem;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form347-actions {
            display: flex;
            gap: 0.5rem;
            justify-content: space-between;
            align-items: center;
            margin-top: 0.5rem;
        }
        .form-check-inline {
            margin-right: 1rem;
        }

/* ── resources/views/livewire/fiscal/form-349.blade.php ─────────────────────────────────────────────── */
.form349-root {
            position: relative;
            min-height: 100%;
            isolation: isolate;
        }
        .form349-root--filtered::after {
            content: '';
            position: absolute;
            inset: 0;
            border: 3px solid rgba(245, 158, 11, 0.42);
            border-radius: 10px;
            pointer-events: none;
            z-index: 1;
        }
        .form349-filter-banner {
            margin: 0 0 1rem;
            padding: 0.7rem 0.9rem;
            border: 1px solid #f59e0b;
            background: #fff7ed;
            color: #9a3412;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            font-size: 0.84rem;
            line-height: 1.4;
        }
        .form349-filter-banner strong {
            color: #7c2d12;
            font-weight: 800;
        }
        .form349-filter-banner span {
            color: #c2410c;
            font-weight: 700;
            white-space: nowrap;
        }
        .form349-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form349-root > .form349-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form349-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form349-root > .form349-loader .form349-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form349-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form349-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form349-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form349-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form349-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form349-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form349-loader-bounce 1.2s ease-in-out infinite;
        }
        .form349-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form349-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form349-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.95;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        .form349-meta {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .form349-meta-wide {
            grid-column: 1 / -1;
        }
        .form349-meta .form-control {
            background: #f7f8fb;
        }
        .form349-section {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .form349-section-title {
            font-weight: 800;
            font-size: 0.95rem;
            color: #1f2d3d;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .form349-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
            gap: 0.75rem;
        }
        .form349-row {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .form349-label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 600;
            color: #1f2d3d;
            font-size: 0.85rem;
        }
        .form349-label::after {
            content: '';
            flex: 1;
            border-bottom: 1px dotted #c1c7d0;
            transform: translateY(1px);
        }
        .form349-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0 6px;
        }
        .form349-table th {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
            font-weight: 700;
            padding: 0 0.5rem 0.4rem;
        }
        .form349-cell {
            padding: 0 0.5rem;
            vertical-align: middle;
        }
        .form349-input {
            width: 100%;
            border: 1px solid #b9d48c;
            border-radius: 6px;
            padding: 0.35rem 0.5rem;
            font-size: 0.85rem;
            background: #ffffff;
        }
        .form349-actions {
            display: flex;
            gap: 0.5rem;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form-actions-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin: 0 0 1rem;
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .form349-summary {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 0.75rem;
        }
        .summary-card {
            background: #ffffff;
            border: 1px solid #e1e5eb;
            border-radius: 8px;
            padding: 0.75rem;
        }
        .summary-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }
        .summary-value {
            font-size: 1rem;
            font-weight: 700;
            color: #1f2d3d;
        }
        @media (max-width: 768px) {
            .form349-row {
                flex-direction: column;
                align-items: flex-start;
            }
        }

/* ── resources/views/livewire/fiscal/form-390.blade.php ─────────────────────────────────────────────── */
.form390-root {
            position: relative;
            min-height: 100%;
            isolation: isolate;
        }
        .form390-root--filtered::after {
            content: '';
            position: absolute;
            inset: 0;
            border: 3px solid rgba(245, 158, 11, 0.42);
            border-radius: 10px;
            pointer-events: none;
            z-index: 1;
        }
        .form390-filter-banner {
            margin: 0 0 1rem;
            padding: 0.7rem 0.9rem;
            border: 1px solid #f59e0b;
            background: #fff7ed;
            color: #9a3412;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            font-size: 0.84rem;
            line-height: 1.4;
        }
        .form390-filter-banner strong {
            color: #7c2d12;
            font-weight: 800;
        }
        .form390-filter-banner span {
            color: #c2410c;
            font-weight: 700;
            white-space: nowrap;
        }
        .form390-loader {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(241, 245, 249, 0.84)),
                radial-gradient(circle at top, rgba(148, 163, 184, 0.14), transparent 52%);
            backdrop-filter: blur(16px) saturate(135%);
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 1.5rem;
            min-height: 100%;
        }
        .modal-window .modal-body > .form390-root > .form390-loader {
            inset: -1rem;
            border-radius: 0 0 10px 10px;
            padding: 2rem;
            background:
                linear-gradient(180deg, rgba(248, 250, 252, 0.68), rgba(241, 245, 249, 0.86)),
                radial-gradient(circle at 50% -10%, rgba(148, 163, 184, 0.18), transparent 46%);
            backdrop-filter: blur(18px) saturate(125%);
        }
        .form390-loader-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.85rem;
            padding: 1.35rem 1.5rem 1.2rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9));
            border: 1px solid rgba(226, 232, 240, 0.95);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(14px) saturate(120%);
            max-width: 430px;
            width: 100%;
            position: relative;
            overflow: hidden;
        }
        .modal-window .modal-body > .form390-root > .form390-loader .form390-loader-card {
            max-width: min(430px, calc(100% - 1rem));
        }
        .form390-loader-graphic {
            width: 96px;
            height: 96px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.1rem;
        }
        .form390-loader-svg {
            width: 400px;
            height: auto;
            filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
            opacity: 0.92;
        }
        .form390-loader-title {
            margin: 0;
            font-size: 0.98rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
        }
        .form390-loader-sub {
            margin: 0.2rem 0 0;
            font-size: 0.8rem;
            color: #475569;
            font-weight: 600;
            line-height: 1.45;
        }
        .form390-loader-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.25rem;
        }
        .form390-loader-dots span {
            width: 0.48rem;
            height: 0.48rem;
            border-radius: 999px;
            background: linear-gradient(180deg, #94a3b8, #64748b);
            opacity: 0.35;
            animation: form390-loader-bounce 1.2s ease-in-out infinite;
        }
        .form390-loader-dots span:nth-child(2) {
            animation-delay: 0.18s;
        }
        .form390-loader-dots span:nth-child(3) {
            animation-delay: 0.36s;
        }
        @keyframes form390-loader-bounce {
            0% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
            30% {
                transform: translateY(-4px) scale(1);
                opacity: 0.9;
            }
            60%, 100% {
                transform: translateY(0) scale(0.88);
                opacity: 0.3;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .form390-loader-dots span {
                animation: none;
                opacity: 0.65;
            }
        }
        .form303-sticky-head {
            position: sticky;
            top: 0;
            z-index: 30;
            background: #ffffff;
            padding: 0.5rem 0 0.75rem;
            margin: -1rem -0.75rem 1rem;
            border-bottom: 1px solid #e9ecef;
        }
        .form303-sticky-head .nav-tabs {
            margin-bottom: 0.5rem;
            padding: 0 0.75rem;
        }
        .form303-sticky-head .form303-nav-controls {
            padding: 0 0.75rem;
        }
        .rs-wrap {
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 1rem;
            background: #f7f8fb;
            margin-bottom: 1rem;
        }
        .rs-title {
            display: flex;
            align-items: baseline;
            gap: 0.6rem;
            margin-bottom: 0.75rem;
        }
        .rs-title span {
            font-size: 1.05rem;
            font-weight: 800;
            color: #1f2d3d;
        }
        .rs-grid {
            display: flex;
            flex-direction: column;
            gap: 0.6rem;
        }
        .rs-row {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }
        .rs-label {
            flex: 1;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 600;
            color: #1f2d3d;
            font-size: 0.85rem;
        }
        .rs-label::after {
            content: '';
            flex: 1;
            border-bottom: 1px dotted #c1c7d0;
            transform: translateY(1px);
        }
        .rs-field {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            min-width: 220px;
            justify-content: flex-end;
        }
        .rs-field-wide {
            min-width: 320px;
        }
        .status-selector {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            align-items: center;
        }
        .status-option {
            position: relative;
            display: inline-flex;
        }
        .status-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .status-option label {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #d5d8de;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #475569;
            background: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .status-option label::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
            opacity: 0.4;
        }
        .status-option input:checked + label {
            color: #0f172a;
            border-color: transparent;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
        }
        .status-option input:checked + label::before {
            opacity: 1;
        }
        .status-option--pendiente input:checked + label {
            background: #fff4d6;
            color: #b45309;
        }
        .status-option--elaborado input:checked + label {
            background: #e0f2fe;
            color: #0369a1;
        }
        .status-option--confirmar input:checked + label {
            background: #fee2e2;
            color: #b91c1c;
        }
        .status-option--presentado input:checked + label {
            background: #dcfce7;
            color: #15803d;
        }
        .form390-groups {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 1rem;
        }
        .form390-group-card {
            background: #ffffff;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            padding: 0.9rem;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
        }
        .form390-group-card .rs-grid {
            gap: 0.7rem;
        }
        .form390-review-note {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            margin: -0.1rem 0 0.9rem;
        }
        .form390-review-pill {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            font-weight: 700;
            padding: 0.25rem 0.55rem;
            border-radius: 999px;
            background: #ffffff;
            border: 1px solid #dce3ea;
            color: #667085;
        }
        .form390-review-pill::before {
            content: '';
            width: 0.42rem;
            height: 0.42rem;
            border-radius: 999px;
            background: currentColor;
            opacity: 0.75;
        }
        .form390-review-pill--summary {
            color: #8a5a00;
            background: #fff7df;
        }
        .form390-review-pill--result {
            color: #0369a1;
            background: #eaf6ff;
        }
        .form390-review-pill--filled {
            color: #14532d;
            background: #e1f7e8;
            border-color: #b7debf;
        }
        .form390-group-title {
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 700;
            color: #7a8796;
            margin-bottom: 0.65rem;
        }
        .form390-subgroup {
            padding-top: 0.75rem;
            margin-top: 0.75rem;
            border-top: 1px solid #edf1f5;
        }
        .form390-subgroup:first-child {
            margin-top: 0;
            padding-top: 0;
            border-top: 0;
        }
        .form390-subgroup-title {
            font-size: 0.69rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 700;
            color: #98a2b3;
            margin-bottom: 0.55rem;
        }
        .form390-copy {
            display: flex;
            flex-direction: column;
            gap: 0.15rem;
            min-width: 0;
        }
        .form390-copy small {
            font-size: 0.73rem;
            font-weight: 500;
            color: #6c7786;
            line-height: 1.3;
        }
        .form390-copy strong {
            font-size: 0.85rem;
            font-weight: 600;
            color: #1f2d3d;
        }
        .form390-code {
            min-width: 34px;
            text-align: center;
            background: #e9ecef;
            border: 1px solid #d6d9de;
            border-radius: 4px;
            font-size: 0.7rem;
            color: #495057;
            padding: 0.2rem 0.35rem;
            font-weight: 700;
            flex-shrink: 0;
        }
        .form390-input {
            width: 100%;
            max-width: 220px;
            border: 1px solid #b9d48c;
            border-radius: 6px;
            padding: 0.35rem 0.5rem;
            font-size: 0.85rem;
            background: #ffffff;
        }
        .form390-row .rs-label {
            align-items: flex-start;
        }
        .form390-row .rs-label::after {
            margin-top: 0.65rem;
        }
        .form390-row .rs-field {
            align-items: flex-start;
        }
        .form390-group-card .form-check-input {
            margin-top: 0.45rem;
        }
        .form390-row {
            position: relative;
            border: 1px solid transparent;
            border-radius: 8px;
            padding: 0.55rem 0.6rem;
            background: #ffffff;
            transition: background-color 0.15s ease, border-color 0.15s ease;
        }
        .form390-row--empty {
            background: #ffffff;
            border-color: #edf1f5;
        }
        .form390-row--zero {
            background: #f8fafc;
            border-color: #e6ebf1;
        }
        .form390-row--filled {
            background: #eef9f1;
            border-color: #b8dcbf;
            box-shadow: inset 0 0 0 1px rgba(22, 101, 52, 0.05);
        }
        .form390-row--summary {
            background: #fff9e9;
            border-color: #f3df9f;
        }
        .form390-row--result {
            background: #eef8ff;
            border-color: #b6daf2;
        }
        .form390-state {
            flex-shrink: 0;
            min-width: 58px;
            text-align: center;
            border-radius: 999px;
            padding: 0.2rem 0.45rem;
            font-size: 0.64rem;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            font-weight: 800;
            border: 1px solid transparent;
        }
        .form390-state--empty {
            color: #6b7280;
            background: #f3f4f6;
            border-color: #e5e7eb;
        }
        .form390-state--zero {
            color: #475467;
            background: #eef2f6;
            border-color: #dce3ea;
        }
        .form390-state--filled {
            color: #14532d;
            background: #dbf3e2;
            border-color: #8fcaa0;
            box-shadow: 0 0 0 1px rgba(20, 83, 45, 0.06);
        }
        @media (max-width: 768px) {
            .rs-row {
                flex-direction: column;
                align-items: stretch;
            }
            .rs-field,
            .rs-field-wide {
                min-width: 0;
                justify-content: flex-start;
            }
            .form390-input {
                max-width: none;
            }
            .form390-state {
                min-width: 0;
                align-self: flex-start;
            }
            .form390-groups {
                grid-template-columns: 1fr;
            }
        }
        .form-status-frame {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.35rem 0.7rem;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: #ffffff;
        }
        .form-status-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #6c757d;
        }

/* ── resources/views/livewire/fiscal/partials/load-time-modal.blade.php ─────────────────────────────────────────────── */
.loadtime-overlay {
            position: fixed;
            inset: 0;
            background: rgba(15, 23, 42, 0.45);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 2200;
        }
        .loadtime-dialog {
            width: min(420px, calc(100vw - 32px));
            background: #ffffff;
            border-radius: 16px;
            padding: 1.25rem 1.5rem;
            box-shadow: 0 24px 70px rgba(15, 23, 42, 0.3);
            text-align: center;
        }
        .loadtime-title {
            font-size: 1.05rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            color: #111827;
        }
        .loadtime-value {
            font-size: 1.6rem;
            font-weight: 800;
            color: #2563eb;
            margin: 0.25rem 0 0.75rem;
        }

/* ── resources/views/system/admin/companies/index.blade.php ─────────────────────────────────────────────── */
/* Estilos para el modal de confirmación y actualización */
    #confirm-modal .modal-dialog{
       max-width: 400px;
   }
   #update-modal .modal-dialog {
       max-width: 500px;
   }

   #confirm-modal .modal-content,
   #update-modal .modal-content {
       border-radius: 0;
   }

   #confirm-modal .modal-header,
   #update-modal .modal-header {
       background-color: #f8f9fa;
       border-bottom: none;
       padding: 10px 20px;
   }

   #confirm-modal .modal-title,
   #update-modal .modal-title {
       color: #333;
       font-weight: 600;
       font-size: 15px;
       margin: 0;
   }

   #confirm-modal .modal-body,
   #update-modal .modal-body {
       padding: 20px;
       text-align: center;
   }

   #confirm-modal .modal-body .row,
   #update-modal .modal-body .row {
       align-items: center;
       margin-bottom: 20px;
   }

   #confirm-modal .modal-body .col-4,
   #update-modal .modal-body .col-4 {
       text-align: center;
   }

   #confirm-modal .modal-body .col-4 i,
   #update-modal .modal-body .col-4 i {
       font-size: 4rem;
   }

   #confirm-modal .modal-body .col-8 p,
   #update-modal .modal-body .col-8 p {
       margin-bottom: 0;
   }

   #confirm-modal .modal-footer,
   #update-modal .modal-footer {
       border-top: none;
       padding: 10px 20px;
   }

   #confirm-modal .btn,
   #update-modal .btn {
       border-radius: 0;
   }

   #confirm-modal #btn-no,
   #update-modal .btn-secondary {
       background-color: #6c757d;
       color: #fff;
   }

   #confirm-modal #btn-si,
   #update-modal #update-confirm-btn {
       background-color: #007bff;
       color: #fff;
   }

/* ── resources/views/system/comand/calculate-balances.blade.php ─────────────────────────────────────────────── */
#panel-calc-balances select.select2-hidden-accessible {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    #panel-calc-balances .select2-container {
        width: 100% !important;
    }

    #panel-calc-balances .select2-container--default .select2-selection--multiple,
    #panel-calc-balances .select2-container--default .select2-selection--single {
        min-height: calc(1.5em + .75rem + 2px);
        padding: .375rem .5rem;
        border: 1px solid #ced4da;
        border-radius: .25rem;
        background-color: #fff;
    }

/* ── resources/views/system/comand/calculate-models.blade.php ─────────────────────────────────────────────── */
/* Ensure Select2 hides the original select even if global CSS overrides it */
    #panel-calc-modelos select.select2-hidden-accessible {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    /* Bootstrap-ish look for Select2 multi */
    #panel-calc-modelos .select2-container {
        width: 100% !important;
    }

    #panel-calc-modelos .select2-container--default .select2-selection--multiple,
    #panel-calc-modelos .select2-container--default .select2-selection--single {
        min-height: calc(1.5em + .75rem + 2px);
        padding: .375rem .5rem;
        border: 1px solid #ced4da;
        border-radius: .25rem;
        background-color: #fff;
    }

    #panel-calc-modelos .select2-container--default.select2-container--focus .select2-selection--multiple,
    #panel-calc-modelos .select2-container--default.select2-container--open .select2-selection--single,
    #panel-calc-modelos .select2-container--default.select2-container--open .select2-selection--multiple {
        border-color: #80bdff;
        box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
    }

    #panel-calc-modelos .select2-container--default .select2-selection--multiple .select2-selection__rendered {
        display: flex;
        flex-wrap: wrap;
        gap: .25rem;
        padding: 0;
        margin: 0;
    }

    #panel-calc-modelos .select2-container--default .select2-selection--multiple .select2-selection__choice {
        margin: 0;
        padding: .15rem .35rem;
        border: 1px solid #ced4da;
        border-radius: .2rem;
        background: #e9ecef;
        color: #212529;
        font-size: .875rem;
    }

/* ── resources/views/system/general/persons/index.blade.php ─────────────────────────────────────────────── */
.badge-pill {
    transition: background-color 0.3s ease;
}
.badge-hover-primary:hover {
    background-color: #004085;
}
.badge-hover-dark:hover {
    background-color: #23272b;
}
.badge-hover-success:hover {
    background-color: #1e7e34;
}
.badge-link {
    color: white;
    text-decoration: none;
}
.badge-link:hover {
    color: white;
}

/* ── resources/views/system/queries/notices/edit.blade.php ─────────────────────────────────────────────── */
.ck-editor__editable_inline {
            min-height: 200px;
        }
        .ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
            top: 4.125rem !important;
        }

/* ── resources/views/system/templateConfig/template_contracts/create.blade.php ─────────────────────────────────────────────── */
.template-contract-editor-wrap {
            min-height: 200px;
            border: 1px solid #ddd;
            border-radius: 4px;
            padding: 10px;
            background-color: #f8f9fa;
        }

/* ── resources/views/system/templateConfig/template_contracts/edit.blade.php ─────────────────────────────────────────────── */
.template-contract-editor-wrap .ck-editor__editable {
        min-height: 520px;
        max-height: 75vh;
        overflow-y: auto;
    }

/* ── resources/views/system/templateConfig/templates_blocks/index.blade.php ─────────────────────────────────────────────── */
.ck-editor__editable {
        min-height: 300px;
        max-height: 500px;
        overflow-y: auto;
    }
    .block-preview {
        min-height: 100px;
        padding: 15px;
        margin-bottom: 15px;
        background: #f8f9fa;
        border-radius: 4px;
    }
    .block-item {
        transition: all 0.3s ease;
        cursor: move;
    }
    .selectable-block {
        cursor: pointer;
        transition: all 0.3s ease;
        user-select: none;
        background-color: #ffffff;
        border: 1px solid #dee2e6;
    }
    .selectable-block:hover {
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        transform: translateY(-2px);
        border-color: #0066cc;
        background-color: #f8f9fa;
    }
    .block-item.card.selectable-block.selected,
    .selectable-block.selected {
        background-color: #d4edda !important;
    }
    .block-item.card.selectable-block.selected > .card-body,
    .selectable-block.selected > .card-body {
        background-color: #d4edda !important;
        border-radius: 4px;
    }
    .block-item.card.selectable-block.selected:hover,
    .selectable-block.selected:hover {
        background-color: #c3e6cb !important;
    }
    .selectable-block.selected .card-title {
        color: #155724 !important;
        font-weight: 700;
    }
    .selectable-block.selected .preview-snippet {
        color: #155724 !important;
        font-weight: 500;
    }
    .selectable-block.selected .text-muted {
        color: #155724 !important;
    }
    .selectable-block.selected .badge {
        opacity: 0.8;
    }
    .block-selected-icon {
        font-size: 1.5rem;
        animation: fadeInScale 0.3s ease-in;
        color: #28a745 !important;
        text-shadow: 0 2px 4px rgba(0,0,0,0.2);
        filter: drop-shadow(0 2px 4px rgba(40, 167, 69, 0.3));
    }
    @keyframes fadeInScale {
        from {
            opacity: 0;
            transform: scale(0.5) rotate(-180deg);
        }
        to {
            opacity: 1;
            transform: scale(1) rotate(0deg);
        }
    }
    @keyframes fadeIn {
        from {
            opacity: 0;
            transform: scale(0.8);
        }
        to {
            opacity: 1;
            transform: scale(1);
        }
    }
    .preview-snippet {
        max-height: 60px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    /* Evitar que los botones activen la selección */
    .selectable-block .btn-group,
    .selectable-block .edit-block,
    .selectable-block .delete-block {
        pointer-events: auto;
    }

/* ── resources/views/system/userConfig/edit.blade.php ─────────────────────────────────────────────── */
/* evitar que los select se hagan tan largos */
    .select-bar-avanza .select2-container {
        max-height: 20rem;
        overflow: auto;
    }

    .role-user-list {
        max-height: 5rem;
        overflow: auto;
    }

