#offline-page{display:none;min-height:68vh;align-items:center;justify-content:center;flex-direction:column;font-family:'Public Sans',sans-serif;text-align:center;padding:100px 1.5rem;background:#f9fafb}#offline-page.show{display:flex}.offline-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:3rem 2.5rem;max-width:420px;width:100%}.offline-img-wrap{width:110px;height:110px;background:#fff4f4;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.8rem}.offline-img-wrap img{width:60px;height:60px;object-fit:contain}.offline-badge{display:inline-block;background:#fff0f0;color:#c0392b;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .9rem;border-radius:999px;margin-bottom:1rem}.offline-title{font-size:1.4rem;font-weight:700;color:#111827;margin:0 0 .6rem;line-height:1.3}.offline-sub{font-size:.9rem;color:#6b7280;margin:0 0 2rem;line-height:1.6}.offline-btn{display:inline-flex;align-items:center;justify-content:center;background-color:#000;color:#fff;border:none;padding:.8rem 2rem;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s ease;width:100%;gap:8px}.offline-btn:hover{opacity:.88}.offline-btn:disabled{opacity:.75;cursor:not-allowed;pointer-events:none}.offline-btn i{font-size:14px}.offline-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;flex-shrink:0;animation:offlineSpin .7s linear infinite}@keyframes offlineSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@media (max-width:768px){#offline-page{min-height:65vh}.offline-card{padding:2rem 1.5rem;border-radius:16px}.offline-title{font-size:1.2rem}.offline-sub{font-size:.85rem}}@media (max-width:480px){#offline-page{min-height:60vh;background:#fff}.offline-card{padding:1.5rem 1rem;border:none;border-radius:0;max-width:100%}.offline-img-wrap{width:75px;height:75px;margin-bottom:1.2rem}.offline-img-wrap img{width:40px;height:40px}.offline-badge{font-size:.7rem;padding:.25rem .75rem}.offline-title{font-size:1.1rem}.offline-sub{font-size:.82rem;margin-bottom:1.5rem}.offline-btn{padding:8px 12px}}