.medisync-update {
    position: fixed;
    z-index: 2147483000;
    right: max(20px, env(safe-area-inset-right));
    bottom: max(20px, env(safe-area-inset-bottom));
    width: min(400px, calc(100vw - 32px));
    padding: 20px;
    border: 1px solid #3d6386;
    border-radius: 20px;
    background: #101e33;
    color: #f1f5ff;
    box-shadow: 0 16px 52px #02061755, 0 0 24px #38bdf815;
    font: 14px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-align: left;
    color-scheme: dark;
}
.medisync-update-panel { display: flex; align-items: flex-start; gap: 14px; }
.medisync-update-icon { color: #67e8f9; font-size: 30px; line-height: 1.2; }
.medisync-update-copy { min-width: 0; flex: 1; }
.medisync-update h2 { margin: 0 0 6px; font: 650 16px/1.4 system-ui, sans-serif; color: #f1f5ff; }
.medisync-update p { margin: 0; color: #cedbec; font-size: 13px; line-height: 1.6; }
.medisync-update .medisync-update-feedback:not(:empty) { margin-top: 10px; color: #fde68a; }
/* Keep Later in place when the countdown changes the primary action label.
   A moving target can otherwise lose a click between pointerdown/pointerup. */
.medisync-update-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 16px; }
.medisync-update button { min-height: 40px; padding: 9px 14px; border-radius: 10px; border: 1px solid #617590; font: 600 13px/1.4 system-ui, sans-serif; cursor: pointer; }
.medisync-update button:focus-visible { outline: 3px solid #67e8f9; outline-offset: 4px; }
.medisync-update button:disabled { opacity: .65; cursor: wait; }
.medisync-update .medisync-update-refresh { background: #a5f3fc; color: #0c273c; border-color: #a5f3fc; }
.medisync-update .medisync-update-refresh:hover:not(:disabled) { background: #cffafe; }
.medisync-update .medisync-update-later { background: transparent; color: #e2e8f0; }
.medisync-update .medisync-update-later:hover { background: #26354b; }
.medisync-update .medisync-update-minimized { display: none; }
.medisync-update.is-minimized { width: auto; padding: 0; border-radius: 999px; }
.medisync-update.is-minimized .medisync-update-panel { display: none; }
.medisync-update.is-minimized .medisync-update-minimized { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 16px; border: 0; border-radius: 999px; background: transparent; color: #e0faff; }
.medisync-update-minimized span { font-size: 21px; line-height: 1; }
@media (max-width: 480px) {
    .medisync-update { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); padding: 16px; }
    .medisync-update-panel { gap: 10px; }
}
