/*
 * Projet          : MageKorp Hub
 * Fichier         : public/assets/css/components.css
 * Rôle            : Composants partagés
 * Auteur          : Régis KREMER
 * Version fichier : 2.0.0
 * Version générale: 0.23.0
 * Lot             : MAGEKORP HUB OPERATIONS DASHBOARD NOTIFICATIONS1
 * Base requise    : MageKorp Hub 0.23.0
 * Créé le         : 2026-07-23
 * Modifié le      : 2026-07-24
 * Contraintes     : CSP stricte, responsive, accessibilité WCAG 2.2 AA
 */
@layer components {
.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;min-height:2.75rem}.brand__mark{flex:none}.brand__name{font-weight:900;font-size:1.18rem;letter-spacing:-.04em;color:var(--text-strong)}.brand__name span{color:var(--orange-500)}.brand--inverse .brand__name{color:#fff}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.75rem;padding:.62rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--type-sm);font-weight:800;text-decoration:none;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast),transform var(--duration-fast)}.button:hover{transform:translateY(-1px)}.button:active{transform:none}.button--large{min-height:3rem;padding-inline:1.25rem}.button--primary{background:var(--action-primary);color:var(--text-on-primary,#fff)}.button--primary:hover{background:var(--action-primary-hover)}.button--accent{background:var(--action-accent);color:var(--text-on-accent,#fff)}.button--accent:hover{background:var(--action-accent-hover)}.button--outline,.button--quiet{border-color:var(--border-strong);background:transparent;color:var(--text-strong)}.button--outline:hover,.button--quiet:hover{background:var(--surface-2);border-color:var(--action-primary)}.button--inverse{border-color:#647890;background:rgb(3 15 31 / .48);color:#fff}.button--inverse:hover{background:rgb(255 255 255 / .1);border-color:#fff}
.icon-button{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.icon-button:hover{background:var(--surface-2);background:color-mix(in srgb,var(--surface-2) 88%,transparent);border-color:var(--border)}
.theme-icon--light{display:none}:root[data-theme="dark"] .theme-icon--light{display:block}:root[data-theme="dark"] .theme-icon--dark{display:none}@media(prefers-color-scheme:dark){:root[data-theme="system"] .theme-icon--light{display:block}:root[data-theme="system"] .theme-icon--dark{display:none}}
.button-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.text-link{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;color:var(--action-primary);font-size:var(--type-sm);font-weight:800;padding:.4rem 0;cursor:pointer;text-decoration:none}.text-link:hover{text-decoration:underline}.text-link--small{font-size:var(--type-xs)}
.badge{display:inline-flex;align-items:center;min-height:1.45rem;padding:.18rem .5rem;border-radius:999px;font-size:.68rem;line-height:1;font-weight:800;white-space:nowrap}.badge--stable{background:var(--green-100);color:var(--green-700)}.badge--beta{background:var(--yellow-100);color:var(--yellow-700)}.badge--warning{background:var(--red-100);color:var(--red-700)}.version-chip{display:inline-flex;align-items:center;min-height:1.45rem;padding:.18rem .5rem;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.68rem;font-weight:700;white-space:nowrap}
.toast{position:fixed;z-index:var(--z-toast);inset-inline-end:max(1rem,env(safe-area-inset-right));inset-block-end:max(1rem,env(safe-area-inset-bottom));width:min(26rem,calc(100% - 2rem));padding:.85rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-strong);box-shadow:var(--shadow-lg);font-size:var(--type-sm);font-weight:700}.toast.is-visible{animation:toast-in var(--duration) var(--ease)}@keyframes toast-in{from{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}
.progress{height:.35rem;border-radius:999px;background:var(--border);overflow:hidden;margin-block-start:.7rem}.progress span{display:block;height:100%;background:var(--action-primary);border-radius:inherit}.progress__value--51{width:51%}
}

/* Problèmes connus publics — lot 0.23.0 */
.product-known-issues{padding:clamp(3rem,7vw,7rem) var(--page-gutter);background:color-mix(in srgb,var(--surface-subtle) 88%,#fff)}.product-known-issues__list{display:grid;gap:.8rem;max-width:var(--content-max);margin:2rem auto 0}.product-known-issue{position:relative;padding:1.2rem 1.25rem 1.25rem 1.5rem;border:1px solid var(--line);background:var(--surface)}.product-known-issue::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--known-color,var(--accent))}.product-known-issue--critical{--known-color:#d12f3e}.product-known-issue--major{--known-color:#d46b00}.product-known-issue--minor{--known-color:#2563eb}.product-known-issue--info{--known-color:#14806c}.product-known-issue header{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.product-known-issue header span{color:var(--known-color);font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.product-known-issue header strong{color:var(--text-strong);font-size:1rem}.product-known-issue>p,.product-known-issue>div p{margin-top:.65rem;color:var(--text);font-size:.86rem;line-height:1.65}.product-known-issue dl{display:flex;gap:.5rem;margin:.8rem 0 0}.product-known-issue dt{color:var(--text-muted);font-size:.7rem;font-weight:800}.product-known-issue dd{margin:0;color:var(--text-strong);font-size:.72rem}.product-known-issue>div{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line)}.product-known-issue h3{font-size:.78rem}
