.app-loader{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;background:rgba(7,12,28,.34);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.app-loader.is-visible{display:flex}
.app-loader__panel{min-width:250px;max-width:min(92vw,340px);border:1px solid rgba(125,211,252,.32);border-radius:18px;background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,41,59,.94));box-shadow:0 24px 70px rgba(2,6,23,.36),inset 0 1px 0 rgba(255,255,255,.08);padding:20px 22px;display:grid;grid-template-columns:82px 1fr;gap:16px;align-items:center;color:#f8fafc;overflow:hidden;position:relative}
.app-loader__panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(56,189,248,.16),transparent);transform:translateX(-120%);animation:appLoaderSweep 1.85s ease-in-out infinite}
.app-loader__visual{width:78px;height:78px;position:relative;display:grid;place-items:center;isolation:isolate}
.app-loader__ring{position:absolute;inset:4px;border-radius:50%;border:2px solid transparent}
.app-loader__ring--outer{border-top-color:#60a5fa;border-right-color:#22d3ee;box-shadow:0 0 22px rgba(34,211,238,.36);animation:appLoaderSpin 1.05s linear infinite}
.app-loader__ring--inner{inset:13px;border-left-color:#a78bfa;border-bottom-color:#34d399;animation:appLoaderSpinReverse 1.55s linear infinite}
.app-loader__scan{position:absolute;inset:10px;border-radius:50%;background:repeating-linear-gradient(0deg,rgba(125,211,252,.16) 0,rgba(125,211,252,.16) 1px,transparent 1px,transparent 7px);clip-path:circle(50%);opacity:.7;animation:appLoaderPulse 1.4s ease-in-out infinite}
.app-loader__core{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,rgba(59,130,246,.86),rgba(124,58,237,.86));border:1px solid rgba(255,255,255,.18);box-shadow:0 0 24px rgba(96,165,250,.52);display:grid;place-items:center;position:relative;z-index:2}
.app-loader__shield{font-size:1.25rem;color:#fff;filter:drop-shadow(0 0 8px rgba(255,255,255,.28))}
.app-loader__document{position:absolute;right:7px;bottom:7px;font-size:.72rem;color:#bbf7d0}
.app-loader__copy{display:grid;gap:4px;position:relative;z-index:1}
.app-loader__eyebrow{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#67e8f9;text-transform:uppercase}
.app-loader__text{font-size:1rem;font-weight:850;line-height:1.25;color:#fff}
body.app-loader-lock{cursor:progress}
@keyframes appLoaderSpin{to{transform:rotate(360deg)}}
@keyframes appLoaderSpinReverse{to{transform:rotate(-360deg)}}
@keyframes appLoaderPulse{0%,100%{opacity:.48;transform:scale(.96)}50%{opacity:.9;transform:scale(1.02)}}
@keyframes appLoaderSweep{0%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}
@media(max-width:520px){.app-loader__panel{grid-template-columns:1fr;justify-items:center;text-align:center;min-width:220px}.app-loader__visual{width:72px;height:72px}}
