html, body { margin: 0; min-height: 100%; background: #fff; }
#platform-viewport { width: 100%; min-height: 100vh; overflow: clip; background: #fff; }
#platform-wrapper { position: relative; margin-inline: auto; }
#platform-frame { position: absolute; inset: 0 auto auto 0; width: 1280px; border: 0; transform-origin: top left; background: white; }
[hidden] { display: none !important; }
#platform-panel-shell { position: absolute; z-index: 10; }
#platform-panel::before { content: ""; position: absolute; width: 16px; height: 16px; background: #f8f9fb; pointer-events: none; }
#platform-panel[data-pointer="right"]::before { right: -9px; top: var(--pointer-offset); transform: translateY(-50%) rotate(45deg); border-top: 1px solid #eef0f4; border-right: 1px solid #eef0f4; }
#platform-panel[data-pointer="left"]::before { left: -9px; top: var(--pointer-offset); transform: translateY(-50%) rotate(45deg); border-bottom: 1px solid #eef0f4; border-left: 1px solid #eef0f4; }
#platform-panel[data-pointer="top"]::before { top: -9px; left: var(--pointer-offset); transform: translateX(-50%) rotate(45deg); border-top: 1px solid #eef0f4; border-left: 1px solid #eef0f4; }
#platform-panel { box-sizing: border-box; width: 400px; padding: 20px; background: #f8f9fb; border: 1px solid #eef0f4; border-radius: 18px; box-shadow: 0 14px 38px #17255424, 0 3px 10px #1725540d; transform-origin: top left; color: #1f2937; font-family: Work Sans, sans-serif; }
#platform-title { margin: 0 0 6px; font-size: 15px; font-weight: 600; line-height: 1.4; outline: none; }
#platform-message { margin: 0; font-size: 13px; line-height: 1.5; }
#platform-panel nav { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 16px; }
#platform-panel :is(button, a) { display: inline-flex; justify-content: center; align-items: center; min-height: 32px; padding: 6px 12px; border: 0; border-radius: 7px; background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #fff; font: 500 12px/20px Work Sans, sans-serif; text-decoration: none; cursor: pointer; }
#platform-panel button:disabled { opacity: .4; cursor: default; }
#platform-panel :is(button, a):focus-visible { outline: 2px solid #1d4ed8; outline-offset: 3px; }
#platform-panel #platform-next { border: 0; outline: none; box-shadow: none; }
#platform-panel #platform-next:focus-visible { background: #1744c9; }
/* Standalone SweetAlert presentation; no operational portal plugins are loaded. */
body.swal2-shown { overflow: hidden; }
.swal2-container { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; overflow: auto; background: #0f172a66; }
.swal2-popup { box-sizing: border-box; width: 480px; max-width: 100%; padding: 28px; border-radius: 18px; background: white; color: #1f2937; text-align: center; font-family: Work Sans, sans-serif; box-shadow: 0 24px 64px #0f172a33; }
.swal2-title { margin: 0; font-size: 24px; line-height: 1.4; font-weight: 600; }
.swal2-html-container { margin: 14px 0 0; font-size: 14px; line-height: 1.65; }
.swal2-actions { display: flex; justify-content: center; margin-top: 24px; gap: 12px; }
.swal2-confirm { border: 0; border-radius: 7px; padding: 10px 20px; background: linear-gradient(135deg, #2563eb, #1d4ed8); color: white; font: 500 14px/20px Work Sans, sans-serif; cursor: pointer; }
.swal2-confirm:focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.swal2-loader { display: none; }
