*{box-sizing:border-box}body{color:#0f172a;background:#f5f7fb;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{min-height:100vh}.header{color:#fff;background:#0f172a;padding:16px 24px}.header-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1180px;margin:0 auto;display:flex}.brand{font-size:20px;font-weight:800}.sub{color:#64748b;font-size:13px}.header .sub{color:#cbd5e1}.container{max-width:1180px;margin:0 auto;padding:24px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 8px 22px #0f172a0a}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=900px){.grid-2,.grid-3,.grid-5{grid-template-columns:1fr}}.stat-title{color:#64748b;font-size:13px}.stat-value{margin-top:8px;font-size:30px;font-weight:800}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:14px;display:flex}.title{margin:0 0 16px;font-size:22px;font-weight:800}.small-title{font-size:16px;font-weight:800}.btn{color:#fff;background:#0f172a;border:0;border-radius:12px;padding:10px 14px;font-weight:700}.btn.secondary{color:#0f172a;background:#fff;border:1px solid #d7dce5}.btn.danger{background:#dc2626}.btn.success{background:#059669}.btn.warn{background:#d97706}.input{background:#fff;border:1px solid #d7dce5;border-radius:12px;outline:none;width:100%;padding:12px 14px}.label{color:#475569;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.badge{color:#334155;white-space:nowrap;background:#e2e8f0;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.badge.green{color:#166534;background:#dcfce7}.badge.yellow{color:#92400e;background:#fef3c7}.badge.red{color:#991b1b;background:#fee2e2}.badge.blue{color:#1e40af;background:#dbeafe}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5e7eb;padding:12px}th{color:#64748b;font-size:13px}.login-page{background:#0f172a;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-box{background:#fff;border-radius:24px;width:100%;max-width:440px;padding:28px}.tabs{gap:8px;margin:18px 0;display:flex}.tab{background:#fff;border:1px solid #d7dce5;border-radius:12px;flex:1;padding:10px;font-weight:800}.tab.active{color:#fff;background:#0f172a;border-color:#0f172a}.notice{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;font-size:13px}.error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:14px;margin-top:12px;padding:12px}.success-msg{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:14px;margin-top:12px;padding:12px}.nav{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.muted{color:#64748b}.section-hero{padding:20px}.section-head{align-items:flex-start;margin-bottom:16px}.benefit-grid{margin-top:4px}.benefit-card{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e5e7eb;border-radius:20px;flex-direction:column;justify-content:space-between;min-height:190px;padding:18px;display:flex;box-shadow:0 10px 24px #0f172a0b}.benefit-title{letter-spacing:-.02em;font-size:19px;font-weight:900}.benefit-desc{color:#64748b;margin:10px 0 0;font-size:14px;line-height:1.65}.benefit-footer{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:18px;display:flex}.benefit-points{color:#0f172a;font-size:22px;font-weight:900}.benefit-quota{color:#64748b;margin-top:4px;font-size:12px}.compact-grid{align-items:start}.compact-panel{padding:14px}.compact-head{margin-bottom:8px}.compact-title{margin:0;font-size:18px}.compact-list{flex-direction:column;gap:8px;max-height:300px;padding-right:4px;display:flex;overflow:auto}.compact-item{background:#f8fafc;border:1px solid #edf0f5;border-radius:14px;padding:10px 12px}.compact-row{justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.compact-meta{color:#64748b;margin-top:3px;font-size:12px}.compact-note{color:#334155;margin-top:6px;font-size:12px;line-height:1.5}.edit-panel{background:#eff6ff;border:1px solid #dbeafe;border-radius:18px;margin-bottom:16px;padding:16px}.textarea{resize:vertical;min-height:92px}.admin-benefit-grid{margin-top:16px}.admin-benefit-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:16px;box-shadow:0 8px 20px #0f172a09}.admin-benefit-desc{min-height:44px;line-height:1.55}.admin-benefit-stats{color:#475569;flex-wrap:wrap;gap:12px;margin:10px 0;font-size:13px;display:flex}.admin-benefit-stats span{background:#f1f5f9;border-radius:999px;padding:6px 10px}.points-overview{grid-template-columns:1.25fr 1fr;align-items:stretch;gap:16px;display:grid}.points-overview-main{color:#fff;background:radial-gradient(circle at 90% 20%,#60a5fa52,#0000 28%),linear-gradient(135deg,#0f172a 0%,#1e293b 54%,#334155 100%);border-radius:26px;min-height:172px;padding:24px;position:relative;overflow:hidden;box-shadow:0 18px 38px #0f172a29}.points-overview-main:after{content:"";border:38px solid #ffffff13;border-radius:999px;width:190px;height:190px;position:absolute;bottom:-58px;right:-42px}.points-eyebrow{color:#e2e8f0;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.points-main-value{z-index:1;letter-spacing:-.04em;margin-top:18px;font-size:52px;font-weight:950;line-height:1;position:relative}.points-main-label{z-index:1;color:#cbd5e1;margin-top:10px;font-size:15px;font-weight:800;position:relative}.points-overview-side{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stat-card{background:#fff;border:1px solid #e6ebf2;border-radius:24px;flex-direction:column;justify-content:space-between;min-height:172px;padding:20px;display:flex;box-shadow:0 12px 30px #0f172a0f}.stat-card.orange{background:linear-gradient(#fff7ed 0%,#fff 82%);border-color:#fed7aa}.stat-card.blue{background:linear-gradient(#eff6ff 0%,#fff 82%);border-color:#bfdbfe}.stat-card-top{justify-content:space-between;align-items:center;display:flex}.stat-card .stat-title{color:#334155;font-size:14px;font-weight:900}.stat-card .stat-value{letter-spacing:-.03em;color:#0f172a;margin-top:12px;font-size:38px;font-weight:950;line-height:1}.stat-hint{color:#64748b;margin-top:10px;font-size:12px;line-height:1.5}@media (width<=900px){.points-overview,.points-overview-side{grid-template-columns:1fr}.points-main-value{font-size:44px}}.anchor-table-panel{padding:20px}.anchor-table-head{align-items:flex-start;margin-bottom:12px}.anchor-summary-row{flex-wrap:wrap;gap:10px;margin:4px 0 16px;display:flex}.anchor-summary-row span{color:#64748b;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.anchor-summary-row strong{color:#0f172a;font-size:13px}.pretty-table-wrap{background:#fff;border:1px solid #e6ebf2;border-radius:18px;overflow:auto}.pretty-anchor-table{border-collapse:separate;border-spacing:0;min-width:980px}.pretty-anchor-table thead th{color:#64748b;letter-spacing:.02em;background:#f8fafc;border-bottom:1px solid #e6ebf2;padding:12px 14px;font-size:12px;font-weight:900}.pretty-anchor-table td{vertical-align:middle;border-bottom:1px solid #edf2f7;padding:14px}.pretty-anchor-table tbody tr{transition:background .16s,transform .16s}.pretty-anchor-table tbody tr:hover{background:#f8fafc}.pretty-anchor-table tbody tr:last-child td{border-bottom:0}.anchor-name-cell{align-items:center;gap:10px;min-width:150px;display:flex}.anchor-avatar{color:#fff;background:linear-gradient(135deg,#0f172a,#334155);border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:900;display:inline-flex}.anchor-name{color:#0f172a;font-weight:900}.anchor-code{color:#64748b;margin-top:2px;font-size:12px;font-weight:700}.point-mini{flex-direction:column;gap:4px;min-width:86px;display:flex}.point-mini span{color:#64748b;font-size:12px}.point-mini strong{color:#0f172a;margin-left:4px;font-size:14px}.point-mini.light{min-width:92px}.status-stack{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.anchor-action-row{flex-wrap:nowrap;gap:6px;display:flex}.anchor-action-row .btn{white-space:nowrap;border-radius:10px;padding:8px 10px;font-size:12px}@media (width<=900px){.pretty-anchor-table{min-width:920px}.anchor-table-panel{padding:16px}}.template-download-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}@media (width<=700px){.template-download-box{flex-direction:column;align-items:flex-start}}.readonly-note{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:10px 12px;font-size:13px;font-weight:700}.reward-config-panel,.redeem-center-panel{background:linear-gradient(#fff 0%,#fbfcfe 100%);border:1px solid #e8edf5;box-shadow:0 10px 28px #0f172a0d}.reward-config-head,.redeem-center-head{margin-bottom:14px}.reward-config-head .title,.redeem-center-head .title{letter-spacing:-.02em}.reward-config-head .sub,.redeem-center-head .sub{max-width:760px}.reward-grid{gap:16px}.reward-item-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #e6ebf2;border-radius:18px;box-shadow:0 10px 24px #0f172a0a}.reward-item-card .title{font-size:18px}.reward-item-card .sub{line-height:1.65}.redeem-center-panel .asset-hero,.redeem-center-panel .asset-side-card{border-radius:20px;box-shadow:0 10px 24px #0f172a0d}.reward-redeem-grid{gap:16px}.reward-redeem-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #e7edf5;border-radius:20px;transition:transform .18s,box-shadow .18s;box-shadow:0 10px 24px #0f172a0a}.reward-redeem-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px #0f172a14}.reward-redeem-card .benefit-title,.reward-redeem-card h3{letter-spacing:-.02em}.reward-redeem-card .btn{border-radius:12px}@media (width<=900px){.reward-grid,.reward-redeem-grid{gap:12px}}.login-box .notice{line-height:1.6}
