/* Shared floating suggestion box. */
.has-message-dock{padding-bottom:130px}
.message-dock{position:fixed;z-index:25;left:50%;bottom:calc(17px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:560px;max-width:calc(100% - 32px)}
.message-bar{display:flex;align-items:center;gap:13px;margin:0;padding:10px 12px;background:#fff;border:2px solid var(--navy);border-radius:18px;box-shadow:0 4px 0 var(--navy),0 10px 28px #14213d20}
.message-bar:focus-within{background:#f3fbff;outline:3px solid #2bb5f64d;outline-offset:5px}
.message-bar>img{width:42px;height:42px;flex-shrink:0;object-fit:cover;border:2px solid var(--navy);border-radius:50%}
.message-bar input:not(.message-trap){width:100%;min-width:0;padding:10px 0;border:0;outline:none;background:transparent;color:var(--navy);font-size:16px;font-weight:700;line-height:1.5}
.message-bar input::placeholder{color:#52617c;opacity:1}
.message-submit{padding:9px 17px;min-height:42px;border:2px solid var(--navy);border-radius:10px;background:var(--yellow);color:var(--navy);font-size:13px;font-weight:800;box-shadow:0 2px 0 var(--navy)}
.message-submit:disabled{background:#eaf7ff;box-shadow:none;color:#52617c;border-color:#8ba1b7;cursor:default}
.message-submit:not(:disabled):hover{background:#ffe879}
.message-note{width:max-content;max-width:100%;margin:9px auto 0;padding:3px 9px;border:1px solid #d7e6f0;border-radius:8px;background:#f7fafc;color:var(--muted);font-size:10px;line-height:1.5;text-align:center}
.message-note a{color:inherit;text-underline-offset:2px}
.message-preview{position:absolute;bottom:calc(100% + 12px);left:0;width:100%;padding:16px 18px;border:2px solid var(--navy);border-radius:14px;background:#eaf7ff;box-shadow:0 4px 0 var(--navy)}
.message-preview[data-state=success]{background:#ecfaf3}
.message-preview[data-state=error]{background:#fff3e8}
.message-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px}
.message-preview-heading button{display:grid;place-items:center;min-width:36px;min-height:36px;border:1px solid var(--navy);border-radius:8px;background:#fff;color:var(--navy);font-size:21px;line-height:1}
.message-preview p{font-size:12px;line-height:1.65;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}
.message-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
@media(max-width:720px){.message-dock{bottom:calc(12px + env(safe-area-inset-bottom,0px))}}
@media(max-width:480px){.message-bar{padding:8px 10px;gap:10px;border-radius:16px}.message-bar>img{width:35px;height:35px}.message-submit{padding:8px 12px}.message-preview{padding:14px}}
