
:root{--gis-loader-blue:#1473ff;--gis-loader-cyan:#4fd4ff;--gis-loader-navy:#071a38}
#gis-global-loader{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999999;background:rgba(248,250,252,.62);backdrop-filter:blur(18px)}
.dark #gis-global-loader{background:rgba(2,6,23,.72)}
#gis-global-loader.show{display:flex;animation:gisFade .22s ease both}
.gis-orb-loader{width:min(360px,88vw);padding:34px;border-radius:34px;background:rgba(255,255,255,.86);border:1px solid rgba(148,163,184,.25);box-shadow:0 28px 80px rgba(15,23,42,.18);text-align:center}
.dark .gis-orb-loader{background:rgba(15,23,42,.86);border-color:rgba(148,163,184,.18)}
.gis-orb{width:92px;height:92px;margin:0 auto 18px;border-radius:999px;background:conic-gradient(from 0deg,var(--gis-loader-cyan),var(--gis-loader-blue),#7c3aed,var(--gis-loader-cyan));position:relative;animation:gisSpin 1.1s linear infinite;box-shadow:0 0 35px rgba(79,212,255,.35)}
.gis-orb:after{content:'';position:absolute;inset:12px;border-radius:inherit;background:linear-gradient(145deg,#fff,#e0f2fe)}
.dark .gis-orb:after{background:linear-gradient(145deg,#0f172a,#111827)}
.gis-loader-title{font-weight:900;color:#0f172a;letter-spacing:-.03em}.dark .gis-loader-title{color:#fff}.gis-loader-subtitle{font-size:12px;font-weight:700;color:#64748b;margin-top:6px}.dark .gis-loader-subtitle{color:#94a3b8}
#gis-smart-toast-wrap{position:fixed;right:18px;bottom:18px;z-index:9999998;display:flex;flex-direction:column;gap:10px}.gis-smart-toast{width:min(360px,calc(100vw - 28px));padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.96);border:1px solid rgba(148,163,184,.25);box-shadow:0 18px 48px rgba(15,23,42,.18);animation:gisSlide .28s ease both}.dark .gis-smart-toast{background:rgba(15,23,42,.96);color:#fff;border-color:rgba(148,163,184,.18)}
.gis-smart-toast .t{font-size:13px;font-weight:900}.gis-smart-toast .m{font-size:12px;font-weight:600;color:#64748b;margin-top:3px}.dark .gis-smart-toast .m{color:#cbd5e1}
@keyframes gisSpin{to{transform:rotate(360deg)}}@keyframes gisFade{from{opacity:0}to{opacity:1}}@keyframes gisSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
