/**
 * TMngO - Système d'Icônes Unicode
 * Version: 1.0
 * Date: 11 février 2026
 * 
 * Remplacement de Font Awesome par émojis Unicode natifs
 * Aucune dépendance externe requise
 * Fichier : 180 lignes
 */

/* ========================================
   BASE ICON CLASS
   ======================================== */

.tm-icon {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    vertical-align: middle;
    text-rendering: optimizeLegibility;
    
    /* Empêcher la sélection */
    user-select: none;
    -webkit-user-select: none;
}

/* ========================================
   ICON SIZES
   ======================================== */

.tm-icon-xs { font-size: 0.8rem; }
.tm-icon-sm { font-size: 1rem; }
.tm-icon-md { font-size: 1.2rem; }
.tm-icon-lg { font-size: 1.5rem; }
.tm-icon-xl { font-size: 2rem; }

/* ========================================
   ICON SPACING
   ======================================== */

.tm-icon-left {
    margin-right: var(--spacing-xs);
}

.tm-icon-right {
    margin-left: var(--spacing-xs);
}

/* ========================================
   NAVIGATION ICONS
   ======================================== */

[data-icon="microphone"]::before,
.tm-icon-microphone::before { 
    content: "🎙️"; 
}

[data-icon="history"]::before,
.tm-icon-history::before { 
    content: "📋"; 
}

[data-icon="user"]::before,
.tm-icon-user::before { 
    content: "👤"; 
}

[data-icon="settings"]::before,
.tm-icon-settings::before { 
    content: "⚙️"; 
}

[data-icon="admin"]::before,
.tm-icon-admin::before { 
    content: "🛡️"; 
}

[data-icon="help"]::before,
.tm-icon-help::before { 
    content: "❓"; 
}

[data-icon="logout"]::before,
.tm-icon-logout::before { 
    content: "🚪"; 
}

/* ========================================
   ACTION ICONS
   ======================================== */

[data-icon="play"]::before,
.tm-icon-play::before { 
    content: "▶️"; 
}

[data-icon="pause"]::before,
.tm-icon-pause::before { 
    content: "⏸️"; 
}

[data-icon="stop"]::before,
.tm-icon-stop::before { 
    content: "⏹️"; 
}

[data-icon="record"]::before,
.tm-icon-record::before { 
    content: "⏺️"; 
}

[data-icon="cancel"]::before,
.tm-icon-cancel::before { 
    content: "❌"; 
}

/* ========================================
   FILE ICONS
   ======================================== */

[data-icon="download"]::before,
.tm-icon-download::before { 
    content: "⬇️"; 
}

[data-icon="upload"]::before,
.tm-icon-upload::before { 
    content: "⬆️"; 
}

[data-icon="file"]::before,
.tm-icon-file::before { 
    content: "📄"; 
}

[data-icon="folder"]::before,
.tm-icon-folder::before { 
    content: "📁"; 
}

[data-icon="save"]::before,
.tm-icon-save::before { 
    content: "💾"; 
}

/* ========================================
   EDIT ICONS
   ======================================== */

[data-icon="edit"]::before,
.tm-icon-edit::before { 
    content: "✏️"; 
}

[data-icon="delete"]::before,
.tm-icon-delete::before { 
    content: "🗑️"; 
}

[data-icon="copy"]::before,
.tm-icon-copy::before { 
    content: "📋"; 
}

[data-icon="cut"]::before,
.tm-icon-cut::before { 
    content: "✂️"; 
}

/* ========================================
   STATUS ICONS
   ======================================== */

[data-icon="check"]::before,
.tm-icon-check::before { 
    content: "✅"; 
}

[data-icon="warning"]::before,
.tm-icon-warning::before { 
    content: "⚠️"; 
}

[data-icon="error"]::before,
.tm-icon-error::before { 
    content: "❌"; 
}

[data-icon="info"]::before,
.tm-icon-info::before { 
    content: "ℹ️"; 
}

[data-icon="success"]::before,
.tm-icon-success::before { 
    content: "✔️"; 
}

/* ========================================
   UTILITY ICONS
   ======================================== */

[data-icon="search"]::before,
.tm-icon-search::before { 
    content: "🔍"; 
}

[data-icon="filter"]::before,
.tm-icon-filter::before { 
    content: "🔽"; 
}

[data-icon="sort"]::before,
.tm-icon-sort::before { 
    content: "⇅"; 
}

[data-icon="refresh"]::before,
.tm-icon-refresh::before { 
    content: "🔄"; 
}

[data-icon="close"]::before,
.tm-icon-close::before { 
    content: "✖️"; 
}

[data-icon="menu"]::before,
.tm-icon-menu::before { 
    content: "☰"; 
}

/* ========================================
   ARROW ICONS
   ======================================== */

[data-icon="arrow-up"]::before,
.tm-icon-arrow-up::before { 
    content: "⬆️"; 
}

[data-icon="arrow-down"]::before,
.tm-icon-arrow-down::before { 
    content: "⬇️"; 
}

[data-icon="arrow-left"]::before,
.tm-icon-arrow-left::before { 
    content: "⬅️"; 
}

[data-icon="arrow-right"]::before,
.tm-icon-arrow-right::before { 
    content: "➡️"; 
}

[data-icon="chevron-down"]::before,
.tm-icon-chevron-down::before { 
    content: "▼"; 
}

[data-icon="chevron-up"]::before,
.tm-icon-chevron-up::before { 
    content: "▲"; 
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    /* Icônes légèrement plus petites sur mobile */
    .tm-icon { 
        font-size: 0.95em; 
    }
}
