@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700&display=swap";*{box-sizing:border-box}:root{--bg: #f3f6fb;--card: #ffffff;--ink: #1a2b4f;--muted: #6b7a99;--line: #d8e0ee;--primary: #1f5fd1;--primary-dark: #164eb0;--success: #0c7b46;--danger: #b21d35}body{margin:0;min-height:100vh;font-family:Sora,sans-serif;color:var(--ink);background:linear-gradient(180deg,#eef3fb,#f9fbff)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{width:min(420px,100%)}.avatar-badge{width:76px;height:76px;margin:0 auto -18px;border-radius:50%;display:grid;place-items:center;background:#1f5fd1;color:#fff;font-size:34px;border:4px solid #f3f6fb}.login-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px 20px 18px;box-shadow:0 10px 30px #182f5c14}.eyebrow{margin:0;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.login-card h1{margin:8px 0 4px;text-align:center;font-size:24px}.sub{margin:0 0 16px;text-align:center;font-size:13px;color:var(--muted)}.input-row{display:grid;grid-template-columns:42px 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:10px;background:#fff}.icon{display:grid;place-items:center;font-weight:700;color:#31558f;background:#f2f6ff}input{border:0;padding:11px 12px;outline:none;font-size:14px;color:var(--ink);background:transparent}input::placeholder{color:#95a3bf}.soft-btn,.login-cta{width:100%;border:0;border-radius:10px;padding:11px 12px;cursor:pointer;font-weight:700}.soft-btn{margin-bottom:10px;background:#edf3ff;color:#1f4f9d}.login-cta{margin-top:12px;background:var(--primary);color:#fff}.login-cta:hover{background:var(--primary-dark)}.meta-row{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.msg{margin:10px 0 0;font-size:13px}.ok{color:var(--success)}.err{color:var(--danger)}.timer{margin:8px 0 0;font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.store-page{min-height:100vh;background:#f7f9ff;padding:24px}.store-header,.loading,.product-grid{max-width:980px;margin:0 auto}.store-header h2{margin:0}.store-header p{margin:6px 0 14px;color:var(--muted)}.product-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.product-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.price{color:var(--primary-dark);font-weight:700}.buy-btn{border:0;border-radius:9px;background:var(--primary);color:#fff;padding:10px 12px;cursor:pointer}
