/*!
 * 7DevDashboard — feuille de style de l'espace de gestion.
 * Toutes les couleurs, polices, arrondis et ombres passent par des variables
 * CSS (--sdd-*) générées par le Theme Builder. Surchargez-les dans votre
 * thème, dans Elementor (CSS personnalisé) ou via les contrôles de style
 * des widgets Elementor.
 */

/* ============================================================ Valeurs par défaut
   :where() garde une spécificité nulle : les variables du Theme Builder
   (imprimées après cette feuille) et celles d'Elementor l'emportent toujours. */
:where(:root) {
	--sdd-accent: #A6422B;
	--sdd-accent-strong: #823320;
	--sdd-accent-soft: rgba(166, 66, 43, .12);
	--sdd-accent-contrast: #FFFFFF;
	--sdd-bg: #F5F1EA;
	--sdd-surface: #FFFFFF;
	--sdd-surface-2: #FAF8F4;
	--sdd-text: #1D1C1A;
	--sdd-muted: #6B655C;
	--sdd-line: #E4DDD1;
	--sdd-line-soft: #EFEAE2;
	--sdd-sidebar-bg: #1C1B18;
	--sdd-sidebar-text: #E9E4DA;
	--sdd-sidebar-active-bg: rgba(255, 255, 255, .08);
	--sdd-sidebar-active: #FFFFFF;
	--sdd-sidebar-muted: #8C867B;
	--sdd-sidebar-panel: rgba(255, 255, 255, .05);
	--sdd-sidebar-border: 0;
	--sdd-header-bg: #FAF8F4;
	--sdd-header-border: #E4DDD1;
	--sdd-font-display: "Fraunces", Georgia, "Times New Roman", serif;
	--sdd-font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--sdd-radius: 12px;
	--sdd-radius-sm: 8px;
	--sdd-radius-lg: 18px;
	--sdd-shadow: 0 1px 2px rgba(29, 28, 26, .04), 0 6px 20px rgba(29, 28, 26, .05);
	--sdd-card-border: 1px solid #E4DDD1;
	--sdd-btn-bg: var(--sdd-accent);
	--sdd-btn-color: #FFFFFF;
	--sdd-btn-border: var(--sdd-accent);
	--sdd-menu-h: 40px;
	--sdd-menu-icon: inline-flex;
	--sdd-login-bg: #1C1B18;
	--sdd-ink: var(--sdd-text);          /* fonds sombres volontaires (carte ventes, notifications) */
	--sdd-ink-text: var(--sdd-surface);

	/* Pastilles de statut (non exposées au Theme Builder mais surchargeables). */
	--sdd-ok-bg: #E2EADF;     --sdd-ok: #2F4A35;
	--sdd-info-bg: #DEE6EE;   --sdd-info: #2B4763;
	--sdd-warn-bg: #F6EAD0;   --sdd-warn: #6E4708;
	--sdd-hold-bg: #EDE4F1;   --sdd-hold: #5B3E6B;
	--sdd-muted-bg: #ECE8E1;  --sdd-muted-pill: #4F4A42;
	--sdd-danger-bg: #F3E3DC; --sdd-danger: #8A3522;

	--sdd-sidebar-w: 256px;
	--sdd-header-h: 64px;
	--sdd-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ============================================================ Base & isolation
   Les thèmes et Elementor stylent souvent button, input, a, table… On remet
   à plat ces éléments à l'intérieur de .sdd-root seulement. */
.sdd-root,
.sdd-root *,
.sdd-root *::before,
.sdd-root *::after { box-sizing: border-box; }

.sdd-root {
	font-family: var(--sdd-font-body);
	font-size: 14px;
	line-height: 1.5;
	color: var(--sdd-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-align: left;
	letter-spacing: normal;
}
.sdd-root :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote, address) { margin: 0; padding: 0; }
.sdd-root :where(ul, ol) { list-style: none; }
.sdd-root :where(h1, h2, h3, h4) { color: inherit; font-weight: 600; text-transform: none; letter-spacing: normal; line-height: 1.2; }
.sdd-root :where(a) { color: inherit; text-decoration: none; box-shadow: none; }
.sdd-root :where(img, svg) { max-width: 100%; display: block; }
.sdd-root :where(address) { font-style: normal; }
.sdd-root :where(button, input, select, textarea) { font: inherit; color: inherit; margin: 0; letter-spacing: normal; text-transform: none; }
.sdd-root :where(button) { background: none; border: 0; padding: 0; cursor: pointer; box-shadow: none; min-height: 0; line-height: inherit; }
.sdd-root :where(table) { border-collapse: collapse; width: 100%; margin: 0; border: 0; }
.sdd-root :where(th, td) { border: 0; background: none; }
.sdd-root :where(code, pre, kbd) { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; }
.sdd-root :where([hidden]) { display: none !important; }
.sdd-root :focus-visible { outline: 2px solid var(--sdd-accent); outline-offset: 2px; border-radius: 4px; }

html.sdd-lock, html.sdd-lock body { overflow: hidden; }

body.sdd-fullscreen { margin: 0; background: var(--sdd-bg); }
/* Jamais de défilement horizontal de la page plein écran (les tableaux défilent dans leur propre cadre).
   clip, et non hidden : pas de conteneur de défilement, les en-têtes « sticky » restent fonctionnels. */
html:has(> body.sdd-fullscreen), body.sdd-fullscreen { overflow-x: clip; }
.sdd-page { min-height: 100vh; min-height: 100dvh; background: var(--sdd-bg); }

/* ============================================================ Typographie */
.sdd-display { font-family: var(--sdd-font-display); font-weight: 500; letter-spacing: -.01em; font-variation-settings: "opsz" 72; }
.sdd-root .sdd-h1 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.15; }
.sdd-root .sdd-h2 { font-size: 20px; line-height: 1.25; }
.sdd-root .sdd-h3 { font-size: 18px; line-height: 1.3; }
.sdd-sub { color: var(--sdd-muted); margin-top: 4px; font-size: 14.5px; }
.sdd-lead { font-size: 15px; color: var(--sdd-text); line-height: 1.6; }
.sdd-muted { color: var(--sdd-muted); }
.sdd-small { font-size: 12.5px; }
.sdd-strong { font-weight: 650; }
.sdd-mono { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 12.5px; }
.sdd-nowrap { white-space: nowrap; }
.sdd-center { text-align: center !important; }
.sdd-num { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sdd-cell-sub { display: block; color: var(--sdd-muted); font-size: 12.5px; font-weight: 400; margin-top: 1px; }
.sdd-help { color: var(--sdd-muted); font-size: 12.5px; line-height: 1.5; }
.sdd-root .sdd-link { color: var(--sdd-accent); font-weight: 600; font-size: 13.5px; }
.sdd-root .sdd-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.sdd-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.sdd-kbd { font-size: 11px; padding: 2px 6px; border: 1px solid var(--sdd-line); border-radius: 5px; color: var(--sdd-muted); background: var(--sdd-surface); line-height: 1.4; }
.sdd-code-inline { font-size: 12.5px; padding: 2px 6px; border-radius: 5px; background: var(--sdd-surface-2); border: 1px solid var(--sdd-line-soft); color: var(--sdd-text); white-space: nowrap; }
.sdd-root .sdd-code {
	margin: 0; padding: 14px 16px; border-radius: var(--sdd-radius-sm);
	background: #1D1C1A; color: #EDE7DC; font-size: 12.5px; line-height: 1.65;
	overflow: auto; max-height: 320px; max-width: 100%; white-space: pre; tab-size: 2; border: 0;
}

/* ============================================================ Utilitaires de mise en page */
.sdd-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.sdd-row--wrap { flex-wrap: wrap; }
.sdd-row--gap-lg { gap: 16px; }
.sdd-row-between { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.sdd-stack { display: flex; flex-direction: column; gap: 16px; }
.sdd-stack-sm { display: flex; flex-direction: column; gap: 6px; }
.sdd-stack-lg { display: flex; flex-direction: column; gap: 28px; }
.sdd-grid-2, .sdd-grid-3, .sdd-grid-4 { display: grid; gap: 16px; align-items: end; }
.sdd-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sdd-grid-2--top { align-items: start; }
.sdd-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.sdd-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sdd-block { display: flex; flex-direction: column; gap: 14px; }
.sdd-actions { display: flex; align-items: center; gap: 2px; justify-content: flex-end; }
.sdd-ic { flex: none; }

/* ============================================================ Boutons */
.sdd-root .sdd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	height: 38px; padding: 0 15px; border-radius: var(--sdd-radius-sm);
	border: 1px solid var(--sdd-line); background: var(--sdd-surface); color: var(--sdd-text);
	font-weight: 600; font-size: 13.5px; line-height: 1; white-space: nowrap; text-decoration: none;
	cursor: pointer; transition: background .15s, border-color .15s, color .15s, transform .1s, box-shadow .15s;
}
.sdd-root .sdd-btn:hover { border-color: color-mix(in srgb, var(--sdd-text) 22%, var(--sdd-line)); background: var(--sdd-surface-2); color: var(--sdd-text); }
.sdd-root .sdd-btn:active { transform: translateY(1px); }
.sdd-root .sdd-btn:disabled, .sdd-root .sdd-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; transform: none; }
.sdd-root .sdd-btn--primary { background: var(--sdd-btn-bg); color: var(--sdd-btn-color); border-color: var(--sdd-btn-border); }
.sdd-root .sdd-btn--primary:hover { background: var(--sdd-accent-strong); border-color: var(--sdd-accent-strong); color: var(--sdd-accent-contrast); }
.sdd-root .sdd-btn--danger { background: var(--sdd-danger); color: #fff; border-color: var(--sdd-danger); }
.sdd-root .sdd-btn--danger:hover { background: #6E2A1B; border-color: #6E2A1B; color: #fff; }
.sdd-root .sdd-btn--ghost { background: transparent; border-color: transparent; }
.sdd-root .sdd-btn--ghost:hover { background: color-mix(in srgb, var(--sdd-text) 6%, transparent); border-color: transparent; }
.sdd-root .sdd-btn--danger-ghost { color: var(--sdd-danger); }
.sdd-root .sdd-btn--danger-ghost:hover { background: var(--sdd-danger-bg); color: var(--sdd-danger); }
.sdd-root .sdd-btn--sm { height: 32px; padding: 0 11px; font-size: 13px; gap: 5px; }
.sdd-root .sdd-btn--lg { height: 48px; padding: 0 22px; font-size: 15px; border-radius: var(--sdd-radius); }
.sdd-root .sdd-btn--block { display: flex; width: 100%; }
.sdd-root .sdd-btn--icon { width: 38px; padding: 0; }
.sdd-root .sdd-btn--icon.sdd-btn--sm { width: 32px; }

/* ============================================================ Champs */
.sdd-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sdd-field--end { justify-content: flex-end; min-height: 100%; padding-bottom: 8px; }
.sdd-root .sdd-label { font-size: 12.5px; font-weight: 650; color: var(--sdd-text); letter-spacing: .01em; }
.sdd-root .sdd-input,
.sdd-root .sdd-select,
.sdd-root .sdd-textarea {
	width: 100%; height: 40px; padding: 0 12px; border-radius: var(--sdd-radius-sm);
	border: 1px solid var(--sdd-line); background: var(--sdd-surface); color: var(--sdd-text);
	font-size: 14px; line-height: 1.4; box-shadow: none; outline: none;
	transition: border-color .15s, box-shadow .15s; appearance: none; -webkit-appearance: none;
}
.sdd-root .sdd-textarea { height: auto; padding: 10px 12px; resize: vertical; min-height: 84px; line-height: 1.55; }
.sdd-root .sdd-input::placeholder, .sdd-root .sdd-textarea::placeholder { color: color-mix(in srgb, var(--sdd-muted) 75%, transparent); }
.sdd-root .sdd-input:focus, .sdd-root .sdd-select:focus, .sdd-root .sdd-textarea:focus {
	border-color: var(--sdd-accent); box-shadow: 0 0 0 3px var(--sdd-accent-soft);
}
.sdd-root .sdd-input[readonly], .sdd-root .sdd-input:disabled, .sdd-root .sdd-select:disabled { background: var(--sdd-surface-2); color: var(--sdd-muted); }
.sdd-root .sdd-select {
	padding-right: 34px; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B655C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 12px center;
}
.sdd-root .sdd-input--lg { height: 48px; font-size: 15px; padding: 0 14px; border-radius: var(--sdd-radius); }
.sdd-root .sdd-input--sm, .sdd-root .sdd-select--sm { height: 32px; font-size: 13px; padding: 0 9px; }
.sdd-root .sdd-select--sm { padding-right: 28px; background-position: right 9px center; }
.sdd-root .sdd-input--num { text-align: right; font-variant-numeric: tabular-nums; max-width: 110px; }
.sdd-root .sdd-input--qty { width: 72px; text-align: center; }
.sdd-root input[type="datetime-local"].sdd-input { padding-right: 8px; }
.sdd-root input[type="range"] { width: 100%; accent-color: var(--sdd-accent); height: 24px; }

.sdd-inputicon { position: relative; display: flex; align-items: center; min-width: 220px; flex: 1 1 260px; max-width: 380px; }
.sdd-inputicon > .sdd-ic { position: absolute; left: 12px; color: var(--sdd-muted); pointer-events: none; }
.sdd-root .sdd-inputicon .sdd-input { padding-left: 36px; }

.sdd-affix { display: flex; align-items: stretch; }
.sdd-root .sdd-affix .sdd-input { border-top-right-radius: 0; border-bottom-right-radius: 0; text-align: right; }
.sdd-affix__text { display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--sdd-line); border-left: 0; border-radius: 0 var(--sdd-radius-sm) var(--sdd-radius-sm) 0; background: var(--sdd-surface-2); color: var(--sdd-muted); font-size: 13px; white-space: nowrap; }

.sdd-root .sdd-title-input {
	width: 100%; border: 0; background: transparent; padding: 4px 0; outline: none; box-shadow: none;
	font-size: clamp(24px, 2.6vw, 34px); line-height: 1.2; color: var(--sdd-text);
}
.sdd-root .sdd-title-input::placeholder { color: color-mix(in srgb, var(--sdd-muted) 60%, transparent); }

.sdd-root .sdd-check { display: flex; align-items: center; gap: 9px; cursor: pointer; font-size: 14px; padding: 3px 0; line-height: 1.35; }
.sdd-root .sdd-check input, .sdd-root .sdd-cb { width: 17px; height: 17px; margin: 0; accent-color: var(--sdd-accent); cursor: pointer; flex: none; }
.sdd-root .sdd-cb--lg { width: 20px; height: 20px; }

.sdd-root .sdd-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14px; position: relative; user-select: none; }
.sdd-root .sdd-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sdd-switch__track { width: 36px; height: 21px; border-radius: 999px; background: var(--sdd-line); position: relative; flex: none; transition: background .2s; }
.sdd-switch__track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: transform .2s var(--sdd-ease); }
.sdd-switch input:checked + .sdd-switch__track { background: var(--sdd-accent); }
.sdd-switch input:checked + .sdd-switch__track::after { transform: translateX(15px); }
.sdd-switch input:focus-visible + .sdd-switch__track { outline: 2px solid var(--sdd-accent); outline-offset: 2px; }
.sdd-switch--solo { gap: 0; }

.sdd-password { position: relative; }
.sdd-root .sdd-password .sdd-input { padding-right: 96px; }
.sdd-root .sdd-password__toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border-color: transparent; background: var(--sdd-surface-2); }

/* ============================================================ Pastilles, avatars, vignettes */
.sdd-pill {
	display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px;
	border-radius: 999px; font-size: 12px; font-weight: 650; white-space: nowrap; line-height: 1;
	background: var(--sdd-muted-bg); color: var(--sdd-muted-pill);
}
.sdd-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .75; }
.sdd-pill--ok { background: var(--sdd-ok-bg); color: var(--sdd-ok); }
.sdd-pill--info { background: var(--sdd-info-bg); color: var(--sdd-info); }
.sdd-pill--warn { background: var(--sdd-warn-bg); color: var(--sdd-warn); }
.sdd-pill--hold { background: var(--sdd-hold-bg); color: var(--sdd-hold); }
.sdd-pill--danger { background: var(--sdd-danger-bg); color: var(--sdd-danger); }
.sdd-pill--muted { background: var(--sdd-muted-bg); color: var(--sdd-muted-pill); }

.sdd-delta { display: inline-flex; align-items: center; padding: 2px 7px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.3; }
.sdd-delta.is-up { background: var(--sdd-ok-bg); color: var(--sdd-ok); }
.sdd-delta.is-down { background: var(--sdd-danger-bg); color: var(--sdd-danger); }

.sdd-avatar {
	width: 30px; height: 30px; border-radius: 50%; flex: none; display: inline-grid; place-items: center;
	background: var(--sdd-accent-soft); color: var(--sdd-accent-strong); font-size: 11.5px; font-weight: 700; letter-spacing: .02em; object-fit: cover;
}
.sdd-avatar--lg { width: 44px; height: 44px; font-size: 15px; }
.sdd-person { display: inline-flex; align-items: center; gap: 9px; min-width: 0; }
.sdd-person--lg { gap: 12px; }

.sdd-thumb { width: 40px; height: 40px; border-radius: var(--sdd-radius-sm); overflow: hidden; flex: none; display: inline-grid; place-items: center; background: var(--sdd-surface-2); }
.sdd-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sdd-thumb--empty span { font-family: var(--sdd-font-display); font-size: 17px; font-weight: 600; }
.sdd-thumb--sm { width: 32px; height: 32px; }
.sdd-thumb--sm.sdd-thumb--empty span { font-size: 14px; }
.sdd-thumb--lg { width: 64px; height: 64px; }
.sdd-thumb--lg.sdd-thumb--empty span { font-size: 24px; }
.sdd-thumb--fill { width: 100%; height: 100%; border-radius: 0; }
.sdd-thumb--fill.sdd-thumb--empty span { font-size: 42px; }

.sdd-mark {
	width: 34px; height: 34px; border-radius: 9px; flex: none; display: inline-grid; place-items: center;
	background: var(--sdd-accent); color: var(--sdd-accent-contrast); font-family: var(--sdd-font-display); font-size: 18px; font-weight: 600; line-height: 1;
}
.sdd-mark--sm { width: 24px; height: 24px; border-radius: 6px; font-size: 13px; }

/* ============================================================ Cartes & en-têtes */
.sdd-card {
	display: block; background: var(--sdd-surface); border: var(--sdd-card-border);
	border-radius: var(--sdd-radius); box-shadow: var(--sdd-shadow); min-width: 0;
}
.sdd-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px 0; flex-wrap: wrap; }
.sdd-root .sdd-card__title { font-family: var(--sdd-font-display); font-size: 17px; font-weight: 500; letter-spacing: -.005em; }
.sdd-card__body { padding: 16px 20px 20px; min-width: 0; }
/* Espacement vertical entre blocs successifs d’une carte (hors mises en page flex). */
.sdd-card__body:not(.sdd-stack):not(.sdd-row):not(.sdd-row-between) > * + *:not(.sdd-table-wrap) { margin-top: 16px; }
.sdd-card__foot { padding: 14px 20px; border-top: 1px solid var(--sdd-line-soft); background: var(--sdd-surface-2); border-radius: 0 0 var(--sdd-radius) var(--sdd-radius); }
.sdd-card > .sdd-table-wrap:first-child { border-radius: var(--sdd-radius); }
.sdd-card__body > .sdd-table-wrap { margin: -4px -20px -20px; }

.sdd-pagehead { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.sdd-pagehead__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.sdd-pagehead__text { min-width: 0; }
.sdd-pagehead__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sdd-root .sdd-back { display: inline-flex; align-items: center; gap: 4px; color: var(--sdd-muted); font-size: 13px; font-weight: 600; width: fit-content; }
.sdd-root .sdd-back:hover { color: var(--sdd-text); }
.sdd-widget-head { margin-bottom: 14px; }

/* Onglets, segments, filtres */
.sdd-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--sdd-line); margin-bottom: 16px; overflow-x: auto; scrollbar-width: none; }
.sdd-tabs::-webkit-scrollbar { display: none; }
.sdd-root .sdd-tab { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 10px 12px 12px; font-weight: 600; font-size: 13.5px; color: var(--sdd-muted); white-space: nowrap; }
.sdd-root .sdd-tab:hover { color: var(--sdd-text); }
.sdd-root .sdd-tab.is-active { color: var(--sdd-text); }
.sdd-root .sdd-tab.is-active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 2px; border-radius: 2px; background: var(--sdd-accent); }
.sdd-tab__count { font-size: 11.5px; font-weight: 700; padding: 1px 7px; border-radius: 999px; background: var(--sdd-muted-bg); color: var(--sdd-muted-pill); }
.is-active > .sdd-tab__count { background: var(--sdd-accent-soft); color: var(--sdd-accent-strong); }

.sdd-seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: calc(var(--sdd-radius-sm) + 3px); background: color-mix(in srgb, var(--sdd-text) 6%, var(--sdd-surface)); border: 1px solid var(--sdd-line-soft); flex-wrap: wrap; width: fit-content; }
.sdd-root .sdd-seg__btn { height: 30px; padding: 0 12px; border-radius: var(--sdd-radius-sm); font-size: 13px; font-weight: 600; color: var(--sdd-muted); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; transition: background .15s, color .15s; }
.sdd-root .sdd-seg__btn:hover { color: var(--sdd-text); }
.sdd-root .sdd-seg__btn.is-active { background: var(--sdd-surface); color: var(--sdd-text); box-shadow: 0 1px 2px rgba(29, 28, 26, .08), 0 0 0 1px var(--sdd-line-soft); }

.sdd-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.sdd-root .sdd-toolbar .sdd-select { width: auto; min-width: 150px; }
.sdd-toolbar__spacer { flex: 1 1 auto; }

.sdd-chipbar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.sdd-root .sdd-chipfilter { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--sdd-line); background: var(--sdd-surface); font-size: 13px; font-weight: 600; color: var(--sdd-muted); }
.sdd-root .sdd-chipfilter:hover { color: var(--sdd-text); border-color: color-mix(in srgb, var(--sdd-text) 20%, var(--sdd-line)); }
.sdd-root .sdd-chipfilter.is-active { background: var(--sdd-text); border-color: var(--sdd-text); color: var(--sdd-surface); }
.sdd-chipfilter.is-active .sdd-tab__count { background: rgba(255, 255, 255, .16); color: inherit; }

.sdd-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.sdd-root .sdd-stat { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 14px 16px; border-radius: var(--sdd-radius); background: var(--sdd-surface); border: var(--sdd-card-border); box-shadow: var(--sdd-shadow); text-align: left; transition: border-color .15s, transform .15s; }
.sdd-root button.sdd-stat:hover { transform: translateY(-1px); }
.sdd-root .sdd-stat.is-active { border-color: var(--sdd-accent); box-shadow: 0 0 0 3px var(--sdd-accent-soft); }
.sdd-stat__value { font-size: 26px; line-height: 1.1; }
.sdd-stat__label { color: var(--sdd-muted); font-size: 12.5px; font-weight: 600; }
.sdd-stat--danger .sdd-stat__value { color: var(--sdd-danger); }
.sdd-stat--warn .sdd-stat__value { color: var(--sdd-warn); }

.sdd-bulkbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 12px; margin-bottom: 12px; border-radius: var(--sdd-radius); background: var(--sdd-ink); color: var(--sdd-ink-text); animation: sdd-rise .2s var(--sdd-ease); }
.sdd-root .sdd-bulkbar .sdd-btn { background: rgba(255, 255, 255, .1); border-color: transparent; color: inherit; }
.sdd-root .sdd-bulkbar .sdd-btn:hover { background: rgba(255, 255, 255, .18); }
.sdd-root .sdd-bulkbar .sdd-btn--danger { background: var(--sdd-danger); }
.sdd-bulkbar .sdd-strong { margin-right: 6px; }

.sdd-pager { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; font-size: 13px; }

/* ============================================================ Tableaux */
.sdd-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.sdd-root .sdd-table { font-size: 13.5px; }
.sdd-root .sdd-table th {
	text-align: left; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: var(--sdd-muted); padding: 12px 14px; border-bottom: 1px solid var(--sdd-line); white-space: nowrap; background: var(--sdd-surface-2);
}
.sdd-root .sdd-table td { padding: 12px 14px; border-bottom: 1px solid var(--sdd-line-soft); vertical-align: middle; }
.sdd-root .sdd-table tbody tr:last-child td { border-bottom: 0; }
.sdd-root .sdd-table tbody tr { transition: background .12s; }
.sdd-root .sdd-table tbody tr:hover { background: color-mix(in srgb, var(--sdd-accent) 3%, var(--sdd-surface)); }
.sdd-root .sdd-table tr:first-child th:first-child { border-top-left-radius: var(--sdd-radius); }
.sdd-root .sdd-table tr:first-child th:last-child { border-top-right-radius: var(--sdd-radius); }
.sdd-row-link { cursor: pointer; }
.sdd-root .sdd-table a.sdd-strong:hover { color: var(--sdd-accent); }
.sdd-cell-title { display: flex; align-items: center; gap: 12px; min-width: 220px; }
.sdd-root .sdd-table .sdd-col-cb { width: 44px; padding-right: 0; }
.sdd-root .sdd-table--edit td { padding: 8px 10px; }
.sdd-root .sdd-table--edit th { padding: 10px; }

/* ============================================================ États : vide, chargement, alertes */
.sdd-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; padding: 44px 20px; border: 1px dashed var(--sdd-line); border-radius: var(--sdd-radius); background: color-mix(in srgb, var(--sdd-surface) 60%, transparent); }
.sdd-empty__title { font-family: var(--sdd-font-display); font-size: 19px; }
.sdd-empty .sdd-muted { max-width: 420px; }
.sdd-empty .sdd-btn { margin-top: 8px; }

.sdd-skel-wrap { display: grid; gap: 12px; }
.sdd-skel { height: 56px; border-radius: var(--sdd-radius); background: linear-gradient(90deg, var(--sdd-line-soft) 25%, color-mix(in srgb, var(--sdd-line-soft) 40%, var(--sdd-surface)) 50%, var(--sdd-line-soft) 75%); background-size: 200% 100%; animation: sdd-shimmer 1.3s linear infinite; }
.sdd-skel:first-child { height: 120px; }
.is-loading { transition: opacity .2s; }
.is-loading > .sdd-stack-lg, .is-loading > .sdd-card { opacity: .6; pointer-events: none; }

.sdd-boot { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 48px 16px; color: var(--sdd-muted); font-size: 14px; }
.sdd-spinner { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--sdd-line); border-top-color: var(--sdd-accent); animation: sdd-spin .8s linear infinite; flex: none; }
.sdd-mount--app > .sdd-boot { min-height: 100vh; }

.sdd-notice { padding: 14px 16px; border-radius: var(--sdd-radius); background: var(--sdd-surface); border: var(--sdd-card-border); color: var(--sdd-muted); }
.sdd-alert { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 14px; border-radius: var(--sdd-radius-sm); font-size: 13.5px; line-height: 1.5; }
.sdd-alert--error { background: var(--sdd-danger-bg); color: var(--sdd-danger); }
.sdd-alert--info { background: var(--sdd-info-bg); color: var(--sdd-info); }
.sdd-alert .sdd-btn { margin-left: auto; }

/* ============================================================ Shell de l'application */
.sdd-mount--app { min-height: 100vh; min-height: 100dvh; background: var(--sdd-bg); }
.sdd-app { display: grid; grid-template-columns: var(--sdd-sidebar-w) minmax(0, 1fr); min-height: 100vh; min-height: 100dvh; background: var(--sdd-bg); }

.sdd-sidebar {
	position: sticky; top: 0; height: 100vh; height: 100dvh; display: flex; flex-direction: column;
	background: var(--sdd-sidebar-bg); color: var(--sdd-sidebar-text); border-right: var(--sdd-sidebar-border);
	padding: 18px 12px 12px; overflow: hidden; z-index: 30;
}
.admin-bar .sdd-sidebar { top: 32px; height: calc(100vh - 32px); }
.sdd-root .sdd-sidebar__brand { display: flex; align-items: center; gap: 11px; padding: 4px 10px 18px; color: var(--sdd-sidebar-active); }
.sdd-sidebar__name { font-family: var(--sdd-font-display); font-size: 18px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sdd-sidebar__logo { max-height: 38px; max-width: 170px; width: auto; object-fit: contain; }
.sdd-nav { flex: 1 1 auto; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; padding-bottom: 12px; scrollbar-width: thin; scrollbar-color: var(--sdd-sidebar-panel) transparent; }
.sdd-nav__section { display: flex; flex-direction: column; gap: 1px; }
.sdd-nav__group { font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sdd-sidebar-muted); padding: 4px 12px 6px; }
.sdd-root .sdd-nav__item {
	display: flex; align-items: center; gap: 11px; min-height: var(--sdd-menu-h); padding: 0 12px;
	border-radius: var(--sdd-radius-sm); color: var(--sdd-sidebar-text); font-size: 13.5px; font-weight: 550;
	transition: background .15s, color .15s; position: relative;
}
.sdd-root .sdd-nav__item:hover { background: var(--sdd-sidebar-panel); color: var(--sdd-sidebar-active); }
.sdd-root .sdd-nav__item.is-active { background: var(--sdd-sidebar-active-bg); color: var(--sdd-sidebar-active); font-weight: 650; }
.sdd-root .sdd-nav__item.is-active::before { content: ""; position: absolute; left: -12px; top: 9px; bottom: 9px; width: 3px; border-radius: 0 3px 3px 0; background: var(--sdd-accent); }
.sdd-nav__icon { display: var(--sdd-menu-icon); opacity: .85; }
.sdd-nav__label { flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sdd-nav__badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--sdd-accent); color: var(--sdd-accent-contrast); font-size: 11px; font-weight: 700; display: inline-grid; place-items: center; }
.sdd-nav__ext { color: var(--sdd-sidebar-muted); display: inline-flex; }
.sdd-sidebar__foot { border-top: 1px solid var(--sdd-sidebar-panel); padding-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.sdd-user { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: var(--sdd-radius-sm); background: var(--sdd-sidebar-panel); }
.sdd-user .sdd-avatar { background: var(--sdd-accent); color: var(--sdd-accent-contrast); }
.sdd-user__text { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.3; }
.sdd-user__name { font-weight: 650; font-size: 13px; color: var(--sdd-sidebar-active); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sdd-user__role { font-size: 11.5px; color: var(--sdd-sidebar-muted); }
.sdd-root .sdd-user__logout { color: var(--sdd-sidebar-muted); width: 32px; height: 32px; }
.sdd-root .sdd-user__logout:hover { color: var(--sdd-sidebar-active); background: var(--sdd-sidebar-panel); }

.sdd-main { display: flex; flex-direction: column; min-width: 0; max-width: 100%; }
.sdd-header {
	position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 12px;
	height: var(--sdd-header-h); padding: 0 clamp(16px, 3vw, 36px);
	background: var(--sdd-header-bg); border-bottom: 1px solid var(--sdd-header-border);
	backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px);
}
.admin-bar .sdd-header { top: 32px; }
.sdd-root .sdd-header__menu { display: none; }
.sdd-header__actions { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.sdd-search { position: relative; flex: 1 1 auto; max-width: 520px; display: flex; align-items: center; }
.sdd-search__icon { position: absolute; left: 12px; color: var(--sdd-muted); display: inline-flex; pointer-events: none; }
.sdd-root .sdd-search__input {
	width: 100%; height: 40px; padding: 0 52px 0 38px; border-radius: 999px; border: 1px solid var(--sdd-line);
	background: var(--sdd-surface); font-size: 13.5px; outline: none; box-shadow: none; appearance: none; -webkit-appearance: none;
}
.sdd-root .sdd-search__input:focus { border-color: var(--sdd-accent); box-shadow: 0 0 0 3px var(--sdd-accent-soft); }
.sdd-search .sdd-kbd { position: absolute; right: 12px; pointer-events: none; }
.sdd-search__results {
	position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 40; padding: 6px;
	background: var(--sdd-surface); border: 1px solid var(--sdd-line); border-radius: var(--sdd-radius);
	box-shadow: 0 18px 40px rgba(29, 28, 26, .14); max-height: 420px; overflow-y: auto; animation: sdd-rise .16s var(--sdd-ease);
}
.sdd-root .sdd-search__item { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: var(--sdd-radius-sm); }
.sdd-root .sdd-search__item:hover, .sdd-root .sdd-search__item.is-active { background: var(--sdd-surface-2); }
.sdd-search__type { width: 32px; height: 32px; border-radius: 8px; display: inline-grid; place-items: center; background: var(--sdd-accent-soft); color: var(--sdd-accent-strong); flex: none; }
.sdd-search__label { display: block; font-weight: 600; }
.sdd-search__sub { display: block; font-size: 12px; color: var(--sdd-muted); }
.sdd-search__none { padding: 14px; color: var(--sdd-muted); font-size: 13.5px; }

.sdd-view { flex: 1 1 auto; padding: clamp(20px, 3vw, 36px); outline: none; }
.sdd-view__inner { max-width: 1320px; min-width: 0; margin: 0 auto; animation: sdd-fade .25s var(--sdd-ease); }
.sdd-scrim { position: fixed; inset: 0; background: rgba(20, 19, 17, .45); z-index: 25; animation: sdd-fade .2s; }

/* ============================================================ Tableau de bord */
.sdd-dash-top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.sdd-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sdd-kpis:only-child { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); grid-column: 1 / -1; }
/* Nombre impair d’indicateurs : le dernier occupe toute la largeur (pas de case vide). */
.sdd-kpis > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.sdd-root .sdd-kpi { position: relative; padding: 18px 20px; display: flex; flex-direction: column; gap: 3px; transition: transform .18s var(--sdd-ease), border-color .18s; }
.sdd-root a.sdd-kpi:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--sdd-accent) 35%, var(--sdd-line)); }
.sdd-kpi__icon { position: absolute; top: 16px; right: 16px; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--sdd-accent-soft); color: var(--sdd-accent-strong); }
.sdd-kpi__label { font-size: 12.5px; font-weight: 650; color: var(--sdd-muted); }
.sdd-kpi__value { font-size: 30px; line-height: 1.15; margin-top: 6px; }
.sdd-kpi__meta { font-size: 12.5px; color: var(--sdd-muted); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 4px; }

.sdd-sales {
	position: relative; overflow: hidden; padding: 22px 22px 16px; display: flex; flex-direction: column; gap: 18px;
	background: var(--sdd-ink); color: var(--sdd-ink-text); border-color: transparent;
}
.sdd-sales::after { content: ""; position: absolute; width: 280px; height: 280px; right: -90px; top: -120px; border-radius: 50%; background: var(--sdd-accent); opacity: .22; filter: blur(4px); pointer-events: none; }
.sdd-sales__top { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; position: relative; z-index: 1; }
.sdd-sales__label { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .65; }
.sdd-sales__value { font-size: clamp(32px, 3.4vw, 44px); line-height: 1.05; margin: 6px 0; }
.sdd-sales__meta { display: flex; align-items: center; gap: 8px; font-size: 13px; opacity: .85; flex-wrap: wrap; }
.sdd-sales__facts { display: grid; gap: 10px; align-content: start; }
.sdd-sales__facts div { display: flex; flex-direction: column; }
.sdd-sales__facts dt { font-size: 11.5px; opacity: .6; }
.sdd-sales__facts dd { font-weight: 700; font-size: 15px; font-variant-numeric: tabular-nums; }
.sdd-bars { position: relative; z-index: 1; display: flex; align-items: flex-end; gap: 6px; height: 110px; margin-top: auto; }
.sdd-bar { position: relative; flex: 1 1 0; height: var(--h, 3%); min-height: 3px; border-radius: 4px 4px 2px 2px; background: rgba(255, 255, 255, .18); transform-origin: bottom; animation: sdd-grow .6s var(--sdd-ease) both; transition: background .15s; }
.sdd-bar:nth-child(2) { animation-delay: .03s; } .sdd-bar:nth-child(3) { animation-delay: .06s; } .sdd-bar:nth-child(4) { animation-delay: .09s; }
.sdd-bar:nth-child(5) { animation-delay: .12s; } .sdd-bar:nth-child(6) { animation-delay: .15s; } .sdd-bar:nth-child(n+7) { animation-delay: .18s; }
.sdd-bar:hover { background: rgba(255, 255, 255, .34); }
.sdd-bar.is-today { background: var(--sdd-accent); }
.sdd-bar__tip { position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); padding: 4px 8px; border-radius: 6px; background: var(--sdd-surface); color: var(--sdd-text); font-size: 11.5px; font-weight: 600; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .12s; z-index: 2; }
.sdd-bar:hover .sdd-bar__tip { opacity: 1; }
.sdd-bars__axis { position: relative; z-index: 1; display: flex; justify-content: space-between; font-size: 11.5px; opacity: .55; margin-top: -8px; }

.sdd-dash-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.sdd-dash-grid:empty { display: none; }
.sdd-span-2 { grid-column: span 2; }
.sdd-span-3 { grid-column: 1 / -1; }

.sdd-qa { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.sdd-root .sdd-qa__item {
	display: flex; align-items: center; gap: 12px; padding: 14px; text-align: left;
	border-radius: var(--sdd-radius); background: var(--sdd-surface); border: var(--sdd-card-border); box-shadow: var(--sdd-shadow);
	transition: transform .18s var(--sdd-ease), border-color .18s;
}
.sdd-root .sdd-qa__item:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--sdd-accent) 40%, var(--sdd-line)); }
.sdd-qa__icon { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; flex: none; background: var(--sdd-accent-soft); color: var(--sdd-accent-strong); transition: background .18s, color .18s; }
.sdd-qa__item:hover .sdd-qa__icon { background: var(--sdd-accent); color: var(--sdd-accent-contrast); }
.sdd-qa__text { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.sdd-qa__label { font-weight: 650; font-size: 13.5px; }
.sdd-qa__sub { font-size: 12px; color: var(--sdd-muted); }

.sdd-list { display: flex; flex-direction: column; }
.sdd-list__item { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--sdd-line-soft); }
.sdd-list__item:last-child { border-bottom: 0; padding-bottom: 0; }
.sdd-list__item:first-child { padding-top: 0; }
.sdd-list__main { flex: 1 1 auto; min-width: 0; }
.sdd-list__main .sdd-strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ============================================================ Publications */
.sdd-postcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.sdd-postcards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sdd-postcard { position: relative; display: flex; flex-direction: column; overflow: hidden; background: var(--sdd-surface); border: var(--sdd-card-border); border-radius: var(--sdd-radius); box-shadow: var(--sdd-shadow); transition: transform .2s var(--sdd-ease); }
.sdd-postcard:hover { transform: translateY(-2px); }
.sdd-root .sdd-postcard__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--sdd-surface-2); }
.sdd-postcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--sdd-ease); }
.sdd-postcard:hover .sdd-postcard__media img { transform: scale(1.03); }
.sdd-postcard__ph { display: block; width: 100%; height: 100%; }
.sdd-postcard__ph svg { width: 100%; height: 100%; }
.sdd-postcard__pill { position: absolute; top: 12px; left: 12px; }
.sdd-postcard__pill .sdd-pill { box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.sdd-postcard__body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; }
.sdd-postcard__cat { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sdd-accent); }
.sdd-root .sdd-postcard__title { font-size: 18px; line-height: 1.3; }
.sdd-root .sdd-postcard__title a:hover { color: var(--sdd-accent); }
.sdd-postcard__meta { font-size: 12.5px; color: var(--sdd-muted); }
.sdd-postcard__actions { display: flex; gap: 2px; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--sdd-line-soft); }

.sdd-postlist { overflow: hidden; }
.sdd-postlist__item { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-bottom: 1px solid var(--sdd-line-soft); }
.sdd-postlist__item:last-child { border-bottom: 0; }
.sdd-postlist__item:hover { background: var(--sdd-surface-2); }
.sdd-postlist__main { flex: 1 1 auto; min-width: 0; }
.sdd-root .sdd-postlist__title { font-size: 15px; }
.sdd-root .sdd-postlist__title:hover { color: var(--sdd-accent); }

/* ============================================================ Éditeurs (publication & produit) */
.sdd-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 20px; align-items: start; }
.sdd-layout__main, .sdd-layout__side { min-width: 0; }
.sdd-layout__side { position: sticky; top: calc(var(--sdd-header-h) + 20px); }
.sdd-kv { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13.5px; }
.sdd-kv > span:first-child { color: var(--sdd-muted); }

.sdd-editor { min-height: 360px; }
.sdd-editor .wp-editor-wrap { border-radius: var(--sdd-radius-sm); overflow: hidden; }
.sdd-editor .wp-editor-container { border: 1px solid var(--sdd-line) !important; border-radius: 0 0 var(--sdd-radius-sm) var(--sdd-radius-sm); }
.sdd-editor .mce-panel, .sdd-editor .quicktags-toolbar { background: var(--sdd-surface-2) !important; border-color: var(--sdd-line) !important; }
.sdd-editor .mce-top-part::before { box-shadow: none !important; }
.sdd-editor .wp-editor-tabs { float: right; }
.sdd-editor .wp-switch-editor { border-radius: 6px 6px 0 0; background: var(--sdd-line-soft); border-color: var(--sdd-line); font-size: 12.5px; }
.sdd-editor .wp-media-buttons .button { border-radius: 6px; }
.sdd-editor iframe { min-height: 320px; }
.sdd-editor textarea.wp-editor-area { border: 0; padding: 14px; font-size: 14px; font-family: ui-monospace, Menlo, monospace; }

.sdd-termtree { max-height: 220px; overflow-y: auto; padding: 8px 10px; border: 1px solid var(--sdd-line-soft); border-radius: var(--sdd-radius-sm); background: var(--sdd-surface-2); }
.sdd-inline-add { display: flex; gap: 6px; margin-top: 10px; }

.sdd-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 6px; min-height: 42px; border: 1px solid var(--sdd-line); border-radius: var(--sdd-radius-sm); background: var(--sdd-surface); }
.sdd-chips:focus-within { border-color: var(--sdd-accent); box-shadow: 0 0 0 3px var(--sdd-accent-soft); }
.sdd-chip { display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 4px 0 10px; border-radius: 999px; background: var(--sdd-accent-soft); color: var(--sdd-accent-strong); font-size: 12.5px; font-weight: 650; animation: sdd-pop .18s var(--sdd-ease); }
.sdd-root .sdd-chip__x { width: 20px; height: 20px; border-radius: 50%; display: inline-grid; place-items: center; color: inherit; }
.sdd-root .sdd-chip__x:hover { background: rgba(0, 0, 0, .08); }
.sdd-root .sdd-chips__input { flex: 1 1 110px; border: 0; outline: none; background: transparent; height: 28px; padding: 0 6px; font-size: 13.5px; box-shadow: none; min-width: 0; }

.sdd-root .sdd-dropzone {
	width: 100%; min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	padding: 18px; text-align: center; border: 1.5px dashed var(--sdd-line); border-radius: var(--sdd-radius); background: var(--sdd-surface-2); color: var(--sdd-muted);
	transition: border-color .15s, background .15s, color .15s;
}
.sdd-root .sdd-dropzone:hover { border-color: var(--sdd-accent); background: var(--sdd-accent-soft); color: var(--sdd-accent-strong); }
.sdd-dropzone .sdd-strong { color: var(--sdd-text); }
.sdd-root .sdd-dropzone--square { aspect-ratio: 1; min-height: 0; }
.sdd-mediapick { position: relative; border-radius: var(--sdd-radius); overflow: hidden; background: var(--sdd-surface-2); }
.sdd-mediapick img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.sdd-mediapick--square img { aspect-ratio: 1; }
.sdd-mediapick__actions { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; gap: 6px; justify-content: flex-end; }
.sdd-root .sdd-mediapick__actions .sdd-btn { background: rgba(255, 255, 255, .94); border-color: transparent; backdrop-filter: blur(6px); }

.sdd-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 8px; }
.sdd-gallery > img, .sdd-gallery__item { aspect-ratio: 1; border-radius: var(--sdd-radius-sm); overflow: hidden; background: var(--sdd-surface-2); }
.sdd-gallery > img { width: 100%; object-fit: cover; }
.sdd-gallery__item { position: relative; }
.sdd-gallery__item img { width: 100%; height: 100%; object-fit: cover; }
.sdd-root .sdd-gallery__x { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(29, 28, 26, .75); color: #fff; opacity: 0; transition: opacity .15s; }
.sdd-gallery__item:hover .sdd-gallery__x, .sdd-gallery__x:focus-visible { opacity: 1; }
.sdd-root .sdd-gallery__add { aspect-ratio: 1; border-radius: var(--sdd-radius-sm); border: 1.5px dashed var(--sdd-line); display: grid; place-items: center; color: var(--sdd-muted); }
.sdd-root .sdd-gallery__add:hover { border-color: var(--sdd-accent); color: var(--sdd-accent); }

.sdd-score { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--sdd-radius-sm); }
.sdd-score__dot { width: 10px; height: 10px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 18%, transparent); }
.sdd-score--ok { background: var(--sdd-ok-bg); color: var(--sdd-ok); }
.sdd-score--warn { background: var(--sdd-warn-bg); color: var(--sdd-warn); }
.sdd-score--danger { background: var(--sdd-danger-bg); color: var(--sdd-danger); }
.sdd-checks { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; font-size: 13px; color: var(--sdd-muted); }
.sdd-checks li { display: flex; align-items: center; gap: 8px; }
.sdd-checks li .sdd-ic { color: var(--sdd-danger); }
.sdd-checks li.is-ok { color: var(--sdd-text); }
.sdd-checks li.is-ok .sdd-ic { color: var(--sdd-ok); }
.sdd-seo-preview { padding: 14px 16px; border-radius: var(--sdd-radius-sm); border: 1px solid var(--sdd-line-soft); background: #fff; font-family: Arial, sans-serif; }
.sdd-seo-preview__url { font-size: 12.5px; color: #4D5156; margin-bottom: 3px; }
.sdd-seo-preview__title { font-size: 18px; color: #1A0DAB; line-height: 1.3; margin-bottom: 3px; }
.sdd-seo-preview__desc { font-size: 13.5px; color: #4D5156; line-height: 1.55; }

/* ============================================================ Produits */
.sdd-prodgrid { display: grid; grid-template-columns: repeat(var(--sdd-cols, 4), minmax(0, 1fr)); gap: 16px; }
.sdd-prodcard { display: flex; flex-direction: column; overflow: hidden; background: var(--sdd-surface); border: var(--sdd-card-border); border-radius: var(--sdd-radius); box-shadow: var(--sdd-shadow); transition: transform .2s var(--sdd-ease); }
.sdd-prodcard:hover { transform: translateY(-2px); }
.sdd-root .sdd-prodcard__media { display: block; aspect-ratio: 1; overflow: hidden; }
.sdd-prodcard__media img { transition: transform .5s var(--sdd-ease); }
.sdd-prodcard:hover .sdd-prodcard__media img { transform: scale(1.04); }
.sdd-prodcard__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.sdd-root .sdd-prodcard__title { font-family: var(--sdd-font-display); font-size: 16px; font-weight: 500; line-height: 1.3; }
.sdd-root .sdd-prodcard__title a:hover { color: var(--sdd-accent); }
.sdd-price { display: inline-flex; align-items: baseline; gap: 6px; flex-wrap: wrap; font-weight: 650; font-variant-numeric: tabular-nums; }
.sdd-price .sdd-muted { text-decoration: line-through; font-weight: 500; font-size: .92em; }
.sdd-price__sale { color: var(--sdd-accent); }

.sdd-attr { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto auto; gap: 12px; align-items: end; padding: 14px 0; border-bottom: 1px solid var(--sdd-line-soft); }
.sdd-attr:first-child { padding-top: 0; }
.sdd-attr__flags { display: flex; flex-direction: column; gap: 2px; padding-bottom: 4px; }
.sdd-attr__flags .sdd-check { font-size: 13px; white-space: nowrap; }
.sdd-dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) auto auto; gap: 8px; align-items: center; margin-bottom: 8px; }

/* ============================================================ Commandes */
.sdd-statusbar { margin-bottom: 20px; }
.sdd-statusbar .sdd-card__body { padding: 12px 16px; gap: 10px; }
.sdd-person--lg { margin-bottom: 16px; }
.sdd-kvlist + .sdd-link { display: inline-block; margin-top: 14px; }
.sdd-root .sdd-statusbar .sdd-select { width: auto; min-width: 220px; }
.sdd-items { display: flex; flex-direction: column; }
.sdd-items__row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--sdd-line-soft); }
.sdd-items__row:first-child { padding-top: 0; }
.sdd-items__main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.sdd-totals { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; margin-left: auto; max-width: 340px; font-size: 13.5px; }
.sdd-totals > div { display: flex; justify-content: space-between; gap: 16px; }
.sdd-totals dt { color: var(--sdd-muted); }
.sdd-totals dd { font-variant-numeric: tabular-nums; font-weight: 600; }
.sdd-totals .is-discount dd, .sdd-totals .is-refund dd { color: var(--sdd-danger); }
.sdd-totals__grand { padding-top: 10px; margin-top: 4px; border-top: 1px solid var(--sdd-line); align-items: baseline; }
.sdd-totals__grand dt { color: var(--sdd-text); font-weight: 700; }
.sdd-totals__grand dd { font-size: 24px; font-weight: 500; }

.sdd-address { display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; line-height: 1.6; }
.sdd-address address { display: flex; flex-direction: column; }
.sdd-kvlist { display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; }
.sdd-kvlist > div { display: flex; justify-content: space-between; gap: 12px; }
.sdd-kvlist dt { color: var(--sdd-muted); }
.sdd-kvlist dd { font-weight: 600; text-align: right; }
.sdd-quote { padding: 10px 14px; border-left: 3px solid var(--sdd-accent); background: var(--sdd-surface-2); border-radius: 0 var(--sdd-radius-sm) var(--sdd-radius-sm) 0; font-style: italic; line-height: 1.6; }

.sdd-timeline { position: relative; display: flex; flex-direction: column; gap: 16px; padding-left: 22px; }
.sdd-timeline::before { content: ""; position: absolute; left: 5px; top: 6px; bottom: 6px; width: 1px; background: var(--sdd-line); }
.sdd-timeline__item { position: relative; font-size: 13.5px; }
.sdd-timeline__dot { position: absolute; left: -22px; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--sdd-surface); border: 2px solid var(--sdd-muted); }
.sdd-timeline__item.is-done .sdd-timeline__dot, .sdd-timeline__item.is-paid .sdd-timeline__dot { border-color: var(--sdd-ok); background: var(--sdd-ok); }
.sdd-timeline__item.is-created .sdd-timeline__dot { border-color: var(--sdd-info); }
.sdd-timeline__item.is-danger .sdd-timeline__dot, .sdd-timeline__item.is-refund .sdd-timeline__dot { border-color: var(--sdd-danger); }
.sdd-timeline__item.is-customer .sdd-timeline__dot { border-color: var(--sdd-accent); background: var(--sdd-accent); }
.sdd-timeline__item.is-customer > div { padding: 8px 10px; border-radius: var(--sdd-radius-sm); background: var(--sdd-accent-soft); }
.sdd-noteform { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--sdd-line-soft); }

.sdd-picklist { display: flex; flex-direction: column; gap: 2px; max-height: 190px; overflow-y: auto; margin-top: 6px; }
.sdd-picklist:empty { display: none; }
.sdd-lines { display: flex; flex-direction: column; border: 1px solid var(--sdd-line-soft); border-radius: var(--sdd-radius-sm); overflow: hidden; }
.sdd-lines__item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-bottom: 1px solid var(--sdd-line-soft); background: var(--sdd-surface); animation: sdd-rise .18s var(--sdd-ease); }
.sdd-lines__item:last-child { border-bottom: 0; }
.sdd-lines__name { flex: 1 1 auto; min-width: 0; font-weight: 600; font-size: 13.5px; }
.sdd-lines__name .sdd-muted { display: block; font-weight: 400; }
.sdd-root .sdd-picklist__item { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 8px 10px; border-radius: var(--sdd-radius-sm); text-align: left; font-size: 13.5px; }
.sdd-root .sdd-picklist__item:hover { background: var(--sdd-surface-2); }

/* ============================================================ Rôles & permissions */
.sdd-roles { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 20px; align-items: start; }
.sdd-rolelist { padding: 6px; display: flex; flex-direction: column; gap: 2px; position: sticky; top: calc(var(--sdd-header-h) + 20px); }
.sdd-root .sdd-rolelist__item { display: flex; flex-direction: column; align-items: flex-start; width: 100%; padding: 10px 12px; border-radius: var(--sdd-radius-sm); text-align: left; transition: background .12s; }
.sdd-root .sdd-rolelist__item:hover { background: var(--sdd-surface-2); }
.sdd-root .sdd-rolelist__item.is-active { background: var(--sdd-accent-soft); }
.sdd-rolelist__name { display: inline-flex; align-items: center; gap: 6px; font-weight: 650; }
.sdd-rolelist__item.is-active .sdd-rolelist__name { color: var(--sdd-accent-strong); }
.sdd-roleedit { overflow: hidden; }
.sdd-root .sdd-matrix th[scope="row"] { text-transform: none; letter-spacing: normal; font-size: 13.5px; color: var(--sdd-text); font-weight: 400; background: transparent; white-space: normal; min-width: 220px; border-bottom: 1px solid var(--sdd-line-soft); }
.sdd-root .sdd-matrix thead th { text-align: center; }
.sdd-root .sdd-matrix thead th:first-child { text-align: left; }
.sdd-root .sdd-matrix td { text-align: center; }
.sdd-root .sdd-matrix tbody tr:nth-child(even) { background: color-mix(in srgb, var(--sdd-surface-2) 60%, transparent); }
.sdd-caps { display: block; margin-top: 4px; font-family: ui-monospace, Menlo, monospace; font-size: 11px; color: var(--sdd-muted); opacity: .8; }

/* ============================================================ Apparence (Theme Builder) */
.sdd-appearance { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 20px; align-items: start; }
.sdd-appearance__preview { min-width: 0; }
.sdd-sticky { position: sticky; top: calc(var(--sdd-header-h) + 20px); display: flex; flex-direction: column; gap: 10px; }
.sdd-swatches { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.sdd-root .sdd-swatch { width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); transition: transform .15s; }
.sdd-root .sdd-swatch:hover { transform: scale(1.08); }
.sdd-root .sdd-swatch.is-active { box-shadow: 0 0 0 2px var(--sdd-surface), 0 0 0 4px var(--sdd-text); }
.sdd-colors { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
.sdd-color { display: flex; flex-direction: column; gap: 6px; }
.sdd-color__inputs { display: flex; align-items: center; gap: 8px; }
.sdd-root .sdd-color input[type="color"] { width: 40px; height: 32px; padding: 2px; border: 1px solid var(--sdd-line); border-radius: var(--sdd-radius-sm); background: var(--sdd-surface); cursor: pointer; flex: none; }
.sdd-root .sdd-color .sdd-input { text-transform: uppercase; }
.sdd-logopick { display: flex; flex-direction: column; gap: 8px; }
.sdd-logopick__box { height: 88px; display: grid; place-items: center; padding: 12px; border: 1px dashed var(--sdd-line); border-radius: var(--sdd-radius-sm); background: repeating-conic-gradient(var(--sdd-line-soft) 0 25%, var(--sdd-surface) 0 50%) 0 0 / 14px 14px; }
.sdd-logopick__box img { max-height: 60px; width: auto; object-fit: contain; }

.sdd-mock { display: grid; grid-template-columns: 116px 1fr; height: 250px; border-radius: var(--sdd-radius); overflow: hidden; border: 1px solid var(--sdd-line); background: var(--sdd-bg); font-size: 10.5px; box-shadow: var(--sdd-shadow); }
.sdd-mock__side { background: var(--sdd-sidebar-bg); color: var(--sdd-sidebar-text); padding: 12px 8px; display: flex; flex-direction: column; gap: 3px; border-right: var(--sdd-sidebar-border); }
.sdd-mock__side > .sdd-row, .sdd-mock__logo { margin-bottom: 8px; padding: 0 4px; }
.sdd-mock__logo { max-height: 22px; width: auto; }
.sdd-mock__brand { font-family: var(--sdd-font-display); font-size: 12px; color: var(--sdd-sidebar-active); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sdd-mock__item { display: flex; align-items: center; gap: 6px; padding: 5px 6px; border-radius: 5px; white-space: nowrap; overflow: hidden; }
.sdd-mock__item.is-active { background: var(--sdd-sidebar-active-bg); color: var(--sdd-sidebar-active); }
.sdd-mock__main { display: flex; flex-direction: column; min-width: 0; }
.sdd-mock__header { height: 32px; padding: 0 10px; display: flex; align-items: center; background: var(--sdd-header-bg); border-bottom: 1px solid var(--sdd-header-border); }
.sdd-mock__search { flex: 1; height: 18px; border-radius: 999px; border: 1px solid var(--sdd-line); background: var(--sdd-surface); color: var(--sdd-muted); padding: 0 8px; display: flex; align-items: center; font-size: 9.5px; }
.sdd-mock__body { padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.sdd-mock__title { font-size: 16px; }
.sdd-mock__card { padding: 10px 12px; }
.sdd-mock__card .sdd-kpi__label { font-size: 9.5px; }
.sdd-mock__card .sdd-kpi__value { font-size: 18px; margin-top: 2px; }
.sdd-mock__body .sdd-btn { height: 26px; font-size: 10.5px; padding: 0 10px; pointer-events: none; }
.sdd-mock__body .sdd-pill { height: 18px; font-size: 9.5px; padding: 0 7px; }
.sdd-mock-login { margin-top: 12px; height: 150px; border-radius: var(--sdd-radius); display: grid; place-items: center; background-size: cover !important; background-position: center !important; box-shadow: var(--sdd-shadow); }
.sdd-mock-login__box { width: 150px; padding: 12px; display: flex; flex-direction: column; align-items: center; gap: 6px; border-radius: var(--sdd-radius-sm); background: var(--sdd-surface); font-size: 13px; }
.sdd-mock-login__box img { max-height: 20px; width: auto; }
.sdd-mock-login__field { width: 100%; height: 12px; border-radius: 3px; border: 1px solid var(--sdd-line); }
.sdd-mock-login__box .sdd-btn { height: 20px; width: 100%; font-size: 9.5px; pointer-events: none; }

/* ============================================================ Écran Elementor */
.sdd-hooks { display: flex; flex-direction: column; }
.sdd-hooks li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 0; border-bottom: 1px solid var(--sdd-line-soft); font-size: 13.5px; }
.sdd-hooks li:last-child { border-bottom: 0; }

/* ============================================================ Modales & toasts */
.sdd-modal-wrap { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 20px; background: rgba(20, 19, 17, .5); backdrop-filter: blur(3px); animation: sdd-fade .18s; }
.sdd-modal { width: min(520px, 100%); max-height: calc(100vh - 40px); display: flex; background: var(--sdd-surface); border-radius: var(--sdd-radius-lg); box-shadow: 0 30px 80px rgba(20, 19, 17, .3); animation: sdd-rise .24s var(--sdd-ease); overflow: hidden; }
.sdd-modal--wide { width: min(760px, 100%); }
.sdd-modal__form { display: flex; flex-direction: column; width: 100%; min-height: 0; }
.sdd-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 6px; }
.sdd-modal__body { padding: 12px 20px 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; }
.sdd-modal__foot { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; padding: 14px 20px; border-top: 1px solid var(--sdd-line-soft); background: var(--sdd-surface-2); }
.sdd-modal__error { margin-right: auto; color: var(--sdd-danger); font-size: 13px; font-weight: 600; }
.sdd-modal__error:empty { display: none; }

.sdd-toasts { position: fixed; right: 20px; bottom: 20px; z-index: 100001; display: flex; flex-direction: column; gap: 8px; align-items: flex-end; pointer-events: none; }
.sdd-toast { max-width: 380px; padding: 12px 16px 12px 14px; border-radius: var(--sdd-radius-sm); background: var(--sdd-ink); color: var(--sdd-ink-text); font-size: 13.5px; font-weight: 600; box-shadow: 0 14px 36px rgba(20, 19, 17, .28); display: flex; align-items: center; gap: 10px; animation: sdd-rise .25s var(--sdd-ease); transition: opacity .35s, transform .35s; pointer-events: auto; }
.sdd-toast::before { content: ""; width: 8px; height: 8px; border-radius: 50%; flex: none; background: #8FB996; }
.sdd-toast--error::before { background: #E6937D; }
.sdd-toast--info::before { background: #9DB6D1; }
.sdd-toast.is-out { opacity: 0; transform: translateY(8px); }

/* ============================================================ Widgets intégrés (shortcodes / Elementor) */
.sdd-mount:not(.sdd-mount--app) { width: 100%; }
.sdd-mount:not(.sdd-mount--app) .sdd-dash-top { margin-bottom: 0; }
/* Les widgets s'adaptent à la largeur de leur colonne (Elementor, thème…),
   pas à celle de l'écran. L'espace complet en est exclu : container-type crée
   un bloc englobant qui décalerait son menu mobile en position fixe. */
.sdd-mount:not(.sdd-mount--app) { container: sdd-widget / inline-size; }
.sdd-mount--stats .sdd-dash-top { grid-template-columns: 1fr; }
.sdd-mount:not(.sdd-mount--app) .sdd-kpis { grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); }
.sdd-mount:not(.sdd-mount--app) .sdd-kpis > :last-child:nth-child(odd) { grid-column: auto; }
@container sdd-widget (max-width: 900px) {
	.sdd-dash-top { grid-template-columns: 1fr; }
	.sdd-dash-grid { grid-template-columns: 1fr; }
	.sdd-dash-grid .sdd-span-2 { grid-column: auto; }
	.sdd-postcards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container sdd-widget (max-width: 620px) {
	.sdd-postcards, .sdd-postcards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sdd-prodgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sdd-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.sdd-kpis > :last-child:nth-child(odd) { grid-column: 1 / -1 !important; }
	.sdd-kpi__icon { display: none; }
	.sdd-sales__top { flex-direction: column; }
	.sdd-sales__facts { grid-template-columns: repeat(3, auto); gap: 16px; }
}
@container sdd-widget (max-width: 420px) {
	.sdd-postcards, .sdd-postcards--3, .sdd-prodgrid { grid-template-columns: 1fr; }
}
.elementor-editor-active .sdd-mount a, .elementor-editor-active .sdd-mount button { cursor: default; }

/* ============================================================ Connexion */
.sdd-login { min-height: 100vh; min-height: 100dvh; display: grid; background: var(--sdd-bg); }
.sdd-login--split { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.sdd-login__panel {
	position: relative; overflow: hidden; padding: clamp(28px, 5vw, 64px); display: flex; flex-direction: column; justify-content: space-between; gap: 32px;
	background: var(--sdd-login-bg); background-size: cover; background-position: center; color: #F5F1EA;
}
.sdd-login__panel::before { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .35)); pointer-events: none; }
.sdd-login__art { position: absolute; width: min(620px, 90%); right: -18%; bottom: -22%; color: var(--sdd-accent); opacity: .9; animation: sdd-orbit 28s linear infinite; pointer-events: none; }
.sdd-login__brand { position: relative; display: flex; align-items: center; gap: 12px; animation: sdd-rise .6s var(--sdd-ease) both; }
.sdd-login__brand--inline { margin-bottom: 8px; color: var(--sdd-text); }
.sdd-login__logo { max-height: 44px; width: auto; object-fit: contain; }
.sdd-login__name { font-family: var(--sdd-font-display); font-size: 22px; font-weight: 500; }
.sdd-login__tagline { position: relative; max-width: 460px; font-family: var(--sdd-font-display); font-size: clamp(28px, 3.4vw, 46px); line-height: 1.12; letter-spacing: -.015em; animation: sdd-rise .7s .1s var(--sdd-ease) both; }
.sdd-login__foot { position: relative; font-size: 12.5px; opacity: .6; animation: sdd-fade .8s .3s both; }
.sdd-login__main { display: grid; place-items: center; padding: clamp(24px, 5vw, 64px); }
.sdd-login__form { width: min(400px, 100%); display: flex; flex-direction: column; gap: 18px; animation: sdd-rise .6s .12s var(--sdd-ease) both; }
.sdd-root .sdd-login__title { font-family: var(--sdd-font-display); font-weight: 500; font-size: clamp(28px, 3vw, 36px); line-height: 1.1; letter-spacing: -.01em; }
.sdd-login--compact .sdd-login__form { padding: clamp(24px, 4vw, 40px); background: var(--sdd-surface); border: var(--sdd-card-border); border-radius: var(--sdd-radius-lg); box-shadow: 0 24px 60px rgba(29, 28, 26, .08); }
.sdd-login .sdd-btn--primary { margin-top: 4px; }
.sdd-login .sdd-btn--primary:hover { box-shadow: 0 8px 20px color-mix(in srgb, var(--sdd-accent) 35%, transparent); }
/* Un widget de connexion posé dans une page Elementor n'occupe pas tout l'écran. */
.elementor .sdd-login, .sdd-mount .sdd-login { min-height: 0; background: transparent; }
.elementor .sdd-login--split { min-height: 560px; border-radius: var(--sdd-radius-lg); overflow: hidden; }

/* ============================================================ Mode sombre
   Activé par <html data-sdd-scheme="dark"> (choix de l'utilisateur ou réglage
   système en mode « Auto »). Seuls les éléments .sdd-root sont concernés :
   le thème du site n'est jamais modifié. La couleur d'accent choisie dans
   le Theme Builder est conservée, éclaircie là où elle sert de texte. */
html[data-sdd-scheme="dark"] .sdd-root,
html[data-sdd-scheme="dark"] body.sdd-fullscreen,
html[data-sdd-scheme="dark"] .sdd-page {
	color-scheme: dark;
	--sdd-bg: #151412;
	--sdd-surface: #1E1D1A;
	--sdd-surface-2: #252420;
	--sdd-text: #EEE9E0;
	--sdd-muted: #A69F93;
	--sdd-line: #36332E;
	--sdd-line-soft: #2B2925;
	--sdd-accent-soft: color-mix(in srgb, var(--sdd-accent) 24%, transparent);
	--sdd-accent-strong: color-mix(in srgb, var(--sdd-accent) 62%, #FFFFFF);
	--sdd-sidebar-bg: #0F0E0D;
	--sdd-sidebar-text: #DCD6CB;
	--sdd-sidebar-active-bg: rgba(255, 255, 255, .07);
	--sdd-sidebar-active: #FFFFFF;
	--sdd-sidebar-muted: #7F796F;
	--sdd-sidebar-panel: rgba(255, 255, 255, .05);
	--sdd-sidebar-border: 1px solid #242320;
	--sdd-header-bg: rgba(21, 20, 18, .86);
	--sdd-header-border: #2B2925;
	--sdd-card-border: 1px solid #2E2C28;
	--sdd-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .25);
	--sdd-ink: #0C0B0A;
	--sdd-ink-text: #EEE9E0;
	--sdd-ok-bg: rgba(128, 178, 128, .16);     --sdd-ok: #A9D3A5;
	--sdd-info-bg: rgba(120, 160, 205, .16);   --sdd-info: #A9C4E4;
	--sdd-warn-bg: rgba(225, 172, 70, .16);    --sdd-warn: #EBC57A;
	--sdd-hold-bg: rgba(175, 135, 200, .18);   --sdd-hold: #D2B6E4;
	--sdd-muted-bg: rgba(255, 255, 255, .08);  --sdd-muted-pill: #C9C2B6;
	--sdd-danger-bg: rgba(220, 110, 85, .16);  --sdd-danger: #F0A08B;
	background-color: transparent;
}
html[data-sdd-scheme="dark"] body.sdd-fullscreen,
html[data-sdd-scheme="dark"] .sdd-page,
html[data-sdd-scheme="dark"] .sdd-app,
html[data-sdd-scheme="dark"] .sdd-mount--app { background: #151412; }
html[data-sdd-scheme="dark"] .sdd-root .sdd-btn--primary { color: #FFFFFF; }
html[data-sdd-scheme="dark"] .sdd-root .sdd-btn--primary:hover { background: color-mix(in srgb, var(--sdd-accent) 85%, #FFFFFF); border-color: transparent; color: #FFFFFF; }
html[data-sdd-scheme="dark"] .sdd-root .sdd-btn--danger { background: #B8472F; border-color: #B8472F; color: #FFFFFF; }
html[data-sdd-scheme="dark"] .sdd-root .sdd-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A69F93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
html[data-sdd-scheme="dark"] .sdd-root .sdd-mediapick__actions .sdd-btn { background: rgba(30, 29, 26, .92); }
html[data-sdd-scheme="dark"] .sdd-sales { border: 1px solid #2B2925; }
html[data-sdd-scheme="dark"] .sdd-switch__track::after { background: #F4F0E8; }
html[data-sdd-scheme="dark"] .sdd-thumb--empty, html[data-sdd-scheme="dark"] .sdd-postcard__ph, html[data-sdd-scheme="dark"] .sdd-prodcard__media .sdd-thumb { filter: saturate(.8) brightness(.78); }
html[data-sdd-scheme="dark"] .sdd-logopick__box { background: repeating-conic-gradient(#2B2925 0 25%, #1E1D1A 0 50%) 0 0 / 14px 14px; }
html[data-sdd-scheme="dark"] .sdd-editor .mce-panel, html[data-sdd-scheme="dark"] .sdd-editor .quicktags-toolbar { background: #2A2925 !important; }
html[data-sdd-scheme="dark"] .sdd-editor .mce-btn i, html[data-sdd-scheme="dark"] .sdd-editor .mce-ico { color: #DCD6CB !important; }
html[data-sdd-scheme="dark"] .sdd-editor .mce-btn:hover, html[data-sdd-scheme="dark"] .sdd-editor .mce-btn.mce-active { background: #36332E !important; }
html[data-sdd-scheme="dark"] .sdd-editor textarea.wp-editor-area { background: #1E1D1A; color: #EEE9E0; }
html[data-sdd-scheme="dark"] .sdd-mock { border-color: #36332E; }
html[data-sdd-scheme="dark"] .sdd-login--compact .sdd-login__form { box-shadow: 0 24px 60px rgba(0, 0, 0, .4); }
/* Transition douce lors d'un changement manuel (désactivée au chargement). */
html.sdd-scheme-anim .sdd-root, html.sdd-scheme-anim .sdd-root * { transition: background-color .3s ease, border-color .3s ease, color .2s ease !important; }

/* Préférences dans l'en-tête */
.sdd-prefs { display: flex; align-items: center; gap: 4px; }
.sdd-root .sdd-langselect { width: auto; height: 36px; min-width: 0; padding: 0 28px 0 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; background-position: right 9px center; }
.sdd-login__prefs { display: flex; justify-content: center; gap: 6px; margin-top: 4px; font-size: 12.5px; }
.sdd-root .sdd-login__prefs a { color: var(--sdd-muted); padding: 2px 6px; border-radius: 6px; font-weight: 600; }
.sdd-root .sdd-login__prefs a:hover { color: var(--sdd-text); background: var(--sdd-surface-2); }
.sdd-root .sdd-login__prefs a[aria-current="true"] { color: var(--sdd-accent); }

/* ============================================================ Animations */
@keyframes sdd-spin { to { transform: rotate(360deg); } }
@keyframes sdd-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes sdd-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes sdd-pop { from { transform: scale(.85); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes sdd-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes sdd-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@keyframes sdd-orbit { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
	.sdd-root *, .sdd-root *::before, .sdd-root *::after, .sdd-toast, .sdd-modal, .sdd-modal-wrap {
		animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important;
	}
	.sdd-login__art { animation: none; }
}

/* ============================================================ Responsive */
@media (max-width: 1280px) {
	.sdd-appearance { grid-template-columns: minmax(0, 1fr) 340px; }
	.sdd-prodgrid { grid-template-columns: repeat(min(var(--sdd-cols, 4), 3), minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
	.sdd-rkpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sdd-dash-top { grid-template-columns: 1fr; }
	.sdd-dash-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sdd-dash-grid .sdd-span-2 { grid-column: 1 / -1; }
	.sdd-layout { grid-template-columns: minmax(0, 1fr) 290px; }
	.sdd-appearance { grid-template-columns: minmax(0, 1fr); }
	.sdd-appearance__preview { order: -1; }
	.sdd-sticky { position: static; }
	.sdd-postcards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
	/* minmax(0, 1fr) et non 1fr : un contenu insécable (code, shortcode) ne doit jamais élargir la colonne. */
	.sdd-app { grid-template-columns: minmax(0, 1fr); }
	.sdd-sidebar {
		position: fixed; left: 0; top: 0; bottom: 0; height: 100%; width: min(290px, 86vw);
		transform: translateX(-102%); transition: transform .28s var(--sdd-ease); box-shadow: 0 0 60px rgba(0, 0, 0, .3); z-index: 100;
	}
	.admin-bar .sdd-sidebar { top: 0; height: 100%; }
	.sdd-app.is-nav-open .sdd-sidebar { transform: none; }
	.sdd-scrim { z-index: 99; }
	.sdd-root .sdd-header__menu { display: inline-flex; }
	.sdd-layout, .sdd-roles { grid-template-columns: minmax(0, 1fr); }
	.sdd-layout__side, .sdd-rolelist { position: static; }
	.sdd-rolelist { flex-direction: row; overflow-x: auto; }
	.sdd-root .sdd-rolelist__item { width: auto; flex: none; }
	.sdd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sdd-prodgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sdd-login--split { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
	.sdd-login__panel { min-height: 230px; }
	.sdd-login__tagline { font-size: 26px; }
	.sdd-login__art { width: 360px; right: -90px; bottom: -150px; }
}
@media (max-width: 782px) {
	.admin-bar .sdd-header { top: 46px; }
}
@media (max-width: 680px) {
	.sdd-root { font-size: 14.5px; }
	.sdd-view { padding: 18px 14px 28px; }
	.sdd-header { padding: 0 12px; gap: 8px; }
	.sdd-search .sdd-kbd, .sdd-hide-sm { display: none; }
	.sdd-root .sdd-search__input { padding-right: 14px; }
	.sdd-dash-grid, .sdd-kpis, .sdd-grid-2, .sdd-grid-3, .sdd-postcards--3 { grid-template-columns: 1fr; }
	.sdd-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sdd-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.sdd-root .sdd-kpi { padding: 14px; }
	.sdd-kpi__icon { display: none; }
	.sdd-kpi__value { font-size: 24px; }
	.sdd-sales__facts { grid-template-columns: repeat(3, auto); gap: 18px; }
	.sdd-pagehead__row { align-items: flex-start; flex-direction: column; }
	.sdd-toolbar > * { flex: 1 1 100%; max-width: none; }
	.sdd-root .sdd-toolbar .sdd-select { width: 100%; }
	.sdd-toolbar__spacer { display: none; }
	.sdd-attr { grid-template-columns: 1fr; }
	.sdd-dl { grid-template-columns: 1fr auto; }
	.sdd-dl .sdd-input:first-child { grid-column: 1 / -1; }
	.sdd-card__head { padding: 14px 16px 0; }
	.sdd-card__body { padding: 14px 16px 16px; }
	.sdd-card__body > .sdd-table-wrap { margin: -4px -16px -16px; }
	.sdd-postlist__item { flex-wrap: wrap; }
	.sdd-modal-wrap { place-items: end center; padding: 0; }
	.sdd-modal { width: 100%; max-height: 92vh; border-radius: var(--sdd-radius-lg) var(--sdd-radius-lg) 0 0; }
	.sdd-toasts { left: 14px; right: 14px; bottom: 14px; align-items: stretch; }
	.sdd-toast { max-width: none; }
	.sdd-login--compact .sdd-login__form { background: transparent; border: 0; box-shadow: none; padding: 0; }
}

/* ============================================================ 1.3 — Médias */
.sdd-root .sdd-upload { position: relative; cursor: pointer; }
.sdd-media { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.sdd-root .sdd-media__tile {
	display: flex; flex-direction: column; overflow: hidden; text-align: left; padding: 0;
	background: var(--sdd-surface); border: var(--sdd-card-border); border-radius: var(--sdd-radius); box-shadow: var(--sdd-shadow);
	transition: transform .18s var(--sdd-ease), border-color .18s;
}
.sdd-root .sdd-media__tile:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--sdd-accent) 40%, var(--sdd-line)); }
.sdd-media__tile img { width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--sdd-surface-2); }
.sdd-media__file { aspect-ratio: 1; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: var(--sdd-surface-2); color: var(--sdd-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.sdd-media__file--lg { aspect-ratio: auto; min-height: 220px; border-radius: var(--sdd-radius); }
.sdd-media__name { padding: 8px 10px; font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sdd-media__detail { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.sdd-media__preview { border-radius: var(--sdd-radius); overflow: hidden; background: repeating-conic-gradient(var(--sdd-line-soft) 0 25%, var(--sdd-surface) 0 50%) 0 0 / 16px 16px; display: grid; place-items: center; min-height: 200px; }
.sdd-media__preview img, .sdd-media__preview video { max-width: 100%; max-height: 60vh; object-fit: contain; }
.sdd-media__preview audio { width: 90%; }
.sdd-break { overflow-wrap: anywhere; }
.sdd-more { margin-top: 18px; }
.sdd-uploads { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.sdd-uploads__row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--sdd-radius-sm); background: var(--sdd-surface); border: var(--sdd-card-border); font-size: 13.5px; }
.sdd-uploads__name { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.sdd-drop { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 24px; background: color-mix(in srgb, var(--sdd-bg) 80%, transparent); backdrop-filter: blur(3px); animation: sdd-fade .15s; }
.sdd-drop__box { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 48px 64px; border: 2px dashed var(--sdd-accent); border-radius: var(--sdd-radius-lg); background: var(--sdd-surface); color: var(--sdd-accent); text-align: center; }
.sdd-drop__box p { color: var(--sdd-text); }

/* ============================================================ 1.3 — Clients, codes promo */
.sdd-fieldset { border: 1px solid var(--sdd-line-soft); border-radius: var(--sdd-radius-sm); padding: 12px 14px 14px; margin: 0; min-width: 0; }
.sdd-fieldset legend { padding: 0 6px; }
.sdd-stats--static .sdd-stat { cursor: default; }
.sdd-stat__value--sm { font-size: 17px; line-height: 1.5; }
.sdd-root .sdd-coupon-code { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-weight: 700; letter-spacing: .06em; font-size: 13.5px; padding: 3px 8px; border: 1px dashed var(--sdd-accent); border-radius: 6px; color: var(--sdd-accent-strong); background: var(--sdd-accent-soft); }
.sdd-root .sdd-input--code { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.sdd-usage { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-variant-numeric: tabular-nums; }
.sdd-usage__bar { width: 64px; height: 6px; border-radius: 999px; background: var(--sdd-line-soft); overflow: hidden; }
.sdd-usage__bar span { display: block; height: 100%; border-radius: inherit; background: var(--sdd-accent); }

/* ============================================================ 1.3 — Rapports */
.sdd-report-bar { gap: 10px; margin-bottom: 8px; }
.sdd-report-custom { gap: 6px; flex-wrap: wrap; }
.sdd-root .sdd-report-custom .sdd-input { width: auto; }
.sdd-report-range { margin-bottom: 16px; font-size: 13px; }
.sdd-rkpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.sdd-root .sdd-rkpi { padding: 16px; display: flex; flex-direction: column; gap: 2px; }
.sdd-rkpi__value { font-size: 24px; line-height: 1.2; margin: 4px 0 2px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.sdd-rchart { padding-top: 8px; }
.sdd-rchart__bars { display: flex; align-items: flex-end; gap: 3px; height: 200px; border-bottom: 1px solid var(--sdd-line); }
.sdd-rchart__bar { position: relative; flex: 1 1 0; height: var(--h); min-width: 2px; border-radius: 3px 3px 0 0; background: var(--sdd-accent); opacity: .85; transform-origin: bottom; animation: sdd-grow .5s var(--sdd-ease) both; transition: opacity .15s; }
.sdd-rchart__bar:hover { opacity: 1; }
.sdd-rchart__bar.is-zero { background: var(--sdd-line); }
.sdd-rchart__tip { position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); padding: 5px 9px; border-radius: 7px; background: var(--sdd-ink); color: var(--sdd-ink-text); font-size: 11.5px; font-weight: 600; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .12s; z-index: 3; }
.sdd-rchart__bar:hover .sdd-rchart__tip { opacity: 1; }
.sdd-rchart__axis { display: flex; gap: 3px; margin-top: 6px; }
.sdd-rchart__axis span { flex: 1 1 0; min-width: 2px; font-size: 11px; color: var(--sdd-muted); white-space: nowrap; overflow: visible; }
.sdd-barlist { display: flex; flex-direction: column; gap: 12px; }
.sdd-barlist__top { display: flex; justify-content: space-between; gap: 12px; font-size: 13.5px; }
.sdd-barlist__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sdd-barlist__track { height: 6px; border-radius: 999px; background: var(--sdd-line-soft); margin: 6px 0 2px; overflow: hidden; }
.sdd-barlist__track span { display: block; height: 100%; border-radius: inherit; background: var(--sdd-accent); animation: sdd-grow-x .6s var(--sdd-ease) both; transform-origin: left; }
@keyframes sdd-grow-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.sdd-export-menu { position: relative; }
.sdd-export-menu__list { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; min-width: 240px; padding: 6px; display: flex; flex-direction: column; background: var(--sdd-surface); border: 1px solid var(--sdd-line); border-radius: var(--sdd-radius); box-shadow: 0 18px 40px rgba(29, 28, 26, .16); animation: sdd-rise .15s var(--sdd-ease); }
.sdd-root .sdd-export-menu__list button { text-align: left; padding: 9px 12px; border-radius: var(--sdd-radius-sm); font-size: 13.5px; font-weight: 600; }
.sdd-root .sdd-export-menu__list button:hover { background: var(--sdd-surface-2); }

/* ============================================================ 1.3 — Notifications */
.sdd-notif { position: relative; }
.sdd-notif__btn { position: relative; }
.sdd-notif__badge { position: absolute; top: 3px; right: 2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: var(--sdd-accent); color: #fff; font-size: 10.5px; font-weight: 800; line-height: 17px; text-align: center; box-shadow: 0 0 0 2px var(--sdd-header-bg); animation: sdd-pop .25s var(--sdd-ease); }
.sdd-notif__panel { position: absolute; right: -8px; top: calc(100% + 10px); z-index: 60; width: min(380px, calc(100vw - 24px)); max-height: min(560px, 75vh); display: flex; flex-direction: column; background: var(--sdd-surface); border: 1px solid var(--sdd-line); border-radius: var(--sdd-radius-lg); box-shadow: 0 24px 60px rgba(20, 19, 17, .2); animation: sdd-rise .18s var(--sdd-ease); overflow: hidden; }
.sdd-notif__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px 10px; border-bottom: 1px solid var(--sdd-line-soft); }
.sdd-notif__list { overflow-y: auto; flex: 1 1 auto; }
.sdd-root .sdd-notif__item { display: flex; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--sdd-line-soft); position: relative; transition: background .12s; }
.sdd-root .sdd-notif__item:hover { background: var(--sdd-surface-2); }
.sdd-notif__item.is-unread { background: color-mix(in srgb, var(--sdd-accent) 5%, var(--sdd-surface)); }
.sdd-notif__item.is-unread::after { content: ""; position: absolute; right: 14px; top: 18px; width: 8px; height: 8px; border-radius: 50%; background: var(--sdd-accent); }
.sdd-notif__icon { width: 32px; height: 32px; flex: none; border-radius: 9px; display: grid; place-items: center; background: var(--sdd-accent-soft); color: var(--sdd-accent-strong); }
.sdd-notif__icon--stock_low { background: var(--sdd-warn-bg); color: var(--sdd-warn); }
.sdd-notif__icon--stock_out { background: var(--sdd-danger-bg); color: var(--sdd-danger); }
.sdd-notif__icon--post_pending { background: var(--sdd-info-bg); color: var(--sdd-info); }
.sdd-notif__icon--customer_new { background: var(--sdd-ok-bg); color: var(--sdd-ok); }
.sdd-notif__text { display: flex; flex-direction: column; min-width: 0; padding-right: 14px; }
.sdd-notif__title { font-weight: 650; font-size: 13.5px; line-height: 1.35; }
.sdd-notif__meta { font-size: 12.5px; color: var(--sdd-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sdd-notif__ago { font-size: 11.5px; color: var(--sdd-muted); margin-top: 2px; }
.sdd-notif__empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 32px 16px; color: var(--sdd-muted); text-align: center; font-size: 13.5px; }
.sdd-notif__prefs { border-top: 1px solid var(--sdd-line-soft); padding: 10px 16px 14px; font-size: 13px; }
.sdd-notif__prefs summary { cursor: pointer; font-weight: 650; color: var(--sdd-muted); padding: 2px 0; }
.sdd-notif__prefs[open] summary { margin-bottom: 10px; }
.sdd-notif__prefs .sdd-switch { display: flex; margin: 6px 0; font-size: 13px; }
.sdd-notif__prefs .sdd-btn { margin-top: 8px; }

/* ============================================================ 1.3.1 — Aperçu du partage */
.sdd-share { overflow: hidden; border: 1px solid var(--sdd-line); border-radius: var(--sdd-radius-sm); background: var(--sdd-surface-2); max-width: 520px; margin-bottom: 10px; }
.sdd-share__media { aspect-ratio: 1.91 / 1; background: var(--sdd-line-soft); display: grid; place-items: center; overflow: hidden; }
.sdd-share__media img { width: 100%; height: 100%; object-fit: cover; }
.sdd-share__none { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--sdd-muted); font-size: 12.5px; font-weight: 600; }
.sdd-share__body { padding: 10px 12px 12px; border-top: 1px solid var(--sdd-line); font-family: Helvetica, Arial, sans-serif; }
.sdd-share__host { font-size: 11.5px; color: var(--sdd-muted); letter-spacing: .02em; margin-bottom: 3px; }
.sdd-share__title { font-size: 15.5px; font-weight: 700; line-height: 1.3; color: var(--sdd-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sdd-share__desc { font-size: 13px; line-height: 1.45; color: var(--sdd-muted); margin-top: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sdd-help .sdd-ic { display: inline-block; vertical-align: -2px; }

/* ============================================================ Tableaux en cartes (mobile)
   Sous 680 px, chaque ligne devient une carte : la 1re cellule sert de titre,
   les autres affichent « Libellé ....... valeur ». */
@media (max-width: 680px) {
	.sdd-root .sdd-hide-sm { display: none !important; }
	.sdd-rkpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.sdd-root .sdd-rkpi { padding: 12px; }
	.sdd-rkpi__value { font-size: 19px; }
	.sdd-rchart__bars { height: 150px; gap: 1px; }
	.sdd-rchart__axis span { font-size: 9.5px; }
	.sdd-media { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
	.sdd-media__name { display: none; }
	.sdd-media__detail { grid-template-columns: minmax(0, 1fr); }
	.sdd-notif__panel { position: fixed; left: 8px; right: 8px; top: calc(var(--sdd-header-h) + 4px); width: auto; }
	.sdd-report-bar .sdd-seg { width: 100%; }
	.sdd-export-menu__list { right: auto; left: 0; }
	.sdd-drop__box { padding: 32px 24px; }
	/* Contenus insécables : retour à la ligne autorisé plutôt que débordement. */
	.sdd-code-inline { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
	.sdd-card, .sdd-card__body, .sdd-field, .sdd-grid-2 > *, .sdd-grid-3 > *, .sdd-appearance > *, .sdd-layout > * { min-width: 0; }
	.sdd-hooks li { align-items: flex-start; }
	.sdd-mock { grid-template-columns: 84px 1fr; height: 220px; }
	.sdd-mock__search { display: none; }
	.sdd-table-wrap:has(> .sdd-table--stack) { overflow: visible; }
	.sdd-card__body > .sdd-table-wrap:has(> .sdd-table--stack) { margin: 0 -16px -16px; }
	.sdd-root .sdd-table--stack, .sdd-root .sdd-table--stack tbody { display: block; }
	.sdd-root .sdd-table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.sdd-root .sdd-table--stack tr {
		display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; align-items: center;
		padding: 14px 16px; border-bottom: 1px solid var(--sdd-line-soft); position: relative;
	}
	.sdd-root .sdd-table--stack tbody tr:last-child { border-bottom: 0; }
	.sdd-root .sdd-table--stack td { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0; border: 0; grid-column: 1 / -1; text-align: right !important; min-width: 0; font-size: 13.5px; }
	.sdd-root .sdd-table--stack td[data-label]::before { content: attr(data-label); color: var(--sdd-muted); font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; text-align: left; flex: none; }
	.sdd-root .sdd-table--stack td:empty { display: none; }
	/* 1re cellule de contenu = titre de la carte, sans libellé */
	.sdd-root .sdd-table--stack td:first-child:not(.sdd-col-cb), .sdd-root .sdd-table--stack td.sdd-col-cb + td { justify-content: flex-start; text-align: left !important; font-size: 14.5px; padding-bottom: 4px; }
	.sdd-root .sdd-table--stack td:first-child:not(.sdd-col-cb)::before, .sdd-root .sdd-table--stack td.sdd-col-cb + td::before { display: none; }
	.sdd-root .sdd-table--stack td.sdd-col-cb { grid-column: auto; position: absolute; top: 16px; right: 16px; width: auto; }
	.sdd-root .sdd-table--stack td.sdd-col-cb + td { padding-right: 34px; }
	.sdd-root .sdd-table--stack .sdd-cell-title { min-width: 0; }
	.sdd-root .sdd-table--stack td:last-child .sdd-actions, .sdd-root .sdd-table--stack .sdd-actions { justify-content: flex-end; width: 100%; }
	.sdd-root .sdd-table--stack td:has(> .sdd-actions)::before { display: none; }
	.sdd-root .sdd-table--stack td:has(> .sdd-actions) { border-top: 1px dashed var(--sdd-line-soft); padding-top: 6px; margin-top: 2px; }
	.sdd-root .sdd-table--stack tbody tr:hover { background: transparent; }
	.sdd-root .sdd-table--stack .sdd-person { justify-content: flex-end; }
	/* Matrice des rôles : première colonne étroite, cases confortables */
	.sdd-root .sdd-matrix th[scope="row"] { min-width: 150px; }
	.sdd-root .sdd-matrix .sdd-caps { display: none; }
	.sdd-root .sdd-matrix th, .sdd-root .sdd-matrix td { padding: 10px 8px; }
	/* En-tête : garder l'essentiel */
	.sdd-prefs { gap: 2px; }
	.sdd-root .sdd-langselect { padding-left: 8px; padding-right: 24px; background-position: right 7px center; }
	.sdd-search { min-width: 0; }
	.sdd-root .sdd-search__input { padding-left: 34px; font-size: 16px; } /* 16 px : pas de zoom automatique sur iOS */
	.sdd-root .sdd-input, .sdd-root .sdd-select, .sdd-root .sdd-textarea { font-size: 16px; }
	/* Barres d'actions de page : boutons pleine largeur, faciles à toucher */
	.sdd-pagehead__actions { width: 100%; }
	.sdd-pagehead__actions > .sdd-btn { flex: 1 1 auto; }
	.sdd-card__foot.sdd-row-between > .sdd-btn { flex: 1 1 100%; }
	.sdd-tabs { margin-left: -14px; margin-right: -14px; padding: 0 14px; }
	.sdd-root .sdd-seg { max-width: 100%; overflow-x: auto; flex-wrap: nowrap; }
	.sdd-stats { gap: 8px; }
	.sdd-root .sdd-stat { padding: 12px; }
	.sdd-stat__value { font-size: 22px; }
	.sdd-totals { max-width: none; }
	.sdd-items__row { flex-wrap: wrap; }
	.sdd-items__row > :last-child { margin-left: auto; }
}

/* ============================================================ Impression (commande, bon de préparation) */
@media print {
	body.sdd-fullscreen { background: #fff; }
	.sdd-sidebar, .sdd-header, .sdd-scrim, .sdd-pagehead__actions, .sdd-statusbar, .sdd-noteform, .sdd-toasts, .sdd-back, #wpadminbar { display: none !important; }
	.sdd-app { display: block; background: #fff; }
	.sdd-view { padding: 0; }
	.sdd-layout { grid-template-columns: 1fr 1fr; }
	.sdd-card { box-shadow: none; border: 1px solid #ddd; break-inside: avoid; }
	.sdd-pill { border: 1px solid currentColor; }
	.sdd-root * { animation: none !important; }
}
