O:41:"Symfony\Component\AssetMapper\MappedAsset":12:{s:10:"sourcePath";s:50:"/var/www/moodia/assets/styles/pages/admin-beta.css";s:10:"publicPath";s:43:"/assets/styles/pages/admin-beta-Q7_FD-m.css";s:23:"publicPathWithoutDigest";s:35:"/assets/styles/pages/admin-beta.css";s:15:"publicExtension";s:3:"css";s:7:"content";s:10111:"/* Import des variables globales */ @import "../variables-Uk-6nDi.css"; /* ================================================================= ADMIN BETA - CONTAINER PRINCIPAL ================================================================= */ .admin-beta-container { max-width: 1400px; margin: 0 auto; padding: var(--spacing-2xl) var(--spacing-xl); } /* ================================================================= HEADER ================================================================= */ .admin-header { margin-bottom: var(--spacing-2xl); } .admin-header-content { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--spacing-xl); flex-wrap: wrap; } .admin-title-section { flex: 1; min-width: 300px; } .admin-title { display: flex; align-items: center; gap: var(--spacing-md); font-family: var(--font-secondary); font-size: var(--font-size-4xl); font-weight: var(--font-weight-bold); color: var(--color-black); margin: 0 0 var(--spacing-sm) 0; } .admin-icon { flex-shrink: 0; } .admin-subtitle { font-size: var(--font-size-lg); color: var(--color-text-medium); margin: 0; } .btn-back { display: inline-flex; align-items: center; gap: var(--spacing-sm); padding: var(--spacing-md) var(--spacing-lg); background: var(--gradient-main); color: var(--color-white); text-decoration: none; border-radius: var(--border-radius-md); font-weight: var(--font-weight-semibold); font-size: var(--font-size-base); transition: all var(--transition-base); box-shadow: var(--shadow-md); } .btn-back:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); } /* ================================================================= STATISTIQUES ================================================================= */ .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--spacing-lg); margin-bottom: var(--spacing-2xl); } .stat-card { background: var(--color-white); border-radius: var(--border-radius-lg); padding: var(--spacing-xl); display: flex; align-items: center; gap: var(--spacing-lg); box-shadow: var(--shadow-md); transition: all var(--transition-base); border: 2px solid transparent; } .stat-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); } .stat-icon { width: 60px; height: 60px; border-radius: var(--border-radius-lg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .stat-total .stat-icon { background: linear-gradient(135deg, rgba(12, 129, 228, 0.1), rgba(58, 184, 232, 0.1)); color: var(--color-primary); } .stat-pending .stat-icon { background: linear-gradient(135deg, rgba(245, 158, 11, 0.1), rgba(251, 191, 36, 0.1)); color: var(--color-warning); } .stat-active .stat-icon { background: linear-gradient(135deg, rgba(48, 147, 68, 0.1), rgba(52, 211, 153, 0.1)); color: var(--color-success); } .stat-content { flex: 1; } .stat-value { font-family: var(--font-secondary); font-size: var(--font-size-4xl); font-weight: var(--font-weight-bold); color: var(--color-black); line-height: 1; margin-bottom: var(--spacing-xs); } .stat-label { font-size: var(--font-size-base); color: var(--color-text-medium); font-weight: var(--font-weight-medium); } /* ================================================================= CARTE DES UTILISATEURS ================================================================= */ .users-card { background: var(--color-white); border-radius: var(--border-radius-lg); box-shadow: var(--shadow-md); overflow: hidden; } .users-card-header { display: flex; justify-content: space-between; align-items: center; padding: var(--spacing-xl); border-bottom: 2px solid var(--color-gray-light); flex-wrap: wrap; gap: var(--spacing-md); } .users-card-title { font-family: var(--font-secondary); font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); color: var(--color-black); margin: 0; } .users-card-actions { display: flex; gap: var(--spacing-sm); } .filter-btn { padding: var(--spacing-sm) var(--spacing-md); background: var(--color-gray-light); color: var(--color-text-medium); border: none; border-radius: var(--border-radius-md); font-weight: var(--font-weight-medium); font-size: var(--font-size-sm); cursor: pointer; transition: all var(--transition-base); } .filter-btn:hover { background: var(--color-gray); } .filter-btn.active { background: var(--gradient-main); color: var(--color-white); } /* ================================================================= TABLEAU ================================================================= */ .table-container { overflow-x: auto; } .users-table { width: 100%; border-collapse: collapse; } .users-table thead tr { background: var(--color-gray-light); } .users-table th { padding: var(--spacing-lg); text-align: left; font-family: var(--font-secondary); font-weight: var(--font-weight-semibold); font-size: var(--font-size-sm); color: var(--color-gray-dark); text-transform: uppercase; letter-spacing: 0.5px; } .users-table tbody tr { border-bottom: 1px solid var(--color-gray-light); transition: background-color var(--transition-base); } .users-table tbody tr:hover { background: rgba(12, 129, 228, 0.03); } .users-table td { padding: var(--spacing-lg); vertical-align: middle; } .user-id { color: var(--color-text-light); font-weight: var(--font-weight-medium); font-size: var(--font-size-sm); } .email-cell { display: flex; align-items: center; } .email-text { font-weight: var(--font-weight-medium); color: var(--color-black); } .date-cell { display: flex; flex-direction: column; gap: 2px; } .date-text { font-weight: var(--font-weight-medium); color: var(--color-black); } .time-text { font-size: var(--font-size-sm); color: var(--color-text-light); } /* ================================================================= BADGES DE STATUT ================================================================= */ .badge { display: inline-flex; align-items: center; gap: var(--spacing-xs); padding: 6px 12px; border-radius: var(--border-radius-full); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); } .badge-pending { background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(251, 191, 36, 0.15)); color: #B45309; border: 1px solid rgba(245, 158, 11, 0.3); } .badge-active { background: linear-gradient(135deg, rgba(48, 147, 68, 0.15), rgba(52, 211, 153, 0.15)); color: #166534; border: 1px solid rgba(48, 147, 68, 0.3); } /* ================================================================= BOUTONS D'ACTION ================================================================= */ .action-buttons { display: flex; gap: var(--spacing-sm); align-items: center; flex-wrap: wrap; } .action-form { display: inline-block; } .btn-action { display: inline-flex; align-items: center; gap: var(--spacing-xs); padding: var(--spacing-sm) var(--spacing-md); border: none; border-radius: var(--border-radius-md); font-weight: var(--font-weight-semibold); font-size: var(--font-size-sm); cursor: pointer; transition: all var(--transition-base); box-shadow: var(--shadow-sm); } .btn-action:hover { box-shadow: var(--shadow-md); transform: translateY(-1px); } .btn-accept { background: linear-gradient(135deg, #309344, #34D399); color: var(--color-white); } .btn-accept:hover { background: linear-gradient(135deg, #27803c, #2bc080); } .btn-delete { background: linear-gradient(135deg, #6c757d, #495057); color: var(--color-white); } .btn-delete:hover { background: linear-gradient(135deg, #495057, #343a40); } .active-since { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; } /* ================================================================= ÉTAT VIDE ================================================================= */ .empty-row td { padding: var(--spacing-3xl) var(--spacing-xl); } .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: var(--spacing-md); } .empty-state h3 { font-family: var(--font-secondary); font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--color-black); margin: 0; } .empty-state p { font-size: var(--font-size-base); color: var(--color-text-medium); margin: 0; } /* ================================================================= RESPONSIVE ================================================================= */ @media (max-width: 768px) { .admin-beta-container { padding: var(--spacing-lg) var(--spacing-md); } .admin-header-content { flex-direction: column; } .admin-title { font-size: var(--font-size-3xl); } .btn-back { width: 100%; justify-content: center; } .stats-grid { grid-template-columns: 1fr; } .users-card-header { flex-direction: column; align-items: flex-start; } .users-card-actions { width: 100%; } .filter-btn { flex: 1; } .users-table { font-size: var(--font-size-sm); } .users-table th, .users-table td { padding: var(--spacing-md); } .action-buttons { flex-direction: column; align-items: stretch; } .btn-action { width: 100%; justify-content: center; } } ";s:6:"digest";s:32:"43bfc50fe9b73d1a4128232a68177b0b";s:13:"isPredigested";b:0;s:11:"logicalPath";s:27:"styles/pages/admin-beta.css";s:8:"isVendor";b:0;s:55:"Symfony\Component\AssetMapper\MappedAssetdependencies";a:1:{i:0;O:41:"Symfony\Component\AssetMapper\MappedAsset":12:{s:10:"sourcePath";s:43:"/var/www/moodia/assets/styles/variables.css";s:10:"publicPath";s:36:"/assets/styles/variables-Uk-6nDi.css";s:23:"publicPathWithoutDigest";s:28:"/assets/styles/variables.css";s:15:"publicExtension";s:3:"css";s:7:"content";N;s:6:"digest";s:32:"524fba9c38befbf72ad92b86423236d1";s:13:"isPredigested";b:0;s:11:"logicalPath";s:20:"styles/variables.css";s:8:"isVendor";b:0;s:55:"Symfony\Component\AssetMapper\MappedAssetdependencies";a:0:{}s:59:"Symfony\Component\AssetMapper\MappedAssetfileDependencies";a:0:{}s:60:"Symfony\Component\AssetMapper\MappedAssetjavaScriptImports";a:0:{}}}s:59:"Symfony\Component\AssetMapper\MappedAssetfileDependencies";a:0:{}s:60:"Symfony\Component\AssetMapper\MappedAssetjavaScriptImports";a:0:{}}