.app-flash[hidden]{display:none}.app-flash{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:3000;display:flex;align-items:center;gap:16px;max-width:min(440px,calc(100vw - 32px));padding:14px 16px;border:1px solid var(--st-accent,#ff7508);border-radius:12px;background:var(--st-panel,#211913);color:var(--st-ink,#fff0e2);box-shadow:0 8px 28px #0005;font:14px/1.5 system-ui}.app-flash span{overflow-wrap:anywhere;min-width:0}.app-flash button{border:0;background:transparent;color:inherit;font:24px/1 system-ui;cursor:pointer;padding:4px}.app-flash.is-error{border-width:2px}.app-flash button:focus-visible{outline:2px solid var(--st-accent);outline-offset:2px}
@media(max-width:991.98px),(pointer:coarse){.app-flash{top:calc(var(--flash-offset,0px) + env(safe-area-inset-top) + 12px);bottom:auto;max-height:calc(var(--flash-height,100dvh) - env(safe-area-inset-top) - 24px);overflow:auto;align-items:start}.app-flash button{min-width:36px;min-height:36px;margin:-4px -6px -4px 0;flex:0 0 auto}}

.unsaved-dialog{position:relative}.unsaved-close{position:absolute;right:12px;top:10px;border:0;background:none;color:inherit;font:28px/1 system-ui;padding:6px;cursor:pointer}.unsaved-dialog h2{padding-right:28px}.unsaved-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.unsaved-actions button{min-height:44px;padding:10px 14px;border:1px solid var(--st-accent,#ff7508);border-radius:9px;background:var(--st-accent,#ff7508);color:var(--st-button-ink,#1b0c02);font:600 14px system-ui;cursor:pointer}.unsaved-actions [data-discard]{background:transparent;color:var(--st-ink,#fff0dd);border-color:var(--st-edge,#574365)}

.unsaved-dialog::backdrop{backdrop-filter:none}

.app-flash{opacity:1;transition:opacity .25s ease}.app-flash.is-fading{opacity:0}.app-flash.is-error{border-color:#dc3545;background:#641b28;color:#fff}
.form-field-errors{display:block;list-style:none;margin:5px 0 12px;padding:0;color:#e34b59;font-size:.8125rem;line-height:1.45}.form-field-errors small{font-size:inherit;color:inherit}
:is(.wf-form,.pro18-form) :is(input,select,textarea)[aria-invalid="true"],.tag-input-widget.is-invalid .pro21-field{border-color:#e34b59!important;outline-color:#e34b59}
@media(prefers-reduced-motion:reduce){.app-flash{transition:none}}

:is(.pro18-form,.wf-form) .form-field-errors small{color:inherit;font-size:inherit}.form-field{margin:0 0 16px}.form-field>label{display:block;margin-bottom:6px}

:is(.pro18-form,.wf-form) .form-field-errors small{color:inherit;font-size:inherit}.form-field{margin:0 0 16px}.form-field>label{display:block;margin-bottom:6px}

/* Ancrage commun sous le header, y compris avec clavier mobile. */
.app-flash{top:var(--flash-top,80px);bottom:auto;max-height:calc(var(--flash-height,100dvh) - 100px);overflow:auto;align-items:start}
.app-flash:not(.is-error){border-color:#198754}
dialog .app-flash{top:12px;bottom:auto}

.quota-invite{margin:10px 0 0;padding:10px 12px;border:1px solid var(--st-accent);border-radius:8px;color:var(--st-muted);font:13px/1.5 system-ui}.quota-invite[hidden]{display:none}.quota-invite a{color:var(--st-accent);font-weight:600}

.app-flash.is-success{border-color:#198754;background:#143d2a;color:#fff}.app-flash.is-warning{border-color:#ffc107;background:#4d3908;color:#fff}.app-flash.is-info{border-color:#0dcaf0;background:#103c46;color:#fff}

/* Shared semantic variants. Opt in with feedback + feedback-success/danger/... . */
:root{--feedback-success-bg:#143d2a;--feedback-success-border:#198754;--feedback-danger-bg:#641b28;--feedback-danger-border:#dc3545;--feedback-warning-bg:#4d3908;--feedback-warning-border:#ffc107;--feedback-info-bg:#103c46;--feedback-info-border:#0dcaf0}
.feedback,.alert{--feedback-bg:var(--st-panel,#211913);--feedback-border:var(--st-accent,#ff7508);--feedback-ink:var(--st-ink,#fff0e2);padding:12px 16px;border:1px solid var(--feedback-border);border-radius:10px;background:var(--feedback-bg);color:var(--feedback-ink)}
.feedback-success,.alert-success{--feedback-bg:var(--feedback-success-bg);--feedback-border:var(--feedback-success-border);--feedback-ink:#fff}.feedback-danger,.alert-danger,.feedback-error{--feedback-bg:var(--feedback-danger-bg);--feedback-border:var(--feedback-danger-border);--feedback-ink:#fff}.feedback-warning,.alert-warning{--feedback-bg:var(--feedback-warning-bg);--feedback-border:var(--feedback-warning-border);--feedback-ink:#fff}.feedback-info,.alert-info{--feedback-bg:var(--feedback-info-bg);--feedback-border:var(--feedback-info-border);--feedback-ink:#fff}.feedback-site,.alert-site{--feedback-bg:var(--st-panel,#211913);--feedback-border:var(--st-accent,#ff7508);--feedback-ink:var(--st-ink,#fff0e2)}
.app-flash.feedback{left:var(--flash-center-x,50%);right:auto;transform:translateX(calc(-50% + var(--flash-swipe-x,0px)));touch-action:pan-y;top:var(--flash-top,80px);bottom:auto;width:max-content;max-width:min(440px,calc(100vw - 24px));box-sizing:border-box;background:var(--feedback-bg);border-color:var(--feedback-border);color:var(--feedback-ink);border-width:1px}
.app-flash.feedback button{flex:none}.form-field-errors{color:var(--feedback-danger-border,#dc3545)}

:is(.pro18-form,.wf-form) .errorlist{color:var(--feedback-danger-border,#dc3545)}:is(.pro18-form,.wf-form) :is(input,select,textarea)[aria-invalid=true]{border-color:var(--feedback-danger-border,#dc3545)!important;outline-color:var(--feedback-danger-border,#dc3545)}

.app-flash.feedback.is-dragging{user-select:none;transition:none}

/* Stable toast width, with the close button on the first text line. */
.app-flash{box-sizing:border-box;min-width:min(360px,calc(100vw - 32px));align-items:flex-start}
.app-flash>span{flex:1 1 auto}
.app-flash>button{flex:0 0 36px;display:flex;align-items:flex-start;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;margin:0;padding:0;line-height:21px}
@media(max-width:767.98px){.app-flash{left:0;right:0;width:100%;min-width:0;max-width:100%;gap:12px}}
dialog .app-flash{min-width:0;max-width:calc(100vw - 24px)}

@media(max-width:767.98px){dialog .app-flash{left:0;right:0;width:100%;max-width:100%}}
