// ============================================ // Dialog Employés - Styles // Structure 2 niveaux : Employés/Clients → sous-onglets par PC/client // ============================================ // Conteneur principal .dnc-employes-dialog { display: flex; flex-direction: column; gap: @spacing-md; padding: @spacing-lg; min-width: 640px; max-width: 90vw; max-height: 90vh; overflow-y: auto; .sheet-header { display: block; grid-template-columns: none; gap: normal; h1 { font-family: @font-display; font-size: 1.4rem; color: @color-accent; text-transform: uppercase; letter-spacing: 0.04em; margin: 0; text-align: center; } } } // Wrapper pour DialogV2 .dnc-employes-dialog-wrapper { .dialog-content, .window-content { padding: 0; } // Cacher le footer (bouton requis par l'API mais inutile visuellement) .dialog-footer { display: none; } } // ============================================ // Onglets racine (niveau 1) // ============================================ .dnc-root-tabs { display: flex; justify-content: center; gap: @spacing-md; border-bottom: 2px solid @color-border; padding-bottom: @spacing-sm; } .dnc-root-tab { border: 1px solid fade(@color-border, 55%); border-radius: @radius-md @radius-md 0 0; background: @color-panel-strong; color: @color-ink; font-size: 0.9rem; font-weight: 700; padding: @spacing-sm @spacing-lg; display: flex; align-items: center; gap: @spacing-xs; cursor: pointer; transition: all 0.2s ease; i { font-size: 0.9rem; } &.active { background: @color-accent; border-color: darken(@color-accent, 12%); color: #fff; box-shadow: 0 -3px 8px fade(@color-shadow, 20%); position: relative; bottom: -2px; } &:hover:not(.active) { background: fade(@color-panel-strong, 120%); border-color: fade(@color-border, 75%); } } // Panneaux racine .dnc-root-panels { position: relative; } .dnc-root-panel { display: none; &.active { display: block; } } // ============================================ // Sous-onglets (niveau 2 — par PC ou client) // ============================================ .dnc-pc-tabs { display: flex; gap: @spacing-xs; flex-wrap: wrap; padding: @spacing-sm 0; border-bottom: 1px solid fade(@color-border, 40%); margin-bottom: @spacing-md; } .dnc-pc-tab { border: 1px solid fade(@color-border, 45%); border-radius: @radius-sm; background: rgba(255, 255, 255, 0.5); color: @color-muted; font-size: 0.82rem; font-weight: 600; padding: @spacing-xs @spacing-md; cursor: pointer; transition: all 0.15s ease; white-space: nowrap; &.active { background: @color-accent; border-color: darken(@color-accent, 10%); color: #fff; font-weight: 700; } &:hover:not(.active) { background: fade(@color-panel-strong, 110%); color: @color-ink; } } // Panneaux par PC / client .dnc-pc-panels { position: relative; } .dnc-pc-panel, .dnc-client-panel { display: none; &.active { display: block; } } // ============================================ // Fiche compacte par employé (3 sections) // ============================================ .dnc-compact-section { padding: @spacing-md; margin-bottom: @spacing-sm; border: 1px solid fade(@color-border, 40%); border-radius: @radius-md; background: @color-panel; & + .dnc-compact-section { margin-top: @spacing-sm; } } .dnc-compact-section-title { font-family: @font-display; font-size: 0.9rem; font-weight: 700; color: @color-accent; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 @spacing-sm; display: flex; align-items: center; gap: @spacing-xs; border-bottom: 1px solid fade(@color-border, 35%); padding-bottom: @spacing-xs; i { font-size: 0.85rem; } } .dnc-compact-concept { font-size: 0.8rem; color: @color-muted; font-style: italic; margin: @spacing-xs 0 0; } // Grille de caractéristiques compacte .dnc-compact-carac-grid { display: flex; flex-wrap: wrap; gap: @spacing-sm; } .dnc-carac-stat { display: flex; flex-direction: column; align-items: center; min-width: 48px; background: rgba(255, 255, 255, 0.6); border: 1px solid fade(@color-border, 40%); border-radius: @radius-sm; padding: @spacing-xs @spacing-sm; } .dnc-carac-label { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.04em; color: @color-muted; font-weight: 700; } .dnc-carac-value { font-size: 1rem; font-weight: 700; color: @color-ink; &.warning { color: @color-failure; } } // Combat stats badges .dnc-compact-combat-stats { display: flex; gap: @spacing-sm; flex-wrap: wrap; margin-bottom: @spacing-sm; } .dnc-combat-badge { font-size: 0.82rem; padding: @spacing-xs @spacing-sm; background: @color-panel-strong; border: 1px solid fade(@color-border, 40%); border-radius: @radius-sm; color: @color-ink; } // Listes d'items compactes .dnc-compact-item-list { margin-top: @spacing-sm; } .dnc-compact-subhead { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: @color-muted; margin: 0 0 @spacing-xs; display: flex; align-items: center; gap: @spacing-xs; i { color: @color-accent; } } .dnc-compact-item { display: flex; flex-wrap: wrap; align-items: center; gap: @spacing-xs; padding: @spacing-xs 0; border-top: 1px dashed fade(@color-border, 35%); font-size: 0.85rem; &:first-of-type { border-top: 0; } } .dnc-compact-item-name { font-weight: 600; color: @color-ink; } .dnc-compact-item-detail { font-size: 0.78rem; color: @color-muted; background: rgba(255, 255, 255, 0.5); border-radius: @radius-sm; padding: 0.05rem 0.3rem; } // Stats magie compactes .dnc-compact-magic-stats { display: flex; flex-wrap: wrap; gap: @spacing-sm; margin-bottom: @spacing-sm; } // Réutilisation de .item-meta pour les badges de sortilège/capacité .item-meta { border-radius: 999px; background: @color-panel-strong; color: @color-ink; font-size: 0.75rem; padding: 0.1rem 0.5rem; } // ============================================ // Fiche client dans sous-panneau // ============================================ .client-summary { margin: @spacing-sm 0 0; color: @color-ink; font-size: 0.9rem; line-height: 1.45; } .client-description { margin-top: @spacing-md; padding-top: @spacing-md; border-top: 1px solid fade(@color-border, 45%); p { margin: 0; color: @color-muted; font-size: 0.85rem; line-height: 1.5; } } // ============================================ // Roll buttons dans vue clients // ============================================ .dnc-roll-btn { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.1rem 0.5rem; font-size: 0.78rem; font-family: @font-body; color: @color-ink; background: @color-panel-strong; border: 1px solid fade(@color-border, 60%); border-radius: @radius-sm; cursor: pointer; transition: background 0.15s; i { font-size: 0.7rem; color: @color-accent; } &:hover { background: @color-accent; color: #fff; border-color: @color-accent; i { color: #fff; } } } .dnc-carac-rollable { cursor: pointer; transition: background 0.15s; border-radius: @radius-sm; position: relative; &:hover { background: fade(@color-accent, 18%); .dnc-carac-label { color: @color-accent; } } } // Bouton ouvrir fiche dans les titres de section .dnc-compact-section-title { display: flex; align-items: center; gap: 0.4rem; .dnc-open-sheet-btn { margin-left: auto; background: none; border: 1px solid fade(@color-border, 50%); border-radius: @radius-sm; color: @color-muted; cursor: pointer; font-size: 0.7rem; padding: 0.1rem 0.35rem; line-height: 1; transition: color 0.15s, border-color 0.15s; &:hover { color: @color-accent; border-color: @color-accent; } } }