@php $sectionClass = 'rounded-3xl border border-primary-700/60 bg-primary-800 p-6 shadow-2xl shadow-primary-900/10 sm:p-8'; $fieldClass = 'w-full rounded-2xl border border-primary-600/40 bg-primary-900/70 px-4 py-3 text-sm text-on-primary placeholder:text-primary-300 transition focus:border-accent focus:outline-none focus:ring-2 focus:ring-accent/20'; $ghostButtonClass = 'inline-flex items-center justify-center gap-2 rounded-2xl border border-primary-600/50 bg-primary-900/40 px-4 py-3 text-sm font-semibold text-primary-100 transition hover:border-primary-400/60 hover:bg-primary-900/70 hover:text-on-primary disabled:cursor-not-allowed disabled:opacity-60'; $labelClass = 'text-xs font-bold uppercase tracking-[0.22em] text-primary-200'; $feedbackClasses = match ($feedback['tone'] ?? null) { 'secondary' => 'border-secondary/40 bg-secondary/10 text-secondary', 'accent' => 'border-accent/40 bg-accent/10 text-accent', default => 'border-warning/40 bg-warning/10 text-warning', }; @endphp

{{ $isEditing ? 'Editar paquete' : 'Crear nuevo paquete' }}

{{ $isEditing ? 'Actualiza la ficha comercial, los insumos y el equipamiento del paquete desde la misma pantalla.' : 'Captura la ficha comercial, asigna materiales y equipamiento desde una sola pantalla y guarda el paquete con datos reales del catálogo.' }}

close Cancelar
@if ($feedback)
campaign

{{ $feedback['title'] }}

{{ $feedback['text'] }}

@endif @if ($errors->any())
warning

Hay datos pendientes

@foreach ($errors->all() as $error)

{{ $error }}

@endforeach
@endif
info

Ficha base

Datos Generales

{{ $statusMeta['label'] }}
inventory_2

Catálogo vinculado

Productos Incluidos

@if ($selectedMaterial?->caliber)

Calibre seleccionado: {{ $selectedMaterial->caliber }}

@endif
@if ($materialRows->isEmpty())
inventory

Aún no hay productos en el paquete

Selecciona un producto del catálogo y agrégalo. Si todavía no existe, puedes darlo de alta desde el acceso rápido y volver al flujo.

@else
@foreach ($materialRows as $row) @endforeach
Producto Cantidad Unidad Acciones

{{ $row['name'] }}

{{ $row['typeLabel'] }} @if ($row['caliber']) Cal. {{ $row['caliber'] }} @endif

{{ $row['detail'] }}

{{ $row['unit'] }}
@endif
construction

Soporte técnico

Equipamiento Requerido

@forelse ($equipmentRows as $row)
settings_input_component

{{ $row['name'] }}

{{ $row['description'] }}

Cant. {{ $row['unit'] }}
@empty
construction

Aún no hay equipo asignado

Vincula el equipamiento técnico que este show necesita para operación y montaje.

@endforelse
military_tech

Perfil operativo

Nivel de Experiencia

add Crear nuevo nivel
@foreach ($this->experienceLevels as $level) @php $isActive = (string) $experience_id === (string) $level->id; @endphp @endforeach
payments

Condiciones comerciales

Precios y Vigencias

El historial mostrado aquí representa el precio actual que quedará registrado con el paquete.
$

Historial de Precios

Sin versionado histórico adicional por ahora
@forelse ($priceHistoryRows as $row) @empty @endforelse
Versión Precio Vigencia Estado
{{ $row['version'] }} {{ $row['price'] }} {{ $row['validity'] }} {{ $row['status']['label'] }}
Captura un precio para generar el snapshot comercial inicial de este paquete.

Resumen de Paquete

Nombre: {{ $summary['name'] }}
Total productos: {{ number_format($summary['materialCount']) }} ítems
Unidades programadas: {{ rtrim(rtrim(number_format($summary['materialUnits'], 2, '.', ''), '0'), '.') ?: '0' }}
Total equipo: {{ number_format($summary['equipmentCount']) }} equipos
Precio actual: {{ $summary['formattedPrice'] }}

Validación de captura

@foreach ($validationItems as $item)
{{ $item['passed'] ? 'check_circle' : 'warning' }} {{ $item['label'] }}
@endforeach

Lectura rápida

Tipo: {{ $selectedEventType?->name ?: 'Sin tipo asignado' }}

Experiencia: {{ $selectedExperience?->name ?: 'Pendiente de definir' }}

Estado: {{ $summary['status'] }}

{{ $isEditing ? 'Al guardar, se conservan los cambios y se redirige al detalle del paquete.' : 'Al finalizar, el paquete queda listo para operar y se redirige al detalle del registro.' }}

Vista Previa

Simulación de Espectáculo

La ficha comercial, el inventario programado y el equipamiento técnico quedarán consolidados en el detalle del paquete.

celebration

Paquete listo

{{ $summary['name'] }}