/* Shared by the initial application shell and Angular HTTP loading indicator. */
.s2s-loading { --loader-primary:#146c94; --loader-secondary:#188a89; position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:20px; background:transparent; pointer-events:none; font-family:IRANSansX,Tahoma,sans-serif; direction:rtl; box-sizing:border-box; }
.s2s-loading * { box-sizing:border-box; }
.s2s-loader-card { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; gap:8px; width:min(100%,330px); padding:30px 24px 25px; overflow:hidden; border:1px solid #d9e7ee; border-radius:26px; color:#162b45; background:#fff; box-shadow:0 24px 70px #103b5b18; text-align:center; }
.s2s-loader-card::before { content:""; position:absolute; inset:0 0 auto; height:110px; z-index:-1; background:radial-gradient(ellipse at 50% 0%,#188a891f,transparent 75%); }
.s2s-loader-emblem { position:relative; display:grid; place-items:center; width:112px; height:112px; margin-bottom:10px; }
.s2s-loader-orbit { position:absolute; inset:0; border:1px solid #146c9424; border-radius:50%; animation:s2s-orbit 3.2s linear infinite; }
.s2s-loader-orbit::after { content:""; position:absolute; top:12px; left:12px; width:9px; height:9px; border-radius:50%; background:var(--loader-secondary); box-shadow:0 0 0 5px #188a891a; }
.s2s-loader-orbit.is-inner { inset:10px; animation-direction:reverse; animation-duration:4.5s; border-style:dashed; }
.s2s-loader-orbit.is-inner::after { width:5px; height:5px; top:10px; left:10px; background:var(--loader-primary); box-shadow:none; }
.s2s-loader-logo { display:grid; place-items:center; width:72px; height:72px; border-radius:21px; background:white; border:1px solid #e5edf2; box-shadow:0 8px 20px #103b5b0d; }
.s2s-loader-logo img { width:52px; height:52px; object-fit:contain; }
.s2s-loader-eyebrow { font-size:11px; font-weight:600; color:var(--loader-primary); }
.s2s-loader-title { font-size:16px; font-weight:700; line-height:1.9; }
.s2s-loader-caption { font-size:12px; color:#64748b; }
.s2s-loader-track { width:150px; height:4px; margin-top:16px; overflow:hidden; border-radius:99px; background:#146c941a; direction:ltr; }
.s2s-loader-track>span { display:block; width:45%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--loader-primary),var(--loader-secondary)); animation:s2s-progress 1.7s ease-in-out infinite; }
@keyframes s2s-orbit { to { transform:rotate(360deg); } }
@keyframes s2s-progress { from { transform:translateX(-110%); } to { transform:translateX(330%); } }
@media(max-width:576px) { .s2s-loader-card { width:min(100%,290px); padding:24px 18px 22px; border-radius:22px; } .s2s-loader-emblem { width:96px; height:96px; } .s2s-loader-logo { width:64px; height:64px; } .s2s-loader-logo img { width:46px; height:46px; } .s2s-loader-title { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { .s2s-loader-orbit,.s2s-loader-track>span { animation:none; } .s2s-loader-track>span { width:100%; opacity:.65; } }
@media print { .s2s-loading { display:none; } }
