@import url('../css dashboard/global.css');

/* ═══════════════════════════════════════════════════
   DASHBOARD — Styles spécifiques
═══════════════════════════════════════════════════ */

/* Cartes de services */
.service-card {
    opacity: 0; transform: translateY(18px);
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.22s ease, border-color 0.22s ease;
    will-change: transform;
}
.service-card.visible { opacity: 1; transform: translateY(0); }
.service-card.visible:hover { transform: translateY(-5px) scale(1.015); box-shadow: 0 20px 40px -10px rgba(99,102,241,.18); }

/* Cartes de stats */
.stat-card { opacity: 0; transform: translateY(14px); transition: opacity 0.35s ease, transform 0.35s ease, box-shadow 0.2s ease; }
.stat-card.visible { opacity: 1; transform: translateY(0); }
.stat-card.visible:hover { transform: translateY(-3px); }

/* Vues */
.list-view .service-card { display: flex !important; flex-direction: row !important; align-items: center !important; padding: 1.25rem 1.5rem !important; gap: 1.25rem !important; }
.list-view .service-card .service-content { flex-grow: 1; display: flex; align-items: center; gap: 2rem; }
.list-view .service-card .service-info    { flex-grow: 1; }
.list-view .service-card .service-actions { flex-shrink: 0; }
.list-view .service-card h3               { font-size: 1rem !important; margin-bottom: 0 !important; }
.list-view .service-card .service-date    { margin-bottom: 0 !important; }
.list-view .service-card .flex-wrap       { display: none !important; }
.compact-view .service-card               { padding: 1rem !important; }
.compact-view .service-card .service-icon { width: 2.5rem !important; height: 2.5rem !important; font-size: 1.1rem !important; }
.compact-view .service-card h3            { font-size: .9rem !important; }

/* Favoris */
.favorite-star { transition: all .2s ease; cursor: pointer; }
.favorite-star:hover { transform: scale(1.25); }
@keyframes starPop { 0%{transform:scale(1)} 40%{transform:scale(1.6) rotate(-8deg)} 70%{transform:scale(.9) rotate(4deg)} 100%{transform:scale(1)} }
.star-pop { animation: starPop 0.4s cubic-bezier(0.34,1.56,0.64,1); }

/* Command Palette */
#commandPalette { display: none; }
#commandPalette.open { display: flex; animation: cpIn 0.2s cubic-bezier(0.34,1.56,0.64,1); }
@keyframes cpIn { from{opacity:0;transform:translateY(-16px) scale(.97)} to{opacity:1;transform:translateY(0) scale(1)} }

/* FAB */
#fabToggle { width: 56px; height: 56px; border-radius: 50%; box-shadow: 0 8px 24px rgba(99,102,241,.4); transition: transform .3s cubic-bezier(0.34,1.56,0.64,1), box-shadow .2s; }
#fabToggle:hover  { transform: scale(1.1); box-shadow: 0 12px 32px rgba(99,102,241,.5); }
#fabToggle.active { transform: rotate(45deg); }
.fab-item { opacity: 0; transform: scale(0.5) translateY(10px); transition: opacity .2s ease, transform .2s cubic-bezier(0.34,1.56,0.64,1); pointer-events: none; }
.fab-item.visible { opacity: 1; transform: scale(1) translateY(0); pointer-events: all; }

/* Focus mode */
body.focus-mode .activity-section,
body.focus-mode .stat-section { display: none !important; }
body.focus-mode .service-card[data-service-status="inactif"] { display: none !important; }

/* Quick stats */
.quick-stat-item {
    background: linear-gradient(135deg, rgba(99,102,241,0.05), rgba(168,85,247,0.05));
    border: 1px solid rgba(99,102,241,0.1);
    transition: all 0.3s ease;
}
.quick-stat-item:hover { transform: translateY(-2px); border-color: rgba(99,102,241,0.3); box-shadow: 0 8px 16px rgba(99,102,241,0.1); }

/* Avatar */
#userAvatarBtn:hover .avatar-edit-overlay { opacity: 1; }
.avatar-edit-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.35); border-radius: 0.75rem; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .2s; pointer-events: none; }

/* Profile modal */
#profileModal .modal-inner { animation: modalSlideUp 0.3s cubic-bezier(0.34,1.56,0.64,1); }
@keyframes modalSlideUp { from{opacity:0;transform:translateY(24px) scale(.97)} to{opacity:1;transform:translateY(0) scale(1)} }

.img-tab-active-indigo { background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.08); color: #6366f1; }
.img-tab-active-purple { background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.08); color: #a855f7; }
.drop-zone-hover { border-color: #6366f1 !important; background: #eef2ff !important; }

/* Activité */
.activity-item { opacity: 0; transform: translateX(-10px); animation: slideRight .35s ease forwards; }
@keyframes slideRight { to{opacity:1;transform:translateX(0)} }

/* Alert banner */
.alert-banner { animation: slideDown .4s cubic-bezier(0.34,1.56,0.64,1); }
@keyframes slideDown { from{transform:translateY(-100%);opacity:0} to{transform:translateY(0);opacity:1} }

/* Wave */
@keyframes wave { 0%,100%{transform:rotate(0)} 25%{transform:rotate(-15deg)} 75%{transform:rotate(15deg)} }
.animate-wave { animation: wave 2s infinite; transform-origin: bottom right; }

/* Shortcut panel */
#shortcutPanel { display: none; }
#shortcutPanel.open { display: flex; animation: fadeIn .18s ease-out; }

/* Delta logo */
.delta-logo { width: 32px; height: 32px; position: relative; flex-shrink: 0; }
.delta-logo svg { width: 100%; height: 100%; filter: drop-shadow(0 2px 8px rgba(99,102,241,0.3)); }
