:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-300: #93c5fd;--primary-500: #3b82f6;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--secondary-50: #ecfdf5;--secondary-100: #d1fae5;--secondary-300: #6ee7b7;--secondary-500: #10b981;--secondary-700: #047857;--accent-50: #fffbeb;--accent-100: #fef3c7;--accent-300: #fcd34d;--accent-500: #f59e0b;--accent-700: #b45309;--success-bg: #d1fae5;--success-text: #047857;--warning-bg: #fef3c7;--warning-text: #92400e;--danger-bg: #fee2e2;--danger-text: #b91c1c;--info-bg: #dbeafe;--info-text: #1d4ed8;--neutral-0: #ffffff;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-800: #1e293b;--bg: var(--neutral-50);--surface: var(--neutral-0);--border: var(--neutral-200);--text: var(--neutral-800);--text-muted: var(--neutral-500);--brand: var(--primary-700);--brand-hover: var(--primary-800);--brand-gradient: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-500) 50%, var(--accent-500) 100%);--brand-gradient-soft: linear-gradient(135deg, var(--primary-50) 0%, var(--secondary-50) 50%, var(--accent-50) 100%);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--space-6: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-hover: 0 12px 32px rgba(15, 23, 42, .12);--ease: cubic-bezier(.4, 0, .2, 1);--container: 1120px;--header-height: 72px}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{margin:0;line-height:1.2;font-weight:700;color:var(--text)}p{margin:0}img{display:block;max-width:100%}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--primary-500);outline-offset:2px}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--space-2)}@media (min-width: 768px){.container{padding:0 var(--space-3)}}.page{padding:var(--space-4) 0 var(--space-6)}.page>section+section,.page>section+.section,.page>.section+section{margin-top:var(--space-5)}.page-header{margin-bottom:var(--space-5)}.page-title{font-size:clamp(1.5rem,4vw,2rem)}.page-subtitle{margin-top:var(--space-1);max-width:640px;color:var(--text-muted)}.section{margin-top:var(--space-6)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.section-title{font-size:20px}.grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width: 640px){.grid--2,.grid--4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}.grid--cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3)}.chip{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);font-size:14px;font-weight:600;color:var(--text);transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.chip:hover{border-color:var(--primary-500)}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--neutral-0)}.field{display:grid;gap:8px;font-size:14px;font-weight:600}.field input,.field select{width:100%;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .2s var(--ease)}.field input:focus,.field select:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px var(--primary-100)}.muted{color:var(--text-muted)}.num{font-variant-numeric:tabular-nums}.page-enter-active,.page-leave-active{transition:opacity .2s var(--ease),transform .2s var(--ease)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-16px) scale(1.05)}66%{transform:translate(-12px,12px) scale(.95)}}@keyframes float-orb-reverse{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-18px,14px) scale(.93)}66%{transform:translate(14px,-10px) scale(1.07)}}@keyframes shimmer-text{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-footer[data-v-9aed21a7]{margin-top:auto;padding:24px 0;background:var(--surface);border-top:1px solid var(--border)}.footer-inner[data-v-9aed21a7]{display:flex;flex-direction:column;gap:8px}.footer-brand[data-v-9aed21a7]{font-weight:700;color:var(--primary-700)}.footer-tagline[data-v-9aed21a7],.footer-note[data-v-9aed21a7]{font-size:14px;color:var(--text-muted)}@media (min-width: 768px){.footer-inner[data-v-9aed21a7]{flex-direction:row;align-items:center;justify-content:space-between}}.base-button[data-v-1e7d518c]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-pill);font-weight:600;line-height:1;white-space:nowrap;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.base-button--md[data-v-1e7d518c]{height:44px;padding:0 24px;font-size:15px}.base-button--sm[data-v-1e7d518c]{height:36px;padding:0 16px;font-size:14px}.base-button--block[data-v-1e7d518c]{width:100%}.base-button--primary[data-v-1e7d518c]{background:var(--brand-gradient);background-size:200% auto;color:var(--neutral-0);box-shadow:var(--shadow-sm)}.base-button--primary[data-v-1e7d518c]:hover:not(:disabled){background-position:right center;transform:translateY(-1px);box-shadow:var(--shadow-md)}.base-button--secondary[data-v-1e7d518c]{background:var(--primary-100);color:var(--primary-700)}.base-button--secondary[data-v-1e7d518c]:hover:not(:disabled){background:var(--primary-300)}.base-button--ghost[data-v-1e7d518c]{background:transparent;border-color:var(--border);color:var(--text)}.base-button--ghost[data-v-1e7d518c]:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-700)}.base-button--danger[data-v-1e7d518c]{background:var(--danger-bg);color:var(--danger-text)}.base-button--danger[data-v-1e7d518c]:hover:not(:disabled){background:#fecaca}.base-button[data-v-1e7d518c]:active:not(:disabled){transform:translateY(0)}.base-button[data-v-1e7d518c]:disabled{background:var(--neutral-100);border-color:var(--neutral-200);color:var(--neutral-500);cursor:not-allowed}.app-header[data-v-8a32faa3]{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.header-inner[data-v-8a32faa3]{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--header-height)}.brand[data-v-8a32faa3]{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.brand-mark[data-v-8a32faa3]{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--brand-gradient);color:var(--neutral-0);font-weight:700;font-size:18px;transition:transform .3s var(--ease)}.brand:hover .brand-mark[data-v-8a32faa3]{transform:rotate(-8deg)}.brand-name[data-v-8a32faa3]{font-size:20px;font-weight:700;color:var(--primary-800)}.nav-desktop[data-v-8a32faa3]{display:none;gap:4px}.nav-link[data-v-8a32faa3]{padding:8px 12px;border-radius:var(--radius-pill);font-size:15px;font-weight:600;color:var(--text-muted);transition:background .2s var(--ease),color .2s var(--ease)}.nav-link[data-v-8a32faa3]:hover{background:var(--primary-50);color:var(--primary-800)}.nav-link.router-link-active[data-v-8a32faa3]{background:var(--primary-100);color:var(--primary-800)}.header-actions[data-v-8a32faa3]{display:flex;align-items:center;gap:12px}.balance-chip[data-v-8a32faa3]{display:flex;flex-direction:column;padding:4px 14px;border-radius:var(--radius-md);background:var(--primary-50);border:1px solid var(--primary-100);transition:border-color .2s var(--ease)}.balance-chip[data-v-8a32faa3]:hover{border-color:var(--primary-500)}.balance-label[data-v-8a32faa3]{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.balance-value[data-v-8a32faa3]{font-size:15px;font-weight:700;color:var(--primary-700)}.profile[data-v-8a32faa3]{display:flex;align-items:center;gap:8px}.avatar[data-v-8a32faa3]{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--brand-gradient);color:var(--neutral-0);font-size:13px;font-weight:700}.profile-name[data-v-8a32faa3]{font-size:14px;font-weight:600}.menu-toggle[data-v-8a32faa3]{display:flex;flex-direction:column;justify-content:center;gap:4px;width:44px;height:44px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.menu-bar[data-v-8a32faa3]{display:block;height:2px;border-radius:2px;background:var(--text)}.nav-mobile[data-v-8a32faa3]{border-top:1px solid var(--border);background:var(--surface)}.nav-mobile-list[data-v-8a32faa3]{display:grid;gap:4px;padding-top:8px;padding-bottom:16px}.nav-mobile-list .nav-link[data-v-8a32faa3]{padding:12px 16px}@media (max-width: 479px){.balance-chip[data-v-8a32faa3]{padding:4px 10px}.balance-value[data-v-8a32faa3]{font-size:13px}.profile[data-v-8a32faa3]{display:none}}@media (min-width: 960px){.nav-desktop[data-v-8a32faa3]{display:flex}.menu-toggle[data-v-8a32faa3],.nav-mobile[data-v-8a32faa3]{display:none}}@media (min-width: 960px) and (max-width: 1180px){.profile-name[data-v-8a32faa3]{display:none}}.app-shell[data-v-50df154f]{display:flex;flex-direction:column;min-height:100vh}.app-main[data-v-50df154f]{flex:1}.base-card[data-v-fdb33cbe]{padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}.base-card--hoverable[data-v-fdb33cbe]:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md)}.base-badge[data-v-f93d0292]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.base-badge--success[data-v-f93d0292]{background:var(--success-bg);color:var(--success-text)}.base-badge--warning[data-v-f93d0292]{background:var(--warning-bg);color:var(--warning-text)}.base-badge--danger[data-v-f93d0292]{background:var(--danger-bg);color:var(--danger-text)}.base-badge--info[data-v-f93d0292]{background:var(--info-bg);color:var(--info-text)}.base-badge--neutral[data-v-f93d0292]{background:var(--neutral-100);color:var(--neutral-800)}.empty-state[data-v-287a4c8e]{display:grid;justify-items:center;gap:8px;padding:40px 24px;text-align:center;background:var(--surface);border:1px dashed var(--neutral-400);border-radius:var(--radius-lg)}.empty-title[data-v-287a4c8e]{font-size:18px;font-weight:700;color:var(--text)}.empty-description[data-v-287a4c8e]{max-width:420px;color:var(--text-muted)}.empty-action[data-v-287a4c8e]{margin-top:8px}.tx-list[data-v-62b6156d]{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.tx-row[data-v-62b6156d]{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.tx-row[data-v-62b6156d]:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md)}.tx-main[data-v-62b6156d]{display:grid;gap:6px;min-width:0}.tx-type[data-v-62b6156d]{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.tx-title[data-v-62b6156d]{font-size:16px;overflow-wrap:anywhere}.tx-date[data-v-62b6156d]{font-size:13px;color:var(--text-muted)}.tx-meta[data-v-62b6156d]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-1)}.tx-amount[data-v-62b6156d]{font-size:16px;font-weight:700}.amount--plus[data-v-62b6156d]{color:var(--secondary-700)}.amount--minus[data-v-62b6156d]{color:var(--accent-700)}.amount--neutral[data-v-62b6156d]{color:var(--text)}.tx-actions[data-v-62b6156d]{display:flex;flex-wrap:wrap;gap:var(--space-1)}@media (min-width: 720px){.tx-row[data-v-62b6156d]{grid-template-columns:1fr auto;align-items:center}.tx-actions[data-v-62b6156d]{grid-column:1 / -1}}.hero[data-v-328d5cbd]{position:relative;overflow:hidden;padding:40px 24px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#1e3a8a,#1d4ed8,#10b981 70%,#f59e0b);background-size:200% 200%;animation:gradient-shift-328d5cbd 8s ease infinite;color:var(--neutral-0);box-shadow:var(--shadow-md)}@keyframes gradient-shift-328d5cbd{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-orbs[data-v-328d5cbd]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.orb[data-v-328d5cbd]{position:absolute;border-radius:50%;filter:blur(2px);opacity:.25}.orb--blue[data-v-328d5cbd]{width:180px;height:180px;top:-40px;right:10%;background:radial-gradient(circle,#93c5fd 0%,transparent 70%);animation:float-orb 7s ease-in-out infinite}.orb--green[data-v-328d5cbd]{width:140px;height:140px;bottom:-30px;left:5%;background:radial-gradient(circle,#6ee7b7 0%,transparent 70%);animation:float-orb-reverse 6s ease-in-out infinite}.orb--yellow[data-v-328d5cbd]{width:100px;height:100px;top:40%;right:30%;background:radial-gradient(circle,#fcd34d 0%,transparent 70%);animation:float-orb 9s ease-in-out infinite 1s;opacity:.2}.hero-content[data-v-328d5cbd]{position:relative;z-index:1;animation:fade-up .6s var(--ease) both}.hero-greeting[data-v-328d5cbd]{font-size:15px;font-weight:600;color:#ffffffd9}.hero-title[data-v-328d5cbd]{margin-top:8px;font-size:clamp(1.5rem,4vw,2.25rem);color:var(--neutral-0);text-shadow:0 2px 12px rgba(0,0,0,.15)}.hero-tagline[data-v-328d5cbd]{margin-top:8px;color:#fffc;font-weight:600}.hero-actions[data-v-328d5cbd]{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.hero-actions[data-v-328d5cbd] .base-button--ghost{background:#ffffff26;border-color:#ffffff80;color:var(--neutral-0);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-actions[data-v-328d5cbd] .base-button--ghost:hover{background:#ffffff40;color:var(--neutral-0)}@media (min-width: 768px){.hero[data-v-328d5cbd]{padding:48px 40px}}.stats[data-v-328d5cbd]{margin-top:var(--space-4)}.stat-label[data-v-328d5cbd]{font-size:13px;font-weight:600;color:var(--text-muted)}.stat-value[data-v-328d5cbd]{margin-top:6px;font-size:26px;font-weight:700;color:var(--primary-700)}.stat-plus[data-v-328d5cbd]{color:var(--secondary-700)}.stat-minus[data-v-328d5cbd]{color:var(--accent-700)}.stat-value span[data-v-328d5cbd]{font-size:14px;color:var(--text-muted)}.pending-hero[data-v-328d5cbd]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3) var(--space-3);background:var(--info-bg);border:1px solid var(--primary-300);border-radius:var(--radius-md)}.pending-hero-icon[data-v-328d5cbd]{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--primary-700);color:var(--neutral-0)}.pending-hero-icon svg[data-v-328d5cbd]{width:22px;height:22px}.pending-hero-text[data-v-328d5cbd]{flex:1;min-width:200px}.pending-hero-title[data-v-328d5cbd]{font-weight:700;color:var(--info-text)}.claim-banner[data-v-328d5cbd]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3) var(--space-3);background:var(--accent-50);border:1px solid var(--accent-300);border-radius:var(--radius-md)}.claim-banner>div[data-v-328d5cbd]{flex:1;min-width:200px}.claim-banner-title[data-v-328d5cbd]{font-weight:700}.mini-card[data-v-328d5cbd]{display:block;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.mini-card[data-v-328d5cbd]:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.mini-card img[data-v-328d5cbd]{width:100%;aspect-ratio:16 / 9;object-fit:cover}.mini-body[data-v-328d5cbd]{padding:var(--space-2) var(--space-2) var(--space-3)}.mini-title[data-v-328d5cbd]{font-weight:700}.mini-meta[data-v-328d5cbd]{margin-top:4px;font-size:14px;color:var(--text-muted)}.redeem-list[data-v-328d5cbd]{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.redeem-row[data-v-328d5cbd]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.redeem-row[data-v-328d5cbd]:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md)}.redeem-main[data-v-328d5cbd]{display:grid;gap:6px}.redeem-title[data-v-328d5cbd]{font-size:16px}.redeem-date[data-v-328d5cbd]{font-size:13px;color:var(--text-muted)}.redeem-meta[data-v-328d5cbd]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.redeem-points[data-v-328d5cbd]{font-size:16px;font-weight:700;color:var(--accent-700)}.base-alert[data-v-7f54b7c8]{padding:14px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;line-height:1.5}.base-alert--success[data-v-7f54b7c8]{background:var(--success-bg);color:var(--success-text)}.base-alert--danger[data-v-7f54b7c8]{background:var(--danger-bg);color:var(--danger-text)}.base-alert--info[data-v-7f54b7c8]{background:var(--info-bg);color:var(--info-text)}.modal-backdrop[data-v-18d4f9e0]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a80}.modal[data-v-18d4f9e0]{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover)}.modal-header[data-v-18d4f9e0]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 24px 0}.modal-title[data-v-18d4f9e0]{font-size:20px}.modal-close[data-v-18d4f9e0]{width:36px;height:36px;border:none;border-radius:var(--radius-pill);background:var(--neutral-100);font-size:22px;line-height:1;color:var(--text);transition:background .2s var(--ease)}.modal-close[data-v-18d4f9e0]:hover{background:var(--neutral-200)}.modal-body[data-v-18d4f9e0]{padding:24px}.modal-footer[data-v-18d4f9e0]{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:0 24px 24px}.modal-enter-active[data-v-18d4f9e0],.modal-leave-active[data-v-18d4f9e0]{transition:opacity .2s var(--ease)}.modal-enter-active .modal[data-v-18d4f9e0],.modal-leave-active .modal[data-v-18d4f9e0]{transition:transform .2s var(--ease)}.modal-enter-from[data-v-18d4f9e0],.modal-leave-to[data-v-18d4f9e0]{opacity:0}.modal-enter-from .modal[data-v-18d4f9e0],.modal-leave-to .modal[data-v-18d4f9e0]{transform:translateY(12px)}.deposit-form[data-v-9413d714]{display:grid;gap:var(--space-2)}.hint[data-v-9413d714]{font-size:14px;color:var(--text-muted)}.deposit-actions[data-v-9413d714]{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-1)}.search-bar[data-v-fd9f4210]{display:flex;align-items:center;gap:12px;width:100%;height:48px;padding:0 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.search-bar[data-v-fd9f4210]:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.search-icon[data-v-fd9f4210]{width:20px;height:20px;flex-shrink:0}.search-bar input[data-v-fd9f4210]{flex:1;min-width:0;height:100%;border:none;background:transparent;color:var(--text);outline:none}.search-bar input[data-v-fd9f4210]::placeholder{color:var(--neutral-400)}.waste-card[data-v-cbbd8223]{display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.waste-card[data-v-cbbd8223]:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.waste-image[data-v-cbbd8223]{aspect-ratio:16 / 10;overflow:hidden;background:var(--neutral-100)}.waste-image img[data-v-cbbd8223]{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.waste-card:hover .waste-image img[data-v-cbbd8223]{transform:scale(1.05)}.waste-body[data-v-cbbd8223]{display:flex;flex-direction:column;gap:8px;flex:1;padding:20px}.waste-title[data-v-cbbd8223]{font-size:18px;margin-top:4px}.waste-summary[data-v-cbbd8223]{font-size:14px;color:var(--text-muted)}.waste-points[data-v-cbbd8223]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:12px 16px;margin-top:4px;background:var(--primary-50);border-radius:var(--radius-md)}.points-value[data-v-cbbd8223]{font-size:18px;font-weight:700;color:var(--primary-700)}.points-unit[data-v-cbbd8223]{font-size:14px;color:var(--text-muted)}.points-pending[data-v-cbbd8223]{font-size:14px;font-weight:600;color:var(--warning-text)}.waste-highlights[data-v-cbbd8223]{margin:4px 0 8px;padding-left:18px;font-size:14px;color:var(--text-muted);display:grid;gap:4px}.waste-body[data-v-cbbd8223] .base-button{margin-top:auto}.header-row[data-v-4698c337]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-2)}.filters[data-v-4698c337]{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.category-info[data-v-4698c337]{font-size:14px}.results-count[data-v-4698c337]{margin-bottom:var(--space-3);font-size:14px}.notice-row[data-v-4698c337]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.notice-actions[data-v-4698c337]{display:flex;flex-wrap:wrap;gap:var(--space-1)}.reward-card[data-v-389b5aed]{display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.reward-card[data-v-389b5aed]:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.reward-image[data-v-389b5aed]{aspect-ratio:16 / 10;overflow:hidden;background:var(--neutral-100)}.reward-image img[data-v-389b5aed]{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.reward-card:hover .reward-image img[data-v-389b5aed]{transform:scale(1.05)}.reward-body[data-v-389b5aed]{display:flex;flex-direction:column;gap:12px;flex:1;padding:20px}.reward-head[data-v-389b5aed]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.reward-title[data-v-389b5aed]{font-size:18px}.reward-description[data-v-389b5aed]{font-size:14px;color:var(--text-muted)}.reward-facts[data-v-389b5aed]{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px;background:var(--neutral-50);border-radius:var(--radius-md)}.reward-facts>div[data-v-389b5aed]{display:grid;gap:2px}.fact-label[data-v-389b5aed]{font-size:12px;color:var(--text-muted)}.fact-value[data-v-389b5aed]{font-weight:700;color:var(--text)}.reward-body[data-v-389b5aed] .base-button{margin-top:auto}.balance-card[data-v-449364c0]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4);background:var(--primary-50);border-color:var(--primary-100)}.balance-label[data-v-449364c0]{font-size:14px;font-weight:600;color:var(--text-muted)}.balance-value[data-v-449364c0]{margin-top:4px;font-size:32px;font-weight:700;color:var(--primary-700)}.balance-value span[data-v-449364c0]{font-size:16px;color:var(--text-muted)}.balance-note[data-v-449364c0]{max-width:320px;font-size:14px;color:var(--text-muted)}.confirm[data-v-449364c0]{display:grid;gap:var(--space-2)}.confirm-text[data-v-449364c0]{line-height:1.5}.confirm-summary[data-v-449364c0]{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--neutral-50);border-radius:var(--radius-md);font-size:14px}.confirm-hint[data-v-449364c0]{font-size:14px}.balance-hero[data-v-18645374]{background:var(--brand-gradient);border-color:transparent;color:var(--neutral-0)}.hero-label[data-v-18645374]{font-size:14px;font-weight:600;color:var(--primary-100)}.hero-value[data-v-18645374]{margin-top:6px;font-size:40px;font-weight:700;color:var(--neutral-0)}.hero-value span[data-v-18645374]{font-size:18px;color:var(--primary-100)}.hero-note[data-v-18645374]{margin-top:8px;font-size:14px;color:var(--primary-100)}.summary-grid[data-v-18645374]{margin-top:var(--space-4)}.stat-label[data-v-18645374]{font-size:14px;font-weight:600;color:var(--text-muted)}.stat-value[data-v-18645374]{margin-top:6px;font-size:28px;font-weight:700;color:var(--text)}.income[data-v-18645374]{color:var(--secondary-700)}.expense[data-v-18645374]{color:var(--accent-700)}.flow-row[data-v-18645374]{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) 0;font-size:15px}.flow-bar[data-v-18645374]{height:10px;margin-top:var(--space-2);overflow:hidden;background:var(--neutral-100);border-radius:var(--radius-pill)}.flow-bar-fill[data-v-18645374]{display:block;height:100%;background:var(--brand-gradient);border-radius:inherit;transition:width .6s var(--ease)}.flow-caption[data-v-18645374]{margin-top:var(--space-2);font-size:14px}.pending-banner[data-v-8f30609d]{margin-bottom:16px}.pending-row[data-v-8f30609d]{display:flex;align-items:center;gap:8px}.filter-row[data-v-8f30609d]{margin-bottom:24px}.claim-layout[data-v-0781c88b]{display:grid;gap:var(--space-3)}@media (min-width: 900px){.claim-layout[data-v-0781c88b]{grid-template-columns:1.4fr 1fr;align-items:start}}.claim-card[data-v-0781c88b]{display:grid;gap:var(--space-3)}.claim-reward[data-v-0781c88b]{display:flex;align-items:center;gap:var(--space-2)}.claim-image[data-v-0781c88b]{width:88px;height:88px;flex-shrink:0;object-fit:cover;border-radius:var(--radius-md)}.claim-label[data-v-0781c88b]{font-size:13px;font-weight:600;color:var(--text-muted)}.claim-name[data-v-0781c88b]{margin-top:6px;font-size:22px}.claim-points[data-v-0781c88b]{margin-top:6px;color:var(--primary-700);font-weight:600}.claim-code-box[data-v-0781c88b]{padding:var(--space-4);text-align:center;background:var(--primary-50);border:2px dashed var(--primary-300);border-radius:var(--radius-md)}.claim-code[data-v-0781c88b]{margin-top:var(--space-1);font-size:clamp(1.5rem,5vw,2rem);font-weight:700;letter-spacing:.12em;color:var(--primary-700)}.claim-meta[data-v-0781c88b]{display:grid;gap:var(--space-2);grid-template-columns:1fr 1fr}.claim-meta>div[data-v-0781c88b]{display:grid;gap:6px;justify-items:start}.claim-hint[data-v-0781c88b]{margin-top:var(--space-1);font-size:13px}.steps[data-v-0781c88b]{display:grid;gap:var(--space-2);margin:var(--space-2) 0 0;padding-left:20px;color:var(--text)}.body-text[data-v-ccbb4967]{color:var(--text-muted)}.bullet-list[data-v-ccbb4967]{display:grid;gap:12px;margin:0;padding-left:20px;color:var(--text-muted)}.step-grid[data-v-ccbb4967]{display:grid;gap:16px;margin:16px 0 0;padding:0;list-style:none}@media (min-width: 768px){.step-grid[data-v-ccbb4967]{grid-template-columns:repeat(4,1fr)}}.step-card[data-v-ccbb4967]{display:grid;gap:8px;align-content:start;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.step-card[data-v-ccbb4967]:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.step-number[data-v-ccbb4967]{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--primary-100);color:var(--primary-900);font-weight:700}.step-title[data-v-ccbb4967]{font-size:18px}.about-action[data-v-ccbb4967]{margin-top:16px}.auth-page[data-v-4b38b083]{display:grid;place-items:center;min-height:calc(100vh - var(--header-height) - 120px)}.auth-card[data-v-4b38b083]{width:100%;max-width:440px;display:grid;gap:24px}.auth-header[data-v-4b38b083]{display:grid;gap:8px}.auth-tabs[data-v-4b38b083]{margin-bottom:0}.auth-form[data-v-4b38b083]{display:grid;gap:16px}.summary-grid[data-v-22cae6a4]{display:grid;gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:1fr}@media (min-width: 640px){.summary-grid[data-v-22cae6a4]{grid-template-columns:repeat(3,1fr)}}.summary-card[data-v-22cae6a4]{display:flex;align-items:center;gap:var(--space-2)}.summary-icon[data-v-22cae6a4]{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:var(--radius-md)}.summary-icon svg[data-v-22cae6a4]{width:28px;height:28px}.summary-card--pending .summary-icon[data-v-22cae6a4]{background:var(--warning-bg);color:var(--warning-text)}.summary-card--claim .summary-icon[data-v-22cae6a4]{background:var(--info-bg);color:var(--info-text)}.summary-card--done .summary-icon[data-v-22cae6a4]{background:var(--success-bg);color:var(--success-text)}.summary-value[data-v-22cae6a4]{font-size:28px;font-weight:700;color:var(--text)}.summary-label[data-v-22cae6a4]{font-size:13px;color:var(--text-muted)}.batch-bar[data-v-22cae6a4]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius-lg)}.batch-info[data-v-22cae6a4]{flex:1;min-width:240px}.batch-title[data-v-22cae6a4]{font-size:16px;font-weight:700;color:var(--primary-700)}.batch-bar .muted[data-v-22cae6a4]{margin-top:4px;font-size:14px}.filter-row[data-v-22cae6a4]{margin-bottom:var(--space-3)}.chip-badge[data-v-22cae6a4]{display:inline-grid;place-items:center;margin-left:6px;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--accent-500);color:var(--neutral-0);font-size:12px}.chip[aria-pressed=true] .chip-badge[data-v-22cae6a4]{background:var(--neutral-0);color:var(--brand)}.action-alert[data-v-22cae6a4]{margin-bottom:var(--space-2)}.retry-row[data-v-22cae6a4]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.loading-text[data-v-22cae6a4]{padding:var(--space-4) 0;text-align:center}.action-info[data-v-22cae6a4]{display:grid;gap:6px;width:100%}.student-line[data-v-22cae6a4]{font-size:14px;color:var(--text-muted)}.student-line strong[data-v-22cae6a4]{color:var(--text)}.est-points[data-v-22cae6a4]{color:var(--secondary-700);font-weight:600}.claim-code[data-v-22cae6a4]{font-weight:700;color:var(--primary-700);letter-spacing:.04em}.action-buttons[data-v-22cae6a4]{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.not-found[data-v-6b2e7fbe]{display:grid;justify-items:center;gap:16px;padding:80px 0;text-align:center}.not-found-code[data-v-6b2e7fbe]{font-size:72px;font-weight:700;line-height:1;color:var(--primary-500)}.not-found-title[data-v-6b2e7fbe]{font-size:24px}.not-found-text[data-v-6b2e7fbe]{color:var(--text-muted)}
