:root{--brand-primary: #4f7cff;--brand-secondary: #1c2333;--bg: #0f1115;--surface: #171a21;--border: #2a2e38;--text: #e6e8ec;--muted: #8a8f9c}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.storefront-shell{min-height:100vh;display:flex;flex-direction:column}.storefront-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px}.brand{font-weight:700;font-size:20px;display:flex;align-items:center}.brand-logo{height:36px}.storefront-header nav{display:flex;gap:20px}.storefront-header nav a:hover{color:var(--brand-primary)}main{flex:1;padding:24px;max-width:1100px;width:100%;margin:0 auto}section{margin-bottom:40px}h1,h2{margin-top:0}.page-state{padding:60px 24px;text-align:center}.muted{color:var(--muted)}.form-error{color:#e5484d}.hero{padding:48px 24px;text-align:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));border-radius:12px;margin-bottom:40px}.hero h1{font-size:32px}.cta-button{display:inline-block;margin-top:16px;padding:10px 24px;background:#fff;color:var(--brand-secondary);border-radius:999px;font-weight:600}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.bundle-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:block;transition:border-color .15s}.bundle-card:hover{border-color:var(--brand-primary)}.bundle-card-image{width:100%;height:120px;object-fit:cover}.bundle-card-body{padding:16px}.bundle-card-body h3{margin:0 0 6px}.bundle-card-price{font-weight:700;color:var(--brand-primary);margin-top:8px}.bundle-banner{width:100%;max-height:260px;object-fit:cover;border-radius:12px;margin-bottom:20px}.ott-logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:16px}.ott-logo-tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;height:72px;display:flex;align-items:center;justify-content:center;padding:10px}.ott-logo-tile img{max-width:100%;max-height:100%}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid var(--border)}.strikethrough{text-decoration:line-through;color:var(--muted)}.storefront-footer{padding:20px 24px;border-top:1px solid var(--border);text-align:center;color:var(--muted);font-size:14px}@media (max-width: 600px){.storefront-header{flex-direction:column;align-items:flex-start}.hero h1{font-size:24px}}.auth-screen{min-height:60vh;display:flex;align-items:center;justify-content:center}.auth-card,.account-form{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:32px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px}.auth-card label,.account-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font:inherit}input:disabled{opacity:.6}button{background:var(--brand-primary);color:#fff;border:none;border-radius:6px;padding:8px 14px;cursor:pointer;font:inherit}button:disabled{opacity:.6;cursor:not-allowed}.link-button{background:none;color:var(--brand-primary);padding:0;text-decoration:underline;width:fit-content}.dev-otp-hint{background:#4f7cff1f;border:1px dashed var(--brand-primary);border-radius:6px;padding:8px 12px;font-size:13px}.notice{background:var(--surface);border:1px solid var(--brand-primary);border-radius:8px;padding:12px 16px;margin-bottom:20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.order-header{display:flex;justify-content:space-between;align-items:center}.order-items{padding-left:18px;margin:10px 0}.status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.status-created,.status-payment_pending{background:#8a8f9c26;color:var(--muted)}.status-cancelled,.status-failed,.status-payment_failed{background:#e5484d26;color:#e5484d}.status-completed,.status-payment_success,.status-active{background:#2fb97026;color:#2fb970}
