@charset "UTF-8";.customer-point-redeem{position:relative;min-height:100vh;padding:20px;overflow:hidden;background:#fff}.customer-point-redeem .overlay{position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(0,0,0,.03),transparent 50%),radial-gradient(circle at bottom left,rgba(0,0,0,.02),transparent 50%);pointer-events:none}.customer-point-redeem .header{position:relative;z-index:2;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;margin-bottom:28px;width:auto}.customer-point-redeem .header .back-btn{flex:0 0 auto;width:44px;height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:14px;background:#fff;color:#111;cursor:pointer;padding:0;margin:0;box-shadow:0 4px 12px #00000014,0 1px 3px #0000000a;transition:all .2s ease}.customer-point-redeem .header .back-btn:hover{background:#fafafa;box-shadow:0 6px 18px #0000001a,0 2px 4px #0000000d;transform:translateY(-1px)}.customer-point-redeem .header .back-btn:active{transform:scale(.94)}.customer-point-redeem .header .back-btn svg{display:block}.customer-point-redeem .header .header-title,.customer-point-redeem .header h2{flex:0 0 auto;margin:0!important;padding:0!important;color:#111!important;font-size:22px;font-weight:700;letter-spacing:-.3px;line-height:1.2;white-space:nowrap}.customer-point-redeem .card{position:relative;z-index:2;background:#fff;border-radius:28px;padding:24px;box-shadow:0 12px 40px #0000000f}.customer-point-redeem .card .card-top{display:flex;align-items:center;gap:16px;margin-bottom:28px}.customer-point-redeem .card .card-top .icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:20px;background:#f3f4f6;color:#111;font-size:30px;box-shadow:none}.customer-point-redeem .card .card-top h3{margin:0 0 6px;font-size:22px;font-weight:700;color:#111}.customer-point-redeem .card .card-top p{margin:0;color:#6b7280;font-size:14px}.customer-point-redeem .card .form-group{margin-bottom:20px}.customer-point-redeem .card .form-group label{display:block;margin-bottom:10px;font-size:14px;font-weight:600;color:#374151}.customer-point-redeem .card .form-group input{width:100%;height:56px;border:1px solid #e5e7eb;border-radius:16px;padding:0 18px;font-size:16px;background:#fff;color:#111;outline:none;transition:.2s;box-sizing:border-box}.customer-point-redeem .card .form-group input:focus{border-color:#111;box-shadow:0 0 0 4px #11111114}.customer-point-redeem .card .actions{display:flex;gap:14px}.customer-point-redeem .card .actions button{flex:1;height:54px;border:none;border-radius:16px;font-size:15px;font-weight:600;color:#111;background:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #0000000f,0 1px 2px #0000000a}.customer-point-redeem .card .actions button:hover:not(:disabled){box-shadow:0 6px 18px #00000017,0 1px 3px #0000000d;transform:translateY(-1px)}.customer-point-redeem .card .actions button:active{transform:scale(.98)}.customer-point-redeem .card .actions button:disabled{opacity:.5;cursor:not-allowed}.customer-point-redeem .card .actions .primary{background:#fff;color:#111;font-weight:700}.customer-point-redeem .card .actions .secondary{background:#fff;color:#111}.customer-point-redeem .card .loading-wrap{display:flex;align-items:center;gap:10px}.customer-point-redeem .card .spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(17,17,17,.2);border-top-color:#111;animation:spin .8s linear infinite}.customer-point-redeem .card .scanner-wrapper{margin-top:24px;padding:12px;border-radius:22px;background:#f9fafb;border:1px solid #e5e7eb}.customer-point-redeem .card .scanner{overflow:hidden;border-radius:18px}.customer-point-redeem .card .scanner video{border-radius:18px}.customer-point-redeem .card .error,.customer-point-redeem .card .success{margin-top:18px;padding:15px 18px;border-radius:16px;font-size:14px;font-weight:600}.customer-point-redeem .card .error{background:#fef2f2;color:#dc2626}.customer-point-redeem .card .success{background:#f0fdf4;color:#16a34a}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){.customer-point-redeem{padding:16px}.customer-point-redeem .header{gap:8px!important;margin-bottom:20px}.customer-point-redeem .header .back-btn{width:40px;height:40px;min-width:40px;border-radius:12px}.customer-point-redeem .header .header-title,.customer-point-redeem .header h2{font-size:18px}.customer-point-redeem .card{padding:20px;border-radius:24px}}
