#requestLoading[hidden] { display: none; }
#requestLoading {
 position: fixed; top: 16px; right: 16px; z-index: 100000;
 display: flex; align-items: center; gap: 10px; padding: 12px 18px;
 background: #fff; color: #115e59; border: 1px solid #cce8e3; border-radius: 12px;
 box-shadow: 0 4px 20px #134e4a26; pointer-events: none;
 font: 600 14px system-ui, sans-serif;
}
.request-spinner {
 display: inline-block; width: 22px; height: 22px; flex-shrink: 0;
 border: 3px solid #d5ebe7; border-top-color: #0f766e; border-radius: 50%;
 animation: request-spin .8s linear infinite;
}
@keyframes request-spin { to { transform: rotate(360deg); } }
#syncLoadingDialog {
 box-sizing: border-box; width: min(440px, calc(100% - 32px)); padding: 30px;
 border: 0; border-radius: 16px; color: #243b38; text-align: center;
 box-shadow: 0 20px 70px #0003; font: 15px/1.6 system-ui, sans-serif;
}
#syncLoadingDialog::backdrop { background: #102e2acc; }
#syncLoadingDialog .request-spinner { width: 42px; height: 42px; border-width: 4px; }
#syncLoadingDialog h2 { margin: 16px 0 10px; font-size: 21px; color: #115e59; }
#syncLoadingDialog p { margin: 8px 0; }
#syncLoadingDialog #syncLoadingModule { font-weight: 700; color: #0f766e; }
#syncLoadingDialog small { color: #657571; }
@media (prefers-reduced-motion: reduce) { .request-spinner { animation: none; } }
