:root{--primary: #6FBA2C;--primary-dark: #5AA124;--primary-deep: #47851C;--primary-light: #EAF5DD;--primary-ghost: #F2FAEA;--success: #67C23A;--success-light: #E8F7E1;--error: #FE3B2B;--error-light: #FFECEA;--warn: #FF8F00;--warn-light: #FFF3E0;--gold: #FFB800;--gold-light: #FFF7E0;--text-1: #1A1A2E;--text-2: #4A4A68;--text-3: #8E8EA3;--text-4: #B9B9CC;--bg: #F3F6FB;--bg-2: #F7F9FD;--card: #FFFFFF;--border: #E6EBF4;--border-light: #EFF2F8;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-card: 0 2px 12px rgba(26, 42, 80, .06);--shadow-pop: 0 12px 40px rgba(26, 42, 80, .16);--font-h1: 26px;--font-h2: 20px;--font-h3: 17px;--font-body: 15px;--font-small: 13px;--font-tiny: 12px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--text-1);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}#app{min-height:100%}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select{font-family:inherit;outline:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c9d6ea;border-radius:4px}::-webkit-scrollbar-track{background:transparent}.page{min-height:100vh;display:flex;flex-direction:column}.page-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px 16px 60px}.page-main.wide{max-width:1400px}.topbar{position:sticky;top:0;z-index:100;height:64px;background:linear-gradient(120deg,var(--primary) 0%,var(--primary-dark) 100%);box-shadow:0 2px 12px #5ea12440}.topbar-inner{max-width:1200px;height:100%;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:16px}.topbar .back-btn{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:var(--font-body);padding:6px 12px 6px 6px;border-radius:20px;transition:background .2s}.topbar .back-btn:hover{background:#ffffff2e}.topbar .back-btn .arrow{font-size:18px;line-height:1}.topbar .brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:20px;font-weight:700;letter-spacing:1px}.topbar .brand .logo{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800}.topbar .page-title{color:#fff;font-size:17px;font-weight:600;border-left:1px solid rgba(255,255,255,.35);padding-left:16px;margin-left:4px}.topbar .spacer{flex:1}.topbar .user-chip{display:flex;align-items:center;gap:10px;color:#fff;font-size:var(--font-small);background:#ffffff24;border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:5px 14px 5px 6px;cursor:pointer;transition:background .2s}.topbar .user-chip:hover{background:#ffffff3d}.topbar .avatar{width:30px;height:30px;border-radius:50%;background:#fff;color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-small);overflow:hidden}.topbar .avatar img{width:100%;height:100%;object-fit:cover}.topbar .vip-tag{background:linear-gradient(90deg,#ffb800,#ff8f00);color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:700}.card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border-light)}.card-pad{padding:24px}.card-title{display:flex;align-items:center;gap:10px;font-size:var(--font-h3);font-weight:700;color:var(--text-1);margin-bottom:16px}.card-title:before{content:"";width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,var(--primary),var(--primary-deep))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 24px;border-radius:22px;font-size:var(--font-body);font-weight:600;transition:all .2s;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{background:var(--primary-light);color:var(--primary)}.btn-ghost:hover{background:#ddf1c9}.btn-outline{border:1px solid var(--border);color:var(--text-2);background:#fff}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{filter:brightness(.95)}.btn-gold{background:linear-gradient(90deg,#ffb800,#ff8f00);color:#fff}.btn-gold:hover{filter:brightness(.97)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{filter:brightness(.95)}.btn-block{width:100%}.btn[disabled]{opacity:.5;cursor:not-allowed}.tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:12px;font-size:var(--font-tiny);font-weight:600}.tag-primary{background:var(--primary-light);color:var(--primary)}.tag-success{background:var(--success-light);color:var(--success)}.tag-error{background:var(--error-light);color:var(--error)}.tag-warn{background:var(--warn-light);color:var(--warn)}.tag-gold{background:var(--gold-light);color:var(--warn)}.tag-gray{background:var(--bg-2);color:var(--text-3)}.field{margin-bottom:20px}.field label{display:block;font-size:var(--font-small);color:var(--text-2);margin-bottom:8px;font-weight:600}.input{width:100%;height:48px;border:1px solid var(--border);border-radius:var(--radius-md);padding:0 16px;font-size:var(--font-body);background:#fff;transition:border-color .2s,box-shadow .2s;color:var(--text-1)}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6fba2c24}.input::placeholder{color:var(--text-4)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-3);gap:12px}.empty .empty-icon{width:84px;height:84px;border-radius:50%;background:var(--bg-2);display:flex;align-items:center;justify-content:center;font-size:38px;color:var(--text-4)}.loading-block{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 0;color:var(--text-3)}.spinner{width:20px;height:20px;border:3px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.segment{display:inline-flex;background:var(--bg-2);border:1px solid var(--border-light);border-radius:10px;padding:4px;gap:4px}.segment .seg-item{padding:6px 16px;border-radius:8px;font-size:var(--font-small);color:var(--text-2);font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.segment .seg-item.active{background:#fff;color:var(--primary);box-shadow:0 1px 4px #1a2a501a}.toast-wrap{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:24px;pointer-events:none}.toast-item{background:#1a1a2eeb;color:#fff;padding:10px 22px;border-radius:10px;font-size:var(--font-small);max-width:80vw;box-shadow:var(--shadow-pop);animation:toastIn .25s ease;pointer-events:auto}.toast-item.error{background:#fe3b2bf2}.toast-item.success{background:#67c23af2}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#141c2e8c;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-body{background:#fff;border-radius:20px;box-shadow:var(--shadow-pop);max-width:92vw;max-height:88vh;overflow:auto;animation:popIn .22s ease}@keyframes popIn{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.flex{display:flex;align-items:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-center{display:flex;align-items:center;justify-content:center}.flex-col{display:flex;flex-direction:column}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-error{color:var(--error)}.text-warn{color:var(--warn)}.text-gold{color:var(--gold)}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.text-4{color:var(--text-4)}.text-h1{font-size:var(--font-h1);font-weight:700}.text-h2{font-size:var(--font-h2);font-weight:700}.text-h3{font-size:var(--font-h3);font-weight:700}.text-small{font-size:var(--font-small)}.text-tiny{font-size:var(--font-tiny)}.text-center{text-align:center}.bold{font-weight:700}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
