/*
|--------------------------------------------------------------------------
| QuickTicketJA Mobile Edition CSS
|--------------------------------------------------------------------------
| Save as: assets/css/quickticketja-mobile-edition.css
|--------------------------------------------------------------------------
*/

.qt-mobile-toast{
    position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(18px);
    background:#0f172a;color:#fff;border-radius:999px;padding:11px 15px;font-size:13px;font-weight:900;
    z-index:210000;opacity:0;visibility:hidden;transition:.2s ease;box-shadow:0 18px 36px rgba(15,23,42,.28)
}
.qt-mobile-toast.active{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.qt-mobile-splash{position:fixed;inset:0;z-index:220000;background:radial-gradient(600px 360px at 12% 8%,rgba(253,184,39,.22),transparent 60%),radial-gradient(720px 420px at 90% 0,rgba(13,110,253,.28),transparent 62%),#fff;display:flex;align-items:center;justify-content:center;padding:20px;transition:.28s}
.qt-mobile-splash.hide{opacity:0;visibility:hidden}
.qt-mobile-splash-card{text-align:center}
.qt-mobile-splash-logo{width:112px;height:112px;border-radius:32px;background:linear-gradient(135deg,#0d6efd,#0b5ed7);color:#fff;font-size:38px;font-weight:1000;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;overflow:hidden;box-shadow:0 24px 52px rgba(13,110,253,.3)}
.qt-mobile-splash-logo img{width:100%;height:100%;object-fit:cover}
.qt-mobile-splash h1{font-size:29px;line-height:1;font-weight:1000;letter-spacing:-.04em;margin:0}
.qt-mobile-splash h1 span{color:#000}.qt-mobile-splash h1 b{color:#FDB827}.qt-mobile-splash h1 em{color:#008751;font-style:normal}
.qt-mobile-splash p{color:#64748b;font-weight:850;margin:8px 0 0}
.qt-mobile-loader{width:180px;height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:18px auto 0}
.qt-mobile-loader i{display:block;width:45%;height:100%;background:#0d6efd;border-radius:999px;animation:qtload 1s ease-in-out infinite alternate}
@keyframes qtload{from{transform:translateX(-15%)}to{transform:translateX(145%)}}
.qt-update-banner,.qt-camera-box{position:fixed;left:14px;right:14px;bottom:14px;width:min(100% - 28px,520px);margin:auto;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:24px;padding:16px;box-shadow:0 24px 70px rgba(15,23,42,.24);z-index:200000}
.qt-update-banner strong,.qt-camera-box strong{display:block;color:#0f172a;font-size:17px;font-weight:1000}.qt-update-banner p,.qt-camera-box p{color:#64748b;font-size:13px;font-weight:750;margin:5px 0 12px}
.qt-update-banner button,.qt-camera-box button{border:0;border-radius:14px;background:#0d6efd;color:#fff;font-weight:1000;min-height:42px;padding:10px 14px}
.qt-sync-badge{position:fixed;left:14px;bottom:14px;background:#f59e0b;color:#111827;border-radius:999px;padding:10px 13px;font-size:12px;font-weight:1000;box-shadow:0 14px 34px rgba(245,158,11,.28);display:none;z-index:180000}
.qt-sync-badge.active{display:block}
.qt-installed-app body{overscroll-behavior-y:contain}
