:root{--green: #059669;--green-dark: #047857;--bg: #f4f6f8;--card: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--danger: #dc2626;--warning: #d97706}@media (prefers-color-scheme: dark){:root{--bg: #0f172a;--card: #1e293b;--text: #f1f5f9;--muted: #94a3b8;--border: #334155}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.page{max-width:560px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom));min-height:100dvh;display:flex;flex-direction:column;gap:14px}.page.has-footer{padding-bottom:96px}.page.center{justify-content:center;align-items:center;text-align:center}.hero{text-align:center;padding:40px 8px 8px}.hero .logo{font-size:56px}.hero h1{color:var(--green);margin:8px 0 6px}.hero p{color:var(--muted)}.topbar{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:6px}.topbar h1{font-size:1.25rem}.topbar small{color:var(--muted)}.link{color:var(--green);text-decoration:none;font-size:.9rem;white-space:nowrap}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}.card h2{font-size:1rem}.card.muted{background:transparent}.total-card{flex-direction:row;justify-content:space-between;align-items:center}.total-card strong{font-size:1.3rem;color:var(--green)}.searchbar input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:1rem}.product-list{list-style:none;display:flex;flex-direction:column;gap:10px}.product{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:10px 12px}.product-photo{width:52px;height:52px;flex-shrink:0;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:cover}.product-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.product-info strong{font-size:.92rem;line-height:1.25}.product-info small{color:var(--muted)}.product-meta{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.price{color:var(--green);font-weight:700}.stock{color:var(--muted);font-size:.78rem}.line-total{font-weight:700;margin-left:auto}.qty{display:flex;align-items:center;gap:8px}.qty button{width:34px;height:34px;border-radius:10px;border:none;background:var(--green);color:#fff;font-size:1.2rem;cursor:pointer}.qty button:disabled{opacity:.4}.qty span{min-width:20px;text-align:center;font-weight:700}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 18px;border-radius:14px;border:none;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;text-align:center}.btn.primary{background:var(--green);color:#fff}.btn.primary:active{background:var(--green-dark)}.btn.secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn.block{width:100%}.btn.small{padding:8px 14px;font-size:.85rem}.btn:disabled{opacity:.6}.cart-footer{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 30%);max-width:560px;margin:0 auto;z-index:40}.cart-link{position:relative;text-decoration:none;font-size:24px;padding:4px}.cart-link .badge{position:absolute;top:-4px;right:-8px;background:var(--green);color:#fff;font-size:.7rem;font-weight:800;border-radius:999px;padding:1px 6px;min-width:18px;text-align:center}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600}input{padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1.05rem}.otp-help p{color:var(--muted);font-size:.9rem}.otp-help code{background:var(--card);border:1px solid var(--border);padding:2px 8px;border-radius:6px;color:var(--green);font-weight:700}.status-header{text-align:center;padding:24px 8px 8px;display:flex;flex-direction:column;gap:8px;align-items:center}.status-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff}.status-header.success .status-icon{background:var(--green)}.status-header.failure .status-icon{background:var(--danger)}.status-header.warning .status-icon{background:var(--warning)}.status-header p{color:var(--muted)}.spinner{width:44px;height:44px;border:4px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite;margin:8px auto}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:12px 14px;border-radius:12px;font-size:.9rem}.alert.error{background:#dc26261f;color:var(--danger)}.loading,.empty{text-align:center;color:var(--muted);padding:24px 0}.fine-print{color:var(--muted);font-size:.8rem;text-align:center}.ticket{background:var(--card);border:1px dashed var(--border);border-radius:14px;padding:18px;font-size:.92rem;display:flex;flex-direction:column;gap:12px}.ticket-head{display:flex;flex-direction:column;text-align:center;gap:2px}.ticket-head span{color:var(--muted);font-size:.82rem}.ticket-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;border-bottom:1px dashed var(--border);padding-bottom:8px}.ticket-lines{width:100%;border-collapse:collapse}.ticket-lines td{padding:6px 0;vertical-align:top}.ticket-lines td small{display:block;color:var(--muted)}.ticket-lines .right{text-align:right;white-space:nowrap}.ticket-lines tfoot td{border-top:1px dashed var(--border);font-weight:800;font-size:1.05rem;padding-top:10px}.ticket-payment{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:.85rem;border-top:1px dashed var(--border);padding-top:8px}.ticket-foot{text-align:center;color:var(--muted);font-size:.82rem}.order-list{list-style:none;display:flex;flex-direction:column;gap:8px}.order-list a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:var(--text);padding:10px 4px;border-bottom:1px solid var(--border)}.order-list a span:first-child{display:flex;flex-direction:column}.order-list small{color:var(--muted)}.order-list .amount{color:var(--green);font-weight:700}.steps{padding-left:20px;color:var(--muted);display:flex;flex-direction:column;gap:6px}.install-hint{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom));left:12px;right:12px;max-width:536px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 30px #0000002e;padding:12px 14px;display:flex;align-items:center;gap:10px;font-size:.85rem;z-index:50}.install-hint span{flex:1}.install-hint .dismiss{background:none;border:none;color:var(--muted);font-size:1rem;cursor:pointer}
