/* Com’Église 0.26.0 — build généré */

/* tokens.css */
:root {
  --color-primary: #2F6B60;
  --color-primary-contrast: #FFFFFF;
  --color-secondary: #61736E;
  --color-background: #F5F7F6;
  --color-surface: #FFFFFF;
  --color-text: #1E2926;
  --color-muted: #64726E;
  --color-border: #D7E0DD;
  --color-success: #2F7D4D;
  --color-warning: #9A6700;
  --color-danger: #B42318;
  --color-info: #236C8A;
  --font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-interface: var(--font-body);
  --font-base-size: 16px;
  --font-heading-scale: 1.25;
  --line-height-body: 1.5;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --touch-target: 44px;
  --control-height: 44px;
  --topbar-height: 64px;
  --compact-card-padding: 16px;
  --compact-form-gap: 12px;
  --card-padding: 24px;
  --section-gap: 24px;
  --field-gap: 8px;
  --button-padding: 16px;
  --shadow-sm: 0 1px 2px rgba(30, 41, 38, .08);
  --shadow-md: 0 8px 24px rgba(30, 41, 38, .10);
  --content-max-width: 1500px;
  --sidebar-width: 250px;
  --brand-logo-size: 40px;
  --nav-background: #FFFFFF;
  --nav-text: #1E2926;
  --nav-hover-background: #F5F7F6;
  --nav-active-background: #2F6B60;
  --nav-active-text: #FFFFFF;
}

/* reset.css */
*,*::before,*::after{box-sizing:border-box}html{color-scheme:light}body,h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}img,svg{max-width:100%;display:block}button,a{touch-action:manipulation}table{border-collapse:collapse;width:100%}

/* typography.css */
body{font-family:var(--font-body);font-size:var(--font-base-size);line-height:var(--line-height-body);color:var(--color-text);background:var(--color-background)}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.015em}h1{font-size:clamp(calc(1.45rem * var(--font-heading-scale)),3vw,calc(1.9rem * var(--font-heading-scale)));line-height:1.15}h2{font-size:calc(1rem * var(--font-heading-scale));line-height:1.25}h3{font-size:calc(.86rem * var(--font-heading-scale));line-height:1.3}.muted,.help-text{color:var(--color-muted)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:color-mix(in srgb,var(--color-border) 40%,var(--color-surface));padding:.15em .35em;border-radius:var(--radius-sm)}.text-link,.back-link{color:var(--color-primary);text-decoration-color:color-mix(in srgb,var(--color-primary) 48%,transparent);text-decoration-thickness:.08em;text-underline-offset:.18em}.text-link:hover,.text-link:focus-visible,.back-link:hover,.back-link:focus-visible{color:color-mix(in srgb,var(--color-primary) 78%,var(--color-text));text-decoration-color:currentColor}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:650}
.back-link{min-height:38px;padding:.42rem .7rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);text-decoration:none;box-shadow:0 1px 2px rgb(20 40 35 / .05)}
.back-link:hover,.back-link:focus-visible{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));outline:0}
.back-link .icon{font-size:1.05em}

.entity-title-link{color:var(--color-text);text-decoration:none;text-decoration-color:transparent;text-underline-offset:.18em;font-weight:inherit}
.entity-title-link:hover,.entity-title-link:focus-visible{color:var(--color-primary);text-decoration:underline;text-decoration-color:currentColor;outline:0}

/* layout.css */
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2);overflow:hidden;background:var(--nav-background);color:var(--nav-text);border-right:1px solid var(--color-border);padding:var(--space-4);z-index:20}.brand{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-target);color:var(--nav-text);font-weight:750;text-decoration:none}.brand-center{justify-content:center;margin-bottom:var(--space-8)}.brand-mark{display:grid;place-items:center;width:var(--brand-logo-size);height:var(--brand-logo-size);background:var(--color-primary);color:var(--color-primary-contrast);border-radius:var(--radius-md);font-weight:800;flex:0 0 auto}.brand-logo{display:block;max-width:min(100%,180px);max-height:var(--brand-logo-size);width:auto;height:auto;object-fit:contain}.theme-nav-labels-hidden .sidebar{width:calc(var(--brand-logo-size) + 32px)}.theme-nav-labels-hidden .sidebar .brand-label,.theme-nav-labels-hidden .sidebar .nav-label{display:none}.theme-nav-labels-hidden .sidebar .nav-link,.theme-nav-labels-hidden .brand{justify-content:center}.theme-nav-labels-hidden .app-main{margin-left:calc(var(--brand-logo-size) + 32px)}.app-main{margin-left:var(--sidebar-width);min-width:0}.topbar{height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.topbar-actions{display:flex;align-items:center;gap:var(--space-3)}.topbar-profile-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--color-text);font-weight:650;text-decoration:none}.topbar-profile-link:hover,.topbar-profile-link:focus-visible{background:var(--color-background);color:var(--color-primary)}.topbar-profile-link svg{width:1.15rem;height:1.15rem}.content{padding:var(--section-gap);max-width:var(--content-max-width);margin:auto;min-width:0;overflow-x:clip}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--section-gap)}.widget-grid,.card-grid,.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-4)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--card-padding);box-shadow:var(--shadow-sm)}.card header,.card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.stack{display:grid;gap:var(--space-4)}.form-grid,.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-4)}.component-section+.component-section{margin-top:var(--section-gap)}.component-row,.component-stack,.button-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.component-stack{align-items:stretch;flex-direction:column}.table-scroll{overflow:auto}.auth-card{width:min(460px,calc(100% - 2rem));margin:10vh auto;background:var(--color-surface);border:1px solid var(--color-border);padding:var(--card-padding);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.setup-wrap{max-width:1000px;margin:var(--space-8) auto;padding:0 var(--space-4);display:grid;gap:var(--space-6)}.setup-intro{text-align:center}.mobile-nav{display:none}.color-field{display:flex;gap:var(--space-2)}.color-field input[type=color]{width:var(--control-height);padding:2px}.color-field input[type=text]{flex:1}.theme-editor{display:grid;gap:var(--section-gap)}.theme-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-4)}.asset-field{display:grid;grid-template-columns:96px 1fr;gap:var(--space-4);align-items:start;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.asset-preview{display:grid;place-items:center;min-height:88px;background:var(--color-background);border-radius:var(--radius-sm);overflow:hidden}.asset-preview img{max-height:84px;object-fit:contain}.theme-preview{display:grid;grid-template-columns:220px 1fr;min-height:440px;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-background)}.theme-preview-nav{display:grid;align-content:start;gap:var(--space-3);padding:var(--card-padding);background:var(--nav-background);color:var(--nav-text)}.theme-preview-nav span{padding:var(--space-2);border-radius:var(--radius-md)}.theme-preview-content{padding:var(--card-padding);display:grid;align-content:start;gap:var(--space-4)}.mobile-component-preview{width:min(390px,100%);min-height:520px;margin:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background);padding:var(--space-3);display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-3)}.mobile-preview-top,.mobile-preview-nav{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.mobile-preview-nav{display:flex;justify-content:space-around}.is-loading::before{content:"";width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:820px){.sidebar{display:none}.app-main,.theme-nav-labels-hidden .app-main{margin-left:0}.content{padding:var(--space-4);padding-bottom:calc(88px + env(safe-area-inset-bottom))}.topbar{padding:0 var(--space-4)}.mobile-nav{position:fixed;display:flex;inset:auto 0 0 0;width:100%;max-width:100vw;overflow:hidden;padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:30}.mobile-nav>.nav-link,.mobile-nav>.mobile-more{flex:1 1 20%;min-width:0;max-width:20%;overflow:hidden}.mobile-nav>.nav-link{flex-direction:column;gap:0;font-size:.72rem;justify-content:center;padding:var(--space-1);color:var(--color-text)}.mobile-nav>.nav-link .nav-label{display:grid;place-items:center;min-height:2.2em;line-height:1.1;text-align:center}.mobile-more>summary>span:last-child{display:grid;place-items:center;min-height:2.2em;line-height:1.1;text-align:center}.page-heading{align-items:stretch;flex-direction:column}.topbar-actions>span{display:none}.theme-preview{grid-template-columns:1fr}.theme-preview-nav{display:flex;flex-wrap:wrap;align-items:center}.asset-field{grid-template-columns:1fr}.asset-preview{min-height:120px}}

/* Rythme vertical transversal 0.17.3-R5 : les grands blocs frères ne doivent jamais se coller. */
.content > :where(.card,.card-grid,.widget-grid,.health-grid,.newsletter-grid,.newsletter-secondary-grid,.newsletter-workspace,.table-scroll,.stack) + :where(.card,.card-grid,.widget-grid,.health-grid,.newsletter-grid,.newsletter-secondary-grid,.newsletter-workspace,.table-scroll,.stack){margin-top:var(--section-gap)}
.content > .card + :where(section,article){margin-top:var(--section-gap)}

.content > .newsletter-tab-description + .card{margin-top:var(--space-4)}

/* 0.18.0 — taille homogène des pictogrammes, notamment la cloche. */
.icon-svg{display:block;width:1.1em;height:1.1em;max-width:1.25rem;max-height:1.25rem;flex:0 0 auto;overflow:visible}.icon-button>.icon-svg,.nav-link>.icon-svg,.nav-group-summary-main>.icon-svg,.mobile-more>summary>.icon-svg,.notification-bell>.icon-svg{width:1.15rem;height:1.15rem}.mobile-nav .icon-svg{width:1.2rem;height:1.2rem}.notification-bell{overflow:visible}

/* states.css */
.status-line{display:flex;align-items:flex-start;gap:var(--space-2);padding:.45rem .7rem;border:2px solid currentColor;border-radius:var(--radius-md);background:color-mix(in srgb,currentColor 7%,var(--color-surface));font-weight:750}.status-success{color:var(--color-success)}.status-warning{color:var(--color-warning)}.status-danger{color:var(--color-danger)}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:.2rem .75rem;border-radius:999px;border:2px solid currentColor;background:color-mix(in srgb,currentColor 8%,var(--color-surface));font-size:.84rem;font-weight:750;line-height:1.15;box-shadow:0 1px 0 color-mix(in srgb,currentColor 20%,transparent)}.badge-success{color:var(--color-success)}.badge-info{color:var(--color-info)}.badge-muted{color:var(--color-muted)}.empty-state{display:grid;justify-items:center;text-align:center;gap:var(--space-3);padding:var(--space-8)}.empty-icon{font-size:2rem;color:var(--color-muted)}.toast-region{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:100;display:grid;gap:var(--space-2)}.toast{background:var(--color-text);color:var(--color-surface);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.is-offline::after{content:"Hors connexion";position:fixed;top:0;left:50%;transform:translateX(-50%);background:var(--color-warning);color:var(--color-surface);padding:var(--space-1) var(--space-3);z-index:1000}

/* Retour central et accessible de l’autosauvegarde. */
.save-feedback{display:inline-flex;align-items:center;gap:var(--space-1);min-height:1.5rem;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}
.save-feedback::before{content:"";display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;flex:0 0 auto;border-radius:50%;font-size:.8rem;line-height:1}
.save-feedback.is-saving::before{border:2px solid var(--color-border);border-top-color:var(--color-info);animation:save-feedback-spin .8s linear infinite}
.save-feedback.is-saved{color:var(--color-success)}.save-feedback.is-saved::before{content:"✓";background:color-mix(in srgb,var(--color-success) 14%,var(--color-surface));color:var(--color-success)}
.save-feedback.is-error{color:var(--color-danger)}.save-feedback.is-error::before{content:"!";background:color-mix(in srgb,var(--color-danger) 14%,var(--color-surface));color:var(--color-danger)}
.save-feedback.is-save-offline{color:var(--color-warning)}.save-feedback.is-save-offline::before{content:"↯";background:color-mix(in srgb,var(--color-warning) 14%,var(--color-surface));color:var(--color-warning)}
@keyframes save-feedback-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.save-feedback.is-saving::before{animation:none}}

/* accessibility.css */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:var(--space-3);top:-100px;z-index:200;background:var(--color-surface);color:var(--color-text);padding:var(--space-3);border:2px solid var(--color-primary)}.skip-link:focus{top:var(--space-3)}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-info) 75%,white);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto;animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}

/* print.css */
@media print{.sidebar,.topbar,.mobile-nav,.button,.icon-button,.toast-region{display:none}.app-main{margin:0}.content{padding:0}.card{box-shadow:none;break-inside:avoid}}

/* components/buttons.css */
.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:max(var(--touch-target),var(--control-height));border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;font-weight:650}.button{padding:0 var(--button-padding)}.icon-button{width:max(var(--touch-target),var(--control-height));padding:0;background:transparent;color:var(--color-text)}.button-primary{background:var(--color-primary);color:var(--color-primary-contrast)}.button-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.button-ghost{background:transparent;color:var(--color-primary)}.button-danger{background:var(--color-danger);color:var(--color-surface)}.button:hover,.icon-button:hover{filter:brightness(.96)}.button:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed}.icon{font-size:1.2rem;line-height:1}

/* Les groupes d'actions conservent un intervalle même lorsque des formulaires sont imbriqués. */
.button-group>form{display:inline-flex;margin:0}
.button-group>form>.button{width:100%}
.page-heading>.button-group{row-gap:var(--space-3);column-gap:var(--space-3)}
@media(max-width:560px){.page-heading>.button-group{align-items:stretch}.page-heading>.button-group>.button,.page-heading>.button-group>form{flex:1 1 100%}.page-heading>.button-group>form>.button{width:100%}}

/* components/forms.css */
input[type="hidden"]{display:none}.field{display:grid;gap:var(--field-gap)}label{font-weight:650}input,select,textarea{min-height:max(var(--touch-target),var(--control-height));width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:var(--space-2) var(--space-3)}input[type=file]{padding:var(--space-2)}textarea{min-height:120px;resize:vertical}.input-action{display:flex}.input-action input{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-action .icon-button{border:1px solid var(--color-border);border-left:0;border-radius:0 var(--radius-md) var(--radius-md) 0}.field-error input,.field-error select{border-color:var(--color-danger)}.field-message{min-height:1.25em;color:var(--color-danger);font-size:.88rem}.switch{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target)}.switch input{width:22px;min-height:22px}

/* Couleurs de sections administrables : les valeurs standard restent reliées aux jetons centraux. */
[data-section-color="primary"]{--form-section-color:var(--color-primary)}
[data-section-color="secondary"]{--form-section-color:var(--color-secondary)}
[data-section-color="info"]{--form-section-color:var(--color-info)}
[data-section-color="success"]{--form-section-color:var(--color-success)}
[data-section-color="warning"]{--form-section-color:var(--color-warning)}
[data-section-color="danger"]{--form-section-color:var(--color-danger)}
[data-section-color="muted"]{--form-section-color:var(--color-muted)}

/* Variantes centrales compactes et contrôles à choix accessibles. */
input[type="checkbox"],input[type="radio"]{width:auto;min-height:22px;min-width:22px;padding:0;accent-color:var(--color-primary)}
.form-grid.form-compact,.stack.form-compact{gap:var(--compact-form-gap)}
.form-compact .field{gap:var(--space-1)}
.form-compact label{font-size:.92rem}
.form-compact textarea{min-height:88px}
.form-compact .form-actions{margin-top:var(--space-1)}

/* Actions de formulaire partagées : espacement fiable entre boutons sur toutes les pages. */
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.form-actions>.button,.form-actions>button,.form-actions>a{flex:0 0 auto}


.event-selector{display:grid;gap:var(--space-2);min-width:0}
.event-selector-search-wrap{position:relative;display:flex;align-items:center}
.event-selector-search-icon{position:absolute;left:var(--space-3);color:var(--color-muted);pointer-events:none}
.event-selector-search{width:100%;padding-left:calc(var(--space-3) + 1.25rem)}
.event-selector select{width:100%}
.event-selector-feedback{margin:0;color:var(--color-muted);font-size:var(--font-size-small)}
.event-selector-search:focus-visible{outline:var(--focus-ring)}

.searchable-choice{display:grid;gap:var(--space-2);min-width:0}
.searchable-choice-search-wrap{position:relative;display:flex;align-items:center}
.searchable-choice-search-icon{position:absolute;left:var(--space-3);color:var(--color-muted);pointer-events:none}
.searchable-choice-search{width:100%;padding-left:calc(var(--space-3) + 1.25rem)}
.searchable-choice select{width:100%}
.searchable-choice-feedback{margin:0;color:var(--color-muted);font-size:var(--font-size-small)}
.searchable-choice-search:focus-visible{outline:var(--focus-ring)}

/* components/alerts.css */
.alert{border:2px solid currentColor;border-left-width:6px;padding:var(--space-3) var(--space-4);background:color-mix(in srgb,currentColor 7%,var(--color-surface));border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-weight:650}.alert-info{color:var(--color-info)}.alert-success{color:var(--color-success)}.alert-warning{color:var(--color-warning)}.alert-danger{color:var(--color-danger)}

/* components/tables.css */
th,td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:top}th{font-size:.85rem;color:var(--color-muted);background:color-mix(in srgb,var(--color-border) 25%,var(--color-surface));position:sticky;top:0}

/* components/dialogs.css */
dialog{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);color:var(--color-text);background:var(--color-surface);max-width:min(560px,calc(100% - 2rem))}dialog::backdrop{background:rgba(30,41,38,.5)}dialog form{display:grid;gap:var(--space-4)}

/* components/files.css */
.dropzone{display:grid;place-items:center;gap:var(--space-2);min-height:9rem;border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);text-align:center;background:var(--color-surface);transition:border-color var(--motion-fast),background var(--motion-fast)}
.dropzone:hover,.dropzone:focus-within,.dropzone.is-dragover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}
.dropzone input[type=file]{max-width:100%;width:auto}.dropzone p{margin:0}.dropzone .help-text{max-width:42rem}
.upload-selection{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);text-align:left}
.upload-selection[hidden]{display:none}.upload-selection-name{min-width:0;overflow-wrap:anywhere}.upload-selection-meta{display:block;color:var(--color-text-muted);font-size:var(--font-size-sm)}
.file-attachment{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}
.file-attachment-info{min-width:0}.file-attachment-info strong,.file-attachment-info small{display:block}.file-attachment-info strong{overflow-wrap:anywhere}.file-attachment-info small{color:var(--color-text-muted)}

/* components/navigation.css */
.sidebar-nav-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;padding-right:var(--space-1)}
.sidebar-nav-scroll::-webkit-scrollbar{width:0;height:0;display:none}
.sidebar-nav{display:grid;align-content:start;gap:var(--space-1);margin-top:var(--space-4)}
.nav-link,.nav-group>summary,.mobile-nav a,.mobile-more>summary{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--nav-text);text-decoration:none;cursor:pointer}
.nav-link:hover,.nav-link:focus-visible,.nav-group>summary:hover,.nav-group>summary:focus-visible{background:var(--nav-hover-background)}
.nav-link[aria-current=page]{background:var(--nav-active-background);color:var(--nav-active-text)}
.nav-group{min-width:0}.nav-group>summary{list-style:none;justify-content:space-between}.nav-group>summary::-webkit-details-marker{display:none}.nav-group-summary-main{display:flex;align-items:center;gap:var(--space-3);min-width:0}.nav-group-chevron{margin-left:auto;transition:transform var(--motion-fast)}.nav-group[open] .nav-group-chevron{transform:rotate(180deg)}
.nav-group-children{display:grid;gap:var(--space-1);padding:var(--space-1) 0 var(--space-2) calc(var(--space-4) + var(--space-3))}.nav-group-children .nav-link{min-height:calc(var(--touch-target) - var(--space-1));padding-block:var(--space-1)}
.theme-nav-labels-hidden .nav-group>summary{justify-content:center}.theme-nav-labels-hidden .nav-group-summary-main{justify-content:center}.theme-nav-labels-hidden .nav-group-chevron,.theme-nav-labels-hidden .nav-group-children .nav-label{display:none}.theme-nav-labels-hidden .nav-group-children{padding-left:0}.theme-nav-labels-hidden .nav-group-children .nav-link{justify-content:center}
.mobile-more{position:static}.mobile-more>summary{list-style:none;justify-content:center;flex-direction:column;gap:0;font-size:.72rem;color:var(--color-text);padding:var(--space-1);width:100%;min-width:0;overflow:hidden}.mobile-more>summary::-webkit-details-marker{display:none}.mobile-more:not([open]) .mobile-menu-sheet{display:none}.mobile-menu-sheet{position:fixed;left:var(--space-2);right:var(--space-2);bottom:calc(72px + env(safe-area-inset-bottom));max-height:min(72vh,640px);overflow:auto;scrollbar-width:none;-ms-overflow-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3);z-index:40}
.mobile-menu-sheet::-webkit-scrollbar{width:0;height:0;display:none}.mobile-menu-sheet .nav-link,.mobile-menu-sheet .nav-group>summary{color:var(--color-text)}.mobile-menu-sheet .nav-link:hover,.mobile-menu-sheet .nav-link:focus-visible,.mobile-menu-sheet .nav-group>summary:hover,.mobile-menu-sheet .nav-group>summary:focus-visible{background:var(--color-background)}.mobile-menu-sheet .nav-link[aria-current=page]{background:var(--color-primary);color:var(--color-primary-contrast)}.mobile-menu-sheet .nav-group-children{padding-left:var(--space-6)}

/* Gestionnaire de menus 0.16.0 */
.navigation-manager-actions{position:sticky;top:var(--space-2);z-index:4;background:var(--color-background);padding:var(--space-2) 0}
.navigation-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4)}
.navigation-section{min-width:0;padding:var(--space-3);transition:border-color var(--motion-fast),background var(--motion-fast)}
.navigation-section.is-inactive{background:var(--color-background)}
.navigation-section.is-drag-over{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}
.navigation-section-header,.navigation-section-header>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.navigation-section-header>div{justify-content:flex-start}.navigation-section-header h2{margin:0;font-size:1rem}
.navigation-dropzone{min-height:3rem;display:grid;gap:var(--space-3)}
.navigation-item{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:var(--space-3);align-items:start;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3)}
.navigation-item.is-dragging{opacity:.55}.navigation-drag-handle{cursor:grab;font-size:1.2rem;line-height:2}.navigation-item-icon{padding-top:var(--space-1)}.navigation-item-main label{font-weight:600}.navigation-item-main input{margin-top:var(--space-1)}.navigation-item-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted)}.navigation-item-meta code{overflow-wrap:anywhere}.navigation-item-controls{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);align-items:center}.navigation-item-controls select{min-width:10rem}.navigation-item-controls .button-group{margin:0}.navigation-empty{margin:var(--space-2) 0 0;text-align:center}
@media(max-width:700px){.navigation-board{grid-template-columns:1fr}.navigation-item{grid-template-columns:auto minmax(0,1fr)}.navigation-drag-handle{display:none}.navigation-item-icon{grid-column:1}.navigation-item-main{grid-column:2}.navigation-item-controls{grid-column:1/-1}.navigation-manager-actions{position:static}}

.navigation-surface-choices{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center}.navigation-surface-choices .check-row{white-space:nowrap}

/* components/cards.css */
/* Cartes centralisées dans layout.css pour le socle 0.1.2. */

.card-compact{padding:var(--compact-card-padding)}
.card-compact>header{margin-bottom:var(--space-3)}

/* components/diagnostics.css */
.diagnostic-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;user-select:all}

/* modules/core.css */
.check-list{list-style:none;padding:0;display:grid;gap:var(--space-3)}.health-card{min-height:140px}.widget{min-height:260px}

/* modules/dashboard.css */
.dashboard-page{position:relative;isolation:isolate}.theme-dashboard-decorative .dashboard-page::before{content:"";position:fixed;inset:64px 0 0 var(--sidebar-width);z-index:-1;pointer-events:none;background:radial-gradient(circle at 82% 12%,rgba(255,82,110,.13),transparent 25%),radial-gradient(circle at 35% 18%,rgba(0,170,175,.12),transparent 24%),radial-gradient(circle at 72% 76%,rgba(142,50,214,.09),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.82),rgba(250,248,255,.55));}.dashboard-heading{margin-bottom:var(--space-8)}.dashboard-heading h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.02;margin-bottom:.35rem}.dashboard-heading p{margin:0;color:var(--color-muted);font-size:1.08rem}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.dashboard-card{--dash:rgb(0,151,155);--dash-soft:rgb(233,251,251);position:relative;min-width:0;border:2px solid color-mix(in srgb,var(--dash) 48%,var(--color-border));display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(145deg,var(--color-surface) 0 62%,var(--dash-soft) 100%);box-shadow:0 10px 28px color-mix(in srgb,var(--dash) 12%,transparent)}.dashboard-card::after{content:"";position:absolute;right:-45px;top:-55px;width:190px;height:150px;border-radius:45% 55% 65% 35%;background:color-mix(in srgb,var(--dash) 15%,transparent);transform:rotate(18deg);pointer-events:none}.dashboard-card>header,.dashboard-card>div,.dashboard-card>footer{position:relative;z-index:1}.dashboard-card>header{align-items:center}.dashboard-card-title{display:flex;align-items:center;gap:var(--space-3);min-width:0}.dashboard-card-title h2{margin:0;color:var(--color-text)}.dashboard-card-icon{display:grid;place-items:center;width:2.65rem;height:2.65rem;flex:0 0 auto;border-radius:999px;background:var(--dash);color:white;box-shadow:0 6px 16px color-mix(in srgb,var(--dash) 32%,transparent)}.dashboard-card-icon .icon{font-size:1.15rem}.dashboard-card footer{display:flex;margin-top:auto;padding-top:var(--space-4)}.dashboard-card-tasks{--dash:rgb(0,153,157);--dash-soft:rgb(223,248,247)}.dashboard-card-events{--dash:rgb(255,79,104);--dash-soft:rgb(255,232,237)}.dashboard-card-validations{--dash:rgb(92,159,36);--dash-soft:rgb(237,248,223)}.dashboard-card-campaigns{--dash:rgb(141,43,208);--dash-soft:rgb(243,229,255)}.dashboard-card-notifications{--dash:rgb(255,173,0);--dash-soft:white4cf;grid-column:1/-1}.dashboard-item-list,.dashboard-event-list{display:grid;border:1px solid color-mix(in srgb,var(--dash) 18%,var(--color-border));border-radius:var(--radius-md);background:rgba(255,255,255,.72);overflow:hidden}.dashboard-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);position:relative;color:var(--color-text);text-decoration:none}.dashboard-item::before{content:"";position:absolute;left:var(--space-3);top:var(--space-3);bottom:var(--space-3);width:3px;border-radius:999px;background:var(--dash)}.dashboard-item:last-child{border-bottom:0}.dashboard-item:hover,.dashboard-item:focus-visible{background:color-mix(in srgb,var(--dash) 7%,white)}.dashboard-item-copy{display:grid;gap:.15rem}.dashboard-item-copy small,.dashboard-event-copy small{color:var(--color-muted)}.dashboard-status{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.25rem .85rem;border:2px solid currentColor;border-radius:999px;background:white;font-weight:750;white-space:nowrap}.task-status-in_progress{color:rgb(0,127,147)}.task-status-todo{color:rgb(189,105,0)}.task-status-blocked{color:var(--color-danger)}.task-status-done{color:rgb(67,141,39)}.dashboard-event-row{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border);text-decoration:none;color:var(--color-text)}.dashboard-event-row:last-child{border-bottom:0}.dashboard-event-row:hover,.dashboard-event-row:focus-visible{background:color-mix(in srgb,var(--dash) 7%,white)}.dashboard-event-date{display:grid;place-items:center;min-height:58px;border:2px solid currentColor;border-radius:var(--radius-md);background:white}.dashboard-event-date strong{font-size:1.55rem;line-height:1}.dashboard-event-date small{font-size:.7rem;font-weight:800}.dashboard-event-tone-1{color:rgb(255,80,105)}.dashboard-event-tone-2{color:rgb(242,155,0)}.dashboard-event-tone-3{color:rgb(141,43,208)}.dashboard-event-copy{display:grid;gap:.3rem;color:var(--color-text)}.dashboard-action{display:flex;align-items:center;justify-content:center;gap:.7rem;width:100%;min-height:46px;padding:.65rem 1rem;border:0;border-radius:var(--radius-md);font-weight:800;text-decoration:none;color:white;box-shadow:0 7px 17px rgba(0,0,0,.13);transition:transform .15s ease,filter .15s ease}.dashboard-action:hover,.dashboard-action:focus-visible{transform:translateY(-1px);filter:saturate(1.18) brightness(.98)}.dashboard-action-teal{background:rgb(0,153,157)}.dashboard-action-coral{background:rgb(255,79,104)}.dashboard-action-green{background:rgb(92,159,36)}.dashboard-action-purple{background:rgb(141,43,208)}.dashboard-action-amber{background:rgb(245,167,0)}.dashboard-card-summary{min-height:190px}.dashboard-metric{display:flex;align-items:center;gap:var(--space-4);margin:auto 0}.dashboard-metric strong{font-size:3.4rem;line-height:1;color:var(--dash)}.dashboard-metric span{color:var(--color-text);font-weight:650}.dashboard-count{display:inline-grid;place-items:center;min-width:1.65rem;height:1.65rem;padding:0 .35rem;border-radius:999px;background:var(--dash);color:white;font-size:.75rem}.dashboard-notification-list{display:grid;border:1px solid color-mix(in srgb,var(--dash) 20%,var(--color-border));border-radius:var(--radius-md);background:rgba(255,255,255,.78);overflow:hidden}.dashboard-notification{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text);text-decoration:none}.dashboard-notification:last-child{border-bottom:0}.dashboard-notification-dot{width:.65rem;height:.65rem;margin-top:.35rem;border-radius:999px;background:rgb(255,139,0)}.dashboard-notification.is-unread .dashboard-notification-dot{background:rgb(21,150,243)}.dashboard-notification span:nth-child(2){display:grid;gap:.15rem}.dashboard-notification small,.dashboard-notification time{color:var(--color-muted)}.dashboard-notification time{white-space:nowrap;font-size:.82rem}.notification-bell .icon{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:1.15rem}
@media(max-width:820px){.theme-dashboard-decorative .dashboard-page::before{inset:64px 0 0}.dashboard-heading{margin-bottom:var(--space-6)}.dashboard-heading h1{font-size:2.15rem}.dashboard-grid{grid-template-columns:1fr}.dashboard-card-notifications{grid-column:auto}.dashboard-card{padding:var(--space-4)}.dashboard-card-summary{min-height:160px}.dashboard-notification{grid-template-columns:auto minmax(0,1fr)}.dashboard-notification time{grid-column:2}.dashboard-event-row{grid-template-columns:58px minmax(0,1fr)}}
@media(max-width:460px){.dashboard-item{grid-template-columns:1fr}.dashboard-status{justify-self:start}.dashboard-card-title h2{font-size:1.25rem}.dashboard-metric strong{font-size:2.8rem}.dashboard-action{font-size:1rem}.dashboard-notification time{white-space:normal}}

/* 0.25.0 — accueil simplifié, uniquement jetons du design system. */
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--space-3)}
.dashboard-shortcut{display:grid;justify-items:center;align-content:center;gap:var(--space-2);min-height:112px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:center;text-decoration:none}
.dashboard-shortcut:hover,.dashboard-shortcut:focus-visible{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));color:var(--color-primary)}
.dashboard-shortcut .dashboard-card-icon{background:var(--color-primary);box-shadow:none}
@media(max-width:620px){.dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shortcut{min-height:96px;padding:var(--space-3)}}

/* modules/foundations.css */
.foundation-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr);gap:var(--space-4);align-items:start}.foundation-list-card{min-width:0}.builder-sections{display:grid;gap:var(--section-gap);margin-top:var(--section-gap)}.builder-section{display:grid;gap:var(--space-4)}.builder-details{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.builder-details>summary{cursor:pointer;font-weight:700;min-height:var(--touch-target);display:flex;align-items:center;color:var(--color-primary)}.field-list{display:grid;gap:var(--space-3)}.field-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-background))}.field-card-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.field-card code,.release-status code{font-size:.82rem}.condition-box{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.condition-box legend{font-weight:700;padding:0 var(--space-2)}.add-field{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.back-link{display:inline-block;margin-bottom:var(--space-2)}.event-type-swatch{display:inline-block;width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-md);background:var(--event-type-color,var(--color-primary));border:1px solid var(--color-border)}.release-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.release-summary .card{display:grid;gap:var(--space-1);text-align:center}.release-summary strong{font-size:1.7rem}.release-status-success{color:var(--color-success)}.release-status-failure{color:var(--color-danger)}.release-status-not_verifiable,.release-status-manual{color:var(--color-warning)}.danger-zone{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border))}.muted code{color:inherit}@media(max-width:1000px){.foundation-grid{grid-template-columns:1fr}}@media(max-width:820px){.field-card-summary{align-items:stretch;flex-direction:column}.release-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-details>summary{padding-block:var(--space-2)}}@media(max-width:420px){.release-summary{grid-template-columns:1fr}}
.role-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media(max-width:640px){.role-permission-grid{grid-template-columns:1fr}}
.field-requirement-form{display:flex;align-items:end;gap:var(--space-2);flex-wrap:wrap}.field-requirement-form .field{min-width:12rem}.field-requirement-form .button{min-height:var(--touch-target)}@media(max-width:820px){.field-requirement-form{width:100%;align-items:stretch}.field-requirement-form .field,.field-requirement-form .button{width:100%}}

[data-custom-reference][hidden]{display:none}.archived-forms{margin-top:var(--section-gap)}.archived-forms header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}

/* Sections de formulaire colorées par la charte ou par une valeur administrée. */
.builder-section[data-section-color]:not([data-section-color=""]){border-top:5px solid var(--form-section-color,var(--color-primary))}
.builder-section[data-section-color]:not([data-section-color=""])>header h2{color:var(--form-section-color,var(--color-primary))}
.section-heading{display:flex;align-items:flex-start;gap:var(--space-3)}
.form-section-swatch{display:inline-block;flex:0 0 auto;width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--form-section-color,var(--color-background))}
[data-section-color-custom][hidden]{display:none}
.field-layout-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;gap:var(--space-2);align-items:end;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
@media(max-width:820px){.field-layout-form{grid-template-columns:1fr}}

.section-color-quick-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,.7fr) auto;gap:var(--space-2);align-items:end;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 94%,var(--color-background))}.section-color-quick-form .button{min-height:var(--touch-target)}
.form-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:var(--space-5);align-items:start}.form-situation-preview{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-background);box-shadow:var(--shadow-sm)}.form-situation-preview-mobile{max-width:390px;justify-self:center;width:100%}.preview-window-bar{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.preview-window-bar span{width:.75rem;height:.75rem;border-radius:999px;background:var(--color-secondary)}.preview-window-content{display:grid;gap:var(--space-4);padding:var(--space-4)}.preview-form-header{display:grid;gap:var(--space-1)}.preview-form-section{display:grid;gap:var(--space-3)}.preview-heading{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.preview-separator{border:0;border-top:1px solid var(--color-border);width:100%}.preview-choice-group{display:grid;gap:var(--space-2)}.preview-actions{padding-top:var(--space-2)}.form-situation-preview-mobile .dynamic-form-grid{grid-template-columns:1fr}.form-situation-preview-mobile .dynamic-form-grid>[class*="field-width-"]{grid-column:1}.form-situation-preview-mobile .preview-window-content{padding:var(--space-3)}
@media(max-width:1100px){.form-preview-layout{grid-template-columns:1fr}.form-situation-preview-mobile{justify-self:start}.section-color-quick-form{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.section-color-quick-form{grid-template-columns:1fr}.form-situation-preview-desktop{overflow-x:auto}.form-situation-preview-desktop .preview-window-content{min-width:760px}}

/* modules/events.css */
.calendar-toolbar{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--section-gap)}.calendar-navigation{display:flex;align-items:center;gap:var(--space-3)}.calendar-navigation h2{margin:0;min-width:15ch;text-align:center}.calendar-filters{display:flex;align-items:end;gap:var(--space-3);flex-wrap:wrap}.calendar-filters .field{min-width:160px}.calendar-month{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:var(--color-background);border-bottom:1px solid var(--color-border)}.calendar-weekdays span{padding:var(--space-2);font-weight:700;text-align:center}.calendar-day{min-height:150px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-2);min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day header{display:flex;justify-content:space-between;align-items:center;min-height:var(--touch-target)}.calendar-day.is-outside{background:color-mix(in srgb,var(--color-background) 78%,var(--color-surface));color:var(--color-text-muted)}.calendar-day.is-today>header time{display:grid;place-items:center;min-width:32px;min-height:32px;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary)}.calendar-day.is-drag-over{outline:3px solid var(--color-primary);outline-offset:-3px}.calendar-events{display:grid;gap:var(--space-1)}.calendar-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);align-items:center;padding:var(--space-1) var(--space-2);border-left:4px solid var(--event-color,var(--color-primary));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--event-color,var(--color-primary)) 10%,var(--color-surface));color:var(--color-text);text-decoration:none;font-size:.86rem;line-height:1.25}.calendar-event:hover,.calendar-event:focus-visible{background:color-mix(in srgb,var(--event-color,var(--color-primary)) 18%,var(--color-surface))}.calendar-event.status-cancelled{text-decoration:line-through;opacity:.68}.calendar-add{opacity:.55}.calendar-day:hover .calendar-add,.calendar-add:focus-visible{opacity:1}.calendar-agenda{margin-top:var(--section-gap)}.event-agenda-list{display:grid}.event-agenda-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--color-border);border-left:4px solid var(--event-color,var(--color-primary));color:inherit;text-decoration:none}.event-agenda-item:first-child{border-top:0}.event-agenda-item time{display:grid;text-align:center}.event-agenda-item time strong{font-size:1.5rem}.status-planned{--status-color:var(--color-info)}.status-confirmed{--status-color:var(--color-success)}.status-cancelled{--status-color:var(--color-danger)}.status-completed{--status-color:var(--color-text-muted)}.status-archived{--status-color:var(--color-text-muted)}.badge.status-planned,.badge.status-confirmed,.badge.status-cancelled,.badge.status-completed,.badge.status-archived{color:var(--status-color);border-color:color-mix(in srgb,var(--status-color) 45%,var(--color-border));background:color-mix(in srgb,var(--status-color) 9%,var(--color-surface))}.event-form{padding-bottom:calc(var(--touch-target) + var(--space-6));gap:var(--space-3)}.event-form-details{gap:var(--space-3)}.event-form .form-grid,.event-form .dynamic-form-grid{gap:var(--compact-form-gap)}.dynamic-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--compact-form-gap)}.dynamic-form-grid>.field-width-full,.dynamic-form-grid>.dynamic-heading,.dynamic-form-grid>.alert,.dynamic-form-grid>.dynamic-separator{grid-column:1/-1}.dynamic-form-grid>.field-width-three_quarters{grid-column:span 9}.dynamic-form-grid>.field-width-two_thirds{grid-column:span 8}.dynamic-form-grid>.field-width-half{grid-column:span 6}.dynamic-form-grid>.field-width-third{grid-column:span 4}.dynamic-form-grid>.field-width-quarter{grid-column:span 3}.dynamic-heading{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.dynamic-separator{border:0;border-top:1px solid var(--color-border);width:100%}.dynamic-section[data-section-color]:not([data-section-color=""]){border-top:5px solid var(--form-section-color,var(--color-primary))}.dynamic-section[data-section-color]:not([data-section-color=""]){box-shadow:inset 0 1px 0 color-mix(in srgb,var(--form-section-color,var(--color-primary)) 20%,transparent),var(--shadow-sm)}.dynamic-section[data-section-color]:not([data-section-color=""])>header h2{color:var(--form-section-color,var(--color-primary))}.dynamic-section[hidden],.field[hidden]{display:none}.field-help{color:var(--color-text-muted);font-size:.88rem;margin:0}.recurrence-fields{margin-top:var(--space-4);display:grid;gap:var(--space-4)}.recurrence-weekdays{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.sticky-actions{position:sticky;bottom:var(--space-2);z-index:8;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}.save-state{color:var(--color-text-muted)}.event-tabs{display:flex;gap:var(--space-1);overflow:auto;padding:var(--space-1);margin-bottom:var(--section-gap);border-bottom:1px solid var(--color-border)}.event-tabs a{white-space:nowrap;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none}.event-tabs a:hover,.event-tabs a:focus-visible{background:var(--color-background)}.event-overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:var(--space-4)}.definition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.definition-list div{display:grid;gap:var(--space-1)}.definition-list dt{color:var(--color-text-muted);font-size:.86rem}.definition-list dd{margin:0;font-weight:650}.schedule-list{display:grid;gap:var(--space-2)}.schedule-list div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2);border-bottom:1px solid var(--color-border)}.history-list{display:grid;gap:var(--space-3);padding-left:1.5rem}.history-list li{padding-left:var(--space-2)}.history-list time{color:var(--color-text-muted);font-size:.86rem}.event-future-section{scroll-margin-top:var(--space-6)}
@media(max-width:1000px){.calendar-toolbar{align-items:stretch;flex-direction:column}.event-overview-grid{grid-template-columns:1fr}.calendar-day{min-height:120px}.definition-list{grid-template-columns:1fr}}
@media(max-width:760px){.calendar-weekdays,.calendar-days{display:none}.calendar-month{display:none}.calendar-agenda{margin-top:0}.event-agenda-item{grid-template-columns:50px minmax(0,1fr)}.event-agenda-item>.badge{grid-column:2}.dynamic-form-grid{grid-template-columns:1fr}.dynamic-form-grid>.field-width-three_quarters,.dynamic-form-grid>.field-width-two_thirds,.dynamic-form-grid>.field-width-half,.dynamic-form-grid>.field-width-third,.dynamic-form-grid>.field-width-quarter{grid-column:1}.recurrence-weekdays{grid-template-columns:repeat(2,minmax(0,1fr))}.event-tabs{margin-inline:calc(var(--space-3)*-1)}.sticky-actions{bottom:calc(var(--mobile-nav-height) + var(--space-2));flex-wrap:wrap}}
@media(max-width:420px){.calendar-filters{display:grid;grid-template-columns:1fr;width:100%}.calendar-filters .field{min-width:0}.event-agenda-item{padding-inline:var(--space-2)}}
.calendar-views{display:flex;gap:var(--space-1);flex-wrap:wrap}.calendar-views a{min-height:var(--touch-target);display:inline-flex;align-items:center;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none}.calendar-views a:hover,.calendar-views a:focus-visible{background:var(--color-background)}.calendar-views a.is-active{background:var(--color-primary);color:var(--color-primary-contrast)}.calendar-filter-card{margin-bottom:var(--section-gap)}.calendar-week-view{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.calendar-week-day{min-height:300px;padding:var(--space-2);border-right:1px solid var(--color-border)}.calendar-week-day:last-child{border-right:0}.calendar-week-day>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--touch-target);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2)}.calendar-day-view .event-agenda-list{display:grid;gap:var(--space-2)}.calendar-timeline{display:grid;gap:var(--space-4)}.timeline-day>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.calendar-event span{min-width:0}.calendar-event strong,.calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{color:var(--color-text-muted);font-size:.76rem}.mobile-calendar-agenda{display:none}.event-dynamic-read{padding:var(--space-3);border-top:1px solid var(--color-border);border-left:4px solid transparent;border-radius:var(--radius-md)}.event-dynamic-read[data-section-color]:not([data-section-color=""]){border-left-color:var(--form-section-color,var(--color-primary));background:color-mix(in srgb,var(--form-section-color,var(--color-primary)) 6%,var(--color-surface))}.event-dynamic-read[data-section-color]:not([data-section-color=""]) h3{color:var(--form-section-color,var(--color-primary))}.event-dynamic-read:first-of-type{border-top-color:transparent}.rich-content{line-height:var(--line-height-body)}.rich-content a{color:var(--color-primary)}
@media(max-width:1100px){.calendar-week-view{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-week-day{border-bottom:1px solid var(--color-border)}.calendar-week-day:nth-child(2n){border-right:0}}
@media(max-width:760px){.calendar-views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.calendar-views a{justify-content:center}.calendar-week-view{grid-template-columns:1fr}.calendar-week-day{border-right:0}.mobile-calendar-agenda{display:block}.calendar-day-view .calendar-event,.calendar-week-view .calendar-event{font-size:.92rem}.calendar-toolbar .calendar-navigation{flex-wrap:wrap}.calendar-navigation h2{order:-1;width:100%;text-align:left}}
.next-event{border-left:4px solid var(--event-color,var(--color-primary));padding-left:var(--space-3)}.next-event h3{margin-block:var(--space-2)}.next-event a{color:var(--color-text);text-decoration:none}.next-event a:hover,.next-event a:focus-visible{color:var(--color-primary)}

.calendar-day.is-past,.calendar-week-day.is-past,.calendar-day-view.is-past,.timeline-day.is-past{background-color:color-mix(in srgb,var(--color-muted) 24%,var(--color-surface));background-image:repeating-linear-gradient(-45deg,transparent 0 9px,color-mix(in srgb,var(--color-muted) 10%,transparent) 9px 18px);border-color:color-mix(in srgb,var(--color-muted) 55%,var(--color-border))}.calendar-day.is-past>header,.calendar-week-day.is-past>header,.timeline-day.is-past>header{color:var(--color-muted)}.calendar-day.is-past .calendar-event,.calendar-week-day.is-past .calendar-event,.timeline-day.is-past .calendar-event{opacity:.74;filter:saturate(.55)}.calendar-day.is-past.is-drag-over,.calendar-week-day.is-past.is-drag-over{outline:3px solid var(--color-primary);outline-offset:-3px}.calendar-day.is-past a,.calendar-week-day.is-past a,.calendar-day-view.is-past a,.timeline-day.is-past a{pointer-events:auto}.calendar-day.is-past .calendar-add,.calendar-week-day.is-past .icon-button{opacity:.72}

/* Création guidée par type d’événement. */
.event-type-step{border-inline-start:var(--space-1) solid var(--color-primary)}
.event-type-choice-grid{grid-template-columns:minmax(0,42rem)}
.event-form-details[hidden]{display:none}
.event-optional-section{padding:0;overflow:hidden}
.event-optional-section>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-4);cursor:pointer;font-weight:var(--font-weight-bold)}
.event-optional-section>summary span{display:grid;gap:var(--space-1)}
.event-optional-section>summary small{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}
.event-optional-section>.details-content{display:grid;gap:var(--space-4);padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-border)}
.dynamic-section[data-section-color]:not([data-section-color=""]){border-color:color-mix(in srgb,var(--form-section-color,var(--color-primary)) 42%,var(--color-border));background:linear-gradient(180deg,color-mix(in srgb,var(--form-section-color,var(--color-primary)) 9%,var(--color-surface)) 0,var(--color-surface) 9rem)}
.dynamic-section[data-section-color]:not([data-section-color=""])>header{border-bottom-color:color-mix(in srgb,var(--form-section-color,var(--color-primary)) 25%,var(--color-border))}
.dynamic-section[data-section-color]:not([data-section-color=""])>header h2{display:flex;align-items:center;gap:var(--space-2)}
.dynamic-section[data-section-color]:not([data-section-color=""])>header h2::before{content:"";width:var(--space-2);height:var(--space-6);border-radius:var(--radius-sm);background:var(--form-section-color,var(--color-primary));flex:0 0 auto}
@media(max-width:760px){.event-type-choice-grid{grid-template-columns:1fr}.event-type-step,.event-core-section,.dynamic-section{scroll-margin-top:var(--space-4)}.event-optional-section>summary{align-items:flex-start}}

/* Formulaires événement : lecture compacte, sans commentaires de champ/section. */
[data-dynamic-form-container]{display:grid;gap:var(--space-3)}
.event-form-description{margin:0;padding-inline:var(--space-1)}
.event-form details.form-advanced>summary{list-style:none;display:flex;align-items:center;gap:var(--space-2);cursor:pointer}
.event-form details.form-advanced>summary::-webkit-details-marker{display:none}
.event-form details.form-advanced>summary::after{content:"▾";margin-inline-start:auto;line-height:1;transition:transform var(--motion-fast)}
.event-form details.form-advanced[open]>summary::after{transform:rotate(180deg)}
.event-form details.form-advanced[open]>summary{margin-bottom:var(--space-2)}
.event-form .field-message:empty,.event-form .event-custom-file-state:empty{display:none}

/* Groupes communs facultatifs : absents visuellement tant qu’ils ne sont pas utiles. */
.event-optional-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.event-optional-actions[hidden],.event-optional-group[hidden]{display:none}
.event-optional-action{min-height:var(--touch-target)}
.event-optional-group{display:grid;gap:var(--space-3)}
.event-optional-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
.event-optional-group .form-grid{gap:var(--compact-form-gap)}
@media(max-width:760px){.event-optional-actions{display:grid;grid-template-columns:1fr}.event-optional-group>header{align-items:stretch;flex-direction:column}}

.event-detail-sections{display:grid;gap:var(--section-gap)}
.event-detail-sections>*,.event-detail-sections>#messages>*{min-width:0}
.event-attachment-form{padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}

/* 0.10.15 — lecture des rubriques dynamiques et suppression du faux collage visuel. */
.event-dynamic-summary{display:grid;gap:var(--section-gap)}
.event-dynamic-summary>.event-dynamic-read{border-top:0}
.event-dynamic-summary>.event-dynamic-read+.event-dynamic-read{margin-top:0}

/* 0.26.0 — l’espacement est désormais piloté par la grille compacte du formulaire. */
.event-form [data-dynamic-form-container]{gap:var(--space-3)}.event-form [data-dynamic-form-container]>.dynamic-section+.dynamic-section{margin-top:0}

/* modules/campaigns.css */
.campaign-filters{margin-bottom:var(--section-gap)}
.campaign-list,.campaign-content-list{display:grid;gap:var(--space-4)}
.campaign-card header,.campaign-channel-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
.campaign-card h2,.campaign-channel-card h3{margin-block:var(--space-1)}
.campaign-card h2 a{color:var(--color-text);text-decoration:none}.campaign-card h2 a:hover,.campaign-card h2 a:focus-visible{color:var(--color-primary)}
.eyebrow{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em}
.campaign-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-block:var(--space-4)}.campaign-summary div{display:grid;gap:var(--space-1)}.campaign-summary dt{font-size:var(--font-size-sm);color:var(--color-text-muted)}.campaign-summary dd{margin:0;font-weight:var(--font-weight-bold)}
.campaign-create-form{max-width:1100px}
.campaign-channel-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}
.campaign-channel-choice{min-height:var(--touch-target);display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer}
.campaign-channel-choice:hover,.campaign-channel-choice:focus-within{border-color:var(--channel-color,var(--color-primary));background:color-mix(in srgb,var(--channel-color,var(--color-primary)) 6%,var(--color-surface))}
.campaign-channel-choice:has(input:checked){border-color:var(--channel-color,var(--color-primary));background:color-mix(in srgb,var(--channel-color,var(--color-primary)) 11%,var(--color-surface));box-shadow:inset 0 0 0 1px var(--channel-color,var(--color-primary))}
.campaign-channel-choice input{margin:0}.campaign-channel-choice-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--channel-color,var(--color-primary)) 14%,var(--color-surface));color:var(--channel-color,var(--color-primary));font-size:1.05rem}.campaign-channel-choice strong{min-width:0}
.campaign-status-active{background:color-mix(in srgb,var(--color-success) 16%,var(--color-surface));color:var(--color-success)}.campaign-status-paused{background:color-mix(in srgb,var(--color-warning) 16%,var(--color-surface));color:var(--color-warning)}.campaign-status-completed{background:color-mix(in srgb,var(--color-info) 16%,var(--color-surface));color:var(--color-info)}
.campaign-detail{display:grid;gap:0}.campaign-section+.campaign-section{margin-top:var(--section-gap)}.campaign-section{scroll-margin-top:calc(var(--topbar-height) + var(--touch-target) + var(--space-6))}
.campaign-tabs{position:sticky;top:var(--topbar-height);z-index:9;margin-inline:calc(var(--space-2)*-1);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 94%,transparent);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}
.campaign-tabs a[aria-current]{background:var(--color-primary);color:var(--color-primary-contrast)}
.campaign-progress{display:grid;gap:var(--space-2)}.campaign-progress strong{font-size:var(--font-size-2xl)}.campaign-progress progress{width:100%;height:var(--space-3);accent-color:var(--color-primary)}
.campaign-timeline ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.campaign-timeline li{display:grid;grid-template-columns:minmax(9rem,auto) minmax(0,1fr);gap:var(--space-3);align-items:start;padding-block:var(--space-2);border-bottom:1px solid var(--color-border)}.campaign-timeline li:last-child{border-bottom:0}.campaign-timeline time{color:var(--color-text-muted)}.campaign-timeline li>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.campaign-channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.campaign-channel-card{border-inline-start:var(--space-1) solid var(--channel-color,var(--color-border));background:linear-gradient(180deg,color-mix(in srgb,var(--channel-color,var(--color-primary)) 7%,var(--color-surface)),var(--color-surface) 8rem)}
.campaign-channel-card.is-inactive{background:var(--color-surface);border-inline-start-color:var(--color-border)}
.campaign-channel-header,.campaign-channel-identity{display:flex;align-items:center;gap:var(--space-3)}.campaign-channel-identity{min-width:0}.campaign-channel-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:var(--radius-md);background:color-mix(in srgb,var(--channel-color,var(--color-primary)) 16%,var(--color-surface));color:var(--channel-color,var(--color-primary));font-size:1.25rem;font-weight:var(--font-weight-bold)}
.campaign-channel-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--compact-form-gap)}.campaign-channel-fields>.field-width-full{grid-column:1/-1}
.campaign-inline-save{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--touch-target)}
.campaign-inactive-channels{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.campaign-inactive-channels>summary{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-3);cursor:pointer;font-weight:var(--font-weight-bold)}.campaign-inactive-channels>[data-inactive-channel-grid]{padding:0 var(--space-3) var(--space-3)}
.campaign-content-card{border-inline-start:var(--space-1) solid var(--channel-color,var(--color-border))}.campaign-content-schedule{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--color-text-muted);font-size:.92rem}.campaign-content-card details{margin-top:var(--space-3)}
.recurrence-weekday-picker{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}.recurrence-weekday-picker legend{padding-inline:var(--space-1);font-weight:var(--font-weight-bold)}.recurrence-weekday-picker label{display:flex;align-items:center;gap:var(--space-1);min-height:32px;padding-inline:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.88rem;font-weight:var(--font-weight-normal)}.recurrence-weekday-picker label:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}
.template-channel-grid{display:grid;gap:var(--space-3)}.template-channel-row{display:grid;grid-template-columns:minmax(10rem,1.4fr) repeat(3,minmax(8rem,1fr));gap:var(--space-3);align-items:end;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.template-channel-row label:not(.switch){display:grid;gap:var(--space-1);font-size:var(--font-size-sm)}
.recalc-preview{margin-top:var(--space-3)}.is-hidden{display:none}
@media(max-width:1000px){.campaign-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-channel-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.template-channel-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.campaign-card header,.campaign-channel-card header{align-items:stretch;flex-direction:column}.campaign-summary,.campaign-channel-picker,.campaign-channel-grid,.template-channel-row,.campaign-channel-fields{grid-template-columns:1fr}.campaign-channel-fields>.field-width-full{grid-column:1}.campaign-timeline li{grid-template-columns:1fr;gap:var(--space-1)}.campaign-timeline li>div{align-items:flex-start;flex-direction:column}.campaign-tabs{top:var(--topbar-height);margin-inline:calc(var(--space-4)*-1);border-radius:0}.campaign-section{scroll-margin-top:calc(var(--topbar-height) + var(--touch-target) + var(--space-8))}.campaign-inline-save{align-items:flex-start;flex-direction:column}}

/* Correctif 0.4.2 : identité des canaux, uploads et densité réelle. */
.channel-brand-icon{display:block;width:32px;height:32px;object-fit:contain;flex:0 0 auto}
.campaign-channel-icon .channel-brand-icon{width:38px;height:38px}
.campaign-channel-choice-icon .channel-brand-icon{width:26px;height:26px}
.campaign-content-channel{display:flex;align-items:center;gap:var(--space-2)}
.campaign-content-channel .channel-brand-icon{width:24px;height:24px}
.campaign-upload-field{grid-column:1/-1}.campaign-upload-field[hidden]{display:none}
.campaign-content-create-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.campaign-content-card .file-attachment{margin-block:var(--space-2)}
.campaign-channel-card .form-compact{gap:var(--space-2)}
.campaign-channel-fields{gap:var(--space-2)}
.campaign-channel-fields textarea{min-height:68px}
.campaign-detail .card-compact{padding:var(--space-3)}

.campaign-tabs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
@media(max-width:760px){.campaign-content-create-actions{align-items:stretch;flex-direction:column}.campaign-content-create-actions .button{width:100%}}

/* 0.10.15 — séparation explicite des trois fiches de collaboration. */
.campaign-detail>#tasks+.campaign-section,.campaign-detail>#audiences+#messages{margin-top:var(--section-gap)}

/* modules/tasks.css */
.task-list,.validation-page-list{display:grid;gap:var(--section-gap);margin-top:var(--section-gap)}
.task-card,.validation-card{display:grid;gap:var(--space-3)}
.task-card>header,.validation-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
.task-card h2,.validation-card h2{margin:0;font-size:1.08rem}
.task-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);margin:0}
.task-meta div{display:grid;gap:var(--space-1)}
.task-meta dt{font-size:.78rem;color:var(--color-muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.task-meta dd{margin:0}
.task-card.is-overdue{border-inline-start:var(--space-1) solid var(--color-warning)}
.task-status-todo{background:color-mix(in srgb,var(--color-muted) 12%,var(--color-surface));color:var(--color-text)}
.task-status-in_progress{background:color-mix(in srgb,var(--color-info) 14%,var(--color-surface));color:var(--color-info)}
.task-status-done{background:color-mix(in srgb,var(--color-success) 14%,var(--color-surface));color:var(--color-success)}
.validation-status-requested{background:color-mix(in srgb,var(--color-warning) 14%,var(--color-surface));color:var(--color-warning)}
.validation-status-approved{background:color-mix(in srgb,var(--color-success) 14%,var(--color-surface));color:var(--color-success)}
.validation-status-changes_requested{background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));color:var(--color-danger)}
.task-detail{display:grid;gap:var(--section-gap)}
.task-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:var(--section-gap);align-items:start}
.task-section{display:grid;gap:var(--space-3)}
.validation-list{display:grid;gap:var(--space-3)}
.validation-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--color-border)}
.validation-item:last-child{border-bottom:0}
.validation-decision{align-self:start}
.form-advanced{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--color-border) 12%,var(--color-surface))}
.form-advanced>summary{cursor:pointer;font-weight:700;min-height:var(--touch-target);display:flex;align-items:center}
.form-advanced[open]>summary{margin-bottom:var(--space-3)}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2);border:0;padding:0;margin:0}
.choice-grid label{display:flex;align-items:center;gap:var(--space-2);font-weight:500}
.task-form-card{max-width:920px}
.task-filters .form-grid{align-items:end}
.campaign-task-list{display:grid;gap:var(--space-2)}
.campaign-task-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-3);align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}
.campaign-task-row:last-child{border-bottom:0}
.campaign-task-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}
@media (max-width:760px){.task-detail-grid,.validation-item{grid-template-columns:1fr}.task-card>header,.validation-card>header{align-items:flex-start}.campaign-task-row{grid-template-columns:1fr}.task-meta{grid-template-columns:1fr 1fr}.task-form-card{max-width:none}}
@media (max-width:420px){.task-meta{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}}

/* 0.10.15 — onglets d’état fondés sur les boutons du design system. */
.task-state-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--section-gap)}
.task-state-tabs .button{min-width:min(100%,12rem)}
@media(max-width:520px){.task-state-tabs{display:grid;grid-template-columns:1fr 1fr}.task-state-tabs .button{min-width:0;padding-inline:var(--space-2);text-align:center}}

/* modules/files.css */
.file-upload-panel{margin-bottom:var(--section-gap)}.file-upload-actions{margin-top:var(--space-3)}.dropzone.compact{min-height:6rem}.files-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.files-toolbar .segmented{display:flex;flex-wrap:wrap;gap:var(--space-1)}.files-toolbar .button{min-height:var(--control-height);padding:var(--space-1) var(--space-3)}.files-search{display:flex;align-items:center;gap:var(--space-1);min-width:min(100%,320px)}.files-search input{min-width:0;flex:1}.file-selection-bar{position:sticky;top:calc(var(--topbar-height) + var(--space-2));z-index:8;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.file-selection-bar[hidden]{display:none}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:var(--space-4)}.file-card{padding:0;overflow:hidden;display:grid;grid-template-rows:150px 1fr auto;transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}.file-card:hover,.file-card:focus-within{border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-1px)}.file-card-preview{display:grid;place-items:center;background:var(--color-background);overflow:hidden}.file-card-preview img{width:100%;height:100%;object-fit:cover}.file-kind-icon{display:grid;place-items:center;font-size:2rem;color:var(--color-text-muted)}.file-kind-icon.large{font-size:3rem}.file-card-body{padding:var(--space-3);min-width:0}.file-card-title{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0}.file-card-title a{min-width:0;overflow-wrap:anywhere}.file-name-link{font-weight:700;line-height:1.25}.file-card-actions{border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-background) 55%,var(--color-surface))}.file-card-body p{margin:var(--space-1) 0}.file-card-actions{display:flex;justify-content:flex-end;gap:var(--space-1);padding:0 var(--space-2) var(--space-2)}.file-card.is-archived{opacity:.72}.badge-row{display:flex;flex-wrap:wrap;gap:var(--space-1)}.file-detail-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:var(--section-gap);margin-bottom:var(--section-gap)}.file-detail-grid>*,.file-detail-grid~.card{min-width:0}.file-detail-grid~.card{overflow:hidden}.file-detail-grid~.card>.table-scroll{width:100%;max-width:100%}.file-detail-preview{display:grid;place-items:center;min-height:360px;overflow:hidden}.file-detail-preview img{max-width:100%;max-height:70vh;object-fit:contain}.definition-list{display:grid;gap:var(--space-2)}.definition-list>div{display:grid;grid-template-columns:minmax(110px,.45fr) 1fr;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.definition-list dt{font-weight:700}.definition-list dd{margin:0;min-width:0;overflow-wrap:anywhere}.checksum{font-size:var(--font-size-sm);overflow-wrap:anywhere}.file-version-form{display:grid;grid-template-columns:minmax(220px,420px) 1fr;align-items:center;gap:var(--space-3)}.link-list{display:grid;gap:var(--space-2);padding-left:var(--space-5)}.upload-result{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.upload-result.is-error{border-color:var(--color-danger)}.upload-result.is-success{border-color:var(--color-success)}
@media(max-width:900px){.files-toolbar{align-items:stretch;flex-direction:column}.files-search{min-width:0;width:100%}.file-detail-grid{grid-template-columns:1fr}.file-detail-preview{min-height:240px}}
@media(max-width:620px){.file-grid{grid-template-columns:1fr}.file-card{grid-template-columns:92px 1fr auto;grid-template-rows:auto;min-height:92px}.file-card-preview{min-height:92px}.file-card-actions{align-items:center;padding:var(--space-2);flex-direction:column}.file-selection-bar{align-items:stretch;flex-direction:column}.file-version-form{grid-template-columns:1fr}.definition-list>div{grid-template-columns:1fr;gap:var(--space-1)}}

/* Familles et utilisations de fichiers. */
.linked-file{display:grid;gap:var(--space-3);margin-top:var(--space-3);background:color-mix(in srgb,var(--color-background) 42%,var(--color-surface))}.linked-file-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.linked-file-icon{display:grid;place-items:center;width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary)}.linked-file-info{min-width:0}.linked-file-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.linked-file-title strong{overflow-wrap:anywhere}.linked-file-info p{margin:var(--space-1) 0}.linked-file-actions{display:flex;align-items:center;gap:var(--space-1)}.linked-file-update{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0}.linked-file-update p{margin:var(--space-1) 0 0}.linked-file-follow{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,auto) auto;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.linked-file-follow>span:first-child{font-weight:var(--font-weight-bold)}.linked-file-version{border-top:1px solid var(--color-border);padding-top:var(--space-2)}.linked-file-version>summary{cursor:pointer;font-weight:var(--font-weight-bold);min-height:var(--touch-target);display:flex;align-items:center}.linked-file-version .file-version-form{margin-top:var(--space-2)}.event-linked-files{margin-top:var(--space-3)}.event-linked-file-group{display:grid;gap:var(--space-1)}.event-linked-file-group+.event-linked-file-group{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.event-linked-file-group h3{margin:0}
@media(max-width:760px){.linked-file-main{grid-template-columns:auto minmax(0,1fr)}.linked-file-actions{grid-column:1/-1;justify-content:flex-start}.linked-file-update{align-items:stretch;flex-direction:column}.linked-file-follow{grid-template-columns:1fr}.linked-file-follow select{width:100%}}
/* Robustesse mobile des cartes de versions. */
.linked-file,.linked-file-main,.linked-file-info,.linked-file-follow,.linked-file-version,.linked-file-version .file-version-form{min-width:0;max-width:100%}.linked-file-actions{flex-wrap:wrap}.linked-file-follow select{min-width:0;max-width:100%}.linked-file-version .dropzone{min-width:0}.linked-file-version .help-text{overflow-wrap:anywhere}
@media(max-width:480px){.linked-file-main{grid-template-columns:1fr}.linked-file-icon{justify-self:start}.linked-file-actions{grid-column:auto;width:100%}.linked-file-actions .button{flex:1 1 auto}.linked-file-update .button{width:100%}.linked-file-title{align-items:flex-start}.linked-file-follow{align-items:stretch}.linked-file-follow .save-feedback{justify-self:start}}

.file-upload-labels{margin-top:var(--space-3)}
.file-upload-label{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}
.file-original-name{margin:.15rem 0 0;font-size:.82rem;overflow-wrap:anywhere}
.file-detail-preview iframe{display:block;width:100%;min-height:560px;border:0;border-radius:var(--radius-md);background:var(--color-background)}
.file-selection-bar .button-group{margin-left:auto}

/* 0.10.15 — aperçu PDF same-origin autorisé uniquement sur la route dédiée. */
.file-pdf-preview{display:grid;gap:var(--space-2);width:100%;min-width:0}
.file-pdf-preview iframe{display:block;width:100%;min-height:min(72vh,760px);border:0;border-radius:var(--radius-sm);background:var(--color-background)}
.file-pdf-preview p{margin:0;text-align:center}
@media(max-width:760px){.file-pdf-preview iframe{min-height:62vh}}

/* modules/contacts.css */
.contact-list,.contact-list-grid{display:grid;gap:var(--section-gap)}
.contact-list-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.contact-card,.contact-list-card{display:grid;gap:var(--space-3)}
.contact-card>header,.contact-list-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
.contact-card h2,.contact-list-card h2{margin:0;font-size:1.08rem}
.contact-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:var(--space-2);margin:0}
.contact-meta div{display:grid;gap:var(--space-1)}
.contact-meta dt{font-size:.76rem;color:var(--color-muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.contact-meta dd{margin:0;overflow-wrap:anywhere}
.contact-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}
.contact-detail{display:grid;gap:var(--section-gap)}
.contact-form-card{max-width:920px}
.contact-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--section-gap)}
.contact-sensitive-actions{border-color:color-mix(in srgb,var(--color-danger) 28%,var(--color-border))}
.contact-list-card.is-expired{border-inline-start:var(--space-1) solid var(--color-warning)}
.contact-category-list{display:grid;gap:var(--space-2)}
.contact-category-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.contact-category-row p{margin:var(--space-1) 0 0}
.contact-import-step{display:grid;gap:var(--space-3);margin-bottom:var(--section-gap)}
.contact-import-step h2{margin:0}
.contact-import-preview-list{display:grid;gap:var(--space-2);margin-block:var(--space-3)}
.contact-import-preview-row{display:grid;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-border) 10%,var(--color-surface))}
.contact-import-preview-row span{overflow-wrap:anywhere}
.contact-filters .form-grid{align-items:end}
.contact-list-card .alert{margin:0}
.contact-audience{display:grid;gap:var(--space-3)}
.contact-audience-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-2)}
.contact-audience-option{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.contact-audience-option span{display:grid;gap:var(--space-1)}
.contact-audience-option small{color:var(--color-muted)}
.contact-card.is-archived{opacity:.72}
.activity-list{display:grid;gap:var(--space-2)}
.activity-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-2);border-bottom:1px solid var(--color-border)}
.activity-list article:last-child{border-bottom:0}
@media (max-width:760px){.contact-advanced-grid{grid-template-columns:1fr}.contact-card>header,.contact-list-card>header{align-items:flex-start}.contact-form-card{max-width:none}.activity-list article{display:grid;gap:var(--space-1)}}
@media (max-width:420px){.contact-meta{grid-template-columns:1fr}.contact-list-grid{grid-template-columns:1fr}.contact-card-footer{align-items:stretch}.contact-card-footer .button{width:100%}}
.contact-audience-section{display:grid;gap:var(--space-3)}
.contact-audience-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2);padding:0;border:0;margin:0}
.contact-audience-list legend{grid-column:1/-1;font-weight:700;margin-bottom:var(--space-1)}
.contact-audience-summary{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}
.contact-audience-summary p{margin:0}
.contact-audience-option input{margin-top:.2rem}
@media (max-width:560px){.contact-audience-list{grid-template-columns:1fr}}

/* modules/messages.css */
.message-page-grid{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:var(--section-gap);align-items:start}
.message-sidebar{position:sticky;top:calc(var(--topbar-height) + var(--space-4));display:grid;gap:var(--space-4)}
.message-view-links{display:grid;gap:var(--space-1)}
.message-view-links a{display:flex;align-items:center;min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none}
.message-view-links a:hover{background:var(--nav-hover-background)}
.message-view-links a.is-active{background:var(--nav-active-background);color:var(--nav-active-text);font-weight:700}
.message-channel-list{display:grid;gap:var(--space-3);min-width:0}
.message-channel-card{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);border-inline-start:var(--space-1) solid transparent}
.message-channel-card.has-unread{border-inline-start-color:var(--color-primary)}
.message-channel-main{display:flex;gap:var(--space-3);min-width:0}
.message-channel-icon{display:grid;place-items:center;flex:0 0 var(--touch-target);height:var(--touch-target);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-primary)}
.message-channel-main h2{margin:0}.message-channel-main p{margin:var(--space-1) 0 0}
.message-channel-meta{font-size:.875rem;color:var(--color-muted)}
.message-channel-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}
.message-channel-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:var(--section-gap);align-items:start}
.message-conversation{min-width:0;padding:0;overflow:hidden}
.message-pinned{padding:var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-background)}
.message-pinned summary{cursor:pointer;font-weight:700;color:var(--color-primary)}
.message-pinned-list{display:grid;gap:var(--space-3);margin-top:var(--space-3)}
.message-list{display:grid;gap:var(--space-3);padding:var(--space-4);max-height:min(68vh,760px);overflow:auto;overscroll-behavior:contain}
.message-item{max-width:min(82%,760px);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.message-item.is-mine{justify-self:end;background:var(--color-background)}
.message-item.is-important{border-inline-start:var(--space-1) solid var(--color-info)}
.message-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}
.message-item-header time,.message-item-header .muted{margin-inline-start:var(--space-2);font-size:.8125rem;color:var(--color-muted)}
.message-item-flags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1)}
.message-body{overflow-wrap:anywhere;white-space:normal}
.message-mentions{margin:var(--space-2) 0 0;font-size:.875rem}
.message-attachments{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.file-chip{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text);text-decoration:none}
.file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip small{color:var(--color-muted)}
.message-actions{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border)}
.message-actions .button-text{min-height:var(--touch-target);padding:0 var(--space-2);background:transparent;color:var(--color-muted);border-color:transparent;font-size:.875rem}
.message-actions .button-text:hover,.message-actions .button-text.is-active{color:var(--color-primary);background:var(--nav-hover-background)}
.message-composer{display:grid;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface)}
.message-composer textarea{resize:vertical;min-height:100px}
.message-composer-actions{display:flex;align-items:center;gap:var(--space-3)}
.message-channel-info{display:grid;gap:var(--space-3);position:sticky;top:calc(var(--topbar-height) + var(--space-4))}
.message-channel-info h2{margin:var(--space-2) 0 0;font-size:1rem}
.message-member-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}
.message-member-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}
.message-category-grid{margin-top:var(--section-gap)}
.message-entity-list{display:grid;gap:var(--space-2)}
.message-entity-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none}
.message-entity-row:hover{background:var(--nav-hover-background)}
.message-entity-row span:last-child{display:grid}.message-entity-row small{color:var(--color-muted)}
@media (max-width:960px){.message-page-grid,.message-channel-layout{grid-template-columns:1fr}.message-sidebar,.message-channel-info{position:static}.message-sidebar{order:0}.message-channel-info{order:0}.message-list{max-height:none}.message-item{max-width:92%}}
@media (max-width:560px){.message-channel-card,.message-item-header{display:grid}.message-channel-badges,.message-item-flags{justify-content:flex-start}.message-item{max-width:100%;width:100%}.message-item.is-mine{justify-self:stretch}.message-list,.message-composer{padding:var(--space-3)}.message-actions .button-text span:not(.icon){font-size:.8125rem}}
.message-channel-settings{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}
.message-channel-settings>summary{cursor:pointer;font-weight:700;color:var(--color-primary)}
.message-channel-settings form{margin-top:var(--space-3)}

/* modules/newsletters.css */
.newsletter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--section-gap)}
.newsletter-card{display:grid;gap:var(--space-3)}
.newsletter-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
.newsletter-card h2{margin:0;font-size:1.08rem}
.newsletter-form-card,.newsletter-settings-card{max-width:960px}
.newsletter-workspace{display:grid;gap:var(--section-gap)}
.newsletter-block-list{display:grid;gap:var(--space-3);margin-top:var(--space-3)}
.newsletter-block-card{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.newsletter-block-card>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);cursor:grab}
.newsletter-block-card.is-dragging{opacity:.55}
.newsletter-audience-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2)}
.newsletter-audience-option{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.newsletter-audience-option span{display:grid;gap:var(--space-1)}
.newsletter-audience-option small{color:var(--color-muted)}
.newsletter-audience-options .form-actions{grid-column:1/-1}
.newsletter-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);margin:var(--space-3) 0 0}
.newsletter-metrics div{display:grid;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}
.newsletter-metrics dt{font-size:.76rem;color:var(--color-muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.newsletter-metrics dd{margin:0;font-size:1.08rem;font-weight:700}
.newsletter-preview-shell{padding:var(--space-2)}
.newsletter-preview-shell iframe{display:block;width:100%;min-height:720px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}
.newsletter-text-preview{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.public-preference-page{width:min(640px,calc(100% - 2*var(--space-3)));margin:clamp(30px,8vh,100px) auto}
@media(max-width:760px){.newsletter-block-card>header{align-items:flex-start}.newsletter-preview-shell iframe{min-height:560px}.newsletter-form-card,.newsletter-settings-card{max-width:none}}
@media(max-width:480px){.newsletter-grid,.newsletter-audience-options,.newsletter-metrics{grid-template-columns:1fr}.newsletter-block-card{padding:var(--space-2)}}

.newsletter-image-selector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2);align-items:end}
.newsletter-image-selector .newsletter-image-copy{grid-column:1/-1;display:block;max-width:min(100%,520px);max-height:280px;object-fit:contain;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}
.newsletter-image-selector .form-actions,.newsletter-image-selector .muted{grid-column:1/-1}
@media(max-width:760px){.newsletter-image-selector{grid-template-columns:1fr}}

/* Éditeur visuel 0.10.0 */
.newsletter-summary-card{display:grid;gap:var(--space-3)}
.fieldset-compact{margin:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.fieldset-compact legend{padding:0 var(--space-1);font-weight:700}
.newsletter-visual-editor{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(420px,1.65fr) minmax(250px,.9fr);gap:var(--section-gap);align-items:start}
.newsletter-editor-library,.newsletter-editor-inspector{position:sticky;top:var(--space-3);max-height:calc(100dvh - 2*var(--space-3));overflow:auto}
.newsletter-library-section{display:grid;gap:var(--space-2);padding-block:var(--space-2);border-top:1px solid var(--color-border)}
.newsletter-library-section:first-of-type{border-top:0}
.newsletter-library-section h3,.newsletter-template-blocks h3{margin:0;font-size:1rem}
.newsletter-library-buttons{display:grid;grid-template-columns:1fr;gap:var(--space-1)}
.newsletter-library-buttons > :is(a,button){justify-content:flex-start}
.section-heading-inline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.newsletter-suggestion-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}
.newsletter-suggestion-group summary{padding:var(--space-2);cursor:pointer;font-weight:700}
.newsletter-suggestion-list{display:grid;gap:var(--space-1);padding:0 var(--space-2) var(--space-2)}
.newsletter-suggestion{display:grid;gap:var(--space-1);width:100%;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;text-align:left;cursor:pointer}
.newsletter-suggestion:hover,.newsletter-suggestion:focus-visible{border-color:var(--color-primary);outline:0}
.newsletter-suggestion small{color:var(--color-muted)}
.newsletter-editor-canvas-shell{min-width:0}
.newsletter-editor-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}
.newsletter-editor-toolbar h2{margin:0}
.newsletter-editor-canvas{display:grid;gap:var(--space-2);width:min(100%,720px);margin-inline:auto;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-border) 22%,var(--color-surface));box-shadow:var(--shadow-sm)}
.newsletter-visual-block{display:grid;gap:var(--space-2);min-height:52px;padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}
.newsletter-visual-block:hover,.newsletter-visual-block:focus-visible,.newsletter-visual-block.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 16%,transparent);outline:0}
.newsletter-visual-block.is-dragging{opacity:.5}
.newsletter-visual-block[data-block-visible="0"]{opacity:.56}
.newsletter-visual-block-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.newsletter-visual-block h3{margin:0;font-size:1.16rem}
.newsletter-inline-content{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.5em}
.newsletter-inline-content[contenteditable="true"],.newsletter-visual-block h3[contenteditable="true"]{border-radius:var(--radius-sm)}
.newsletter-inline-content[contenteditable="true"]:focus,.newsletter-visual-block h3[contenteditable="true"]:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:2px}
.newsletter-visual-block img{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:var(--radius-sm)}
.newsletter-source-alert{margin:0}
.newsletter-visual-block.is-background-primary{background:var(--color-primary);color:var(--color-primary-contrast)}
.newsletter-visual-block.is-background-accent{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))}
.newsletter-visual-block.is-background-muted{background:color-mix(in srgb,var(--color-border) 32%,var(--color-surface))}
.newsletter-visual-block.is-align-center{text-align:center}
.newsletter-visual-block.is-align-right{text-align:right}
.newsletter-visual-block.is-spacing-compact{padding:var(--space-2)}
.newsletter-visual-block.is-spacing-large{padding:var(--space-4)}
.newsletter-editor-inspector form{align-content:start}
.newsletter-inspector-close{display:none}
.newsletter-secondary-grid,.newsletter-source-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section-gap);align-items:start}
.newsletter-source-list{display:grid;gap:var(--space-3);margin-top:var(--space-3)}
.newsletter-source-card,.newsletter-template-block-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.newsletter-source-card.is-archived{opacity:.65}
.newsletter-template-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:var(--section-gap);align-items:start;max-width:100%}
.newsletter-template-layout>*,.newsletter-template-editor>*,.newsletter-theme-settings>*,.newsletter-theme-fields>*{min-width:0}
.newsletter-template-editor :is(input,select,textarea){max-width:100%}
.newsletter-template-list{position:sticky;top:var(--space-3);max-height:calc(100dvh - 2*var(--space-3));overflow:auto}
.newsletter-template-nav{display:grid;gap:var(--space-1);margin-top:var(--space-3)}
.newsletter-template-link{display:grid;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:inherit;text-decoration:none}
.newsletter-template-link:hover,.newsletter-template-link:focus-visible,.newsletter-template-link.is-active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));outline:0}
.newsletter-template-link small{color:var(--color-muted)}
.newsletter-template-editor{min-width:0}
.newsletter-template-blocks{display:grid;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}
.newsletter-template-block-card{display:grid;gap:var(--space-2);margin-bottom:var(--space-2)}
.newsletter-template-block-card>header{display:flex;align-items:center;gap:var(--space-2);cursor:grab}
.newsletter-template-block-card.is-dragging{opacity:.5}

@media(max-width:1100px){
  .newsletter-visual-editor{grid-template-columns:minmax(200px,.75fr) minmax(0,1.5fr)}
  .newsletter-editor-inspector{grid-column:1/-1;position:static;max-height:none}
  .newsletter-template-layout{grid-template-columns:1fr}
  .newsletter-template-list{position:static;max-height:none}
  .newsletter-template-nav{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
}
@media(max-width:760px){
  .newsletter-visual-editor{grid-template-columns:1fr}
  .newsletter-editor-library{position:static;max-height:none}
  .newsletter-editor-canvas-shell{min-height:50dvh}
  .newsletter-editor-inspector{display:none;position:fixed;z-index:40;left:var(--space-2);right:var(--space-2);bottom:calc(var(--space-2) + env(safe-area-inset-bottom));max-height:72dvh;overflow:auto;box-shadow:var(--shadow-md)}
  .newsletter-editor-inspector.is-open{display:block}
  .newsletter-inspector-close{display:inline-flex}
  .newsletter-workspace.is-inspector-open{padding-bottom:58dvh}
  .newsletter-secondary-grid,.newsletter-source-layout{grid-template-columns:1fr}
  .newsletter-editor-toolbar{align-items:flex-start;flex-direction:column}
  .newsletter-library-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .newsletter-library-buttons{grid-template-columns:1fr}
  .newsletter-editor-canvas{padding:var(--space-1)}
  .newsletter-visual-block{padding:var(--space-2)}
}

/* Aperçu de structure du modèle de référence 0.10.2.
   Le HTML envoyé reste rendu par EmailRenderer avec le thème administrable. */
.newsletter-editor-canvas:has([data-layout-role="header"]){gap:var(--space-2);padding:var(--space-3);background:color-mix(in srgb,var(--color-border) 45%,var(--color-surface));border-radius:var(--radius-lg)}
.newsletter-visual-block[data-layout-role="header"]{padding-block:var(--space-5);background:var(--color-primary);color:var(--color-primary-contrast);text-align:center;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md)}
.newsletter-visual-block[data-layout-role="intro"]{border-color:transparent;box-shadow:none}
.newsletter-visual-block[data-layout-role="highlights"]{background:color-mix(in srgb,var(--color-warning) 13%,var(--color-surface));border-color:color-mix(in srgb,var(--color-warning) 42%,var(--color-border));border-radius:var(--radius-lg)}
.newsletter-visual-block:is([data-layout-role="agenda_heading"],[data-layout-role="future_heading"],[data-layout-role="church_life_heading"],[data-layout-role="permanent_heading"],[data-layout-role="prayer_heading"]){min-height:0;padding-block:var(--space-2);border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--color-primary)}
.newsletter-visual-block:is([data-layout-role="agenda_heading"],[data-layout-role="future_heading"],[data-layout-role="church_life_heading"],[data-layout-role="permanent_heading"],[data-layout-role="prayer_heading"]) .newsletter-visual-block-header .badge{display:none}
.newsletter-visual-block[data-layout-role="agenda_item"]{margin-inline:var(--space-1);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 18%,var(--color-border));border-radius:var(--radius-md)}
.newsletter-visual-block[data-layout-role="future_item"]{border-left:5px solid var(--color-warning);background:color-mix(in srgb,var(--color-warning) 7%,var(--color-surface));border-radius:0 var(--radius-md) var(--radius-md) 0}
.newsletter-visual-block[data-layout-role="church_life_item"]{border-color:var(--color-border);border-radius:var(--radius-lg)}
.newsletter-visual-block[data-layout-role="permanent_item"]{background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));border-color:transparent;border-radius:var(--radius-lg)}
.newsletter-visual-block[data-layout-role="prayer_item"]{background:color-mix(in srgb,var(--color-border) 28%,var(--color-surface));border-radius:var(--radius-md)}
.newsletter-visual-block[data-layout-role="closing"]{margin-top:var(--space-2);border-width:1px 0 0;border-radius:0;text-align:center;box-shadow:none}

/* Éditeur WYSIWYG aligné sur le rendu email — 0.10.4 */
.newsletter-visual-editor{grid-template-columns:minmax(220px,.72fr) minmax(520px,1.8fr) minmax(260px,.82fr);align-items:stretch;min-height:min(820px,78dvh)}
.newsletter-editor-panel{display:flex;flex-direction:column;min-width:0;max-height:min(820px,78dvh);overflow:hidden}
.newsletter-editor-panel>.card-header,.newsletter-editor-panel>.newsletter-editor-toolbar{flex:0 0 auto}
.newsletter-editor-panel-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:2px}
.newsletter-editor-library,.newsletter-editor-inspector{position:static;top:auto;overflow:hidden}
.newsletter-editor-canvas-shell{background:var(--nl-muted);border-color:var(--nl-border)}
.newsletter-editor-canvas-scroll{padding:var(--space-2)}
.newsletter-editor-canvas{width:min(100%,var(--nl-width));padding:18px 16px;gap:10px;background:var(--nl-surface);border-color:var(--nl-border);border-radius:18px;color:var(--nl-text);font-family:Arial,Helvetica,sans-serif;box-shadow:0 8px 28px color-mix(in srgb,var(--nl-primary-dark) 12%,transparent)}
.newsletter-visual-block{position:relative;gap:0;padding:16px 18px;border-color:var(--block-border,transparent);border-radius:14px;background:var(--block-bg,var(--nl-surface));color:var(--block-text,var(--nl-text));box-shadow:none}
.newsletter-visual-block:hover,.newsletter-visual-block:focus-visible,.newsletter-visual-block.is-selected{border-color:var(--nl-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--nl-primary) 18%,transparent)}
.newsletter-visual-block-header{position:absolute;z-index:3;top:6px;right:6px;left:6px;align-items:center;pointer-events:none}
.newsletter-block-type-badge,.newsletter-block-actions{opacity:0;transform:translateY(-3px);transition:opacity .14s ease,transform .14s ease;pointer-events:none}
.newsletter-visual-block:is(:hover,:focus-within,.is-selected) :is(.newsletter-block-type-badge,.newsletter-block-actions){opacity:1;transform:none;pointer-events:auto}
.newsletter-block-actions{margin-left:auto;padding:2px;border:1px solid var(--nl-border);border-radius:999px;background:color-mix(in srgb,var(--nl-surface) 94%,transparent);box-shadow:var(--shadow-sm)}
.newsletter-block-content{min-width:0}
.newsletter-block-content [contenteditable="true"]{min-height:1em;border-radius:5px;cursor:text}
.newsletter-block-content [contenteditable="true"]:hover{background:color-mix(in srgb,var(--nl-primary) 5%,transparent)}
.newsletter-block-content [contenteditable="true"]:focus{outline:2px solid color-mix(in srgb,var(--nl-primary) 40%,transparent);outline-offset:3px;background:var(--nl-surface)}
.newsletter-wys-header{margin:-16px -18px;padding:30px 24px;text-align:center;background:var(--block-bg,var(--nl-primary));color:var(--block-text,var(--nl-header-text));border:1px solid var(--block-border,transparent);border-radius:14px}
.newsletter-wys-header>span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.92}
.newsletter-wys-header h2{margin:9px 0 5px;font-family:Georgia,'Times New Roman',serif;font-size:1.8rem;font-weight:400;color:var(--block-title,currentColor)}
.newsletter-wys-header p{margin:0;line-height:1.5}
.newsletter-wys-intro{padding:8px 4px;font-size:1rem;line-height:1.65;white-space:pre-wrap;background:var(--block-bg,transparent);color:var(--block-text,inherit);border-color:var(--block-border,transparent)}
.newsletter-wys-highlights{padding:18px;border:1px solid var(--block-border,var(--nl-accent));border-radius:14px;background:var(--block-bg,var(--nl-highlight-surface));color:var(--block-text,inherit)}
.newsletter-wys-highlights h2{margin:0 0 12px;font-family:Georgia,'Times New Roman',serif;font-size:1.3rem;color:var(--block-title,var(--nl-highlight-text))}
.newsletter-inline-lines{white-space:pre-wrap;line-height:1.6}
.newsletter-wys-section-title{margin:0;padding:8px 2px;font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;color:var(--block-title,var(--nl-heading))}
.newsletter-role-agenda_heading,.newsletter-role-future_heading,.newsletter-role-church_life_heading,.newsletter-role-permanent_heading,.newsletter-role-prayer_heading{min-height:44px;padding:8px 4px;border-radius:0;background:transparent}
.newsletter-wys-agenda{display:grid;grid-template-columns:minmax(105px,126px) minmax(0,1fr);border-radius:12px;overflow:hidden}
.newsletter-wys-agenda-date{padding:14px 12px;background:var(--nl-section-surface);color:var(--nl-primary-dark);font-size:.84rem;line-height:1.45}
.newsletter-wys-agenda-body{padding:14px 16px;background:var(--block-bg,var(--nl-soft-surface));color:var(--block-text,inherit);border:1px solid var(--block-border,transparent);border-left:0;line-height:1.6}
.newsletter-wys-agenda-body h3,.newsletter-wys-future h3,.newsletter-wys-card h3,.newsletter-wys-permanent h3,.newsletter-wys-prayer h3{margin:0 0 6px;font-size:1.02rem;color:var(--block-title,var(--nl-church-text))}
.newsletter-event-meta{margin:0 0 5px;color:color-mix(in srgb,var(--nl-text) 70%,transparent);font-size:.83rem;font-weight:650}
.newsletter-wys-future{padding:14px 16px;border:1px solid var(--block-border,transparent);border-left:5px solid var(--block-border,var(--nl-highlight));border-radius:0 12px 12px 0;background:var(--block-bg,var(--nl-highlight-surface));color:var(--block-text,inherit);line-height:1.55}
.newsletter-wys-card{padding:16px 18px;border:1px solid var(--block-border,var(--nl-border));border-radius:14px;background:var(--block-bg,var(--nl-surface));color:var(--block-text,inherit);line-height:1.65}
.newsletter-wys-permanent{padding:18px;border:1px solid var(--block-border,transparent);border-radius:14px;background:var(--block-bg,var(--nl-section-surface));color:var(--block-text,inherit);line-height:1.6}
.newsletter-wys-permanent h3{color:var(--block-title,var(--nl-primary-dark))}
.newsletter-wys-prayer{padding:16px 18px;border:1px solid var(--block-border,var(--nl-border));border-radius:14px;background:var(--block-bg,var(--nl-neutral-surface));color:var(--block-text,inherit);line-height:1.65}
.newsletter-wys-closing{padding:20px 10px;border-top:1px solid var(--block-border,var(--nl-border));background:var(--block-bg,transparent);font-family:Georgia,'Times New Roman',serif;font-size:1.08rem;line-height:1.55;text-align:center;color:var(--block-text,var(--block-title,var(--nl-highlight-text)));white-space:pre-wrap}
.newsletter-wys-unsubscribe{margin:0;padding:14px;text-align:center;background:var(--block-bg,var(--nl-highlight-surface));color:var(--block-text,var(--nl-primary-dark));border:1px solid var(--block-border,transparent);font-size:.78rem;font-weight:700;border-radius:10px}
.newsletter-selected-type{display:grid;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background)}
.newsletter-selected-type p{margin:0;font-size:.82rem}
.newsletter-editor-inspector form{padding-bottom:var(--space-3)}
.newsletter-save-template-dialog{width:min(620px,calc(100% - 2*var(--space-3)));padding:0;border:0;background:transparent}
.newsletter-save-template-dialog::backdrop{background:rgb(12 25 22 / .48);backdrop-filter:blur(2px)}
.newsletter-save-template-dialog>.card {margin:0;max-height:88dvh;overflow:auto}

/* Sources : création distincte, onglets et archives séparées */
.newsletter-source-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--section-gap);padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:max-content;max-width:100%}
.newsletter-source-tabs .tab{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.55rem 1rem;border-radius:calc(var(--radius-lg) - 4px);color:var(--color-text);font-weight:700;text-decoration:none}
.newsletter-source-tabs .tab:is(:hover,:focus-visible){background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));outline:0}
.newsletter-source-tabs .tab.is-active{background:var(--color-primary);color:var(--color-primary-contrast)}
.newsletter-source-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section-gap);margin-bottom:var(--section-gap)}
.newsletter-source-create-card{border-top:5px solid var(--color-primary);box-shadow:var(--shadow-sm)}
.newsletter-source-results{display:grid;gap:var(--space-3);padding-top:var(--space-3);border-top:2px solid var(--color-border)}
.newsletter-source-columns,.newsletter-source-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section-gap);align-items:start}
.newsletter-source-column{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-background) 65%,var(--color-surface))}
.newsletter-source-column-heading,.newsletter-source-card-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.newsletter-source-column-heading h3{margin:0}
.newsletter-source-card{display:grid;gap:var(--space-3);box-shadow:var(--shadow-sm)}
.newsletter-source-card-title{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}
.newsletter-source-card.is-archived{opacity:1;background:color-mix(in srgb,var(--color-border) 18%,var(--color-surface))}
.eyebrow{display:block;margin-bottom:var(--space-1);color:var(--color-primary);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.empty-state{margin:0;padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);text-align:center}

@media(max-width:1200px){
  .newsletter-visual-editor{grid-template-columns:minmax(210px,.72fr) minmax(0,1.6fr)}
  .newsletter-editor-inspector{display:none;position:fixed;z-index:45;top:72px;right:var(--space-3);bottom:var(--space-3);width:min(340px,calc(100vw - 2*var(--space-3)));max-height:none;box-shadow:var(--shadow-md);background:var(--color-surface)}
  .newsletter-editor-inspector.is-open{display:flex}
  .newsletter-inspector-close{display:inline-flex}
}
@media(max-width:760px){
  .newsletter-visual-editor{grid-template-columns:1fr;min-height:auto}
  .newsletter-editor-panel{max-height:none}
  .newsletter-editor-library{max-height:52dvh}
  .newsletter-editor-canvas-shell{min-height:62dvh;max-height:76dvh}
  .newsletter-editor-inspector{top:auto;left:var(--space-2);right:var(--space-2);bottom:calc(var(--space-2) + env(safe-area-inset-bottom));width:auto;max-height:72dvh}
  .newsletter-workspace.is-inspector-open{padding-bottom:56dvh}
  .newsletter-source-create-grid,.newsletter-source-columns,.newsletter-source-results-grid{grid-template-columns:1fr}
  .newsletter-wys-agenda{grid-template-columns:92px minmax(0,1fr)}
  .newsletter-wys-agenda-date,.newsletter-wys-agenda-body{padding:12px 10px}
}
@media(max-width:480px){
  .newsletter-editor-canvas-scroll{padding:0}
  .newsletter-editor-canvas{padding:10px 8px;border-radius:12px}
  .newsletter-visual-block{padding:12px}
  .newsletter-wys-header{margin:-12px;padding:24px 14px}
  .newsletter-wys-agenda{grid-template-columns:1fr;overflow:visible;gap:0}
  .newsletter-wys-agenda-date{border-radius:10px 10px 0 0}
  .newsletter-wys-agenda-body{border-radius:0 0 10px 10px}
}

/* 0.10.4 — aperçu de thème fidèle et réglages pérennes */
.newsletter-theme-settings{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:var(--space-lg);align-items:start;margin-top:var(--space-md);max-width:100%}
.newsletter-theme-preview{position:sticky;top:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--preview-muted,var(--color-background));color:var(--preview-text,var(--color-text))}
.newsletter-theme-preview-shell{overflow:hidden;border:1px solid var(--preview-border,var(--color-border));border-radius:18px;background:var(--preview-surface,var(--color-surface));box-shadow:var(--shadow-sm)}
.newsletter-theme-preview-shell>header{display:grid;gap:.35rem;padding:1.25rem;text-align:center;background:var(--preview-primary,var(--color-primary));color:var(--preview-header-text,var(--color-primary-contrast))}
.newsletter-theme-preview-shell>header small{letter-spacing:.12em}
.newsletter-theme-preview-shell>header strong{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;font-weight:500}
.newsletter-theme-preview-shell>header span{font-size:.85rem}
.newsletter-theme-preview-body{display:grid;gap:.9rem;padding:1.1rem}
.newsletter-theme-preview-body h3{margin:0;color:var(--preview-heading,var(--color-primary));font-family:Georgia,'Times New Roman',serif;font-size:1.1rem}
.newsletter-theme-preview-body p{margin:0;line-height:1.5}
.newsletter-theme-preview-body section{display:grid;gap:.3rem;padding:.85rem;border:1px solid var(--preview-border,var(--color-border));border-radius:12px;background:var(--preview-surface,var(--color-surface))}
.newsletter-theme-preview-body section.is-highlight{border-color:var(--preview-accent,var(--color-border));background:var(--preview-highlight-surface,var(--color-surface));color:var(--preview-highlight-text,var(--color-text))}
.newsletter-theme-preview-body section.is-church strong{color:var(--preview-church-text,var(--color-primary))}
.newsletter-theme-preview-agenda{display:grid;grid-template-columns:92px 1fr}
.newsletter-theme-preview-agenda>span{padding:var(--space-3);border-radius:10px 0 0 10px;background:var(--preview-section-surface,var(--color-background));color:var(--preview-primary-dark,var(--color-primary));font-weight:700}
.newsletter-theme-preview-agenda>p{padding:var(--space-3);border-radius:0 10px 10px 0;background:var(--preview-soft-surface,var(--color-surface));color:var(--preview-text,var(--color-text))}
.newsletter-theme-preview>.muted{margin:.8rem 0 0}
.newsletter-theme-fields{align-content:start;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
.newsletter-block-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.newsletter-block-color-control{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background)}
.newsletter-block-color-control .check-row{min-width:0}
.newsletter-block-color-control input[type="color"]{width:48px;min-width:48px;height:40px;padding:2px}
.newsletter-block-color-control input[type="color"]:disabled{opacity:.4}
.newsletter-custom-color-help{margin:0}
@media(max-width:1280px){.newsletter-theme-settings{grid-template-columns:1fr}.newsletter-theme-preview{position:static}}
@media(max-width:620px){.newsletter-block-color-grid{grid-template-columns:1fr}}

/* Jeu de données de vérification 0.10.5 — composant compact et replié par défaut. */
.newsletter-demo-dataset{margin-bottom:var(--space-4);overflow:hidden}
.newsletter-demo-dataset>summary{cursor:pointer;font-weight:700}
.newsletter-demo-dataset-body{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3)}
.newsletter-demo-dataset-body p{margin:0 0 var(--space-2)}
@media (max-width:760px){.newsletter-demo-dataset-body{align-items:stretch;flex-direction:column}}

/* 0.10.6 — gestion, périodes et page Modèles pleine largeur */
.newsletter-management-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2);padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:max-content;max-width:100%}
.newsletter-management-tabs .tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:42px;padding:.55rem 1rem;border-radius:calc(var(--radius-lg) - 4px);color:var(--color-text);font-weight:700;text-decoration:none}
.newsletter-management-tabs .tab:is(:hover,:focus-visible){background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));outline:0}
.newsletter-management-tabs .tab.is-active{background:var(--color-primary);color:var(--color-primary-contrast)}
.newsletter-management-tabs .tab.is-active .badge{background:color-mix(in srgb,var(--color-primary-contrast) 18%,transparent);color:inherit}
.newsletter-tab-description{margin-top:0}
.newsletter-card.is-archived{background:color-mix(in srgb,var(--color-border) 14%,var(--color-surface))}
.newsletter-period-picker{display:grid;gap:var(--space-3)}
.newsletter-period-picker .form-grid{align-items:end}
.newsletter-period-summary{margin:0}
.newsletter-custom-period[hidden]{display:none}
.newsletter-template-layout{grid-template-columns:minmax(0,1fr)}
.newsletter-template-layout>*{min-width:0}
.newsletter-template-selector{min-width:0;overflow:hidden}
.newsletter-template-list{position:static;max-height:none}
.newsletter-template-nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.newsletter-template-editor>*{min-width:0}
.newsletter-template-form{min-width:0}
.newsletter-template-meta{display:grid;grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr)) auto;gap:var(--space-3);align-items:end;min-width:0}
.newsletter-template-meta>*{min-width:0}
.newsletter-template-description{grid-column:1/-1}
.newsletter-template-active{align-self:end;min-height:44px;padding-bottom:var(--space-2)}
.newsletter-theme-section{min-width:0;max-width:100%;overflow:hidden}
.newsletter-theme-settings{grid-template-columns:minmax(320px,.9fr) minmax(0,1.35fr);width:100%;min-width:0}
.newsletter-theme-settings>*{min-width:0}
.newsletter-theme-preview{min-width:0}
.newsletter-theme-fields{min-width:0}
.newsletter-theme-fields>*{min-width:0}
.newsletter-theme-fields :is(input:not([type="color"]),select,textarea){width:100%;max-width:100%}
@media(max-width:980px){.newsletter-template-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-template-name,.newsletter-template-description{grid-column:1/-1}.newsletter-theme-settings{grid-template-columns:1fr}.newsletter-theme-preview{position:static}}
@media(max-width:620px){.newsletter-management-tabs{width:100%}.newsletter-management-tabs .tab{flex:1 1 auto}.newsletter-template-meta{grid-template-columns:1fr}.newsletter-template-name,.newsletter-template-description{grid-column:auto}.newsletter-template-active{min-height:0}.newsletter-period-picker .form-grid{grid-template-columns:1fr}}

/* 0.10.7 — éditeur de newsletter inspiré de WordPress et largeur bureau réelle */
.newsletter-wordpress-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,410px);gap:var(--section-gap);align-items:start;min-height:760px}
.newsletter-wordpress-editor .newsletter-editor-canvas-shell{min-width:0;max-height:calc(100dvh - 96px);position:sticky;top:var(--space-3)}
.newsletter-wordpress-editor .newsletter-editor-canvas-scroll{padding:var(--space-3);background:var(--nl-muted)}
.newsletter-wordpress-editor .newsletter-editor-canvas{width:min(100%,var(--nl-width));max-width:720px;margin-inline:auto;padding:0;gap:0;overflow:visible;border:0;border-radius:18px;background:var(--nl-surface);box-shadow:0 10px 34px color-mix(in srgb,var(--nl-primary-dark) 14%,transparent)}
.newsletter-wordpress-editor .newsletter-visual-block{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px;align-items:start;min-height:44px;padding:0 0 0 0;border:1px solid transparent;border-radius:0;background:transparent;color:var(--nl-text);overflow:visible}
.newsletter-wordpress-editor .newsletter-visual-block:first-child{border-radius:18px 18px 0 0}
.newsletter-wordpress-editor .newsletter-visual-block:last-child{border-radius:0 0 18px 18px}
.newsletter-wordpress-editor .newsletter-visual-block:hover,.newsletter-wordpress-editor .newsletter-visual-block:focus-visible,.newsletter-wordpress-editor .newsletter-visual-block.is-selected{border-color:var(--nl-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--nl-primary) 20%,transparent);outline:0;z-index:2}
.newsletter-wordpress-editor .newsletter-block-content{grid-column:1;min-width:0;padding:0}
.newsletter-wordpress-editor .newsletter-source-alert,.newsletter-wordpress-editor .newsletter-block-image{grid-column:1}
.newsletter-wordpress-editor .newsletter-block-actions{grid-column:2;display:flex;flex-direction:column;gap:3px;align-self:start;margin:6px 2px 0 0;padding:3px;border:1px solid var(--nl-border);border-radius:999px;background:color-mix(in srgb,var(--nl-surface) 96%,transparent);box-shadow:var(--shadow-sm);opacity:.28;transition:opacity .14s ease,transform .14s ease}
.newsletter-wordpress-editor .newsletter-visual-block:is(:hover,:focus-within,.is-selected)>.newsletter-block-actions{opacity:1}
.newsletter-wordpress-editor .newsletter-block-actions .icon-button{width:28px;height:28px;min-width:28px;min-height:28px;border:0;background:transparent}
.newsletter-wordpress-editor .newsletter-block-actions .icon-button:is(:hover,:focus-visible){background:color-mix(in srgb,var(--nl-primary) 10%,var(--nl-surface))}
.newsletter-wordpress-editor .newsletter-wys-header{margin:0;padding:30px 28px;border-radius:18px 0 0 0;background:var(--block-bg,var(--nl-primary));color:var(--block-text,var(--nl-header-text))}
.newsletter-wordpress-editor .newsletter-wys-intro{padding:26px 28px 8px;background:var(--block-bg,var(--nl-surface));color:var(--block-text,var(--nl-text));font-size:16px;line-height:1.65}
.newsletter-wordpress-editor .newsletter-wys-highlights{margin:10px 28px 8px;padding:18px;border-color:var(--block-border,var(--nl-accent));background:var(--block-bg,var(--nl-highlight-surface));color:var(--block-text,var(--nl-text))}
.newsletter-wordpress-editor .newsletter-wys-section-title{padding:20px 28px 10px;font-size:23px;color:var(--block-title,var(--nl-heading))}
.newsletter-wordpress-editor .newsletter-wys-agenda{margin:0 28px 14px;grid-template-columns:112px minmax(0,1fr)}
.newsletter-wordpress-editor .newsletter-wys-agenda-date{padding:14px 12px;background:var(--nl-section-surface);color:var(--nl-primary-dark)}
.newsletter-wordpress-editor .newsletter-wys-agenda-body{padding:14px 16px;background:var(--block-bg,var(--nl-soft-surface));color:var(--block-text,var(--nl-text));border-color:var(--block-border,transparent)}
.newsletter-wordpress-editor .newsletter-wys-future,.newsletter-wordpress-editor .newsletter-wys-card,.newsletter-wordpress-editor .newsletter-wys-permanent,.newsletter-wordpress-editor .newsletter-wys-prayer{margin:0 28px 14px}
.newsletter-wordpress-editor .newsletter-wys-closing{margin:12px 28px 0;padding:22px 10px}
.newsletter-wordpress-editor .newsletter-wys-unsubscribe{margin:16px 28px 24px;padding:18px 24px;background:var(--block-bg,var(--nl-muted));color:var(--block-text,var(--nl-text));border-radius:10px}
.newsletter-wordpress-editor .newsletter-role-agenda_heading,.newsletter-wordpress-editor .newsletter-role-future_heading,.newsletter-wordpress-editor .newsletter-role-church_life_heading,.newsletter-wordpress-editor .newsletter-role-permanent_heading,.newsletter-wordpress-editor .newsletter-role-prayer_heading{padding:0;background:transparent}
.newsletter-editor-sidebar{position:sticky;top:var(--space-3);display:flex;flex-direction:column;min-width:0;max-height:calc(100dvh - 2*var(--space-3));overflow:hidden;padding:0}
.newsletter-editor-tabs{display:grid;grid-template-columns:1fr 1fr auto;gap:4px;align-items:center;padding:6px;border-bottom:1px solid var(--color-border);background:var(--color-background)}
.newsletter-editor-tab{min-height:40px;padding:.55rem .8rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-weight:750;cursor:pointer}
.newsletter-editor-tab:is(:hover,:focus-visible){background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));outline:0}
.newsletter-editor-tab.is-active{background:var(--color-surface);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-border)}
.newsletter-editor-tab-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}
.newsletter-editor-tab-panel[hidden]{display:none}
.newsletter-editor-sidebar-heading{flex:0 0 auto;padding:var(--space-3);border-bottom:1px solid var(--color-border)}
.newsletter-editor-sidebar-heading h2{margin:0 0 var(--space-1);font-size:1.05rem}
.newsletter-editor-sidebar-heading p{margin:0}
.newsletter-editor-sidebar .newsletter-editor-panel-scroll{padding:var(--space-3)}
.newsletter-editor-sidebar .newsletter-library-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
.newsletter-editor-sidebar .newsletter-library-buttons > .button {min-width:0;white-space:normal;text-align:left}
.newsletter-editor-sidebar .newsletter-selected-type{margin-bottom:var(--space-2)}
.newsletter-wordpress-editor .newsletter-block-type-badge,.newsletter-wordpress-editor .newsletter-visual-block-header{display:none}
.newsletter-block-type-badge,.newsletter-visual-block-header{display:none}

.newsletter-template-status-tabs{display:flex;gap:4px;width:max-content;max-width:100%;margin-bottom:var(--space-3);padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}
.newsletter-template-status-tabs .tab{min-height:40px;padding:.55rem 1rem;border-radius:calc(var(--radius-lg) - 4px);color:var(--color-text);font-weight:700;text-decoration:none}
.newsletter-template-status-tabs .tab.is-active{background:var(--color-primary);color:var(--color-primary-contrast)}
.newsletter-theme-settings{display:grid;grid-template-columns:minmax(600px,1fr) minmax(380px,460px);gap:var(--space-lg);align-items:start;width:100%;min-width:0}
.newsletter-theme-preview{position:sticky;top:var(--space-3);min-width:0;padding:var(--space-2);overflow:hidden;background:var(--color-background)}
.newsletter-template-preview-frame{display:block;width:100%;min-height:760px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.newsletter-theme-sidebar{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.newsletter-theme-sidebar-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}
.newsletter-theme-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.newsletter-theme-color-field{min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background)}
.newsletter-theme-color-field label{font-size:.78rem;line-height:1.25}
.newsletter-theme-color-input{display:grid;grid-template-columns:42px minmax(0,1fr);gap:var(--space-1);align-items:center;margin-top:var(--space-1)}
.newsletter-theme-color-input input[type="color"]{width:42px;min-width:42px;height:34px;padding:2px}
.newsletter-theme-color-input code{min-width:0;overflow:hidden;font-size:.72rem;text-overflow:ellipsis}
.newsletter-theme-settings>*,.newsletter-theme-sidebar>*,.newsletter-theme-fields>*{min-width:0}

@media(max-width:1320px){
  .newsletter-theme-settings{grid-template-columns:minmax(0,1fr) minmax(340px,400px)}
}
@media(max-width:1120px){
  .newsletter-wordpress-editor{grid-template-columns:minmax(0,1fr)}
  .newsletter-wordpress-editor .newsletter-editor-canvas-shell{position:static;max-height:none}
  .newsletter-editor-sidebar{position:static;max-height:none}
  .newsletter-theme-settings{grid-template-columns:1fr}
  .newsletter-theme-preview{position:static}
  .newsletter-template-preview-frame{min-height:680px}
}
@media(max-width:760px){
  .newsletter-wordpress-editor .newsletter-editor-canvas-scroll{padding:0}
  .newsletter-wordpress-editor .newsletter-editor-canvas{border-radius:12px}
  .newsletter-wordpress-editor .newsletter-visual-block{grid-template-columns:minmax(0,1fr) 34px}
  .newsletter-wordpress-editor .newsletter-block-actions{opacity:.72}
  .newsletter-wordpress-editor .newsletter-wys-header{padding:24px 14px}
  .newsletter-wordpress-editor .newsletter-wys-intro{padding:20px 14px 6px}
  .newsletter-wordpress-editor .newsletter-wys-highlights,.newsletter-wordpress-editor .newsletter-wys-agenda,.newsletter-wordpress-editor .newsletter-wys-future,.newsletter-wordpress-editor .newsletter-wys-card,.newsletter-wordpress-editor .newsletter-wys-permanent,.newsletter-wordpress-editor .newsletter-wys-prayer,.newsletter-wordpress-editor .newsletter-wys-closing,.newsletter-wordpress-editor .newsletter-wys-unsubscribe{margin-left:14px;margin-right:14px}
  .newsletter-wordpress-editor .newsletter-wys-section-title{padding-left:14px;padding-right:14px}
  .newsletter-editor-sidebar .newsletter-library-buttons{grid-template-columns:1fr}
  .newsletter-theme-fields{grid-template-columns:1fr 1fr}
  .newsletter-template-preview-frame{min-height:560px}
}
@media(max-width:460px){.newsletter-theme-fields{grid-template-columns:1fr}.newsletter-template-status-tabs{width:100%}.newsletter-template-status-tabs .tab{flex:1;text-align:center}}

/* 0.10.8 — la section Thème occupe réellement toute la grille et l’aperçu reste majoritaire. */
.newsletter-template-form > .field-width-full,.newsletter-theme-section{grid-column:1/-1;width:100%;max-width:100%;min-width:0}
.newsletter-theme-settings{grid-template-columns:minmax(0,2fr) minmax(300px,360px);width:100%;max-width:100%}
.newsletter-theme-preview,.newsletter-template-preview-frame{min-width:0;max-width:100%}
.newsletter-theme-sidebar{width:100%;max-width:360px;justify-self:end}
@media(max-width:1180px){
  .newsletter-theme-settings{grid-template-columns:1fr}
  .newsletter-theme-preview{position:static}
  .newsletter-theme-sidebar{max-width:none;justify-self:stretch}
  .newsletter-template-preview-frame{min-height:680px}
}
@media(max-width:760px){
  .newsletter-theme-fields{grid-template-columns:1fr}
}

/* 0.10.9 — création compacte, deux colonnes de défilement et actions lisibles. */
.newsletter-create-copy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:end;min-width:0}
.newsletter-create-copy-fields>*{min-width:0}
.newsletter-wordpress-editor .newsletter-editor-canvas-shell{position:static;max-height:none;overflow:visible}
.newsletter-wordpress-editor .newsletter-editor-canvas-scroll{max-height:none;overflow:visible}
.newsletter-editor-sidebar{max-height:calc(100dvh - 2*var(--space-3));overflow:hidden}
.newsletter-editor-sidebar .newsletter-editor-panel-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.newsletter-editor-tabs{grid-template-columns:1fr 1fr 1fr auto}
.newsletter-wordpress-editor .newsletter-block-actions .newsletter-action-up{background:color-mix(in srgb,var(--color-primary) 16%,var(--color-surface));color:var(--color-primary)}
.newsletter-wordpress-editor .newsletter-block-actions .newsletter-action-down{background:color-mix(in srgb,var(--color-accent,var(--color-primary)) 18%,var(--color-surface));color:var(--color-text)}
.newsletter-wordpress-editor .newsletter-block-actions .newsletter-action-copy{background:color-mix(in srgb,var(--color-success) 16%,var(--color-surface));color:var(--color-success)}
.newsletter-wordpress-editor .newsletter-block-actions .newsletter-action-delete{background:color-mix(in srgb,var(--color-danger) 14%,var(--color-surface));color:var(--color-danger)}
.newsletter-wordpress-editor .newsletter-block-actions .icon-button:is(:hover,:focus-visible){filter:saturate(1.15);box-shadow:inset 0 0 0 1px currentColor}
.newsletter-header-logo{display:block;width:auto;max-width:min(180px,70%);max-height:90px;object-fit:contain;margin:0 auto var(--space-2)}
.newsletter-wys-verse{margin:12px 28px;padding:20px 22px;border-left:4px solid var(--block-border,var(--nl-accent));border-radius:var(--radius-md);background:var(--block-bg,var(--nl-highlight-surface));color:var(--block-text,var(--nl-text));font-style:italic}
.newsletter-wys-verse cite{display:block;margin-top:var(--space-2);color:var(--block-title,var(--nl-heading));font-style:normal;font-weight:750}
.newsletter-verse-copyright{display:block;margin-top:var(--space-2);font-size:.72rem;line-height:1.35;opacity:.78;font-style:normal}
.newsletter-editor-data-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:end;margin-bottom:var(--space-3);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}
.newsletter-editor-data-toolbar label{display:grid;gap:var(--space-1);font-weight:700}
.newsletter-weekly-verse{padding-top:var(--space-3);border-top:1px solid var(--color-border)}
@media(max-width:1120px){.newsletter-editor-sidebar{position:static;max-height:none}.newsletter-editor-sidebar .newsletter-editor-panel-scroll{overflow:visible}}
@media(max-width:760px){.newsletter-create-copy-fields{grid-template-columns:1fr}.newsletter-editor-tabs{grid-template-columns:repeat(3,1fr) auto}.newsletter-editor-data-toolbar{grid-template-columns:1fr}.newsletter-wys-verse{margin-left:14px;margin-right:14px}}

/* 0.10.10 — dimensions et placement des images réellement appliqués dans le canevas. */
.newsletter-wordpress-editor .newsletter-block-layout{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;min-width:0}
.newsletter-wordpress-editor .newsletter-block-layout>.newsletter-block-content{min-width:0}
.newsletter-wordpress-editor .newsletter-block-layout>.newsletter-block-image{width:100%;height:auto;max-height:none;object-fit:contain;justify-self:center;margin:0}
.newsletter-wordpress-editor .is-image-width-small .newsletter-block-layout>.newsletter-block-image{max-width:280px}
.newsletter-wordpress-editor .is-image-width-medium .newsletter-block-layout>.newsletter-block-image{max-width:420px}
.newsletter-wordpress-editor .is-image-width-full .newsletter-block-layout>.newsletter-block-image{max-width:552px}
.newsletter-wordpress-editor .is-image-position-left .newsletter-block-layout{grid-template-columns:minmax(100px,120px) minmax(0,1fr)}
.newsletter-wordpress-editor .is-image-position-right .newsletter-block-layout{grid-template-columns:minmax(0,1fr) minmax(100px,120px)}
.newsletter-wordpress-editor .is-image-position-left.is-image-width-medium .newsletter-block-layout{grid-template-columns:minmax(140px,180px) minmax(0,1fr)}
.newsletter-wordpress-editor .is-image-position-right.is-image-width-medium .newsletter-block-layout{grid-template-columns:minmax(0,1fr) minmax(140px,180px)}
.newsletter-wordpress-editor .is-image-position-left.is-image-width-full .newsletter-block-layout{grid-template-columns:minmax(180px,240px) minmax(0,1fr)}
.newsletter-wordpress-editor .is-image-position-right.is-image-width-full .newsletter-block-layout{grid-template-columns:minmax(0,1fr) minmax(180px,240px)}
.newsletter-wordpress-editor .is-image-position-left .newsletter-block-layout>.newsletter-block-image{grid-column:1}
.newsletter-wordpress-editor .is-image-position-left .newsletter-block-layout>.newsletter-block-content{grid-column:2}
.newsletter-wordpress-editor .is-image-position-right .newsletter-block-layout>.newsletter-block-content{grid-column:1}
.newsletter-wordpress-editor .is-image-position-right .newsletter-block-layout>.newsletter-block-image{grid-column:2}
.newsletter-editor-tabs{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.newsletter-template-image-preview{display:block;max-width:180px;max-height:120px;margin:0 0 var(--space-2);object-fit:contain;border-radius:var(--radius-sm)}
@media(max-width:760px){
  .newsletter-wordpress-editor :is(.is-image-position-left,.is-image-position-right) .newsletter-block-layout{grid-template-columns:minmax(0,1fr)}
  .newsletter-wordpress-editor :is(.is-image-position-left,.is-image-position-right) .newsletter-block-layout>.newsletter-block-image,
  .newsletter-wordpress-editor :is(.is-image-position-left,.is-image-position-right) .newsletter-block-layout>.newsletter-block-content{grid-column:1}
  .newsletter-wordpress-editor .is-image-position-right .newsletter-block-layout>.newsletter-block-image{grid-row:1}
  .newsletter-wordpress-editor .is-image-position-right .newsletter-block-layout>.newsletter-block-content{grid-row:2}
}


/* 0.10.12 — ordre visuel explicite dans le canevas, y compris sans rechargement. */
.newsletter-wordpress-editor .is-image-position-before .newsletter-block-layout>.newsletter-block-image{grid-column:1;grid-row:1}
.newsletter-wordpress-editor .is-image-position-before .newsletter-block-layout>.newsletter-block-content{grid-column:1;grid-row:2}
.newsletter-wordpress-editor .is-image-position-after .newsletter-block-layout>.newsletter-block-content{grid-column:1;grid-row:1}
.newsletter-wordpress-editor .is-image-position-after .newsletter-block-layout>.newsletter-block-image{grid-column:1;grid-row:2}
.newsletter-wordpress-editor :is(.is-image-position-left,.is-image-position-right) .newsletter-block-layout>.newsletter-block-image,
.newsletter-wordpress-editor :is(.is-image-position-left,.is-image-position-right) .newsletter-block-layout>.newsletter-block-content{grid-row:1}
.newsletter-template-save-state{min-height:1.25rem}

/* 0.10.13 — taille du logo d’en-tête et aperçu fidèle des images de modèles */
.newsletter-wordpress-editor .is-image-width-small .newsletter-header-logo{max-width:min(90px,70%);max-height:54px}
.newsletter-wordpress-editor .is-image-width-medium .newsletter-header-logo{max-width:min(140px,70%);max-height:72px}
.newsletter-wordpress-editor .is-image-width-full .newsletter-header-logo{max-width:min(180px,70%);max-height:90px}
.newsletter-template-image-layout{display:grid;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);min-width:0}
.newsletter-template-image-preview-wrap{min-width:0}
.newsletter-template-image-preview{display:block;width:100%;height:auto;max-height:none;margin:0 auto;object-fit:contain;border-radius:var(--radius-sm)}
.newsletter-template-image-copy{min-width:0}
.newsletter-template-block-card.is-image-width-small .newsletter-template-image-preview{max-width:180px}
.newsletter-template-block-card.is-image-width-medium .newsletter-template-image-preview{max-width:280px}
.newsletter-template-block-card.is-image-width-full .newsletter-template-image-preview{max-width:420px}
.newsletter-template-block-card:is(.is-image-position-before,.is-image-position-after) .newsletter-template-image-layout{grid-template-columns:minmax(0,1fr)}
.newsletter-template-block-card.is-image-position-before .newsletter-template-image-preview-wrap{order:1}
.newsletter-template-block-card.is-image-position-before .newsletter-template-image-copy{order:2}
.newsletter-template-block-card.is-image-position-after .newsletter-template-image-copy{order:1}
.newsletter-template-block-card.is-image-position-after .newsletter-template-image-preview-wrap{order:2}
.newsletter-template-block-card:is(.is-image-position-left,.is-image-position-right) .newsletter-template-image-layout{grid-template-columns:minmax(120px,220px) minmax(0,1fr)}
.newsletter-template-block-card.is-image-position-left .newsletter-template-image-preview-wrap{order:1}
.newsletter-template-block-card.is-image-position-left .newsletter-template-image-copy{order:2}
.newsletter-template-block-card.is-image-position-right .newsletter-template-image-copy{order:1}
.newsletter-template-block-card.is-image-position-right .newsletter-template-image-preview-wrap{order:2}
@media(max-width:760px){
  .newsletter-template-block-card:is(.is-image-position-left,.is-image-position-right) .newsletter-template-image-layout{grid-template-columns:minmax(0,1fr)}
}

/* 0.10.15 — le bloc Titre applique réellement taille et position dans l’éditeur. */
.newsletter-header-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.newsletter-header-copy{min-width:0;text-align:center}
.newsletter-header-logo{display:block;width:100%;height:auto;object-fit:contain;justify-self:center;margin:0}
.newsletter-wordpress-editor .is-image-width-small .newsletter-header-layout>.newsletter-header-logo{max-width:min(90px,70%);max-height:54px}
.newsletter-wordpress-editor .is-image-width-medium .newsletter-header-layout>.newsletter-header-logo{max-width:min(140px,70%);max-height:72px}
.newsletter-wordpress-editor .is-image-width-full .newsletter-header-layout>.newsletter-header-logo{max-width:min(180px,70%);max-height:90px}
.newsletter-wordpress-editor .is-image-position-before .newsletter-header-layout>.newsletter-header-logo{grid-column:1;grid-row:1}
.newsletter-wordpress-editor .is-image-position-before .newsletter-header-copy{grid-column:1;grid-row:2}
.newsletter-wordpress-editor .is-image-position-after .newsletter-header-copy{grid-column:1;grid-row:1}
.newsletter-wordpress-editor .is-image-position-after .newsletter-header-layout>.newsletter-header-logo{grid-column:1;grid-row:2}
.newsletter-wordpress-editor .is-image-position-left .newsletter-header-layout{grid-template-columns:minmax(70px,90px) minmax(0,1fr)}
.newsletter-wordpress-editor .is-image-position-left.is-image-width-medium .newsletter-header-layout{grid-template-columns:minmax(100px,140px) minmax(0,1fr)}
.newsletter-wordpress-editor .is-image-position-left.is-image-width-full .newsletter-header-layout{grid-template-columns:minmax(130px,180px) minmax(0,1fr)}
.newsletter-wordpress-editor .is-image-position-left .newsletter-header-layout>.newsletter-header-logo{grid-column:1;grid-row:1}
.newsletter-wordpress-editor .is-image-position-left .newsletter-header-copy{grid-column:2;grid-row:1}
.newsletter-wordpress-editor .is-image-position-right .newsletter-header-layout{grid-template-columns:minmax(0,1fr) minmax(70px,90px)}
.newsletter-wordpress-editor .is-image-position-right.is-image-width-medium .newsletter-header-layout{grid-template-columns:minmax(0,1fr) minmax(100px,140px)}
.newsletter-wordpress-editor .is-image-position-right.is-image-width-full .newsletter-header-layout{grid-template-columns:minmax(0,1fr) minmax(130px,180px)}
.newsletter-wordpress-editor .is-image-position-right .newsletter-header-copy{grid-column:1;grid-row:1}
.newsletter-wordpress-editor .is-image-position-right .newsletter-header-layout>.newsletter-header-logo{grid-column:2;grid-row:1}
.newsletter-template-block-card[data-template-block-type="header"].is-image-width-small .newsletter-template-image-preview{max-width:90px}
.newsletter-template-block-card[data-template-block-type="header"].is-image-width-medium .newsletter-template-image-preview{max-width:140px}
.newsletter-template-block-card[data-template-block-type="header"].is-image-width-full .newsletter-template-image-preview{max-width:180px}
@media(max-width:760px){
  .newsletter-wordpress-editor :is(.is-image-position-left,.is-image-position-right) .newsletter-header-layout{grid-template-columns:minmax(0,1fr)}
  .newsletter-wordpress-editor .is-image-position-left .newsletter-header-layout>.newsletter-header-logo{grid-column:1;grid-row:1}
  .newsletter-wordpress-editor .is-image-position-left .newsletter-header-copy{grid-column:1;grid-row:2}
  .newsletter-wordpress-editor .is-image-position-right .newsletter-header-copy{grid-column:1;grid-row:1}
  .newsletter-wordpress-editor .is-image-position-right .newsletter-header-layout>.newsletter-header-logo{grid-column:1;grid-row:2}
}

.newsletter-statistics-groups{display:grid;gap:var(--section-gap);grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-statistics-groups h3{margin:0 0 var(--space-3)}@media(max-width:760px){.newsletter-statistics-groups{grid-template-columns:1fr}}

/* 0.10.17 — création compacte et fidélité des tailles d’images des modèles. */
.newsletter-form-card{width:min(100%,1120px);max-width:1120px;margin-inline:auto}
.newsletter-create-form{display:grid;gap:var(--section-gap);min-width:0}
.newsletter-create-section{min-width:0;margin:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-soft)}
.newsletter-create-section>legend{padding:0 var(--space-2);font-weight:800;color:var(--color-heading,var(--color-text))}
.newsletter-create-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}
.newsletter-create-section-heading h2{margin:0;font-size:1.05rem}
.newsletter-create-section-heading p{margin:var(--space-1) 0 0}
.newsletter-create-main-grid{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.35fr) minmax(220px,1fr);gap:var(--space-3);align-items:start;min-width:0}
.newsletter-create-main-grid>*,.newsletter-create-copy-fields>*,.newsletter-period-controls>*{min-width:0}
.newsletter-create-form :is(input,select){width:100%;max-width:100%;min-width:0}
.newsletter-create-copy-fields{margin-top:var(--space-3)}
.newsletter-period-controls{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(120px,.42fr) minmax(300px,1.55fr);gap:var(--space-3);align-items:start;min-width:0}
.newsletter-period-summary{margin:var(--space-3) 0}
.newsletter-period-options{display:grid;grid-template-columns:minmax(180px,320px);gap:var(--space-3);min-width:0}
.newsletter-custom-period{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:var(--space-3);margin-top:var(--space-3)}
.newsletter-period-help{margin:var(--space-3) 0 0}
.newsletter-create-optional{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}
.newsletter-create-optional>summary{cursor:pointer;font-weight:800;color:var(--color-heading,var(--color-text))}
.newsletter-create-event-field{max-width:560px;margin-top:var(--space-3)}
.newsletter-create-event-field select{width:100%;max-width:560px}
.newsletter-create-actions{justify-content:flex-end;margin:0;padding-top:var(--space-3);border-top:1px solid var(--color-border)}
.newsletter-template-block-card:not([data-template-block-type="header"]).is-image-width-small .newsletter-template-image-preview{max-width:min(280px,100%)}
.newsletter-template-block-card:not([data-template-block-type="header"]).is-image-width-medium .newsletter-template-image-preview{max-width:min(420px,100%)}
.newsletter-template-block-card:not([data-template-block-type="header"]).is-image-width-full .newsletter-template-image-preview{max-width:min(552px,100%)}
.newsletter-template-block-card[data-template-block-type="header"].is-image-width-small .newsletter-template-image-preview{max-width:min(90px,100%)}
.newsletter-template-block-card[data-template-block-type="header"].is-image-width-medium .newsletter-template-image-preview{max-width:min(140px,100%)}
.newsletter-template-block-card[data-template-block-type="header"].is-image-width-full .newsletter-template-image-preview{max-width:min(180px,100%)}
@media(max-width:900px){
  .newsletter-create-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .newsletter-create-main-grid .field:last-child{grid-column:1/-1}
  .newsletter-period-controls{grid-template-columns:minmax(140px,.7fr) minmax(110px,.45fr)}
  .newsletter-period-controls .field:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .newsletter-create-section{padding:var(--space-3)}
  .newsletter-create-main-grid,.newsletter-period-controls,.newsletter-custom-period{grid-template-columns:minmax(0,1fr)}
  .newsletter-create-main-grid .field:last-child,.newsletter-period-controls .field:last-child{grid-column:auto}
  .newsletter-create-optional{padding:var(--space-3)}
  .newsletter-create-actions>button{width:100%;justify-content:center}
}

/* Bloc Lien Newsletter 0.16.0 */
.newsletter-wys-link{display:flex;justify-content:inherit;align-items:center;min-height:var(--touch-target)}.newsletter-wys-link a{color:var(--nl-link,var(--color-primary));font-weight:700;overflow-wrap:anywhere}.newsletter-wys-link.is-link-mode-image{display:block;text-align:inherit}.newsletter-link-image{display:block;width:100%;height:auto;margin:0 auto;border:0}.newsletter-link-fields,.newsletter-template-link-fields{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}.newsletter-link-size-presets{margin-top:var(--space-1)}.newsletter-link-fields input[type="range"],.newsletter-template-link-fields input[type="range"]{width:100%}.newsletter-template-image-preview{width:100%;height:auto;margin-inline:auto}

/* 0.16.2 — fidélité des styles Lien, Bouton, Séparateur et restauration de l’apparence. */
.newsletter-wordpress-editor .newsletter-visual-block{
  --newsletter-block-text:var(--block-text,var(--nl-text,var(--color-text)));
  --newsletter-block-title:var(--block-title,var(--nl-heading,var(--color-heading,var(--color-text))));
  --newsletter-block-border:var(--block-border,var(--nl-border,var(--color-border)));
}
.newsletter-wordpress-editor .newsletter-visual-block.is-text-color-surface{--newsletter-block-text:var(--block-text,var(--nl-surface,var(--color-surface)))}
.newsletter-wordpress-editor .newsletter-visual-block.is-text-color-primary{--newsletter-block-text:var(--block-text,var(--nl-primary,var(--color-primary)))}
.newsletter-wordpress-editor .newsletter-visual-block.is-text-color-muted{--newsletter-block-text:var(--block-text,var(--color-text-muted,var(--nl-text)))}
.newsletter-wordpress-editor .newsletter-visual-block .newsletter-block-content{color:var(--newsletter-block-text)}
.newsletter-wordpress-editor .newsletter-visual-block :is(h2,h3,cite){color:var(--newsletter-block-title)}
.newsletter-wordpress-editor .newsletter-visual-block.is-title-size-small :is(h2,h3,cite){font-size:1rem}
.newsletter-wordpress-editor .newsletter-visual-block.is-title-size-medium :is(h2,h3,cite){font-size:1.25rem}
.newsletter-wordpress-editor .newsletter-visual-block.is-title-size-large :is(h2,h3,cite){font-size:1.55rem}
.newsletter-wordpress-editor .newsletter-visual-block.is-text-size-small .newsletter-block-content{font-size:.875rem}
.newsletter-wordpress-editor .newsletter-visual-block.is-text-size-medium .newsletter-block-content{font-size:1rem}
.newsletter-wordpress-editor .newsletter-visual-block.is-text-size-large .newsletter-block-content{font-size:1.18rem}
.newsletter-wordpress-editor .newsletter-visual-block.is-radius-small{border-radius:var(--radius-sm)}
.newsletter-wordpress-editor .newsletter-visual-block.is-radius-medium{border-radius:var(--radius-md)}
.newsletter-wordpress-editor .newsletter-visual-block.is-radius-large{border-radius:var(--radius-lg)}
.newsletter-wordpress-editor .newsletter-visual-block.is-border-subtle{border-color:var(--newsletter-block-border);border-style:solid;border-width:1px}
.newsletter-wordpress-editor .newsletter-visual-block.is-border-strong{border-color:var(--newsletter-block-border);border-style:solid;border-width:2px}
.newsletter-wordpress-editor .newsletter-wys-link,
.newsletter-wordpress-editor .newsletter-wys-button{display:flex;align-items:center;width:100%;min-height:var(--touch-target)}
.newsletter-wordpress-editor .is-align-left :is(.newsletter-wys-link,.newsletter-wys-button){justify-content:flex-start;text-align:left}
.newsletter-wordpress-editor .is-align-center :is(.newsletter-wys-link,.newsletter-wys-button){justify-content:center;text-align:center}
.newsletter-wordpress-editor .is-align-right :is(.newsletter-wys-link,.newsletter-wys-button){justify-content:flex-end;text-align:right}
.newsletter-wordpress-editor .newsletter-visual-block .newsletter-wys-link>a{color:var(--newsletter-block-text);font-size:inherit;font-weight:700;overflow-wrap:anywhere}
.newsletter-wordpress-editor .newsletter-wys-link.is-link-mode-image>a{display:inline-block;max-width:100%}
.newsletter-wordpress-editor .newsletter-wys-link.is-link-mode-image .newsletter-link-image{margin:0}
.newsletter-wordpress-editor .newsletter-wys-button>a{display:inline-block;padding:.72rem 1.15rem;border:1px solid var(--newsletter-block-border);border-radius:var(--radius-md);background:var(--newsletter-block-title);color:var(--newsletter-block-text);font:inherit;font-weight:750;line-height:1.35;text-decoration:none;box-shadow:none}
.newsletter-wordpress-editor .is-radius-none .newsletter-wys-button>a{border-radius:0}
.newsletter-wordpress-editor .is-radius-small .newsletter-wys-button>a{border-radius:var(--radius-sm)}
.newsletter-wordpress-editor .is-radius-medium .newsletter-wys-button>a{border-radius:var(--radius-md)}
.newsletter-wordpress-editor .is-radius-large .newsletter-wys-button>a{border-radius:var(--radius-lg)}
.newsletter-wordpress-editor .newsletter-visual-block[data-block-type="separator"]{border:0;background:transparent;box-shadow:none}
.newsletter-wordpress-editor .newsletter-visual-block[data-block-type="separator"] .newsletter-block-content{width:100%}
.newsletter-wordpress-editor .newsletter-visual-block[data-block-type="separator"] hr{width:100%;height:0;margin:0;border:0;border-top:1px solid var(--newsletter-block-border)}
.newsletter-wordpress-editor .newsletter-visual-block[data-block-type="separator"].is-border-strong hr{border-top-width:2px}
.newsletter-button-fields,.newsletter-template-button-fields{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}

/* 0.16.4 — identité d’envoi lisible dans la grille Newsletter. */
.newsletter-summary-card [data-newsletter-autosave]>.field-width-full{grid-column:1/-1;width:100%;min-width:0}
.newsletter-summary-card .form-advanced>.form-grid{width:100%;min-width:0}
.newsletter-delivery-identity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);width:100%;min-width:0}
.newsletter-delivery-identity>div{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-1);min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}
.newsletter-delivery-identity dt{font-size:.82rem;color:var(--color-text-muted);font-weight:700}
.newsletter-delivery-identity dd{margin:0;min-width:0;font-weight:650;overflow-wrap:anywhere;word-break:normal}
@media(max-width:980px){.newsletter-delivery-identity{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.newsletter-delivery-identity{grid-template-columns:minmax(0,1fr)}}

.newsletter-attachment-card{display:grid;gap:var(--space-4)}
.newsletter-attachment-current{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}
.newsletter-attachment-current>div{display:flex;align-items:center;gap:var(--space-3);min-width:0}.newsletter-attachment-current strong,.newsletter-attachment-current small{display:block;overflow-wrap:anywhere}
.navigation-mobile-choice{white-space:nowrap}
@media(max-width:620px){.newsletter-attachment-current{align-items:flex-start;flex-direction:column}}

/* R5 : respiration explicite entre les filtres, les listes et les actions Newsletter. */
.newsletter-management-tabs + .newsletter-tab-description{margin-top:var(--space-2)}
.newsletter-grid{margin-top:var(--section-gap)}
.newsletter-audience-options .form-actions{margin-top:var(--space-2);padding-top:var(--space-2)}
.newsletter-secondary-grid>.card .form-actions{row-gap:var(--space-3)}

/* 0.25.0 — sélection du contenu dès la création. */
.newsletter-creation-content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-3)}
.newsletter-creation-content-group{display:grid;align-content:start;gap:var(--space-2);min-width:0;margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.newsletter-creation-content-group legend{padding:0 var(--space-1);font-weight:750;color:var(--color-text)}
.newsletter-creation-content-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);align-items:start;padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer}
.newsletter-creation-content-item:hover{background:var(--color-background)}
.newsletter-creation-content-item input{margin-top:.2rem}
.newsletter-creation-content-item span{display:grid;gap:var(--space-1)}
.newsletter-creation-content-item small{color:var(--color-muted)}
@media(max-width:620px){.newsletter-creation-content-grid{grid-template-columns:1fr}}

/* modules/links.css */
.short-link-state-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--section-gap)}
.short-link-state-tabs .button{min-width:min(100%,10rem)}
.short-link-toolbar{margin-bottom:var(--space-4)}
.short-link-filter{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr) auto;gap:var(--compact-form-gap);align-items:end}
.short-link-settings{margin-bottom:var(--space-4)}
.short-link-settings>summary,.short-link-advanced>summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);cursor:pointer;min-height:var(--touch-target)}
.short-link-settings[open]>summary,.short-link-advanced[open]>summary{margin-bottom:var(--space-4)}
.short-link-table td:first-child{width:84px}.short-link-table td:last-child{width:96px}
.qr-mini,.qr-preview{display:grid;place-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.qr-mini{width:64px;height:64px;padding:var(--space-1)}.qr-preview{width:min(100%,280px);aspect-ratio:1;padding:var(--space-3)}.qr-preview-large{width:min(100%,360px);margin-inline:auto}.qr-mini svg,.qr-preview svg{display:block;width:100%;height:100%}.is-qr-error{color:var(--color-danger);font-size:.8rem;text-align:center}
.short-link-address{display:flex;align-items:center;gap:var(--space-1);max-width:100%}.short-link-address code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.short-link-address-large{justify-content:center;margin:var(--space-4) 0}.short-link-address-large code{font-size:1rem}
.icon-button-small{width:36px;min-height:36px}.destination-preview{display:block;max-width:38rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.short-link-table small{display:block;color:var(--color-muted);margin-top:var(--space-1)}
.short-link-state-active{color:var(--color-success)}.short-link-state-scheduled{color:var(--color-info)}.short-link-state-expired,.short-link-state-disabled{color:var(--color-warning)}.short-link-state-archived{color:var(--color-muted)}
.short-link-detail-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:var(--space-4);margin-bottom:var(--section-gap)}.short-link-qr-card{text-align:center}.short-link-qr-card header{text-align:left}
.short-link-preview-grid{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);align-items:center;gap:var(--space-6)}.short-link-preview-grid code{display:block;overflow-wrap:anywhere}
.short-link-stat-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.short-link-stat-summary>div{display:grid;gap:var(--space-1);padding:var(--space-4);background:var(--color-background);border-radius:var(--radius-md)}.short-link-stat-summary strong{font-size:1.5rem}.short-link-stat-summary span{color:var(--color-muted)}
.public-connect-page{min-height:100vh;background:var(--color-background);color:var(--color-text)}.public-connect-shell{width:min(680px,calc(100% - 2rem));margin:0 auto;padding:var(--space-8) 0;display:grid;gap:var(--space-6)}.public-connect-header{text-align:center;display:grid;justify-items:center;gap:var(--space-3)}.public-connect-header img{max-width:220px;max-height:96px;object-fit:contain}.public-connect-header .brand-mark{width:64px;height:64px}.public-connect-header p{max-width:55ch;color:var(--color-muted)}.public-connect-links{display:grid;gap:var(--space-3)}.public-connect-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);min-height:72px;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--color-text)}.public-connect-link:hover{border-color:var(--color-primary);transform:translateY(-1px)}.public-connect-link small{display:block;color:var(--color-muted);margin-top:var(--space-1)}.public-connect-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}.public-connect-shell footer{text-align:center;color:var(--color-muted)}
@media(max-width:820px){.short-link-filter{grid-template-columns:1fr}.short-link-table thead{display:none}.short-link-table,.short-link-table tbody,.short-link-table tr,.short-link-table td{display:block;width:100%}.short-link-table tr{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border)}.short-link-table td{padding:0;border:0}.short-link-table td:nth-child(n+3){grid-column:1/-1;padding-left:72px}.short-link-table td:last-child{width:auto}.short-link-detail-grid,.short-link-preview-grid{grid-template-columns:1fr}.destination-preview{max-width:100%}.short-link-address-large{align-items:flex-start}.public-connect-shell{padding:var(--space-4) 0}}
.event-short-link-list{display:grid;gap:var(--space-3)}.event-short-link-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}
@media(max-width:620px){.short-link-state-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.short-link-state-tabs .button{min-width:0;padding-inline:var(--space-2);text-align:center}.event-short-link-row{grid-template-columns:56px minmax(0,1fr)}.event-short-link-row>.icon-button{grid-column:2;justify-self:start}.event-short-link-row .qr-mini{width:52px;height:52px}}

/* modules/consents.css */
/* Restons connectés et consentements — uniquement disposition et variantes métier. */
.consent-public-page{min-height:100vh;background:var(--color-background);color:var(--color-text)}
.consent-public-shell{width:min(780px,calc(100% - 2rem))}
.consent-public-form{display:grid;gap:var(--section-gap)}
.consent-public-form>section{display:grid;gap:var(--space-3);scroll-margin-top:var(--space-6)}
.consent-public-form>section+section{padding-top:var(--section-gap);border-top:1px solid var(--color-border)}
.consent-public-list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-3)}
.consent-public-list{display:grid;align-content:start;gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.consent-public-list.is-highlighted{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 18%,transparent)}
.consent-public-list h3,.consent-public-list p{margin:0}
.consent-public-list .choice-grid{margin-top:var(--space-2)}
.consent-public-list .choice-grid label,.consent-birthday-toggle,.consent-explicit-check{display:flex;align-items:flex-start;gap:var(--space-2);font-weight:600}
.consent-public-list .choice-grid input,.consent-birthday-toggle input,.consent-explicit-check input{margin-top:2px;flex:0 0 auto}
.consent-birthday-fields{max-width:420px}
.consent-birthday-fields[hidden],.consent-honeypot{display:none}
.notice-summary{padding:var(--space-3);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-background)}
.notice-summary p{margin:0}
.consent-public-result{display:grid;justify-items:center;text-align:center;gap:var(--space-3)}
.consent-access-list{display:grid;justify-items:center;gap:var(--space-3);width:100%}
.consent-access-list .button{width:min(100%,420px)}
.consent-list-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--space-4)}
.consent-list-admin-card{display:grid;align-content:start;gap:var(--space-3)}
.consent-list-admin-card .card-header{align-items:flex-start;margin-bottom:0}
.consent-list-admin-card .definition-list{grid-template-columns:1fr}
.consent-list-admin-card .button-group{margin-top:auto}
.consent-history-list{display:grid;gap:var(--space-3);padding:0;list-style:none}
.consent-history-item{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.consent-profile-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:var(--section-gap)}
.consent-subscription-list{display:grid;gap:var(--space-2);padding:0;list-style:none}
.consent-subscription-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}
.consent-offline-form{display:grid;gap:var(--space-4)}
.consent-evidence-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.consent-print-page{background:var(--color-surface);color:var(--color-text)}
.consent-print-sheet{width:min(900px,calc(100% - 2rem));margin:var(--space-8) auto;display:grid;gap:var(--section-gap)}
.consent-print-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}
.consent-print-section{display:grid;gap:var(--space-3);break-inside:avoid}
.consent-print-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.consent-print-meta>div{display:grid;gap:var(--space-1);padding:var(--space-2);border-bottom:1px solid var(--color-border)}
.consent-print-meta dt{font-weight:700}
.consent-print-meta dd{margin:0;overflow-wrap:anywhere}
.consent-print-record{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);break-inside:avoid}
.consent-print-record p{margin:0}
.consent-snapshot{padding-top:var(--space-2);border-top:1px solid var(--color-border)}
.consent-notice-history{display:grid;gap:var(--space-3)}
.consent-notice-card{display:grid;gap:var(--space-2)}
.consent-notice-card.is-active{border-color:var(--color-primary)}
.consent-page-settings{margin-bottom:var(--section-gap)}

@media(max-width:900px){
  .consent-profile-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .consent-public-shell{width:min(100% - 1rem,780px)}
  .consent-public-form{padding:var(--space-4)}
  .consent-public-list-grid,.consent-list-admin-grid{grid-template-columns:1fr}
  .consent-subscription-list li{grid-template-columns:1fr;align-items:start}
  .consent-print-meta{grid-template-columns:1fr}
  .consent-print-heading{flex-direction:column}
}
@media print{
  .consent-print-page{background:var(--color-surface)}
  .consent-print-sheet{width:100%;margin:0}
  .consent-print-actions{display:none}
  .consent-print-section{box-shadow:none}
}

/* 0.25.0 — vue Abonnés compacte, les outils RGPD restent repliés. */
.subscriber-metrics{margin-bottom:var(--section-gap)}
.subscriber-advanced{margin-top:var(--section-gap)}
.subscriber-advanced summary{cursor:pointer;font-weight:750}

/* modules/presentations.css */
.presentation-tabs{margin-bottom:var(--section-gap)}
.presentation-search{display:flex;gap:var(--field-gap);align-items:end;margin-bottom:var(--section-gap)}
.presentation-search .field{flex:1}
.presentation-list{display:grid;gap:var(--section-gap)}
.presentation-list-card{display:flex;justify-content:space-between;gap:var(--section-gap);align-items:center}
.presentation-settings{margin-bottom:var(--section-gap)}
.presentation-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:var(--section-gap);align-items:start}
.presentation-editor-main,.presentation-editor-side{display:grid;gap:var(--section-gap)}
.presentation-editor-side{position:sticky;top:var(--space-4)}
.presentation-preview-stage,.presentation-mini-stage{aspect-ratio:16/9;background:var(--color-text);overflow:hidden;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.presentation-preview-stage canvas,.presentation-mini-stage canvas,.presentation-player canvas{display:block;width:100%;height:100%}
.presentation-slide-list{display:grid;gap:var(--space-2);max-height:58vh;overflow:auto}
.presentation-slide-list-item{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2);align-items:center;width:100%;min-height:var(--touch-target);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-align:left}
.presentation-slide-list-item span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-sm);background:var(--color-background)}
.presentation-slide-list-item strong,.presentation-slide-list-item small{grid-column:2}
.presentation-slide-list-item.is-active{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 18%,transparent)}
.presentation-slide-editors{margin-top:var(--section-gap)}
.presentation-slide-edit-grid{display:grid;grid-template-columns:minmax(280px,42%) minmax(0,1fr);gap:var(--section-gap);align-items:start}
.presentation-mini-stage{position:sticky;top:var(--space-4)}
.presentation-play-page{margin:0;overflow:hidden;background:var(--color-text)}
.presentation-player{position:fixed;inset:0;display:grid;place-items:center;background:var(--color-text)}
.presentation-player canvas{max-width:100vw;max-height:100vh;object-fit:contain}
.presentation-player-controls{position:fixed;left:50%;bottom:var(--space-4);transform:translateX(-50%);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow:var(--shadow-md);z-index:4}
.presentation-player-progress{position:fixed;left:0;right:0;bottom:0;height:6px;background:color-mix(in srgb,var(--color-surface) 24%,transparent);z-index:5}
.presentation-player-progress span{display:block;height:100%;width:0;background:var(--color-primary);transition:width .1s linear}
.presentation-play-page.is-controls-hidden .presentation-player-controls{opacity:0;pointer-events:none}
.presentation-play-page.is-controls-hidden .presentation-player-progress{opacity:.45}
@media (max-width:1000px){.presentation-editor-grid{grid-template-columns:1fr}.presentation-editor-side{position:static}.presentation-slide-list{max-height:none}.presentation-slide-edit-grid{grid-template-columns:1fr}.presentation-mini-stage{position:static}}
@media (max-width:700px){.presentation-search,.presentation-list-card,.presentation-player-controls{align-items:stretch;flex-direction:column}.presentation-player-controls{left:var(--space-2);right:var(--space-2);transform:none}.presentation-slide-edit-grid{display:block}.presentation-mini-stage{margin-bottom:var(--section-gap)}}
.presentation-template-editor-grid{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(0,1.35fr);gap:var(--section-gap);align-items:start}
.presentation-template-preview{position:sticky;top:var(--space-4)}
.presentation-template-preview .presentation-preview-stage{width:100%}
@media (max-width:1100px){.presentation-template-editor-grid{grid-template-columns:1fr}.presentation-template-preview{position:static}}
.presentation-auto-content{margin-bottom:var(--section-gap)}
.presentation-auto-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section-gap)}
.presentation-auto-section{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}
.presentation-auto-section summary{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;min-height:var(--touch-target);padding:var(--space-3);cursor:pointer;background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}
.presentation-auto-section summary span{font-size:var(--font-size-sm);color:var(--color-muted)}
.presentation-auto-items{display:grid;gap:var(--space-2);padding:var(--space-3)}
.presentation-auto-item{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background)}
.presentation-auto-item-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start}
.presentation-auto-item input{margin-top:.2rem}
.presentation-auto-item span{display:grid;gap:var(--space-1)}
.presentation-auto-item small{display:block;color:var(--color-muted);line-height:1.35}
.presentation-auto-dedicated,.presentation-auto-hide-time{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);align-items:start;margin-left:calc(var(--space-3) + 1rem);padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}
.presentation-auto-dedicated.is-unavailable,.presentation-auto-hide-time.is-automatic{color:var(--color-muted)}
.presentation-auto-slide-summary{min-width:0}
.presentation-auto-slide-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.presentation-auto-slide-items article{padding:var(--space-3);border:1px solid var(--color-border);border-left:5px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-background)}
.presentation-auto-slide-items strong,.presentation-auto-slide-items small{display:block}
.presentation-auto-slide-items small{margin-top:var(--space-1);color:var(--color-muted)}
.presentation-auto-slide-items p{margin:var(--space-2) 0 0}
@media (max-width:900px){.presentation-auto-sections,.presentation-auto-slide-items{grid-template-columns:1fr}}
@media (max-width:700px){.presentation-auto-section summary{align-items:flex-start;flex-direction:column}.presentation-auto-dedicated,.presentation-auto-hide-time{margin-left:0}}
.presentation-template-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.color-control{display:grid;grid-template-columns:var(--touch-target) minmax(0,1fr);gap:var(--space-2);align-items:center}
.color-control input[type="color"]{inline-size:var(--touch-target);block-size:var(--touch-target);padding:.2rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}
.color-control output{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--color-muted)}
.presentation-auto-section summary>span:first-child{display:grid;gap:var(--space-1)}
.presentation-auto-section summary>span:first-child small{color:var(--color-muted);font-weight:400}
@media (max-width:700px){.presentation-template-color-grid{grid-template-columns:1fr}}
.presentation-theme-linker{align-items:end}
.presentation-shared-theme details{margin:0}
.presentation-shared-palette{margin-top:var(--space-3)}
.presentation-shared-palette .field{min-width:0}
.presentation-shared-palette input[type="color"]:disabled{opacity:.55;cursor:not-allowed}
@media (max-width:700px){.presentation-theme-linker .button-group{align-items:stretch}.presentation-theme-linker .button{width:100%}}

/* 0.25.0 — choix du contenu et du mode événement à la création. */
.presentation-creation-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-3)}
.presentation-creation-group{display:grid;align-content:start;gap:var(--space-2);min-width:0;margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.presentation-creation-group legend{padding:0 var(--space-1);font-weight:750}
.presentation-creation-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.48fr);gap:var(--space-3);align-items:center;padding:var(--space-2);border-radius:var(--radius-sm)}
.presentation-creation-item:has(input[type="checkbox"]){grid-template-columns:auto minmax(0,1fr);align-items:start}
.presentation-creation-item:hover{background:var(--color-background)}
.presentation-creation-item span{display:grid;gap:var(--space-1);min-width:0}
.presentation-creation-item small{color:var(--color-muted);overflow-wrap:anywhere}
@media(max-width:700px){.presentation-creation-content{grid-template-columns:1fr}.presentation-creation-item{grid-template-columns:1fr;align-items:stretch}.presentation-creation-item:has(input[type="checkbox"]){grid-template-columns:auto minmax(0,1fr)}}

/* modules/whatsapp.css */
.whatsapp-dashboard-section+.whatsapp-dashboard-section{margin-block-start:var(--section-gap)}
.whatsapp-search-bar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr)) minmax(190px,1fr);gap:var(--space-4);align-items:end;margin-block-end:var(--section-gap);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.whatsapp-search-text{min-width:0}
.whatsapp-recurring-filter{grid-column:1/4;align-self:center}
.whatsapp-search-actions{display:flex;gap:var(--space-3);justify-content:flex-end;align-items:center}
.whatsapp-source-list,.whatsapp-source-row{display:grid;gap:var(--space-3)}
.whatsapp-source-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-block:var(--space-3);border-bottom:1px solid var(--color-border)}
.whatsapp-source-row:last-child{border-bottom:0}
.whatsapp-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-4)}
.whatsapp-result-card{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-4);min-width:0}
.whatsapp-result-card h3{overflow-wrap:anywhere}
.whatsapp-result-card .button{align-self:flex-start}
.whatsapp-export-form{margin-block-start:var(--section-gap)}
.whatsapp-file-list,.whatsapp-list-picker{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.whatsapp-list-picker small,.whatsapp-file-list small{display:block;color:var(--color-muted)}
.whatsapp-audience-summary{margin-block-start:var(--space-5)}
.whatsapp-audience-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-3);margin:0}
.whatsapp-audience-metrics div{padding:var(--space-3);background:var(--color-surface-muted);border-radius:var(--radius-md)}
.whatsapp-audience-metrics dt{color:var(--color-muted);font-size:var(--font-size-sm)}
.whatsapp-audience-metrics dd{margin:var(--space-1) 0 0;font-size:var(--font-size-xl);font-weight:700}
.whatsapp-audience-metrics .is-final{background:var(--color-primary-soft)}
.whatsapp-publish-box{margin-block-start:var(--space-5);padding-block-start:var(--space-4);border-top:1px solid var(--color-border)}
.whatsapp-file-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}
.whatsapp-file-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--space-4);align-items:center;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.whatsapp-file-preview{display:block;width:112px;height:84px;object-fit:contain;background:var(--color-surface-muted);border-radius:var(--radius-sm)}
.whatsapp-file-icon{display:grid;place-items:center;width:112px;height:84px;background:var(--color-surface-muted);border-radius:var(--radius-sm)}
.whatsapp-file-copy{display:grid;gap:var(--space-3);min-width:0}
.whatsapp-file-copy .check-row{min-width:0}
.whatsapp-file-copy strong{overflow-wrap:anywhere}
.whatsapp-clipboard-note{margin-block-start:var(--space-4)}
@media (max-width:1100px){.whatsapp-search-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.whatsapp-recurring-filter{grid-column:1/2}.whatsapp-search-actions{grid-column:2/3}}
@media (max-width:620px){.whatsapp-search-bar{grid-template-columns:1fr}.whatsapp-recurring-filter,.whatsapp-search-actions{grid-column:1}.whatsapp-search-actions{justify-content:stretch;flex-direction:column}.whatsapp-search-actions .button{width:100%}.whatsapp-source-row{grid-template-columns:1fr}.whatsapp-source-row .button,.whatsapp-result-card .button{width:100%}.whatsapp-audience-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.whatsapp-file-card{grid-template-columns:1fr}.whatsapp-file-preview,.whatsapp-file-icon{width:100%;height:auto;min-height:120px;max-height:240px}.whatsapp-file-preview{object-fit:contain}}

/* modules/social.css */
.social-status-tabs{margin-bottom:var(--space-4)}
.social-status-tabs a{display:inline-flex;align-items:center;gap:var(--space-2)}
.social-status-tabs .badge{margin-inline-start:auto}
.social-filter-bar{display:grid;grid-template-columns:minmax(14rem,2fr) minmax(10rem,1fr) auto;gap:var(--space-3);align-items:end;margin-bottom:var(--space-4)}
.social-filter-actions,.social-post-actions,.social-publish-row,.social-trash-actions{display:flex;align-items:end;gap:var(--space-2);flex-wrap:wrap}
.social-post-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);align-items:start}
.social-post-list>.empty-state{grid-column:1/-1}
.social-post-list[data-social-masonry-fallback]{grid-auto-rows:8px}
.social-post-list[data-social-masonry-fallback]>.social-post-card{grid-row-end:span var(--social-masonry-span,1)}
@supports (display:grid-lanes){.social-post-list{display:grid-lanes}}
.social-post-card{display:grid;inline-size:100%;gap:var(--space-3);margin:0;align-self:start;min-inline-size:0}
.social-post-card.is-archived{opacity:.78}
.social-post-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}
.social-post-header h2{font-size:var(--font-size-lg);margin-block:0 var(--space-1)}
.social-platform-label{display:flex;align-items:center;gap:var(--space-2)}
.social-platform-label img,.social-platform-picker img{inline-size:1.25rem;block-size:1.25rem;object-fit:contain}
.social-platform-picker{display:flex;gap:var(--space-4);flex-wrap:wrap}
.social-post-copy{white-space:normal;overflow-wrap:anywhere;padding:var(--space-3);background:var(--color-surface-muted);border-radius:var(--radius-md);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}
.social-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5rem,7rem));gap:var(--space-2);align-items:start}
.social-image-card{margin:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);min-inline-size:0}
.social-image-preview{display:flex;align-items:center;justify-content:center;min-block-size:3.5rem;background:var(--color-surface-muted);overflow:hidden}
.social-image-card img{display:block;max-inline-size:100%;inline-size:auto;block-size:auto;margin-inline:auto}
.social-image-card figcaption{display:grid;gap:var(--space-1);padding:var(--space-2);font-size:var(--font-size-xs)}
.social-image-card figcaption>span:first-child{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.social-image-actions{display:flex;gap:var(--space-1)}
.social-image-actions .icon-button{inline-size:2rem;block-size:2rem;min-inline-size:2rem}
.social-image-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-2);margin-top:var(--space-3)}
.social-image-option{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}
.social-image-option span{display:grid;min-width:0}.social-image-option strong,.social-image-option small{overflow-wrap:anywhere}
.social-publish-row,.social-trash-actions{padding-top:var(--space-3);border-top:1px solid var(--color-border)}
.social-publish-row .field{flex:1 1 18rem}
.social-published-meta{margin:0;padding-top:var(--space-3);border-top:1px solid var(--color-border)}
.social-status-ready{background:color-mix(in srgb,var(--color-info) 12%,var(--color-surface));color:var(--color-info)}
.social-status-published{background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface));color:var(--color-success)}
.social-status-archived{background:var(--color-surface-muted);color:var(--color-text-muted)}
.social-create-dialog .dialog-panel{max-inline-size:min(62rem,calc(100vw - var(--space-4)))}
@media (max-width:1150px){.social-post-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.social-filter-bar{grid-template-columns:1fr 1fr}.social-filter-actions{grid-column:1/-1}}
@media (max-width:700px){.social-post-list{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){.social-filter-bar{grid-template-columns:1fr}.social-filter-actions{grid-column:auto}.social-post-header{display:grid}.social-post-actions,.social-publish-row,.social-trash-actions{align-items:stretch}.social-post-actions>* ,.social-publish-row>* ,.social-trash-actions>*{inline-size:100%}.social-image-grid{grid-template-columns:repeat(auto-fill,minmax(4.5rem,6rem))}}

/* modules/notifications.css */
.notification-bell{position:relative}
.notification-bell.has-unread{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 18%,transparent)}
.notification-count{position:absolute;inset:-.25rem -.35rem auto auto;display:grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;border-radius:999px;background:var(--color-danger);color:var(--color-primary-contrast);font-size:.7rem;font-weight:800;line-height:1}
.notification-count[hidden]{display:none}
.notification-bell.is-notification-refreshed .notification-count{animation:notification-indicator-pulse .6s ease-out}
@keyframes notification-indicator-pulse{0%{transform:scale(.72)}55%{transform:scale(1.18)}100%{transform:scale(1)}}
.notification-tabs{margin-bottom:var(--section-gap)}
.notification-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}
.notification-list[data-notification-masonry-fallback]{grid-auto-rows:8px}
.notification-list[data-notification-masonry-fallback]>.notification-card{grid-row-end:span var(--notification-masonry-span,1)}
@supports (display:grid-lanes){.notification-list{display:grid-lanes}}
.notification-card{display:grid;gap:var(--space-4);align-content:start;border-width:2px;min-width:0}
.notification-card.is-unread{border-left:6px solid var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 12%,transparent),var(--shadow-sm)}
.notification-card h2{margin:.35rem 0}
.notification-domain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--space-2)}
.notification-rule-list article>form>header{align-items:flex-start}
.notification-rule-list code{overflow-wrap:anywhere}
.notification-device-status{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.notification-device-status .badge{white-space:nowrap}
@media(max-width:900px){.notification-list{grid-template-columns:1fr}}
@media(max-width:700px){.notification-tabs{margin-bottom:var(--space-5)}.notification-card .button-group{width:100%}.notification-card .button{flex:1}.notification-domain-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.notification-bell.is-notification-refreshed .notification-count{animation:none}}
.profile-tabs{display:flex;gap:var(--space-1);width:max-content;max-width:100%;margin-bottom:var(--section-gap);padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}
.profile-tabs .tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:42px;padding:.55rem 1rem;border-radius:calc(var(--radius-lg) - 4px);color:var(--color-text);font-weight:700;text-decoration:none}
.profile-tabs .tab:hover,.profile-tabs .tab:focus-visible{background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}
.profile-tabs .tab.is-active{background:var(--color-primary);color:var(--color-primary-contrast)}
.profile-definition-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-4);margin:0}
.profile-definition-list div{display:grid;gap:var(--space-1)}
.profile-definition-list dt{color:var(--color-muted);font-size:.86rem}
.profile-definition-list dd{margin:0;font-weight:700}
.profile-advanced{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.profile-advanced summary,.profile-test-panel>summary{cursor:pointer;font-weight:700}
.profile-advanced[open] summary{margin-bottom:var(--space-3)}
.profile-test-panel>summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}
.profile-test-panel[open]>summary{margin-bottom:var(--space-4)}
@media(max-width:700px){.profile-tabs{width:100%}.profile-tabs .tab{flex:1}.topbar-profile-link span{display:none}}
.notification-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--section-gap)}
.notification-detail-header h1{margin:.15rem 0 .35rem}
.notification-detail-card{max-width:900px;border-width:2px}
.notification-detail-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.notification-detail-body{font-size:1.05rem;line-height:1.65;white-space:normal}
.notification-detail-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-2);border-top:2px solid var(--color-border)}
@media(max-width:700px){.notification-detail-header{display:grid}.notification-detail-header .button,.notification-detail-actions .button{width:100%}.notification-detail-actions{display:grid}}

/* modules/communication-imports.css */
.communication-import-intro .button-group{margin-block-start:var(--space-4)}
.communication-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.import-item{min-inline-size:0}
.import-item-warning{border-inline-start:var(--space-1) solid var(--color-warning)}
.import-item-blocked,.import-item-failed{border-inline-start:var(--space-1) solid var(--color-danger)}
.import-item-created,.import-item-linked{border-inline-start:var(--space-1) solid var(--color-success)}
.import-item .definition-list{margin-block:var(--space-3)}
.import-status-applied{font-weight:700}
@media (max-width:900px){.communication-import-grid{grid-template-columns:1fr}}

/* modules/christian-calendar.css */
.christian-calendar-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.calendar-observance-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-inline-start:var(--space-1) solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface)}
.calendar-observance-preview time{font-weight:var(--font-weight-bold)}
.calendar-observance-preview small{display:block;color:var(--color-text-muted)}
.calendar-source-card{border-inline-start:var(--space-1) solid var(--color-accent)}
.calendar-observance-list{display:grid;gap:var(--space-3);margin-block:var(--space-4)}
.calendar-observance-row{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}
.calendar-observance-row>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);cursor:pointer}
.calendar-override-form{margin-block-start:var(--space-4);padding-block-start:var(--space-4);border-block-start:1px solid var(--color-border)}
.calendar-observance{border-inline-start:var(--space-1) solid var(--color-accent)}
.calendar-observance .calendar-observance-actions{display:flex;gap:var(--space-2);margin-block-start:var(--space-2)}
.token-primary{--observance-accent:var(--color-primary)}.token-secondary{--observance-accent:var(--color-secondary)}.token-accent{--observance-accent:var(--color-accent)}.token-info{--observance-accent:var(--color-info)}.token-success{--observance-accent:var(--color-success)}.token-warning{--observance-accent:var(--color-warning)}
.calendar-source-card[class*="token-"],.calendar-observance-preview[class*="token-"],.calendar-observance[class*="token-"]{border-inline-start-color:var(--observance-accent,var(--color-accent))}
@media (max-width:900px){.christian-calendar-preview{grid-template-columns:1fr}.calendar-observance-preview{grid-template-columns:auto minmax(0,1fr)}.calendar-observance-preview .button{grid-column:1/-1}}

.calendar-event.calendar-observance{--event-color:var(--observance-accent,var(--color-accent));grid-template-columns:auto minmax(0,1fr) auto;cursor:default}
.calendar-event.calendar-observance:hover{background:color-mix(in srgb,var(--event-color) 10%,var(--color-surface))}
.event-agenda-item.calendar-observance{--event-color:var(--observance-accent,var(--color-accent));border-left-color:var(--event-color);background:color-mix(in srgb,var(--event-color) 6%,var(--color-surface))}
.event-agenda-item.calendar-observance .calendar-observance-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}
@media(max-width:760px){.calendar-event.calendar-observance{grid-template-columns:auto minmax(0,1fr)}.calendar-event.calendar-observance .calendar-observance-create{grid-column:1/-1}.event-agenda-item.calendar-observance .calendar-observance-actions{grid-column:2;justify-content:flex-start}}
