#private-gate{position:fixed;inset:0;z-index:100000;background:#f5f2ed;display:grid;place-items:center;padding:20px;font:16px system-ui;color:#1f2328}#private-gate[hidden]{display:none}#private-gate form{background:white;padding:28px;border-radius:18px;width:min(360px,100%);box-shadow:0 8px 40px #0001}#private-gate input{display:block;box-sizing:border-box;width:100%;margin:8px 0 18px;padding:12px;font:inherit}#private-gate button{padding:12px;font:inherit}#private-error{color:#a21d26;white-space:pre-wrap}.private-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;background:#f5f2ed;border-bottom:1px solid #ddd;font:13px system-ui}.private-bar button{font:inherit;padding:7px}.private-bar span{flex:1;min-width:160px}#private-dialog{max-width:650px;width:calc(100% - 40px)}#private-dialog button{margin:5px;padding:9px}#private-dialog li{margin:12px 0}body.private-locked>:not(#private-gate):not(script):not(link){visibility:hidden}

/* Retour de sauvegarde persistant : reste visible pendant le défilement. */
.private-bar{position:sticky;top:0;z-index:30;background:#fffcf7;box-shadow:0 2px 10px #0000000a;gap:8px 16px;padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}
.topbar{top:var(--private-bar-height,0px)}
.private-feedback{flex:1;min-width:220px;display:flex;flex-direction:column;gap:2px;padding-left:12px;border-left:4px solid #64748b}
.private-feedback strong{font-size:14px}.private-feedback small{font-size:12px;color:#52525b;line-height:1.4;overflow-wrap:anywhere}
.private-bar[data-state=saved] .private-feedback{border-color:#15803d}.private-bar[data-state=saved] strong{color:#166534}
.private-bar[data-state=saving] .private-feedback,.private-bar[data-state=sending] .private-feedback{border-color:#2563eb}.private-bar[data-state=saving] strong,.private-bar[data-state=sending] strong{color:#1d4ed8}
.private-bar[data-state=warning] .private-feedback{border-color:#b45309}.private-bar[data-state=warning] strong{color:#92400e}
.private-bar[data-state=error] .private-feedback{border-color:#b91c1c}.private-bar[data-state=error] strong{color:#991b1b}
@media(max-width:700px){.private-feedback{flex-basis:100%;min-width:0}.private-bar{gap:5px 8px;padding-top:7px;padding-bottom:7px}.private-bar button{min-height:36px;padding:5px 9px}.private-feedback strong{font-size:13px}}
