/*
 ╔═══════════════════════════════════════════════════════════════════════════╗
 ║ FICHIER : amc-dashboard.css
 ║ ZONE    : DASHBOARD CLIENT (landing page)
 ╠═══════════════════════════════════════════════════════════════════════════╣
 ║ SCOPE       : .amc-dash uniquement (page d accueil zone client connecte)
 ║ SELECTEURS  : .amc-dash, .amc-dash-hero, .amc-dash-stats, .amc-dash-actions, .amc-dash-expert-card, .amc-dash-recent, .amc-dash-pack (77 selecteurs)
 ║ URL(s)      : /mon-espace/
 ║ ENQUEUE     : class-amc-shortcodes.php case amc_client_dashboard
 ╠═══════════════════════════════════════════════════════════════════════════╣
 ║ ⚠️  REGLE D'OR :
 ║    NE PAS toucher pour modifs EXPERT (utiliser amc-expert-dashboard.css). Ce fichier a deja ECRASE l ancien CSS expert en v8.10.679 - ne pas reproduire l erreur.
 ║
 ║ 📋 Voir docs/CSS-ARCHITECTURE.md pour la cartographie complete
 ║ 🧪 Voir docs/CSS-CHECKLIST.md pour les tests post-modif
 ╚═══════════════════════════════════════════════════════════════════════════╝
 */
/*
 * AMC Dashboard — v8.10.679
 * Tableau de bord client landing
 * Scope : .amc-dash dans le layout client
 */

.amc-dash {
	--d-primary: #0aa1a1;
	--d-primary-soft: #e6f4f4;
	--d-primary-hover: #088a8a;
	--d-card-bg: #ffffff;
	--d-card-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
	--d-card-shadow-hover: 0 6px 18px rgba(10,161,161,0.12);
	--d-text: #1f2937;
	--d-text-muted: #6b7280;
	--d-border: #e5e7eb;
}

/* Loading */
.amc-dash-loading {
	text-align: center;
	padding: 60px 20px;
	color: var(--d-text-muted);
}
.amc-dash-spinner {
	width: 40px; height: 40px;
	border: 3px solid var(--d-primary-soft);
	border-top-color: var(--d-primary);
	border-radius: 50%;
	animation: amc-spin 0.9s linear infinite;
	margin: 0 auto 16px;
}
@keyframes amc-spin { to { transform: rotate(360deg); } }

/* Hero greeting */
.amc-dash-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px;
	margin-bottom: 28px;
	background: linear-gradient(135deg, #0aa1a1 0%, #0d8f9a 50%, #1a7585 100%);
	border-radius: 16px;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.amc-dash-hero::before {
	content: '';
	position: absolute;
	top: -40px; right: -40px;
	width: 200px; height: 200px;
	background: radial-gradient(circle, rgba(255,255,255,0.15), transparent 70%);
	border-radius: 50%;
}
.amc-dash-hero-left { flex: 1; min-width: 0; z-index: 1; }
.amc-dash-greeting {
	margin: 0 0 6px;
	font-size: 26px;
	font-weight: 700;
	color: #fff;
}
.amc-dash-wave { display: inline-block; animation: amc-wave 2s ease-in-out infinite; transform-origin: 70% 70%; }
@keyframes amc-wave {
	0%, 100% { transform: rotate(0); }
	20% { transform: rotate(14deg); }
	40% { transform: rotate(-8deg); }
	60% { transform: rotate(14deg); }
	80% { transform: rotate(-4deg); }
}
.amc-dash-hero-sub {
	margin: 0;
	font-size: 14.5px;
	color: rgba(255,255,255,0.85);
}
.amc-dash-hero-right {
	background: rgba(255,255,255,0.18);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: 12px;
	padding: 14px 20px;
	text-align: center;
	z-index: 1;
}
.amc-dash-hero-wallet-lbl { font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.85; }
.amc-dash-hero-wallet-val { font-size: 28px; font-weight: 700; margin: 4px 0 6px; color: #fff; }
.amc-dash-hero-wallet-link { color: #fff; font-size: 13px; text-decoration: underline; opacity: 0.95; }
.amc-dash-hero-wallet-link:hover { opacity: 1; color: #fff; }

/* Stats cards */
.amc-dash-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 28px;
}
.amc-dash-stat-card {
	background: var(--d-card-bg);
	border-radius: 12px;
	padding: 20px;
	box-shadow: var(--d-card-shadow);
	transition: box-shadow .15s;
}
.amc-dash-stat-card:hover { box-shadow: var(--d-card-shadow-hover); }
.amc-dash-stat-icon {
	width: 38px; height: 38px;
	border-radius: 10px;
	background: var(--d-primary-soft);
	color: var(--d-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}
.amc-dash-stat-icon svg { width: 20px; height: 20px; }
.amc-dash-stat-val { font-size: 28px; font-weight: 700; color: var(--d-text); line-height: 1.1; }
.amc-dash-stat-lbl { font-size: 14px; color: var(--d-text); margin-top: 2px; }
.amc-dash-stat-period { font-size: 11.5px; color: var(--d-text-muted); margin-top: 4px; }

/* Section titles */
.amc-dash-section-title { font-size: 18px; font-weight: 600; color: var(--d-text); margin: 0; }
.amc-dash-section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.amc-dash-section-link { color: var(--d-primary); font-size: 13.5px; font-weight: 500; text-decoration: none; }
.amc-dash-section-link:hover { color: var(--d-primary-hover); }

/* Quick actions */
.amc-dash-quick-actions { margin-bottom: 28px; }
.amc-dash-quick-actions .amc-dash-section-title { margin-bottom: 14px; }
.amc-dash-actions-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.amc-dash-action-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 22px 12px;
	background: var(--d-card-bg);
	border-radius: 12px;
	box-shadow: var(--d-card-shadow);
	text-decoration: none;
	color: var(--d-text);
	transition: all .15s;
	text-align: center;
}
.amc-dash-action-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--d-card-shadow-hover);
	color: var(--d-primary);
}
.amc-dash-action-icon {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: var(--d-primary-soft);
	color: var(--d-primary);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 10px;
}
.amc-dash-action-icon svg { width: 22px; height: 22px; }
.amc-dash-action-primary { background: var(--d-primary); color: #fff; }
.amc-dash-action-primary .amc-dash-action-icon { background: rgba(255,255,255,0.2); color: #fff; }
.amc-dash-action-primary:hover { background: var(--d-primary-hover); color: #fff; }
.amc-dash-action-label { font-size: 13.5px; font-weight: 600; }

/* 2 columns layout */
.amc-dash-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 28px;
}

/* Experts récents */
.amc-dash-experts-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
.amc-dash-expert-card {
	display: block;
	background: var(--d-card-bg);
	border-radius: 12px;
	padding: 16px;
	box-shadow: var(--d-card-shadow);
	text-decoration: none;
	color: inherit;
	transition: all .15s;
	position: relative;
}
.amc-dash-expert-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--d-card-shadow-hover);
}
.amc-dash-expert-photo-wrap {
	position: relative;
	width: 64px; height: 64px;
	margin: 0 auto 10px;
}
.amc-dash-expert-photo {
	width: 64px; height: 64px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--d-primary-soft);
	background: var(--d-primary-soft);
	display: block;
}
.amc-dash-expert-photo.amc-dash-no-photo {
	display: flex; align-items: center; justify-content: center;
	color: var(--d-primary);
	font-weight: 700;
	font-size: 22px;
}
.amc-dash-expert-status-dot {
	position: absolute;
	bottom: 2px; right: 2px;
	width: 14px; height: 14px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: #d1d5db;
}
.amc-dash-expert-status-dot.is-online { background: #16a34a; }
.amc-dash-expert-name { text-align: center; font-weight: 600; font-size: 14px; margin-bottom: 2px; color: var(--d-text); }
.amc-dash-expert-specialty { text-align: center; font-size: 12px; color: var(--d-text-muted); margin-bottom: 8px; }
.amc-dash-expert-meta { display: flex; justify-content: space-between; font-size: 11.5px; color: var(--d-text-muted); border-top: 1px solid #f3f4f6; padding-top: 8px; }
.amc-dash-expert-promo-badge {
	position: absolute; top: 10px; right: 10px;
	background: linear-gradient(135deg, #e91e63, #f4807a);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 12px;
}

/* Activité récente list */
.amc-dash-recent-list { list-style: none; margin: 0; padding: 0; background: var(--d-card-bg); border-radius: 12px; box-shadow: var(--d-card-shadow); overflow: hidden; }
.amc-dash-recent-item { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid #f3f4f6; }
.amc-dash-recent-item:last-child { border-bottom: none; }
.amc-dash-recent-icon {
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--d-primary-soft);
	color: var(--d-primary);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.amc-dash-recent-info { flex: 1; min-width: 0; }
.amc-dash-recent-title { font-size: 13.5px; font-weight: 500; color: var(--d-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.amc-dash-recent-meta { font-size: 12px; color: var(--d-text-muted); margin-top: 2px; }
.amc-dash-recent-amount { font-size: 13.5px; font-weight: 600; color: #dc2626; flex-shrink: 0; }

/* Forfaits actifs */
.amc-dash-packs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.amc-dash-pack-card {
	background: var(--d-card-bg);
	border-radius: 12px;
	padding: 16px;
	box-shadow: var(--d-card-shadow);
}
.amc-dash-pack-expert { font-weight: 600; color: var(--d-primary); margin-bottom: 6px; font-size: 14.5px; }
.amc-dash-pack-info { font-size: 12.5px; color: var(--d-text-muted); margin-bottom: 10px; }
.amc-dash-pack-progress-wrap { background: #f3f4f6; height: 6px; border-radius: 3px; overflow: hidden; margin-bottom: 6px; }
.amc-dash-pack-progress-bar { height: 100%; background: linear-gradient(90deg, #0aa1a1, #14b8a6); transition: width .3s; }
.amc-dash-pack-stats { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--d-text-muted); }
.amc-dash-pack-stats strong { color: var(--d-text); font-weight: 600; }

/* Empty states */
.amc-dash-empty { padding: 30px 16px; text-align: center; color: var(--d-text-muted); background: var(--d-card-bg); border-radius: 12px; box-shadow: var(--d-card-shadow); }
.amc-dash-empty a { color: var(--d-primary); font-weight: 600; }

/* Responsive */
@media (max-width: 900px) {
	.amc-dash-hero { flex-direction: column; align-items: flex-start; text-align: left; }
	.amc-dash-hero-right { width: 100%; }
	.amc-dash-stats { grid-template-columns: 1fr; }
	.amc-dash-actions-grid { grid-template-columns: repeat(2, 1fr); }
	.amc-dash-cols { grid-template-columns: 1fr; }
	.amc-dash-experts-grid { grid-template-columns: repeat(2, 1fr); }
	.amc-dash-greeting { font-size: 22px; }
}
@media (max-width: 480px) {
	.amc-dash-experts-grid { grid-template-columns: 1fr; }
}
