<div class="container-fluid">
    <div class="row align-items-center justify-content-center">
        <div class="col">
            <div class="card my-4">
                <div class="card-header">
                    <h3>Control de Caja</h3>
                </div>
                <div class="card-body">
                    <!-- Spinner de carga -->
                    <div class="mt-4 text-center" ng-if="loading">
                        <div class="spinner-border text-primary" role="status">
                            <span class="sr-only">Cargando...</span>
                        </div>
                        <p class="mt-2">Procesando...</p>
                    </div>
                    
                    <!-- Mensaje de error -->
                    <div class="alert alert-danger mt-4" ng-if="mensaje_error">
                        <i class="fas fa-exclamation-triangle"></i> {{ mensaje_error }}
                    </div>
                    
                    <!-- Sin caja abierta -->
                    <div ng-if="!loading && !caja" class="text-center my-5">
                        <div class="alert alert-warning">
                            <i class="fas fa-info-circle"></i> No hay caja abierta actualmente.
                        </div>
                        <button class="btn btn-lg btn-success mt-3" ng-click="abrirCaja()" ng-if="modulos_acciones_list | contains:'920503'">
                            <i class="fas fa-cash-register"></i> Abrir Caja
                        </button>
                    </div>
                    
                    <!-- Con caja abierta -->
                    <div ng-if="!loading && caja">
                        <!-- Panel de información de caja -->
                        <div class="row mb-4">
                            <div class="col-md-6">
                                <div class="card border-success">
                                    <div class="card-header bg-success text-white">
                                        <h5 class="mb-0"><i class="fas fa-cash-register"></i> Estado de Caja</h5>
                                    </div>
                                    <div class="card-body">
                                        <div class="row">
                                            <div class="col-md-6">
                                                <p><strong>ID Caja:</strong> {{ caja.id }}</p>
                                                <p><strong>Fecha Apertura:</strong> {{ caja.fecha_apertura | date:'dd/MM/yyyy HH:mm' }}</p>
                                            </div>
                                            <div class="col-md-6">
                                                <h2 class="text-success text-right">$ {{ caja.saldo | number:2 }}</h2>
                                                <p class="text-muted text-right">Saldo Actual</p>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="card">
                                    <div class="card-header bg-primary text-white">
                                        <h5 class="mb-0"><i class="fas fa-cogs"></i> Acciones Disponibles</h5>
                                    </div>
                                    <div class="card-body">
                                        <div class="row">
                                            <div class="col-md-4 text-center mb-2">
                                                <button class="btn btn-danger btn-block" ng-click="irARetiro()" ng-if="modulos_acciones_list | contains:'920502'">
                                                    <i class="fas fa-money-bill-wave"></i><br>Retiro
                                                </button>
                                            </div>
                                            <div class="col-md-4 text-center mb-2">
                                                <button class="btn btn-info btn-block" ng-click="irAArqueo()" ng-if="modulos_acciones_list | contains:'920504'">
                                                    <i class="fas fa-balance-scale"></i><br>Arqueo
                                                </button>
                                            </div>
                                            <div class="col-md-4 text-center mb-2">
                                                <button class="btn btn-warning btn-block" ng-click="irACierre()" ng-if="modulos_acciones_list | contains:'920505'">
                                                    <i class="fas fa-door-closed"></i><br>Cierre
                                                </button>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Filtros de búsqueda -->
                        <div class="card mb-4">
                            <div class="card-header bg-light">
                                <h5 class="mb-0"><i class="fas fa-search"></i> Filtrar Movimientos</h5>
                            </div>
                            <div class="card-body">
                                <form ng-submit="buscarConFiltros()">
                                    <div class="row">
                                        <div class="col-md-5 form-group">
                                            <label>Fecha Inicio:</label>
                                            <input id="moment_picker_fecha_inicio" moment-picker locale="es" format="DD/MM/YYYY" 
                                                   ng-model="moment_picker_fecha_inicio" class="form-control"
                                                   change="on_change_moment_picker_fecha_inicio(newValue, oldValue)" />
                                        </div>
                                        <div class="col-md-5 form-group">
                                            <label>Fecha Fin:</label>
                                            <input id="moment_picker_fecha_fin" moment-picker locale="es" format="DD/MM/YYYY" 
                                                   ng-model="moment_picker_fecha_fin" class="form-control"
                                                   change="on_change_moment_picker_fecha_fin(newValue, oldValue)" />
                                        </div>
                                        <div class="col-md-2 form-group" style="display: flex; align-items: flex-end;">
                                            <button type="submit" class="btn btn-primary btn-block">
                                                <i class="fas fa-search"></i> Buscar
                                            </button>
                                        </div>
                                    </div>
                                </form>
                            </div>
                        </div>
                        
                        <!-- Tabs para Movimientos y Retiros -->
                        <ul class="nav nav-tabs mb-3" id="caja-tab" role="tablist">
                            <li class="nav-item">
                                <a class="nav-link active" id="movimientos-tab" data-toggle="tab" href="#movimientos" role="tab" aria-controls="movimientos" aria-selected="true">
                                    <i class="fas fa-exchange-alt"></i> Movimientos
                                </a>
                            </li>
                            <li class="nav-item">
                                <a class="nav-link" id="retiros-tab" data-toggle="tab" href="#retiros" role="tab" aria-controls="retiros" aria-selected="false">
                                    <i class="fas fa-money-bill-wave"></i> Retiros
                                </a>
                            </li>
                        </ul>
                        
                        <div class="tab-content" id="caja-tabContent">
                            <!-- Tab de Movimientos -->
                            <div class="tab-pane fade show active" id="movimientos" role="tabpanel" aria-labelledby="movimientos-tab">
                                <div class="text-right mb-2">
                                    <button class="btn btn-success" ng-click="exportarExcel()" ng-disabled="movimientos.length === 0">
                                        <i class="fas fa-file-excel"></i> Excel
                                    </button>
                                    <button class="btn btn-danger ml-2" ng-click="exportarPdf()" ng-disabled="movimientos.length === 0">
                                        <i class="fas fa-file-pdf"></i> PDF
                                    </button>
                                </div>
                                
                                <div class="table-responsive" ng-if="movimientos.length > 0">
                                    <table class="table table-striped table-hover">
                                        <thead class="thead-dark">
                                            <tr>
                                                <th>Referencia</th>
                                                <th>Tipo</th>
                                                <th>Monto</th>
                                                <th>Saldo Anterior</th>
                                                <th>Saldo Nuevo</th>
                                                <th>Fecha</th>
                                                <th>Usuario</th>
                                            </tr>
                                        </thead>
                                        <tbody>
                                            <tr ng-repeat="mov in movimientos">
                                                <td>{{ mov.referencia }}</td>
                                                <td>
                                                    <span class="badge" ng-class="{
                                                        'badge-success': mov.tipo_movimiento === 'RECARGA',
                                                        'badge-danger': mov.tipo_movimiento === 'RETIRO',
                                                        'badge-info': mov.tipo_movimiento === 'VENTA'
                                                    }">
                                                        {{ mov.tipo_movimiento }}
                                                    </span>
                                                </td>
                                                <td class="text-right">${{ mov.monto | number:2 }}</td>
                                                <td class="text-right">${{ mov.saldo_anterior | number:2 }}</td>
                                                <td class="text-right">${{ mov.saldo_nuevo | number:2 }}</td>
                                                <td>{{ mov.fecha_movimiento | date:'dd/MM/yyyy HH:mm' }}</td>
                                                <td>{{ mov.nombre_usuario }}</td>
                                            </tr>
                                        </tbody>
                                        <tfoot>
                                            <tr class="table-info">
                                                <td colspan="6" class="text-right"><strong>Total de registros:</strong></td>
                                                <td><strong>{{ total_movimientos }}</strong></td>
                                            </tr>
                                        </tfoot>
                                    </table>
                                </div>
                                
                                <div class="alert alert-info mt-3" ng-if="movimientos.length === 0">
                                    <i class="fas fa-info-circle"></i> No se encontraron movimientos en el período especificado.
                                </div>
                            </div>
                            
                            <!-- Tab de Retiros -->
                            <div class="tab-pane fade" id="retiros" role="tabpanel" aria-labelledby="retiros-tab">
                                <div class="table-responsive" ng-if="retiros.length > 0">
                                    <table class="table table-striped table-hover">
                                        <thead class="thead-dark">
                                            <tr>
                                                <th>Referencia</th>
                                                <th>Monto</th>
                                                <th>Concepto</th>
                                                <th>Fecha</th>
                                                <th>Usuario</th>
                                                <th>Acciones</th>
                                            </tr>
                                        </thead>
                                        <tbody>
                                            <tr ng-repeat="ret in retiros">
                                                <td>{{ ret.referencia }}</td>
                                                <td class="text-right">${{ ret.monto | number:2 }}</td>
                                                <td>{{ ret.concepto }}</td>
                                                <td>{{ ret.fecha_retiro | date:'dd/MM/yyyy HH:mm' }}</td>
                                                <td>{{ ret.nombre_usuario }}</td>
                                                <td>
                                                    <button type="button" class="btn btn-sm btn-info" 
                                                            ng-click="imprimirRetiro(ret.id)" 
                                                            ng-if="modulos_acciones_list | contains:'920506'">
                                                        <i class="fas fa-print"></i> Imprimir
                                                    </button>
                                                </td>
                                            </tr>
                                        </tbody>
                                        <tfoot>
                                            <tr class="table-info">
                                                <td colspan="5" class="text-right"><strong>Total de registros:</strong></td>
                                                <td><strong>{{ total_retiros }}</strong></td>
                                            </tr>
                                        </tfoot>
                                    </table>
                                </div>
                                
                                <div class="alert alert-info mt-3" ng-if="retiros.length === 0">
                                    <i class="fas fa-info-circle"></i> No se encontraron retiros en el período especificado.
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>