        .matricula-step-panel {
            padding: 0.25rem 0;
        }

        .matricula-modal {
            width: min(1180px, 96vw);
            max-width: 1180px;
            max-height: 92vh;
        }

        .matricula-modal .modal__body {
            max-height: calc(92vh - 170px);
            overflow-y: auto;
            padding-right: 28px;
        }

        .matricula-modal .modal__footer {
            flex-wrap: wrap;
        }

        .matricula-masa-modal {
            width: min(960px, 94vw);
            max-width: 960px;
        }

        .step-block-head {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            padding: 0.85rem 0.95rem;
            border-radius: 0.5rem;
            margin-bottom: 1rem;
        }

        .step-block-head.compact {
            padding: 0.65rem 0.85rem;
            margin-bottom: 0.75rem;
        }

        .step-block-head-main {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.92rem;
            color: #1f2937;
        }

        .step-block-head-sub {
            margin-top: 0.2rem;
            color: #64748b;
            font-size: 0.81rem;
        }

        .inline-info-card {
            background: #eff6ff;
            padding: 1rem;
            border-radius: 0.5rem;
            border: 1px solid #bfdbfe;
        }

        .inline-warning-card {
            background: #fef3c7;
            padding: 1rem;
            border-radius: 0.5rem;
            border: 1px solid #fcd34d;
        }

        .result-card {
            padding: 1rem;
            border-radius: 0.5rem;
            border: 1px solid #d1d5db;
            background: #ffffff;
        }

        .curso-inline-row {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 0.75rem;
            align-items: end;
        }

        .facturacion-compact-container {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            max-width: 100%;
        }

        .facturacion-top-row {
            display: grid;
            grid-template-columns: minmax(200px, 1fr) auto;
            gap: 0.75rem;
            align-items: end;
            margin-bottom: 0.5rem;
        }

        #autocompletar-datos-section {
            justify-self: end;
            align-self: end;
        }

        .autofill-compact-toggle {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            min-height: 32px;
            padding: 0.35rem 0.6rem;
            border-radius: 0.375rem;
            border: 1px solid #bfdbfe;
            background: #eff6ff;
            color: #1d4ed8;
            cursor: pointer;
            font-weight: 500;
            white-space: nowrap;
            font-size: 0.75rem;
        }

        .autofill-compact-toggle input[type="checkbox"] {
            margin: 0;
            transform: translateY(1px);
        }

        .facturacion-form-grid {
            display: grid;
            gap: 0.5rem;
        }

        .facturacion-row-2col {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.6rem;
            align-items: end;
        }

        .facturacion-row-3col {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            gap: 0.6rem;
            align-items: end;
        }

        .fundae-compact-toggle {
            transition: all 0.2s;
        }

        .fundae-compact-toggle:hover {
            background: #fef3c7 !important;
        }

        @media (min-width: 1180px) {
            #step-facturacion[data-billing-layout="split"] .facturacion-compact-container {
                display: grid;
                grid-template-columns: minmax(320px, 0.9fr) minmax(440px, 1.1fr);
                gap: 1rem 1.25rem;
                align-items: start;
            }

            #step-facturacion[data-billing-layout="split"] .facturacion-top-row {
                grid-column: 1 / -1;
                margin-bottom: 0;
            }

            #step-facturacion[data-billing-layout="split"] #empresa-search-section,
            #step-facturacion[data-billing-layout="split"] #empresa-contacto-section,
            #step-facturacion[data-billing-layout="split"] #fundae-section {
                grid-column: 1;
                margin-bottom: 0;
            }

            #step-facturacion[data-billing-layout="split"] #facturacion-form {
                grid-column: 2;
                grid-row: 2 / span 4;
                align-self: start;
            }

            #step-facturacion #facturacion-form[data-billing-layout="full-width"] {
                grid-column: 1 / -1;
                grid-row: auto;
            }
        }

        .step-block-head.compact {
            padding: 0.5rem 0.8rem !important;
            margin-bottom: 0.5rem !important;
        }

        .step-block-head.compact strong {
            font-size: 0.85rem !important;
        }

        .step-block-head.compact i {
            font-size: 1rem !important;
        }

        #matricula-breadcrumb .breadcrumb-step {
            transition: all 0.15s ease;
        }

        #matricula-breadcrumb .breadcrumb-step:hover {
            border-color: #93c5fd;
            color: #1d4ed8;
        }

        #step-master .master-payment-panel {
            margin-top: 1.5rem;
            padding: 1rem;
            background: #f8fafc;
            border-radius: 0.5rem;
            border: 1px solid #d7dee7;
        }

        #step-master .master-payment-subtitle {
            margin: 0 0 1rem;
            color: #64748b;
            font-size: 0.875rem;
            line-height: 1.45;
        }

        #step-master .master-pay-options {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.75rem;
        }

        #step-master .master-pay-option {
            display: block;
            padding: 0.75rem 0.875rem;
            border-radius: 0.5rem;
            border: 1px solid #d1d5db;
            background: #ffffff;
            cursor: pointer;
            transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
        }

        #step-master .master-pay-option input[type="radio"] {
            margin-right: 0.45rem;
            transform: translateY(1px);
        }

        #step-master .master-pay-option-title {
            font-weight: 600;
            color: #1f2937;
        }

        #step-master .master-pay-option-help {
            display: block;
            margin-top: 0.35rem;
            color: #6b7280;
            font-size: 0.78rem;
            line-height: 1.35;
        }

        #step-master .master-pay-option.is-active {
            border-color: #3b82f6;
            background: #eff6ff;
            box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
        }

        #step-master .master-unico-info {
            margin-bottom: 0.9rem;
            padding: 0.75rem 0.875rem;
            border-radius: 0.5rem;
            border: 1px solid #dbeafe;
            background: #f8fbff;
        }

        #step-master .master-cuotas-card {
            padding: 1rem;
            background: #ffffff;
            border-radius: 0.5rem;
            border: 1px solid #c4b5fd;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
        }

        @media (max-width: 860px) {
            .matricula-modal {
                width: min(100vw, 100%);
                max-height: 100vh;
                border-radius: 22px;
            }

            .matricula-modal .modal__body {
                max-height: calc(100vh - 156px);
                padding-right: 24px;
            }

            .curso-inline-row {
                grid-template-columns: 1fr;
            }

            .facturacion-top-row,
            .facturacion-row-2col,
            .facturacion-row-3col {
                grid-template-columns: 1fr;
            }

            #autocompletar-datos-section {
                justify-self: stretch;
            }

            .autofill-compact-toggle {
                width: 100%;
                justify-content: center;
            }

            #step-master .master-pay-options {
                grid-template-columns: 1fr;
            }

            #matricula-precio-final[readonly]:hover {
                cursor: not-allowed;
            }

            #matricula-precio-final[readonly]:hover+.lock-icon {
                display: block !important;
            }
        }
