.modal-overlay[data-v-9ef13a94]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn-9ef13a94 .2s ease-out}.modal-container[data-v-9ef13a94]{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:420px;overflow:hidden;animation:slideUp-9ef13a94 .3s ease-out}.modal-header[data-v-9ef13a94]{padding:24px 24px 16px;display:flex;align-items:center;gap:12px}.modal-icon[data-v-9ef13a94]{font-size:32px;flex-shrink:0}.modal-title[data-v-9ef13a94]{margin:0;font-size:20px;font-weight:600;color:#1a1a1a;flex:1}.btn-close[data-v-9ef13a94]{width:32px;height:32px;border:none;background:#f0f0f0;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.btn-close[data-v-9ef13a94]:hover{background:#e0e0e0;transform:scale(1.1)}.modal-body[data-v-9ef13a94]{padding:0 24px 24px}.modal-message[data-v-9ef13a94]{margin:0;font-size:15px;line-height:1.6;color:#666;white-space:pre-line}.modal-footer[data-v-9ef13a94]{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end}.btn[data-v-9ef13a94]{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;min-width:80px}.btn-cancel[data-v-9ef13a94]{background:#f5f5f5;color:#666}.btn-cancel[data-v-9ef13a94]:hover{background:#e8e8e8}.btn-confirm[data-v-9ef13a94]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm[data-v-9ef13a94]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-confirm[data-v-9ef13a94]:active{transform:translateY(0)}.btn-danger[data-v-9ef13a94]{background:linear-gradient(135deg,#f093fb,#f5576c)}.btn-danger[data-v-9ef13a94]:hover{box-shadow:0 4px 12px #f5576c66}@keyframes fadeIn-9ef13a94{0%{opacity:0}to{opacity:1}}@keyframes slideUp-9ef13a94{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay[data-v-186d7235]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn-186d7235 .2s ease-out}.modal-container[data-v-186d7235]{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:480px;overflow:hidden;animation:slideUp-186d7235 .3s ease-out}.modal-header[data-v-186d7235]{padding:20px 24px 12px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #f0f0f0}.modal-icon[data-v-186d7235]{font-size:28px}.modal-title[data-v-186d7235]{margin:0;font-size:18px;font-weight:600;flex:1}.btn-close[data-v-186d7235]{width:32px;height:32px;border:none;background:#f0f0f0;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-close[data-v-186d7235]:hover{background:#e0e0e0;transform:scale(1.1)}.modal-body[data-v-186d7235]{padding:20px 24px;min-height:200px}.status-block[data-v-186d7235]{text-align:center;padding:20px 0}.status-desc[data-v-186d7235]{font-size:15px;color:#333;margin:0 0 8px;line-height:1.5}.status-tip[data-v-186d7235]{font-size:13px;color:#888;margin:0 0 8px;line-height:1.5}.status-tip a[data-v-186d7235]{color:#667eea;text-decoration:none}.status-tip a[data-v-186d7235]:hover{text-decoration:underline}.status-info[data-v-186d7235]{font-size:13px;color:#4caf50;margin:8px 0 0;word-break:break-all}.status-emoji[data-v-186d7235]{font-size:48px;margin-bottom:12px}.status-block.success[data-v-186d7235]{color:#4caf50}.status-block.fail[data-v-186d7235]{color:#f57c00}.loading-spinner[data-v-186d7235]{width:40px;height:40px;border:4px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin-186d7235 1s linear infinite;margin:0 auto 16px}@keyframes spin-186d7235{to{transform:rotate(360deg)}}.form-block[data-v-186d7235]{margin-top:16px}.form-row[data-v-186d7235]{display:flex;align-items:center;margin-bottom:12px;gap:12px}.form-row label[data-v-186d7235]{width:90px;font-size:14px;color:#666;flex-shrink:0}.form-input[data-v-186d7235]{flex:1;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;min-height:36px}.form-input[data-v-186d7235]:focus{outline:none;border-color:#667eea}.modal-footer[data-v-186d7235]{padding:12px 24px 20px;display:flex;gap:8px;justify-content:flex-end;border-top:1px solid #f0f0f0;flex-wrap:wrap}.btn[data-v-186d7235]{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;min-width:80px}.btn[data-v-186d7235]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-186d7235]{background:#f5f5f5;color:#666}.btn-cancel[data-v-186d7235]:hover{background:#e8e8e8}.btn-confirm[data-v-186d7235]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm[data-v-186d7235]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.btn-geo[data-v-186d7235]{background:linear-gradient(135deg,#11998e,#38ef7d)}.btn-geo[data-v-186d7235]:hover:not(:disabled){box-shadow:0 2px 8px #11998e4d}@keyframes fadeIn-186d7235{0%{opacity:0}to{opacity:1}}@keyframes slideUp-186d7235{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 767px){.modal-container[data-v-186d7235]{width:95%;max-width:none}.btn[data-v-186d7235]{min-width:64px;min-height:44px}.form-row[data-v-186d7235]{flex-direction:column;align-items:stretch;gap:4px}.form-row label[data-v-186d7235]{width:auto}.modal-footer[data-v-186d7235]{justify-content:stretch}.modal-footer .btn[data-v-186d7235]{flex:1}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.6;min-height:100vh}#app{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c1c1d0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8b8}button{font-family:inherit;cursor:pointer;transition:var(--transition)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:inherit;transition:var(--transition)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fade-in{animation:fadeIn .4s ease-out}.slide-up{animation:slideUp .5s ease-out}@media (max-width: 767px){input,select,textarea{font-size:16px!important;min-height:44px!important}button:not(.btn-close):not(.btn-remove-image),.btn:not(.btn-close):not(.btn-remove-image),[role=button]{min-height:44px!important}input[type=checkbox],input[type=radio]{min-height:auto!important;width:auto!important}select{padding:.5rem .6rem!important}}.geo-permission-banner{position:sticky;top:0;z-index:9998;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-bottom:1px solid #ffb74d;padding:10px 16px;display:flex;align-items:center;gap:12px;font-size:14px}.geo-permission-banner .banner-icon{font-size:20px}.geo-permission-banner .banner-text{flex:1;color:#e65100}.geo-permission-banner .banner-btn{padding:6px 16px;background:#ff9800;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.geo-permission-banner .banner-btn:hover{background:#f57c00}.geo-permission-banner .banner-close{width:24px;height:24px;background:transparent;border:none;font-size:16px;cursor:pointer;color:#666}.scan-container[data-v-d829b65e]{width:100%;max-width:500px;padding:20px;text-align:center;margin:0 auto;animation:fadeIn .4s ease-out}.header[data-v-d829b65e]{margin-bottom:20px}.header-top[data-v-d829b65e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:10px}.btn-back[data-v-d829b65e]{padding:8px 16px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:4px}.btn-back[data-v-d829b65e]:hover{background:#fff3;border-color:#ffffff80}.header h1[data-v-d829b65e]{font-size:22px;font-weight:600;margin:0;flex:1;text-align:center}.btn-logout[data-v-d829b65e]{padding:8px 16px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:var(--transition)}.btn-logout[data-v-d829b65e]:hover{background:#fff3;border-color:#ffffff80}.header p[data-v-d829b65e]{font-size:14px;color:#aaa}#reader[data-v-d829b65e]{width:100%;max-width:400px;margin:0 auto;border-radius:var(--radius-md);overflow:hidden}[data-v-d829b65e] #reader__scan_region{background:#000}[data-v-d829b65e] #reader__dashboard{background:transparent!important;border:none!important;padding:10px 0!important}[data-v-d829b65e] #reader__dashboard_section_csr button{background:var(--gradient-primary)!important;color:#fff!important;border:none!important;border-radius:25px!important;padding:10px 28px!important;font-size:15px!important;font-weight:600!important;cursor:pointer;margin:5px!important;transition:var(--transition)!important}[data-v-d829b65e] #reader__dashboard_section_csr select{background:#ffffff26!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:var(--radius-sm)!important;padding:8px!important;margin:5px!important;max-width:280px}[data-v-d829b65e] #reader__dashboard_section_csr select option{background:#333;color:#fff}[data-v-d829b65e] #reader__dashboard_section_csr span,[data-v-d829b65e] #reader__header_message,[data-v-d829b65e] #reader__status_span{color:#aaa!important;font-size:13px!important}.result-modal[data-v-d829b65e]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:1000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out}.result-content[data-v-d829b65e]{background:var(--bg-card);color:var(--text-primary);padding:30px;border-radius:var(--radius-xl);max-width:90%;width:400px;text-align:center;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}.result-content h2[data-v-d829b65e]{color:var(--success);margin-bottom:20px;font-size:22px}.result-data[data-v-d829b65e]{background:var(--bg);padding:15px;border-radius:var(--radius-md);margin:20px 0;word-break:break-all;font-family:monospace;font-size:14px;max-height:200px;overflow-y:auto}.result-format[data-v-d829b65e]{font-size:12px;color:var(--text-muted);margin-bottom:10px}.price-section[data-v-d829b65e]{background:#667eea0d;border:2px solid rgba(102,126,234,.2);border-radius:var(--radius-md);padding:20px;margin:20px 0}.price-label[data-v-d829b65e]{font-size:14px;color:var(--text-secondary);margin-bottom:10px;font-weight:600}.price-input-group[data-v-d829b65e]{display:flex;align-items:center;justify-content:center;gap:8px}.price-symbol[data-v-d829b65e]{font-size:24px;color:var(--primary);font-weight:700}.price-input[data-v-d829b65e]{width:150px;padding:10px 15px;font-size:24px;border:2px solid var(--border);border-radius:var(--radius-sm);text-align:center;outline:none;transition:var(--transition);font-weight:600;color:var(--text-primary);background:var(--bg-card)}.price-input[data-v-d829b65e]:focus{border-color:var(--primary);box-shadow:0 0 0 4px #667eea26}.price-display[data-v-d829b65e]{font-size:32px;color:var(--primary);font-weight:700;margin:10px 0}.controls[data-v-d829b65e]{display:flex;gap:15px;justify-content:center;margin-top:15px}.btn[data-v-d829b65e]{padding:12px 30px;border:none;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:var(--transition);outline:none}.btn-primary[data-v-d829b65e]{background:var(--gradient-primary);color:#fff}.btn-primary[data-v-d829b65e]:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-danger[data-v-d829b65e]{background:var(--gradient-danger);color:#fff}.btn-white-primary[data-v-d829b65e]{background:var(--gradient-primary);color:#fff}.btn-white-secondary[data-v-d829b65e]{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.status-text[data-v-d829b65e]{margin-top:15px;font-size:14px;color:#aaa}.error-tip[data-v-d829b65e]{background:#f4433626;border:1px solid rgba(244,67,54,.4);border-radius:var(--radius-md);padding:15px;margin:15px 0;font-size:13px;color:#ff8a80;text-align:left;line-height:1.6}.https-badge[data-v-d829b65e]{display:inline-block;border-radius:var(--radius-sm);padding:2px 8px;font-size:11px;margin-left:8px}.https-badge.secure[data-v-d829b65e]{background:#00c8534d;border:1px solid rgba(0,200,83,.4);color:#69f0ae}.https-badge.warning[data-v-d829b65e]{background:#f4433633;border:1px solid rgba(244,67,54,.4);color:#ff8a80}@media (max-width: 480px){.header h1[data-v-d829b65e]{font-size:18px}.btn[data-v-d829b65e]{padding:10px 20px;font-size:14px}#reader[data-v-d829b65e]{max-width:100%}}.login-container[data-v-9b909e5f]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.brand-section[data-v-9b909e5f]{text-align:center;margin-bottom:30px}.brand-logo[data-v-9b909e5f]{font-size:48px;margin-bottom:10px}.brand-name[data-v-9b909e5f]{font-size:32px;font-weight:700;color:#fff;margin:0 0 5px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.brand-slogan[data-v-9b909e5f]{font-size:14px;color:#ffffffd9;margin:0}.entry-title[data-v-9b909e5f]{text-align:center;color:#fff;font-size:18px;margin-bottom:20px;opacity:.9}.cards-wrapper[data-v-9b909e5f]{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.entry-card[data-v-9b909e5f]{background:#fffffff2;border-radius:16px;padding:30px 35px;cursor:pointer;display:flex;align-items:center;gap:20px;min-width:280px;box-shadow:0 10px 40px #00000026;transition:all .3s ease}.entry-card[data-v-9b909e5f]:hover{transform:translateY(-5px);box-shadow:0 15px 50px #0003}.card-admin[data-v-9b909e5f]{border:2px solid #667eea}.card-admin[data-v-9b909e5f]:hover{background:linear-gradient(135deg,#667eea20,#764ba220)}.card-shop[data-v-9b909e5f]{border:2px solid #f093fb}.card-shop[data-v-9b909e5f]:hover{background:linear-gradient(135deg,#f093fb20,#f5576c20)}.card-icon[data-v-9b909e5f]{font-size:40px}.card-content[data-v-9b909e5f]{flex:1}.card-title[data-v-9b909e5f]{font-size:20px;font-weight:600;color:#1a1a2e;margin:0 0 5px}.card-desc[data-v-9b909e5f]{font-size:14px;color:#666;margin:0}.card-arrow[data-v-9b909e5f]{font-size:24px;color:#999;transition:transform .3s}.entry-card:hover .card-arrow[data-v-9b909e5f]{transform:translate(5px);color:#667eea}.card-shop:hover .card-arrow[data-v-9b909e5f]{color:#f093fb}.visitor-entry[data-v-9b909e5f]{margin-top:40px;text-align:center}.btn-visitor[data-v-9b909e5f]{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border:none;color:#fff;padding:16px 60px;border-radius:30px;font-size:18px;font-weight:800;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 30px #ee5a2480;letter-spacing:1px}.btn-visitor[data-v-9b909e5f]:hover{background:linear-gradient(135deg,#ff8787,#fa5252);transform:translateY(-4px) scale(1.05);box-shadow:0 12px 40px #ee5a2499}.visitor-hint[data-v-9b909e5f]{margin-top:12px;font-size:13px;color:#ffffffb3}.login-box[data-v-9b909e5f]{background:#fff;border-radius:20px;padding:35px 40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0003}.login-shop[data-v-9b909e5f]{border-top:4px solid #f093fb}.form-header[data-v-9b909e5f]{margin-bottom:25px}.back-btn[data-v-9b909e5f]{background:none;border:none;color:#667eea;font-size:14px;cursor:pointer;padding:0;margin-bottom:15px;display:flex;align-items:center;gap:5px;transition:color .2s}.back-btn[data-v-9b909e5f]:hover{color:#764ba2}.back-arrow[data-v-9b909e5f]{font-size:16px}.form-title-group[data-v-9b909e5f]{text-align:center}.form-title[data-v-9b909e5f]{font-size:22px;font-weight:600;color:#1a1a2e;margin:0 0 5px}.form-subtitle[data-v-9b909e5f]{font-size:14px;color:#999;margin:0}.login-form[data-v-9b909e5f]{display:flex;flex-direction:column;gap:18px}.form-group[data-v-9b909e5f]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-9b909e5f]{font-size:14px;font-weight:500;color:#333}.form-group input[data-v-9b909e5f]{padding:12px 15px;border:2px solid #e8e8ef;border-radius:10px;font-size:15px;transition:border-color .2s}.form-group input[data-v-9b909e5f]:focus{outline:none;border-color:#667eea}.form-group input[data-v-9b909e5f]:disabled{background:#f5f5f5;color:#999}.password-input-wrapper[data-v-9b909e5f]{position:relative}.password-input-wrapper input[data-v-9b909e5f]{width:100%;padding-right:45px;box-sizing:border-box}.code-input-wrapper[data-v-9b909e5f]{position:relative}.code-input-wrapper input[data-v-9b909e5f]{width:100%;padding-right:45px;box-sizing:border-box}.eye-button[data-v-9b909e5f]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;cursor:pointer;padding:5px}.validation-status[data-v-9b909e5f]{font-size:12px;margin-top:2px}.validation-status.validating[data-v-9b909e5f]{color:#999}.validation-status.invalid[data-v-9b909e5f]{color:var(--danger)}.remember-me[data-v-9b909e5f]{display:flex;align-items:center}.remember-me input[type=checkbox][data-v-9b909e5f]{width:18px;height:18px;margin-right:8px;cursor:pointer}.remember-me span[data-v-9b909e5f]{font-size:14px;color:#666;cursor:pointer}.btn-login[data-v-9b909e5f]{padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-login[data-v-9b909e5f]:disabled{opacity:.7;cursor:not-allowed}.btn-admin[data-v-9b909e5f]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-admin[data-v-9b909e5f]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.btn-shop[data-v-9b909e5f]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.btn-shop[data-v-9b909e5f]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #f093fb66}.btn-fingerprint[data-v-9b909e5f]{padding:12px;background:#f0f2f5;border:2px solid #e8e8ef;border-radius:12px;font-size:15px;cursor:pointer;transition:all .2s;color:#666}.btn-fingerprint[data-v-9b909e5f]:hover:not(:disabled){background:#667eea15;border-color:#667eea;color:#667eea}.btn-change-password[data-v-9b909e5f]{background:none;border:none;color:#999;font-size:13px;cursor:pointer;padding:5px;transition:color .2s}.btn-change-password[data-v-9b909e5f]:hover:not(:disabled){color:#667eea;text-decoration:underline}.error-msg[data-v-9b909e5f]{background:#fef2f2;color:var(--danger);padding:12px 15px;border-radius:10px;font-size:14px;text-align:center}.shop-tips[data-v-9b909e5f]{text-align:center;margin-top:10px}.tip-item[data-v-9b909e5f]{font-size:13px;color:#999;margin:8px 0}.link[data-v-9b909e5f]{color:#667eea;cursor:pointer;text-decoration:none}.link[data-v-9b909e5f]:hover{text-decoration:underline}.modal-overlay[data-v-9b909e5f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-9b909e5f]{background:#fff;border-radius:16px;padding:30px;width:90%;max-width:400px;box-shadow:0 20px 60px #0000004d}.modal-title[data-v-9b909e5f]{font-size:20px;font-weight:600;color:#1a1a2e;text-align:center;margin:0 0 25px}.modal-buttons[data-v-9b909e5f]{display:flex;gap:15px;margin-top:20px}.btn-cancel[data-v-9b909e5f]{flex:1;padding:12px;background:#f5f5f5;border:none;border-radius:10px;font-size:15px;cursor:pointer;transition:background .2s}.btn-cancel[data-v-9b909e5f]:hover{background:#e8e8ef}.btn-submit[data-v-9b909e5f]{flex:1;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;font-size:15px;cursor:pointer;transition:opacity .2s}.btn-submit[data-v-9b909e5f]:disabled{opacity:.6;cursor:not-allowed}.btn-submit[data-v-9b909e5f]:hover:not(:disabled){opacity:.9}@media (max-width: 640px){.cards-wrapper[data-v-9b909e5f]{flex-direction:column;width:100%}.entry-card[data-v-9b909e5f]{min-width:100%}.login-box[data-v-9b909e5f]{padding:25px 20px}.brand-name[data-v-9b909e5f]{font-size:28px}}.home[data-v-7564a3ae]{min-height:100vh;background:var(--gradient-bg);color:var(--text-primary)}.navbar[data-v-7564a3ae]{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:var(--bg-card);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.nav-brand[data-v-7564a3ae]{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600}.logo[data-v-7564a3ae]{font-size:28px}.nav-menu[data-v-7564a3ae]{display:flex;gap:8px;align-items:center}.theme-btn[data-v-7564a3ae],.theme-swatch[data-v-7564a3ae]{background:transparent;border:1px solid var(--border-base);color:var(--text-secondary);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.theme-btn[data-v-7564a3ae]:hover{border-color:var(--accent);color:var(--accent)}.theme-btn.active[data-v-7564a3ae]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.theme-group[data-v-7564a3ae]{display:flex;gap:4px;align-items:center;padding:4px 8px;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-secondary)}.theme-swatch[data-v-7564a3ae]{width:22px;height:22px;padding:0;border-radius:50%;border:2px solid transparent;position:relative;box-shadow:0 1px 2px #00000014}.theme-swatch[data-v-7564a3ae]:hover{transform:scale(1.1);border-color:var(--text-disabled)}.theme-swatch.active[data-v-7564a3ae]{border-color:var(--text-primary);transform:scale(1.1)}.theme-swatch.active[data-v-7564a3ae]:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700;text-shadow:0 0 2px rgba(0,0,0,.5)}.variant-group[data-v-7564a3ae]{display:flex;gap:2px;padding:2px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px}.variant-btn[data-v-7564a3ae]{background:transparent;border:none;color:var(--text-secondary);padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.variant-btn[data-v-7564a3ae]:hover{color:var(--text-primary)}.variant-btn.active[data-v-7564a3ae]{background:var(--accent);color:var(--accent-text)}.admin-btn[data-v-7564a3ae]{background:var(--accent);color:var(--accent-text);border:none;padding:6px 16px;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500}.admin-btn[data-v-7564a3ae]:hover{background:var(--accent-hover)}.logout-btn[data-v-7564a3ae]{background:transparent;border:1px solid var(--danger);color:var(--danger);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500;transition:all .2s}.logout-btn[data-v-7564a3ae]:hover{background:var(--danger);color:#fff}.hero[data-v-7564a3ae]{padding:64px 32px 32px;display:flex;justify-content:center}.hero-card[data-v-7564a3ae]{max-width:720px;text-align:center;background:var(--gradient-card);padding:48px 32px;border-radius:16px;box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.hero-title[data-v-7564a3ae]{font-size:36px;font-weight:700;margin:0 0 12px;color:var(--text-primary);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle[data-v-7564a3ae]{font-size:16px;color:var(--text-secondary);margin:0 0 24px}.hero-tags[data-v-7564a3ae]{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.tag[data-v-7564a3ae]{background:var(--bg-secondary);color:var(--text-secondary);padding:4px 12px;border-radius:12px;font-size:12px;border:1px solid var(--border-light)}.grid[data-v-7564a3ae]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;padding:32px;max-width:1200px;margin:0 auto}.card[data-v-7564a3ae]{background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;padding:24px;text-align:center;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.card[data-v-7564a3ae]:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent)}.card-icon[data-v-7564a3ae]{font-size:48px;margin-bottom:12px}.card-title[data-v-7564a3ae]{font-size:18px;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.card-desc[data-v-7564a3ae]{font-size:14px;color:var(--text-secondary);margin:0}.apk-section[data-v-7564a3ae]{padding:32px;display:flex;justify-content:center}.apk-card[data-v-7564a3ae]{max-width:600px;width:100%;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;padding:32px;text-align:center;box-shadow:var(--shadow-sm)}.apk-title[data-v-7564a3ae]{font-size:22px;margin:0 0 8px;color:var(--text-primary)}.apk-desc[data-v-7564a3ae]{font-size:14px;color:var(--text-secondary);margin:0 0 20px}.apk-btn[data-v-7564a3ae]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:transform .2s}.apk-btn[data-v-7564a3ae]:hover{transform:translateY(-2px)}.footer[data-v-7564a3ae]{padding:24px 32px;text-align:center;color:var(--text-tertiary);font-size:13px;border-top:1px solid var(--border-light);background:var(--bg-card)}@media (max-width: 640px){.navbar[data-v-7564a3ae]{padding:12px 16px}.theme-group[data-v-7564a3ae],.variant-group[data-v-7564a3ae]{display:none}.hero[data-v-7564a3ae]{padding:32px 16px 16px}.hero-card[data-v-7564a3ae]{padding:32px 20px}.hero-title[data-v-7564a3ae]{font-size:24px}.grid[data-v-7564a3ae]{padding:16px;gap:12px}.apk-section[data-v-7564a3ae]{padding:16px}.theme-btn[data-v-7564a3ae]{padding:4px 10px;font-size:12px}}.toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:var(--bg-elevated);color:var(--text-primary);padding:10px 20px;border-radius:8px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);z-index:9999;font-size:14px;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.shop-container[data-v-ad1fe9fa]{min-height:100vh;background:linear-gradient(135deg,#f5f3ff,#eef2ff);display:flex;align-items:center;justify-content:center;cursor:pointer}.shop-content[data-v-ad1fe9fa]{text-align:center;padding:40px;animation:fadeIn-ad1fe9fa .5s ease}@keyframes fadeIn-ad1fe9fa{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.shop-header[data-v-ad1fe9fa]{margin-bottom:30px}.shop-header h1[data-v-ad1fe9fa]{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.shop-header p[data-v-ad1fe9fa]{font-size:14px;color:#7c3aed;margin:0}.shop-enter[data-v-ad1fe9fa]{background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:40px 60px;border-radius:24px;box-shadow:0 8px 32px #7c3aed26}.enter-icon[data-v-ad1fe9fa]{font-size:80px;margin-bottom:16px;animation:bounce-ad1fe9fa 2s ease-in-out infinite}@keyframes bounce-ad1fe9fa{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.enter-text[data-v-ad1fe9fa]{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 8px}.enter-hint[data-v-ad1fe9fa]{font-size:13px;color:#9ca3af;margin:0}.shop-home[data-v-f1583baf]{min-height:100vh;background:linear-gradient(180deg,#f5f3ff,#faf5ff);padding-bottom:80px}.search-header[data-v-f1583baf]{padding:12px 16px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #7c3aed4d}.search-bar[data-v-f1583baf]{display:flex;align-items:center;background:#fffffff2;border-radius:24px;padding:10px 16px;gap:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-icon[data-v-f1583baf]{font-size:18px;opacity:.6}.search-bar input[data-v-f1583baf]{flex:1;border:none;background:transparent;font-size:15px;color:var(--text-strong);outline:none}.search-bar input[data-v-f1583baf]::placeholder{color:var(--text-disabled)}.scan-btn[data-v-f1583baf]{font-size:20px;cursor:pointer;opacity:.7}.login-float-bar[data-v-f1583baf]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid rgba(251,191,36,.3);animation:slideDown-f1583baf .3s ease;transition:all .3s ease}.login-float-bar.hide[data-v-f1583baf]{transform:translateY(-100%);opacity:0;pointer-events:none}@keyframes slideDown-f1583baf{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.float-content[data-v-f1583baf]{display:flex;align-items:center;gap:8px}.float-icon[data-v-f1583baf]{font-size:20px;animation:bounce-f1583baf 1s infinite}@keyframes bounce-f1583baf{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.float-text[data-v-f1583baf]{font-size:14px;color:#92400e;font-weight:500}.float-btn[data-v-f1583baf]{padding:6px 16px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;border:none;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #7c3aed4d}.category-scroll[data-v-f1583baf]{padding:16px 0 12px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.category-list[data-v-f1583baf]{display:flex;gap:8px;padding:0 16px;overflow-x:auto;scrollbar-width:none}.category-list[data-v-f1583baf]::-webkit-scrollbar{display:none}.category-item[data-v-f1583baf]{display:flex;flex-direction:column;align-items:center;min-width:60px;padding:12px 8px;border-radius:16px;background:#fff9;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.category-item[data-v-f1583baf]:hover{background:#ffffffe6;transform:translateY(-2px)}.category-item.active[data-v-f1583baf]{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));border-color:transparent}.category-item.active .cat-name[data-v-f1583baf]{color:#fff}.cat-icon[data-v-f1583baf]{font-size:28px;margin-bottom:4px}.cat-name[data-v-f1583baf]{font-size:12px;color:#4b5563;font-weight:500;white-space:nowrap}.section[data-v-f1583baf]{padding:20px 16px}.section-header[data-v-f1583baf]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-f1583baf]{font-size:18px;font-weight:600;color:var(--text-strong);margin:0}.more-btn[data-v-f1583baf]{font-size:14px;color:var(--brand-primary);cursor:pointer}.recommend-scroll[data-v-f1583baf]{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.recommend-scroll[data-v-f1583baf]::-webkit-scrollbar{display:none}.recommend-card[data-v-f1583baf]{min-width:140px;background:#ffffffe6;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #00000014;cursor:pointer;transition:all .3s ease}.recommend-card[data-v-f1583baf]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #7c3aed33}.recommend-card .card-image[data-v-f1583baf]{position:relative;height:120px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center}.recommend-card .card-image img[data-v-f1583baf]{width:100%;height:100%;object-fit:cover}.recommend-card .card-image .placeholder[data-v-f1583baf]{font-size:48px}.tag-discount[data-v-f1583baf]{position:absolute;top:8px;left:8px;background:linear-gradient(135deg,var(--danger),var(--danger));color:#fff;font-size:11px;padding:3px 6px;border-radius:8px;font-weight:600}.recommend-card .card-info[data-v-f1583baf]{padding:12px}.recommend-card .product-name[data-v-f1583baf]{font-size:14px;color:var(--text-strong);margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommend-card .product-price[data-v-f1583baf]{margin:0;display:flex;align-items:baseline;gap:6px}.price-current[data-v-f1583baf]{font-size:16px;font-weight:700;color:var(--danger)}.price-original[data-v-f1583baf]{font-size:12px;color:var(--text-disabled);text-decoration:line-through}.promotion-banner[data-v-f1583baf]{margin:0 16px 20px;background:linear-gradient(135deg,#f97316,#ea580c);border-radius:20px;overflow:hidden;box-shadow:0 8px 32px #f9731666;cursor:pointer}.banner-content[data-v-f1583baf]{display:flex;padding:20px;position:relative}.banner-left h3[data-v-f1583baf]{font-size:20px;color:#fff;margin:0 0 6px;font-weight:700}.banner-left p[data-v-f1583baf]{font-size:13px;color:#ffffffe6;margin:0 0 12px}.banner-btn[data-v-f1583baf]{background:#fff;color:#f97316;border:none;padding:8px 20px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer}.banner-right[data-v-f1583baf]{flex:1;display:flex;justify-content:flex-end;align-items:center;position:relative;min-height:80px}.floating-item[data-v-f1583baf]{font-size:40px;position:absolute;animation:float-f1583baf 3s ease-in-out infinite}.floating-item.item-1[data-v-f1583baf]{right:20px;top:0;animation-delay:0s}.floating-item.item-2[data-v-f1583baf]{right:60px;top:30px;animation-delay:1s}.floating-item.item-3[data-v-f1583baf]{right:10px;bottom:0;animation-delay:2s}@keyframes float-f1583baf{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.product-grid[data-v-f1583baf]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.product-card[data-v-f1583baf]{background:#ffffffe6;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #0000000f;cursor:pointer;transition:all .3s ease}.product-card[data-v-f1583baf]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed26}.product-card .card-image[data-v-f1583baf]{position:relative;height:140px;background:linear-gradient(135deg,var(--bg-soft),var(--bg-line));display:flex;align-items:center;justify-content:center}.product-card .card-image img[data-v-f1583baf]{width:100%;height:100%;object-fit:cover}.product-card .card-image .placeholder[data-v-f1583baf]{font-size:56px;opacity:.5}.tag-hot[data-v-f1583baf]{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,var(--danger),var(--danger));color:#fff;font-size:11px;padding:3px 8px;border-radius:8px;font-weight:600}.product-card .card-info[data-v-f1583baf]{padding:12px}.product-card .product-name[data-v-f1583baf]{font-size:14px;color:var(--text-strong);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card .product-desc[data-v-f1583baf]{font-size:12px;color:var(--text-disabled);margin:0 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-bottom[data-v-f1583baf]{display:flex;justify-content:space-between;align-items:center}.card-bottom .price-current[data-v-f1583baf]{font-size:18px}.btn-add-cart[data-v-f1583baf]{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-add-cart[data-v-f1583baf]:hover{transform:scale(1.1);box-shadow:0 4px 12px #7c3aed66}.btn-add-cart.adding[data-v-f1583baf]{animation:pulse-f1583baf .5s ease}@keyframes pulse-f1583baf{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.floating-cart[data-v-f1583baf]{position:fixed;bottom:100px;right:20px;width:56px;height:56px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #7c3aed66;cursor:pointer;z-index:999;transition:all .3s ease}.floating-cart[data-v-f1583baf]:hover{transform:scale(1.1);box-shadow:0 6px 24px #7c3aed80}.floating-cart .cart-icon[data-v-f1583baf]{font-size:26px}.floating-cart .cart-count[data-v-f1583baf]{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;background:var(--danger);color:#fff;font-size:12px;font-weight:600;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px;animation:popIn-f1583baf .3s ease}@keyframes popIn-f1583baf{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.login-popup[data-v-f1583baf]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-f1583baf .2s ease}@keyframes fadeIn-f1583baf{0%{opacity:0}to{opacity:1}}.login-modal[data-v-f1583baf]{width:320px;background:#fff;border-radius:24px;padding:32px 24px;position:relative;animation:slideUp-f1583baf .3s ease;box-shadow:0 20px 60px #0003}@keyframes slideUp-f1583baf{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close[data-v-f1583baf]{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:var(--bg-soft);border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.modal-close[data-v-f1583baf]:hover{background:var(--bg-line)}.modal-header[data-v-f1583baf]{text-align:center;margin-bottom:24px}.modal-brand[data-v-f1583baf]{font-size:48px;margin-bottom:8px}.modal-title[data-v-f1583baf]{font-size:20px;font-weight:700;color:var(--text-strong);margin:0 0 4px}.modal-subtitle[data-v-f1583baf]{font-size:14px;color:var(--text-disabled);margin:0}.login-form .form-group[data-v-f1583baf]{margin-bottom:16px;position:relative}.login-form .form-group input[data-v-f1583baf]{width:100%;padding:14px 16px;border:2px solid var(--bg-line);border-radius:12px;font-size:15px;transition:all .2s ease;box-sizing:border-box}.login-form .form-group input[data-v-f1583baf]:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #7c3aed1a}.eye-btn[data-v-f1583baf]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;cursor:pointer;padding:4px}.btn-login[data-v-f1583baf]{width:100%;padding:14px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-top:8px;transition:all .2s ease}.btn-login[data-v-f1583baf]:hover:not(:disabled){box-shadow:0 4px 16px #7c3aed66}.btn-login[data-v-f1583baf]:disabled{opacity:.7;cursor:not-allowed}.login-tips[data-v-f1583baf]{text-align:center;margin-top:16px;font-size:14px;color:var(--text-muted)}.login-tips .link[data-v-f1583baf]{color:var(--brand-primary);cursor:pointer;font-weight:500}.error-tip[data-v-f1583baf]{margin-top:12px;padding:10px;background:#fef2f2;color:var(--danger);border-radius:8px;font-size:13px;text-align:center}.bottom-nav[data-v-f1583baf]{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #00000014;z-index:1000}.nav-item[data-v-f1583baf]{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 0;cursor:pointer;position:relative;transition:all .2s ease}.nav-item.active .nav-icon[data-v-f1583baf]{transform:scale(1.1)}.nav-item.active .nav-text[data-v-f1583baf]{color:var(--brand-primary);font-weight:600}.nav-icon[data-v-f1583baf]{font-size:24px;margin-bottom:2px;transition:transform .2s ease}.nav-text[data-v-f1583baf]{font-size:11px;color:var(--text-muted)}.cart-badge[data-v-f1583baf]{position:absolute;top:2px;right:calc(50% - 20px);min-width:18px;height:18px;background:var(--danger);color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.product-list-page[data-v-8d5ecf8f]{min-height:100vh;background:linear-gradient(180deg,#f5f3ff,#faf5ff);padding-bottom:20px}.header[data-v-8d5ecf8f]{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 4px 20px #7c3aed4d}.btn-back[data-v-8d5ecf8f],.btn-scan[data-v-8d5ecf8f]{width:40px;height:40px;border-radius:50%;background:#fff3;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-back[data-v-8d5ecf8f]:hover,.btn-scan[data-v-8d5ecf8f]:hover{background:#ffffff4d}.title[data-v-8d5ecf8f]{font-size:17px;font-weight:600;color:#fff;margin:0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-section[data-v-8d5ecf8f]{padding:12px 16px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-bar[data-v-8d5ecf8f]{display:flex;align-items:center;background:#f3f4f6;border-radius:24px;padding:10px 16px;gap:10px}.search-icon[data-v-8d5ecf8f]{font-size:16px;opacity:.5}.search-bar input[data-v-8d5ecf8f]{flex:1;border:none;background:transparent;font-size:14px;color:#1f2937;outline:none}.search-bar input[data-v-8d5ecf8f]::placeholder{color:#9ca3af}.clear-btn[data-v-8d5ecf8f]{font-size:14px;color:#9ca3af;cursor:pointer;padding:4px}.filter-bar[data-v-8d5ecf8f]{padding:0 16px 12px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.filter-tabs[data-v-8d5ecf8f]{display:flex;gap:8px}.filter-tab[data-v-8d5ecf8f]{padding:8px 16px;border-radius:20px;font-size:13px;color:#6b7280;background:#f3f4f6;cursor:pointer;transition:all .2s ease}.filter-tab.active[data-v-8d5ecf8f]{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-weight:600}.product-container[data-v-8d5ecf8f]{padding:12px 16px}.product-grid[data-v-8d5ecf8f]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.product-card[data-v-8d5ecf8f]{background:#fffffff2;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #0000000f;cursor:pointer;transition:all .3s ease}.product-card[data-v-8d5ecf8f]:hover{transform:translateY(-4px);box-shadow:0 12px 32px #7c3aed26}.card-image[data-v-8d5ecf8f]{position:relative;height:150px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);display:flex;align-items:center;justify-content:center}.card-image img[data-v-8d5ecf8f]{width:100%;height:100%;object-fit:cover}.card-image .placeholder[data-v-8d5ecf8f]{font-size:56px;opacity:.4}.tag-stock[data-v-8d5ecf8f]{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:11px;padding:3px 8px;border-radius:8px;font-weight:600}.card-info[data-v-8d5ecf8f]{padding:12px}.product-name[data-v-8d5ecf8f]{font-size:14px;font-weight:600;color:#1f2937;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.product-spec[data-v-8d5ecf8f]{font-size:12px;color:#9ca3af;margin:0 0 10px}.card-bottom[data-v-8d5ecf8f]{display:flex;justify-content:space-between;align-items:center}.price-info[data-v-8d5ecf8f]{display:flex;align-items:baseline}.price-current[data-v-8d5ecf8f]{font-size:18px;font-weight:700;color:#ef4444}.price-unit[data-v-8d5ecf8f]{font-size:12px;color:#9ca3af}.btn-add-cart[data-v-8d5ecf8f]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;font-size:20px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 12px #7c3aed4d}.btn-add-cart[data-v-8d5ecf8f]:hover{transform:scale(1.1)}.empty-state[data-v-8d5ecf8f]{padding:60px 20px;text-align:center}.empty-icon[data-v-8d5ecf8f]{font-size:64px;margin-bottom:16px}.empty-text[data-v-8d5ecf8f]{font-size:15px;color:#9ca3af;margin-bottom:20px}.btn-refresh[data-v-8d5ecf8f]{padding:10px 24px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer}.loading-state[data-v-8d5ecf8f]{display:flex;align-items:center;justify-content:center;padding:20px;gap:10px;color:#9ca3af;font-size:14px}.loading-spinner[data-v-8d5ecf8f]{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;animation:spin-8d5ecf8f .8s linear infinite}@keyframes spin-8d5ecf8f{to{transform:rotate(360deg)}}.no-more[data-v-8d5ecf8f]{text-align:center;padding:20px;color:#9ca3af;font-size:13px}.cart-float[data-v-8d5ecf8f]{position:fixed;right:16px;bottom:100px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 6px 24px #7c3aed66;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;animation:pulse-8d5ecf8f 2s ease-in-out infinite}.cart-icon[data-v-8d5ecf8f]{font-size:28px}.cart-count[data-v-8d5ecf8f]{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;background:#ef4444;color:#fff;font-size:12px;font-weight:700;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 6px}@keyframes pulse-8d5ecf8f{0%,to{box-shadow:0 6px 24px #7c3aed66}50%{box-shadow:0 8px 32px #7c3aed99}}.product-detail[data-v-a697513d]{min-height:100vh;background:linear-gradient(180deg,#f5f3ff,#faf5ff);padding-bottom:80px}.product-image-section[data-v-a697513d]{position:relative;background:#fff;height:350px;overflow:hidden}.main-image[data-v-a697513d]{width:100%;height:100%;display:flex}.main-image img[data-v-a697513d]{width:100%;height:100%;object-fit:cover}.btn-back[data-v-a697513d],.btn-share[data-v-a697513d]{position:absolute;top:16px;width:40px;height:40px;border-radius:50%;background:#0000004d;border:none;font-size:20px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-back[data-v-a697513d]{left:16px}.btn-share[data-v-a697513d]{right:16px}.product-info-section[data-v-a697513d]{padding:20px 16px;background:#fff;margin-bottom:8px}.price-row[data-v-a697513d]{display:flex;align-items:baseline;margin-bottom:12px}.price-current[data-v-a697513d]{font-size:28px;font-weight:700;color:#ef4444}.price-unit[data-v-a697513d]{font-size:14px;color:#9ca3af;margin-left:4px}.product-name[data-v-a697513d]{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 16px}.product-meta[data-v-a697513d]{display:flex;gap:16px}.meta-item[data-v-a697513d]{display:flex;align-items:center;gap:6px}.meta-item .label[data-v-a697513d]{font-size:12px;color:#9ca3af;background:#f3f4f6;padding:4px 8px;border-radius:8px}.meta-item .value[data-v-a697513d]{font-size:13px;color:#6b7280}.product-desc-section[data-v-a697513d]{padding:20px 16px;background:#fff;margin-bottom:8px}.section-title[data-v-a697513d]{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 12px}.desc-content[data-v-a697513d]{font-size:14px;color:#6b7280;line-height:1.8}.delivery-info[data-v-a697513d]{padding:16px;background:#fff;display:flex;gap:24px;margin-bottom:8px}.info-item[data-v-a697513d]{display:flex;align-items:center;gap:8px}.info-icon[data-v-a697513d]{font-size:18px}.info-text[data-v-a697513d]{font-size:13px;color:#6b7280}.quantity-section[data-v-a697513d]{padding:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;margin-bottom:80px}.quantity-label[data-v-a697513d]{font-size:15px;color:#1f2937;font-weight:500}.quantity-selector[data-v-a697513d]{display:flex;align-items:center;background:#f3f4f6;border-radius:8px;overflow:hidden}.btn-decrease[data-v-a697513d],.btn-increase[data-v-a697513d]{width:40px;height:36px;border:none;background:transparent;font-size:20px;color:#6b7280;cursor:pointer}.quantity-selector input[data-v-a697513d]{width:50px;height:36px;border:none;background:transparent;text-align:center;font-size:16px;color:#1f2937;outline:none}.bottom-action-bar[data-v-a697513d]{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #00000014;z-index:100}.action-icons[data-v-a697513d]{display:flex;gap:16px;margin-right:16px}.action-icon-item[data-v-a697513d]{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.action-icon-item .icon[data-v-a697513d]{font-size:22px}.action-icon-item .text[data-v-a697513d]{font-size:11px;color:#6b7280}.action-icon-item.favorited .icon[data-v-a697513d]{animation:heartBeat-a697513d .5s ease}@keyframes heartBeat-a697513d{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.action-buttons[data-v-a697513d]{flex:1;display:flex;gap:12px}.btn-add-cart[data-v-a697513d],.btn-buy-now[data-v-a697513d]{flex:1;height:44px;border:none;border-radius:22px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add-cart[data-v-a697513d]{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.btn-buy-now[data-v-a697513d]{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 4px 16px #7c3aed4d}.btn-add-cart[data-v-a697513d]:hover,.btn-buy-now[data-v-a697513d]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0003}.cart-page[data-v-5239bd0a]{min-height:100vh;background:linear-gradient(180deg,#f5f3ff,#faf5ff);padding-bottom:140px}.header[data-v-5239bd0a]{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));box-shadow:0 4px 20px #7c3aed4d}.btn-back[data-v-5239bd0a]{width:40px;height:40px;border-radius:50%;background:#fff3;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-back[data-v-5239bd0a]:hover{background:#ffffff4d}.title[data-v-5239bd0a]{font-size:17px;font-weight:600;color:#fff;margin:0}.btn-clear[data-v-5239bd0a]{font-size:14px;color:#ffffffe6;cursor:pointer}.guest-state[data-v-5239bd0a]{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:20px}.guest-content[data-v-5239bd0a]{text-align:center;padding:40px 24px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 8px 32px #00000014;animation:fadeInUp-5239bd0a .4s ease}@keyframes fadeInUp-5239bd0a{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.guest-icon[data-v-5239bd0a]{font-size:80px;margin-bottom:20px;animation:bounce-5239bd0a 2s infinite}@keyframes bounce-5239bd0a{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.guest-title[data-v-5239bd0a]{font-size:20px;font-weight:700;color:var(--text-strong);margin:0 0 8px}.guest-desc[data-v-5239bd0a]{font-size:14px;color:var(--text-disabled);margin:0 0 24px}.guest-benefits[data-v-5239bd0a]{display:flex;justify-content:center;gap:24px;margin-bottom:24px}.benefit-item[data-v-5239bd0a]{display:flex;flex-direction:column;align-items:center;gap:6px}.benefit-icon[data-v-5239bd0a]{font-size:24px}.benefit-text[data-v-5239bd0a]{font-size:12px;color:var(--text-muted)}.btn-login[data-v-5239bd0a]{width:100%;padding:14px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;border:none;border-radius:24px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:12px;box-shadow:0 4px 16px #7c3aed4d;transition:all .3s ease}.btn-login[data-v-5239bd0a]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #7c3aed66}.btn-guest[data-v-5239bd0a]{width:100%;padding:12px;background:var(--bg-soft);color:var(--text-muted);border:none;border-radius:24px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-guest[data-v-5239bd0a]:hover{background:var(--bg-line)}.empty-cart[data-v-5239bd0a]{padding:60px 20px;text-align:center}.empty-icon[data-v-5239bd0a]{font-size:80px;margin-bottom:20px;opacity:.5}.empty-text[data-v-5239bd0a]{font-size:18px;font-weight:600;color:var(--text-strong);margin:0 0 8px}.empty-hint[data-v-5239bd0a]{font-size:14px;color:var(--text-disabled);margin:0 0 24px}.btn-shopping[data-v-5239bd0a]{padding:12px 32px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #7c3aed4d}.cart-list[data-v-5239bd0a]{padding:12px 16px}.cart-item-wrapper[data-v-5239bd0a]{position:relative;margin-bottom:12px;overflow:hidden;border-radius:16px}.delete-btn[data-v-5239bd0a]{position:absolute;right:0;top:0;bottom:0;width:80px;background:var(--danger);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;cursor:pointer;opacity:0;transition:opacity .2s ease}.cart-item-wrapper:hover .delete-btn[data-v-5239bd0a]{opacity:1}.cart-item[data-v-5239bd0a]{background:#fff;padding:16px;border-radius:16px;display:flex;align-items:center;gap:12px;transition:transform .2s ease;box-shadow:0 2px 12px #0000000a}.cart-item.swipe-out[data-v-5239bd0a]{transform:translate(-80px)}.select-btn[data-v-5239bd0a]{width:24px;height:24px;flex-shrink:0}.check-icon[data-v-5239bd0a]{width:24px;height:24px;border-radius:50%;border:2px solid var(--bg-line);display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:14px}.check-icon.checked[data-v-5239bd0a]{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));border-color:transparent;color:#fff}.item-image[data-v-5239bd0a]{width:80px;height:80px;border-radius:12px;background:var(--bg-soft);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.item-image img[data-v-5239bd0a]{width:100%;height:100%;object-fit:cover}.item-image .placeholder[data-v-5239bd0a]{font-size:32px;opacity:.4}.item-info[data-v-5239bd0a]{flex:1;min-width:0;cursor:pointer}.item-name[data-v-5239bd0a]{font-size:14px;font-weight:600;color:var(--text-strong);margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-spec[data-v-5239bd0a]{font-size:12px;color:var(--text-disabled);margin:0 0 8px}.item-price .price[data-v-5239bd0a]{font-size:16px;font-weight:700;color:var(--danger)}.item-quantity[data-v-5239bd0a]{display:flex;align-items:center;gap:8px;flex-shrink:0}.item-quantity input[data-v-5239bd0a]{width:36px;text-align:center;border:1px solid var(--bg-line);border-radius:8px;padding:6px 4px;font-size:14px;font-weight:600;color:var(--text-strong);outline:none}.item-quantity input[data-v-5239bd0a]:focus{border-color:var(--brand-primary)}.btn-minus[data-v-5239bd0a],.btn-plus[data-v-5239bd0a]{width:28px;height:28px;border-radius:50%;border:none;font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-minus[data-v-5239bd0a]{background:var(--bg-soft);color:var(--text-muted)}.btn-plus[data-v-5239bd0a]{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff}.btn-minus[data-v-5239bd0a]:hover{background:var(--bg-line)}.btn-plus[data-v-5239bd0a]:hover{box-shadow:0 4px 12px #7c3aed66}.recommend-section[data-v-5239bd0a]{margin-top:24px;padding-top:24px;border-top:8px solid var(--bg-soft)}.recommend-title[data-v-5239bd0a]{font-size:16px;font-weight:600;color:var(--text-strong);margin:0 0 16px}.recommend-grid[data-v-5239bd0a]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.recommend-item[data-v-5239bd0a]{position:relative;background:#fff;border-radius:12px;overflow:hidden;cursor:pointer}.recommend-item .item-image[data-v-5239bd0a]{width:100%;height:100px}.recommend-item .item-name[data-v-5239bd0a]{font-size:12px;padding:8px 8px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommend-item .item-price[data-v-5239bd0a]{padding:0 8px 8px;font-size:14px;font-weight:700;color:var(--danger)}.recommend-item .btn-add[data-v-5239bd0a]{position:absolute;right:8px;bottom:40px;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.bottom-settle-bar[data-v-5239bd0a]{position:fixed;bottom:60px;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:12px 16px;box-shadow:0 -4px 20px #00000014;display:flex;align-items:center;gap:12px;z-index:1001}.select-all[data-v-5239bd0a]{display:flex;align-items:center;gap:8px;cursor:pointer}.select-all .label[data-v-5239bd0a]{font-size:14px;color:var(--text-muted)}.total-info[data-v-5239bd0a]{flex:1;text-align:right}.total-price .label[data-v-5239bd0a]{font-size:13px;color:var(--text-muted);margin-right:4px}.total-price .price[data-v-5239bd0a]{font-size:20px;font-weight:700;color:var(--danger)}.total-hint[data-v-5239bd0a]{font-size:12px;color:var(--text-disabled)}.btn-settle[data-v-5239bd0a]{padding:14px 24px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #7c3aed4d}.btn-settle[data-v-5239bd0a]:disabled{background:#d1d5db;box-shadow:none;cursor:not-allowed}.btn-settle[data-v-5239bd0a]:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 24px #7c3aed66}.login-popup[data-v-5239bd0a]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-5239bd0a .2s ease}@keyframes fadeIn-5239bd0a{0%{opacity:0}to{opacity:1}}.login-modal[data-v-5239bd0a]{width:320px;background:#fff;border-radius:24px;padding:32px 24px;position:relative;animation:slideUp-5239bd0a .3s ease;box-shadow:0 20px 60px #0003}@keyframes slideUp-5239bd0a{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close[data-v-5239bd0a]{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:var(--bg-soft);border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.modal-close[data-v-5239bd0a]:hover{background:var(--bg-line)}.modal-header[data-v-5239bd0a]{text-align:center;margin-bottom:24px}.modal-brand[data-v-5239bd0a]{font-size:48px;margin-bottom:8px}.modal-title[data-v-5239bd0a]{font-size:20px;font-weight:700;color:var(--text-strong);margin:0 0 4px}.modal-subtitle[data-v-5239bd0a]{font-size:14px;color:var(--text-disabled);margin:0}.login-form .form-group[data-v-5239bd0a]{margin-bottom:16px;position:relative}.login-form .form-group input[data-v-5239bd0a]{width:100%;padding:14px 16px;border:2px solid var(--bg-line);border-radius:12px;font-size:15px;transition:all .2s ease;box-sizing:border-box}.login-form .form-group input[data-v-5239bd0a]:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #7c3aed1a}.eye-btn[data-v-5239bd0a]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;cursor:pointer;padding:4px}.login-form .btn-login[data-v-5239bd0a]{width:100%;padding:14px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-top:8px;transition:all .2s ease;box-shadow:0 4px 16px #7c3aed4d}.login-form .btn-login[data-v-5239bd0a]:hover:not(:disabled){box-shadow:0 4px 16px #7c3aed66}.login-form .btn-login[data-v-5239bd0a]:disabled{opacity:.7;cursor:not-allowed}.login-tips[data-v-5239bd0a]{text-align:center;margin-top:16px;font-size:14px;color:var(--text-muted)}.login-tips .link[data-v-5239bd0a]{color:var(--brand-primary);cursor:pointer;font-weight:500}.error-tip[data-v-5239bd0a]{margin-top:12px;padding:10px;background:#fef2f2;color:var(--danger);border-radius:8px;font-size:13px;text-align:center}.bottom-nav[data-v-5239bd0a]{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #00000014;z-index:1000}.nav-item[data-v-5239bd0a]{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 0;cursor:pointer;transition:all .2s ease}.nav-item.active .nav-text[data-v-5239bd0a]{color:var(--brand-primary);font-weight:600}.nav-icon[data-v-5239bd0a]{font-size:24px;margin-bottom:2px}.nav-text[data-v-5239bd0a]{font-size:11px;color:var(--text-muted)}.member-center[data-v-ecb597bb]{min-height:100vh;background:linear-gradient(180deg,#f5f3ff,#faf5ff);padding-bottom:80px}.guest-header[data-v-ecb597bb]{position:relative;padding:0 16px 24px}.guest-bg[data-v-ecb597bb]{position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary),#c084fc);border-radius:0 0 40px 40px;box-shadow:0 8px 32px #7c3aed4d}.guest-card[data-v-ecb597bb]{position:relative;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:32px 24px;margin-top:100px;box-shadow:0 8px 32px #0000001a;text-align:center}.guest-avatar[data-v-ecb597bb]{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--bg-soft),var(--bg-line));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:40px}.guest-title[data-v-ecb597bb]{font-size:22px;font-weight:700;color:var(--text-strong);margin:0 0 8px}.guest-desc[data-v-ecb597bb]{font-size:14px;color:var(--text-disabled);margin:0 0 24px}.guest-btns[data-v-ecb597bb]{display:flex;gap:12px;justify-content:center}.btn-login-main[data-v-ecb597bb]{padding:14px 40px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;border:none;border-radius:24px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #7c3aed4d;transition:all .3s ease}.btn-login-main[data-v-ecb597bb]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #7c3aed66}.guest-benefits[data-v-ecb597bb]{display:flex;justify-content:center;gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid var(--bg-soft)}.benefit-item[data-v-ecb597bb]{display:flex;flex-direction:column;align-items:center;gap:6px}.benefit-icon[data-v-ecb597bb]{font-size:24px}.benefit-text[data-v-ecb597bb]{font-size:12px;color:var(--text-muted)}.quick-menu[data-v-ecb597bb]{margin:16px 16px 0;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #0000000f}.quick-menu .menu-item[data-v-ecb597bb]{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:background .2s ease}.quick-menu .menu-item[data-v-ecb597bb]:not(:last-child){border-bottom:1px solid var(--bg-soft)}.quick-menu .menu-item[data-v-ecb597bb]:hover{background:#f9fafb}.quick-menu .menu-icon[data-v-ecb597bb]{font-size:20px;margin-right:12px}.quick-menu .menu-text[data-v-ecb597bb]{flex:1;font-size:15px;color:var(--text-strong)}.quick-menu .menu-arrow[data-v-ecb597bb]{font-size:14px;color:var(--text-disabled)}.promo-cards[data-v-ecb597bb]{padding:16px 16px 0}.promo-card[data-v-ecb597bb]{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 16px #fbbf2433}.promo-card.promo-vip[data-v-ecb597bb]{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary))}.promo-content[data-v-ecb597bb]{display:flex;align-items:center;gap:12px}.promo-icon[data-v-ecb597bb]{font-size:28px}.promo-info h4[data-v-ecb597bb]{font-size:15px;font-weight:600;color:var(--text-strong);margin:0 0 2px}.promo-vip .promo-info h4[data-v-ecb597bb]{color:#fff}.promo-info p[data-v-ecb597bb]{font-size:12px;color:var(--text-muted);margin:0}.promo-vip .promo-info p[data-v-ecb597bb]{color:#fffc}.promo-btn[data-v-ecb597bb]{padding:8px 16px;background:#fff;color:var(--brand-primary);border-radius:20px;font-size:13px;font-weight:600}.user-header[data-v-ecb597bb]{position:relative;padding:0 16px 20px}.user-bg[data-v-ecb597bb]{position:absolute;top:0;left:0;right:0;height:160px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary),#c084fc);border-radius:0 0 40px 40px;box-shadow:0 8px 32px #7c3aed4d}.user-card[data-v-ecb597bb]{position:relative;display:flex;align-items:center;padding:24px 20px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;margin-top:100px;box-shadow:0 8px 32px #0000001a}.user-avatar[data-v-ecb597bb]{position:relative;width:70px;height:70px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--bg-soft),var(--bg-line));display:flex;align-items:center;justify-content:center;cursor:pointer}.user-avatar img[data-v-ecb597bb]{width:100%;height:100%;object-fit:cover}.user-avatar .avatar-placeholder[data-v-ecb597bb]{font-size:36px}.avatar-badge[data-v-ecb597bb]{position:absolute;bottom:0;right:0;padding:2px 6px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:8px;font-size:10px;font-weight:700;color:#fff;text-transform:uppercase}.user-info[data-v-ecb597bb]{flex:1;margin-left:16px}.nickname[data-v-ecb597bb]{font-size:20px;font-weight:700;color:var(--text-strong);margin:0 0 6px}.user-meta[data-v-ecb597bb]{display:flex;align-items:center;gap:8px}.vip-tag[data-v-ecb597bb]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:12px;font-size:12px;font-weight:600;color:#fff}.vip-icon[data-v-ecb597bb]{font-size:12px}.member-level[data-v-ecb597bb]{font-size:12px;color:var(--text-disabled);background:var(--bg-soft);padding:3px 10px;border-radius:12px}.btn-settings[data-v-ecb597bb]{width:40px;height:40px;border-radius:50%;background:var(--bg-soft);border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-settings[data-v-ecb597bb]:hover{background:var(--bg-line);transform:rotate(30deg)}.assets-section[data-v-ecb597bb]{padding:0 16px;margin-top:-10px}.asset-card[data-v-ecb597bb]{display:flex;align-items:center;padding:20px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 4px 20px #0000000f}.asset-item[data-v-ecb597bb]{flex:1;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .2s ease}.asset-item[data-v-ecb597bb]:hover{transform:scale(1.05)}.asset-value[data-v-ecb597bb]{font-size:22px;font-weight:700;color:var(--text-strong);margin-bottom:4px}.asset-label[data-v-ecb597bb]{font-size:12px;color:var(--text-disabled)}.asset-divider[data-v-ecb597bb]{width:1px;height:40px;background:var(--bg-line)}.order-section[data-v-ecb597bb]{margin:16px 16px 0;padding:16px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 4px 20px #0000000f}.section-header[data-v-ecb597bb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-ecb597bb]{font-size:16px;font-weight:600;color:var(--text-strong);margin:0}.more-btn[data-v-ecb597bb]{font-size:13px;color:var(--text-disabled);cursor:pointer}.order-tabs[data-v-ecb597bb]{display:flex;justify-content:space-around}.order-tab[data-v-ecb597bb]{display:flex;flex-direction:column;align-items:center;cursor:pointer;position:relative;transition:all .2s ease}.order-tab[data-v-ecb597bb]:hover{transform:translateY(-2px)}.tab-icon[data-v-ecb597bb]{font-size:26px;margin-bottom:6px}.tab-badge[data-v-ecb597bb]{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;background:var(--danger);color:#fff;font-size:10px;font-weight:600;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.tab-text[data-v-ecb597bb]{font-size:12px;color:var(--text-muted)}.menu-section[data-v-ecb597bb]{margin:16px 16px 0;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #0000000f}.menu-section .menu-item[data-v-ecb597bb]{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:background .2s ease}.menu-section .menu-item[data-v-ecb597bb]:not(:last-child){border-bottom:1px solid var(--bg-soft)}.menu-section .menu-item[data-v-ecb597bb]:hover{background:#f9fafb}.menu-section .menu-icon[data-v-ecb597bb]{font-size:20px;margin-right:12px}.menu-section .menu-text[data-v-ecb597bb]{flex:1;font-size:15px;color:var(--text-strong)}.menu-section .menu-arrow[data-v-ecb597bb]{font-size:14px;color:var(--text-disabled)}.logout-section[data-v-ecb597bb]{padding:24px 16px}.btn-logout[data-v-ecb597bb]{width:100%;padding:14px;background:var(--bg-soft);color:var(--text-muted);border:none;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-logout[data-v-ecb597bb]:hover{background:var(--bg-line);color:#374151}.bottom-nav[data-v-ecb597bb]{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #00000014;z-index:1000}.nav-item[data-v-ecb597bb]{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 0;cursor:pointer;transition:all .2s ease}.nav-item.active .nav-text[data-v-ecb597bb]{color:var(--brand-primary);font-weight:600}.nav-icon[data-v-ecb597bb]{font-size:24px;margin-bottom:2px}.nav-text[data-v-ecb597bb]{font-size:11px;color:var(--text-muted)}.register-container[data-v-b97cc654]{min-height:100vh;background:linear-gradient(135deg,#f093fb,#f5576c)}.register-header[data-v-b97cc654]{background:#fffffff2;padding:20px;text-align:center}.back-btn[data-v-b97cc654]{background:none;border:none;color:#f093fb;font-size:14px;cursor:pointer;margin-bottom:15px;display:inline-block}.back-btn[data-v-b97cc654]:hover{color:#f5576c}.register-header h1[data-v-b97cc654]{font-size:22px;color:#1a1a2e;margin:0 0 5px}.register-header p[data-v-b97cc654]{font-size:14px;color:#999;margin:0}.register-content[data-v-b97cc654]{padding:30px 20px}.register-form[data-v-b97cc654]{background:#fffffff2;border-radius:16px;padding:30px 25px}.form-group[data-v-b97cc654]{margin-bottom:20px}.form-group label[data-v-b97cc654]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-group input[data-v-b97cc654]{width:100%;padding:12px 15px;border:2px solid #f0f0f0;border-radius:10px;font-size:15px;box-sizing:border-box;transition:border-color .2s}.form-group input[data-v-b97cc654]:focus{outline:none;border-color:#f093fb}.password-input-wrapper[data-v-b97cc654]{position:relative}.password-input-wrapper input[data-v-b97cc654]{padding-right:45px}.eye-button[data-v-b97cc654]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;cursor:pointer;padding:5px}.error-msg[data-v-b97cc654]{background:#fef2f2;color:#ef4444;padding:12px 15px;border-radius:10px;font-size:14px;text-align:center;margin-bottom:15px}.btn-register[data-v-b97cc654]{width:100%;padding:14px;background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-register[data-v-b97cc654]:disabled{opacity:.6;cursor:not-allowed}.btn-register[data-v-b97cc654]:hover:not(:disabled){opacity:.9}.login-link[data-v-b97cc654]{text-align:center;margin-top:20px;font-size:14px;color:#999}.link[data-v-b97cc654]{color:#f093fb;cursor:pointer;text-decoration:none}.link[data-v-b97cc654]:hover{text-decoration:underline}.coming-soon[data-v-3123ee48]{min-height:100vh;background:linear-gradient(135deg,#f5f3ff,#eef2ff);display:flex;align-items:center;justify-content:center;padding:20px}.content[data-v-3123ee48]{text-align:center;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:60px 40px;border-radius:24px;box-shadow:0 8px 32px #7c3aed26;max-width:320px;width:100%;animation:fadeIn-3123ee48 .5s ease}@keyframes fadeIn-3123ee48{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.icon[data-v-3123ee48]{font-size:80px;margin-bottom:24px;animation:bounce-3123ee48 2s ease-in-out infinite}@keyframes bounce-3123ee48{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}h1[data-v-3123ee48]{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 12px}p[data-v-3123ee48]{font-size:14px;color:#6b7280;margin:0 0 8px}.hint[data-v-3123ee48]{color:#7c3aed;font-weight:600;font-size:16px;margin-bottom:24px!important}.btn-back[data-v-3123ee48]{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;padding:12px 32px;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #7c3aed4d}.btn-back[data-v-3123ee48]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #7c3aed66}.coupon-page[data-v-9a03f9b6]{min-height:100vh;background:var(--bg);padding-bottom:80px;animation:fadeIn .4s ease-out}.header[data-v-9a03f9b6]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.btn-back[data-v-9a03f9b6]{display:flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;font-size:.85rem;cursor:pointer}.header h2[data-v-9a03f9b6]{margin:0;font-size:1.3rem;font-weight:600}.header-right[data-v-9a03f9b6]{width:80px}.action-bar[data-v-9a03f9b6]{display:flex;gap:.8rem;padding:1rem;background:var(--bg-card);margin:1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.btn-add[data-v-9a03f9b6],.btn-refresh[data-v-9a03f9b6]{flex:1;padding:.8rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.95rem;font-weight:500;transition:var(--transition)}.btn-add[data-v-9a03f9b6]{background:var(--gradient-primary);color:#fff}.btn-add[data-v-9a03f9b6]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-refresh[data-v-9a03f9b6]{border:1px solid var(--border);background:var(--bg);color:var(--text-secondary)}.btn-refresh[data-v-9a03f9b6]:hover{background:var(--border);transform:translateY(-2px)}.filter-section[data-v-9a03f9b6]{background:var(--bg-card);padding:1rem 1.2rem;margin:0 1rem 1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.filter-row[data-v-9a03f9b6]{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;width:100%}.filter-item[data-v-9a03f9b6]{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.filter-item.search-input-wrap[data-v-9a03f9b6]{flex:1;min-width:200px}.filter-item input[data-v-9a03f9b6],.filter-item select[data-v-9a03f9b6]{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem}.btn-search[data-v-9a03f9b6],.btn-reset[data-v-9a03f9b6]{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem}.btn-search[data-v-9a03f9b6]{background:var(--gradient-primary);color:#fff}.btn-reset[data-v-9a03f9b6]{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.coupon-list-container[data-v-9a03f9b6]{padding:0 1rem}.loading[data-v-9a03f9b6],.empty-state[data-v-9a03f9b6]{text-align:center;padding:3rem;color:var(--text-muted)}.btn-add-first[data-v-9a03f9b6]{margin-top:1rem;padding:.8rem 2rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}.coupon-list[data-v-9a03f9b6]{display:flex;flex-direction:column;gap:.8rem}.coupon-card[data-v-9a03f9b6]{background:var(--bg-card);border-radius:var(--radius-md);padding:1rem 1.2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:var(--transition)}.coupon-card[data-v-9a03f9b6]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-title-row[data-v-9a03f9b6]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.coupon-name[data-v-9a03f9b6]{margin:0;font-size:1.05rem;font-weight:600;flex:1}.type-badge[data-v-9a03f9b6]{padding:.2rem .6rem;border-radius:20px;font-size:.72rem;font-weight:600;white-space:nowrap}.type-1[data-v-9a03f9b6]{background:#fef3c7;color:#92400e}.type-2[data-v-9a03f9b6]{background:#ddd6fe;color:#5b21b6}.type-3[data-v-9a03f9b6]{background:#fed7aa;color:#9a3412}.type-4[data-v-9a03f9b6]{background:#d1fae5;color:#065f46}.card-divider[data-v-9a03f9b6]{height:1px;background:var(--border);margin:.8rem 0}.card-info[data-v-9a03f9b6]{display:flex;flex-direction:column;gap:.4rem}.info-row[data-v-9a03f9b6]{display:flex;align-items:center;gap:.4rem;font-size:.88rem}.info-icon[data-v-9a03f9b6]{flex-shrink:0}.info-label[data-v-9a03f9b6]{color:var(--text-secondary);min-width:3em}.info-value[data-v-9a03f9b6]{color:var(--text-primary);flex:1}.info-row.description .info-value[data-v-9a03f9b6]{color:var(--text-secondary);font-style:italic}.sold-out[data-v-9a03f9b6]{color:#dc2626;font-weight:600;margin-left:.4rem}.card-actions[data-v-9a03f9b6]{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.status-badge[data-v-9a03f9b6]{padding:.2rem .6rem;border-radius:20px;font-size:.78rem;font-weight:600}.status-enabled[data-v-9a03f9b6]{background:#d1fae5;color:#065f46}.status-disabled[data-v-9a03f9b6]{background:#fee2e2;color:#991b1b}.actions[data-v-9a03f9b6]{display:flex;gap:.6rem}.btn-edit[data-v-9a03f9b6],.btn-delete[data-v-9a03f9b6]{padding:.5rem .8rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;transition:var(--transition)}.btn-edit[data-v-9a03f9b6]{background:#dbeafe;color:#1e40af}.btn-edit[data-v-9a03f9b6]:hover{background:#bfdbfe}.btn-delete[data-v-9a03f9b6]{background:#fee2e2;color:#991b1b}.btn-delete[data-v-9a03f9b6]:hover{background:#fecaca}.pagination[data-v-9a03f9b6]{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:1rem;margin:1rem;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border)}.btn-page[data-v-9a03f9b6]{padding:.4rem .8rem;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);cursor:pointer}.btn-page[data-v-9a03f9b6]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-9a03f9b6]{font-size:.9rem}.total-info[data-v-9a03f9b6]{color:var(--text-muted);font-size:.85rem}.modal-overlay[data-v-9a03f9b6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-container[data-v-9a03f9b6]{background:var(--bg-card);border-radius:var(--radius-md);width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d}.modal-header[data-v-9a03f9b6]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}.modal-header h2[data-v-9a03f9b6]{margin:0;font-size:1.1rem}.btn-close[data-v-9a03f9b6]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);padding:0 .5rem}.modal-body[data-v-9a03f9b6]{padding:1.2rem;overflow-y:auto;display:flex;flex-direction:column;gap:.8rem}.form-group[data-v-9a03f9b6]{display:flex;flex-direction:column;gap:.3rem}.form-group label[data-v-9a03f9b6]{font-size:.85rem;color:var(--text-secondary);font-weight:500}.form-group input[data-v-9a03f9b6],.form-group select[data-v-9a03f9b6],.form-group textarea[data-v-9a03f9b6]{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;background:var(--bg);color:var(--text-primary)}.form-group input[data-v-9a03f9b6]:disabled{opacity:.6;cursor:not-allowed}.form-group .hint[data-v-9a03f9b6]{font-size:.75rem;color:var(--text-muted)}.modal-footer[data-v-9a03f9b6]{display:flex;gap:.6rem;padding:1rem 1.2rem;border-top:1px solid var(--border)}.btn[data-v-9a03f9b6]{flex:1;padding:.7rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;font-weight:500}.btn-cancel[data-v-9a03f9b6]{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.btn-confirm[data-v-9a03f9b6]{background:var(--gradient-primary);color:#fff}@media (max-width: 600px){.header[data-v-9a03f9b6]{padding:.8rem}.header h2[data-v-9a03f9b6]{font-size:1.1rem}.btn-back[data-v-9a03f9b6]{padding:.3rem .6rem;font-size:.8rem}.header-right[data-v-9a03f9b6]{width:60px}.action-bar[data-v-9a03f9b6]{flex-direction:column;gap:.5rem;margin:.5rem;padding:.8rem}.btn-add[data-v-9a03f9b6],.btn-refresh[data-v-9a03f9b6]{padding:.7rem;font-size:.9rem}.filter-section[data-v-9a03f9b6]{padding:.8rem;margin:0 .5rem .8rem}.filter-row[data-v-9a03f9b6]{gap:.5rem}.filter-item.search-input-wrap[data-v-9a03f9b6]{min-width:0;flex:1 1 100%}.filter-item input[data-v-9a03f9b6],.filter-item select[data-v-9a03f9b6]{padding:.5rem .6rem;font-size:16px;min-height:44px}.btn-search[data-v-9a03f9b6],.btn-reset[data-v-9a03f9b6]{padding:.5rem .8rem;font-size:.9rem;min-height:44px}.coupon-list-container[data-v-9a03f9b6]{padding:0 .5rem}.coupon-card[data-v-9a03f9b6]{padding:.8rem}.card-title-row[data-v-9a03f9b6]{flex-wrap:wrap;gap:.3rem}.coupon-name[data-v-9a03f9b6]{font-size:.95rem}.type-badge[data-v-9a03f9b6]{font-size:.68rem;padding:.15rem .5rem}.info-row[data-v-9a03f9b6]{font-size:.82rem}.info-label[data-v-9a03f9b6]{min-width:4em}.card-actions[data-v-9a03f9b6]{flex-direction:column;align-items:stretch;gap:.4rem}.card-actions>button[data-v-9a03f9b6]{width:100%;padding:.5rem;font-size:.85rem}.modal-overlay[data-v-9a03f9b6]{padding:.5rem}.modal-container[data-v-9a03f9b6]{width:95%;max-height:95vh}.modal-header[data-v-9a03f9b6]{padding:.8rem 1rem}.modal-body[data-v-9a03f9b6]{padding:1rem;gap:.6rem}.modal-footer[data-v-9a03f9b6]{padding:.8rem 1rem;gap:.5rem}.btn[data-v-9a03f9b6]{padding:.6rem;font-size:.9rem}.pagination[data-v-9a03f9b6]{padding:.5rem;margin:.5rem;gap:.4rem;flex-wrap:wrap}.btn-page[data-v-9a03f9b6]{padding:.3rem .6rem;font-size:.8rem}.page-info[data-v-9a03f9b6],.total-info[data-v-9a03f9b6]{font-size:.8rem}}.btn[data-v-9a03f9b6]:disabled{opacity:.6;cursor:not-allowed}.load-more-status[data-v-9a03f9b6]{text-align:center;padding:1.5rem 1rem;color:var(--text-muted);font-size:.9rem}.loading-more-text[data-v-9a03f9b6]{animation:pulse-9a03f9b6 1.5s ease-in-out infinite}@keyframes pulse-9a03f9b6{0%,to{opacity:1}50%{opacity:.5}}.shop-coupon-page[data-v-db9df477]{min-height:100vh;background:var(--bg, #f5f5f5);padding-bottom:30px;animation:fadeIn-db9df477 .4s ease-out}.header[data-v-db9df477]{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #ee5a524d}.btn-back[data-v-db9df477]{background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;padding:.4rem .8rem;cursor:pointer;font-size:.85rem}.header h2[data-v-db9df477]{margin:0;font-size:1.1rem;font-weight:600;flex:1;text-align:center}.tab-bar[data-v-db9df477]{display:flex;background:#fff;border-bottom:1px solid #eee;position:sticky;top:56px;z-index:99}.tab-item[data-v-db9df477]{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.9rem .5rem;cursor:pointer;color:#666;font-size:.95rem;font-weight:500;position:relative;transition:color .2s}.tab-item.active[data-v-db9df477]{color:#ee5a52;font-weight:600}.tab-item.active[data-v-db9df477]:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:30px;height:3px;background:#ee5a52;border-radius:2px}.tab-icon[data-v-db9df477]{font-size:1.1rem}.tab-badge[data-v-db9df477]{background:#ee5a52;color:#fff;font-size:.7rem;padding:.05rem .4rem;border-radius:8px;font-weight:600;min-width:18px;text-align:center}.sub-tab-bar[data-v-db9df477]{display:flex;background:#fff;padding:.5rem .75rem;gap:.4rem;overflow-x:auto;border-bottom:1px solid #f0f0f0}.sub-tab-item[data-v-db9df477]{padding:.4rem .9rem;border-radius:20px;font-size:.85rem;color:#666;background:#f5f5f5;cursor:pointer;white-space:nowrap;transition:all .2s}.sub-tab-item.active[data-v-db9df477]{background:#ee5a52;color:#fff;font-weight:500}.coupon-list[data-v-db9df477]{padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.coupon-card[data-v-db9df477]{display:flex;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 6px #0000000f;position:relative;min-height:110px;transition:transform .2s}.coupon-card[data-v-db9df477]:active{transform:scale(.99)}.coupon-card.status-1[data-v-db9df477],.coupon-card.status-2[data-v-db9df477],.coupon-card.status-3[data-v-db9df477]{opacity:.6}.coupon-card.sold-out[data-v-db9df477]{opacity:.5}.coupon-left[data-v-db9df477]{flex:0 0 100px;background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;text-align:center}.coupon-card.type-2 .coupon-left[data-v-db9df477]{background:linear-gradient(135deg,#f093fb,#f5576c)}.coupon-card.type-3 .coupon-left[data-v-db9df477]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.coupon-card.type-4 .coupon-left[data-v-db9df477]{background:linear-gradient(135deg,#43e97b,#38f9d7)}.coupon-left .amount[data-v-db9df477]{display:flex;align-items:baseline;gap:.1rem;line-height:1}.coupon-left .currency[data-v-db9df477]{font-size:.9rem;font-weight:500}.coupon-left .value[data-v-db9df477]{font-size:1.8rem;font-weight:700}.coupon-left .condition[data-v-db9df477]{font-size:.7rem;margin-top:.3rem;opacity:.95}.coupon-left[data-v-db9df477]:after{content:"";position:absolute;left:100px;top:0;bottom:0;width:6px;background-image:radial-gradient(circle at 3px 6px,white 3px,transparent 3.5px);background-size:6px 12px;background-position:0 0}.coupon-middle[data-v-db9df477]{flex:1;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.25rem;min-width:0}.coupon-name[data-v-db9df477]{font-size:.95rem;font-weight:600;color:#222;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.coupon-type[data-v-db9df477]{display:flex;gap:.3rem;align-items:center}.type-badge[data-v-db9df477]{font-size:.7rem;padding:.1rem .5rem;border-radius:4px;font-weight:500}.badge-1[data-v-db9df477]{background:#ffe7e7;color:#d63031}.badge-2[data-v-db9df477]{background:#fde7f3;color:#c4307b}.badge-3[data-v-db9df477]{background:#e0f4ff;color:#1976d2}.badge-4[data-v-db9df477]{background:#e0f9ed;color:#1b9e4b}.status-badge[data-v-db9df477]{font-size:.7rem;padding:.1rem .5rem;border-radius:4px}.status-badge.status-0[data-v-db9df477]{background:#fff3cd;color:#856404}.status-badge.status-1[data-v-db9df477]{background:#d1ecf1;color:#0c5460}.status-badge.status-2[data-v-db9df477]{background:#e2e3e5;color:#6c757d}.status-badge.status-3[data-v-db9df477]{background:#f8d7da;color:#721c24}.coupon-desc[data-v-db9df477]{font-size:.75rem;color:#888;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.coupon-meta[data-v-db9df477]{display:flex;flex-direction:column;gap:.1rem;margin-top:auto}.meta-item[data-v-db9df477]{font-size:.7rem;color:#999}.meta-item.expired[data-v-db9df477]{color:#c0392b;font-weight:500}.meta-item.invalid[data-v-db9df477]{color:#95a5a6;font-weight:500}.coupon-right[data-v-db9df477]{flex:0 0 80px;display:flex;align-items:center;justify-content:center;padding:.5rem}.btn-claim[data-v-db9df477]{background:linear-gradient(135deg,#ee5a52,#d63031);color:#fff;border:none;border-radius:24px;padding:.55rem .3rem;font-size:.8rem;font-weight:600;cursor:pointer;width:100%;text-align:center;white-space:nowrap;transition:all .2s;box-shadow:0 2px 6px #ee5a524d}.btn-claim[data-v-db9df477]:active{transform:scale(.96)}.btn-claim.claimed[data-v-db9df477]{background:#e0e0e0;color:#999;box-shadow:none;cursor:not-allowed}.btn-claim.disabled[data-v-db9df477]{background:#bdc3c7;color:#fff;box-shadow:none;cursor:not-allowed}.btn-claim.use-btn[data-v-db9df477]{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;box-shadow:0 2px 6px #43e97b4d}.status-text[data-v-db9df477]{font-size:.85rem;font-weight:500}.status-text-1[data-v-db9df477]{color:#17a2b8}.status-text-2[data-v-db9df477]{color:#95a5a6}.status-text-3[data-v-db9df477]{color:#c0392b}.loading[data-v-db9df477]{text-align:center;padding:3rem 1rem;color:#999}.loading-spinner[data-v-db9df477]{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#ee5a52;border-radius:50%;margin:0 auto .75rem;animation:spin-db9df477 .8s linear infinite}@keyframes spin-db9df477{to{transform:rotate(360deg)}}.empty[data-v-db9df477]{text-align:center;padding:4rem 1rem;color:#999}.empty-icon[data-v-db9df477]{font-size:3rem;display:block;margin-bottom:.75rem}.empty-hint[data-v-db9df477]{font-size:.85rem;color:#bbb;margin-top:.3rem}.toast[data-v-db9df477]{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:.7rem 1.2rem;border-radius:24px;font-size:.9rem;z-index:9999;max-width:80%;text-align:center;box-shadow:0 4px 12px #0003}.toast-success[data-v-db9df477]{background:#2ecc71f2}.toast-error[data-v-db9df477]{background:#e74c3cf2}.toast-warning[data-v-db9df477]{background:#f1c40ff2;color:#2c3e50}.toast-info[data-v-db9df477]{background:#34495ef2}.toast-fade-enter-active[data-v-db9df477],.toast-fade-leave-active[data-v-db9df477]{transition:all .3s}.toast-fade-enter-from[data-v-db9df477],.toast-fade-leave-to[data-v-db9df477]{opacity:0;transform:translate(-50%) translateY(20px)}@media (min-width: 768px){.header[data-v-db9df477]{padding:1rem 1.5rem}.coupon-list[data-v-db9df477]{max-width:720px;margin:0 auto}.coupon-card[data-v-db9df477]{min-height:120px}.coupon-left[data-v-db9df477]{flex:0 0 120px}.coupon-right[data-v-db9df477]{flex:0 0 90px}}@keyframes fadeIn-db9df477{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scanner-modal[data-v-ba0eecc0]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center}.scanner-overlay[data-v-ba0eecc0]{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.scanner-container[data-v-ba0eecc0]{position:relative;width:90%;max-width:600px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp-ba0eecc0 .3s ease-out}@keyframes slideUp-ba0eecc0{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.scanner-header[data-v-ba0eecc0]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.scanner-header h3[data-v-ba0eecc0]{margin:0;font-size:1.2rem}.btn-close[data-v-ba0eecc0]{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s}.btn-close[data-v-ba0eecc0]:hover{background:#ffffff4d;transform:rotate(90deg)}.scanner-content[data-v-ba0eecc0]{position:relative;width:100%;height:500px;background:#000;overflow:hidden}#reader[data-v-ba0eecc0]{width:100%;height:100%}#reader video[data-v-ba0eecc0]{width:100%;height:100%;object-fit:cover}.scan-frame[data-v-ba0eecc0]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:320px;height:180px;border:2px solid transparent}.scan-line[data-v-ba0eecc0]{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00ff00,transparent);box-shadow:0 0 10px #0f0,0 0 20px #0f0;animation:scanMove-ba0eecc0 2s linear infinite}@keyframes scanMove-ba0eecc0{0%{top:0}50%{top:calc(100% - 2px)}to{top:0}}.corner[data-v-ba0eecc0]{position:absolute;width:20px;height:20px;border-color:#0f0;border-style:solid;border-width:0;box-shadow:0 0 10px #0f0}.corner-tl[data-v-ba0eecc0]{top:0;left:0;border-top-width:3px;border-left-width:3px;border-top-left-radius:8px}.corner-tr[data-v-ba0eecc0]{top:0;right:0;border-top-width:3px;border-right-width:3px;border-top-right-radius:8px}.corner-bl[data-v-ba0eecc0]{bottom:0;left:0;border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:8px}.corner-br[data-v-ba0eecc0]{bottom:0;right:0;border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:8px}.scan-hint[data-v-ba0eecc0]{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.8)}.scan-hint p[data-v-ba0eecc0]{margin:.5rem 0;font-size:1rem}.hint-sub[data-v-ba0eecc0]{font-size:.85rem;opacity:.8}.scanner-footer[data-v-ba0eecc0]{display:flex;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-top:1px solid #e9ecef}.btn-switch-camera[data-v-ba0eecc0],.btn-manual[data-v-ba0eecc0]{flex:1;padding:.8rem;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .3s}.btn-switch-camera[data-v-ba0eecc0]{background:#667eea;color:#fff}.btn-switch-camera[data-v-ba0eecc0]:hover{background:#5568d3;transform:translateY(-2px)}.btn-manual[data-v-ba0eecc0]{background:#f59e0b;color:#fff}.btn-manual[data-v-ba0eecc0]:hover{background:#d97706;transform:translateY(-2px)}.manual-input-overlay[data-v-ba0eecc0]{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-ba0eecc0 .2s ease-out}@keyframes fadeIn-ba0eecc0{0%{opacity:0}to{opacity:1}}.manual-input-card[data-v-ba0eecc0]{width:85%;max-width:380px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp-ba0eecc0 .3s ease-out}.manual-input-header[data-v-ba0eecc0]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.manual-input-header h3[data-v-ba0eecc0]{margin:0;font-size:1.1rem}.manual-input-body[data-v-ba0eecc0]{padding:1.5rem}.manual-input-hint[data-v-ba0eecc0]{margin:0 0 1rem;font-size:.9rem;color:#666}.manual-input[data-v-ba0eecc0]{width:100%;padding:.8rem 1rem;font-size:1.1rem;border:2px solid #ddd;border-radius:8px;outline:none;transition:all .3s;box-sizing:border-box}.manual-input[data-v-ba0eecc0]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.manual-input[data-v-ba0eecc0]::placeholder{color:#bbb}.manual-input-footer[data-v-ba0eecc0]{display:flex;gap:.8rem;padding:0 1.5rem 1.5rem}.btn-manual-cancel[data-v-ba0eecc0],.btn-manual-confirm[data-v-ba0eecc0]{flex:1;padding:.7rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s}.btn-manual-cancel[data-v-ba0eecc0]{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-manual-cancel[data-v-ba0eecc0]:hover{background:#e8e8e8}.btn-manual-confirm[data-v-ba0eecc0]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-manual-confirm[data-v-ba0eecc0]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-manual-confirm[data-v-ba0eecc0]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.scanner-container[data-v-ba0eecc0]{width:95%;max-height:90vh}.scanner-content[data-v-ba0eecc0]{height:450px}.scan-frame[data-v-ba0eecc0]{width:300px;height:170px}}.warehouse-container[data-v-eb7d7200]{min-height:100vh;background:var(--bg);animation:fadeIn .4s ease-out}.header[data-v-eb7d7200]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:10}.btn-back[data-v-eb7d7200]{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;transition:var(--transition)}.btn-back[data-v-eb7d7200]:hover{background:#ffffff4d;transform:translate(-2px)}.header h1[data-v-eb7d7200]{margin:0;font-size:1.3rem;font-weight:600}.placeholder[data-v-eb7d7200]{width:80px}.tabs[data-v-eb7d7200]{display:flex;background:var(--bg-card);padding:.5rem .5rem 0;gap:.25rem;position:sticky;top:56px;z-index:9;box-shadow:0 1px 3px #0000000f}.tab-btn[data-v-eb7d7200]{flex:1;padding:.8rem 1rem;border:none;background:transparent;cursor:pointer;font-size:.95rem;color:var(--text-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:var(--transition);position:relative;font-weight:500}.tab-btn[data-v-eb7d7200]:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:3px;background:var(--gradient-primary);border-radius:3px 3px 0 0;transition:var(--transition)}.tab-btn.active[data-v-eb7d7200]{color:var(--primary);background:#667eea0d}.tab-btn.active[data-v-eb7d7200]:after{width:60%}.tab-btn[data-v-eb7d7200]:hover:not(.active){color:var(--primary);background:#667eea08}.tab-content[data-v-eb7d7200]{padding:1rem;animation:fadeIn .3s ease-out}.search-bar[data-v-eb7d7200]{display:flex;gap:.5rem;margin-bottom:1rem}.search-bar input[data-v-eb7d7200]{flex:1;padding:.8rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;transition:var(--transition);background:var(--bg-card)}.search-bar input[data-v-eb7d7200]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #667eea1a}.btn-scan[data-v-eb7d7200]{padding:.8rem 1.2rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;transition:var(--transition);white-space:nowrap}.btn-scan[data-v-eb7d7200]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.category-section[data-v-eb7d7200]{margin-bottom:1.2rem}.category-header[data-v-eb7d7200]{display:flex;align-items:center;justify-content:space-between;padding:.6rem .2rem;margin-bottom:.6rem;border-bottom:2px solid var(--border);position:sticky;top:110px;background:var(--bg);z-index:5}.category-title[data-v-eb7d7200]{font-size:1.05rem;font-weight:700;color:var(--primary);display:inline-flex;align-items:center;gap:.4rem}.category-title[data-v-eb7d7200]:before{content:"▎";color:var(--primary);font-size:1.1rem}.category-count[data-v-eb7d7200]{font-size:.85rem;color:var(--text-muted);background:#6366f114;padding:2px 10px;border-radius:12px;font-weight:500}.empty-state[data-v-eb7d7200]{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-icon[data-v-eb7d7200]{font-size:3rem;margin-bottom:.5rem;opacity:.6}.empty-state p[data-v-eb7d7200]{font-size:.95rem;margin:0}.product-list[data-v-eb7d7200]{display:flex;flex-direction:column;gap:.8rem}.product-item[data-v-eb7d7200]{background:var(--bg-card);padding:1rem 1.2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;transition:var(--transition);border:1px solid var(--border)}.product-item[data-v-eb7d7200]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--primary-light)}.product-info h3[data-v-eb7d7200]{margin:0 0 .3rem;color:var(--text-primary);font-size:1.05rem}.barcode[data-v-eb7d7200]{color:var(--text-muted);font-size:.88rem;margin:0 0 .4rem}.barcode-tag[data-v-eb7d7200]{font-family:Courier New,monospace;background:#6366f114;padding:1px 6px;border-radius:3px;margin-right:2px}.product-details[data-v-eb7d7200]{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.82rem;color:var(--text-muted)}.product-stock[data-v-eb7d7200]{text-align:right;flex-shrink:0}.stock-quantity[data-v-eb7d7200]{font-size:1.4rem;font-weight:700;color:var(--primary);margin-bottom:.3rem}.stock-quantity.low[data-v-eb7d7200]{color:var(--danger);animation:pulse 1.5s ease-in-out infinite}.stock-price[data-v-eb7d7200]{font-size:.82rem;color:var(--text-secondary)}.purchase-form[data-v-eb7d7200]{background:var(--bg-card);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border)}.form-group[data-v-eb7d7200]{margin-bottom:1rem}.form-group label[data-v-eb7d7200]{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;font-size:.92rem}.form-group input[data-v-eb7d7200],.form-group textarea[data-v-eb7d7200]{width:100%;padding:.8rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:var(--transition);background:var(--bg-card)}.form-group input[data-v-eb7d7200]:focus,.form-group textarea[data-v-eb7d7200]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #667eea1a}.input-with-btn[data-v-eb7d7200]{display:flex;gap:.5rem}.input-with-btn input[data-v-eb7d7200]{flex:1}.barcode-lookup[data-v-eb7d7200]{margin-top:.5rem;padding:.6rem .8rem;border-radius:var(--radius-sm);font-size:.85rem;line-height:1.5}.barcode-lookup.loading[data-v-eb7d7200]{background:#6366f114;color:var(--primary)}.barcode-lookup.success[data-v-eb7d7200]{background:#10b9811a;color:#047857;border:1px solid rgba(16,185,129,.2)}.barcode-lookup.success b[data-v-eb7d7200]{color:#065f46;font-size:.95rem}.barcode-lookup.success .meta[data-v-eb7d7200]{color:#047857;font-size:.8rem;margin-left:.3rem}.barcode-lookup.success .batch[data-v-eb7d7200]{margin-top:.3rem;padding-top:.3rem;border-top:1px dashed rgba(16,185,129,.3);font-size:.8rem}.barcode-lookup.warn[data-v-eb7d7200]{background:#f59e0b1a;color:#92400e;border:1px solid rgba(245,158,11,.2)}.btn-scan-small[data-v-eb7d7200]{padding:.8rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:var(--transition)}.btn-scan-small[data-v-eb7d7200]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.image-upload[data-v-eb7d7200]{margin-top:.5rem}.image-preview[data-v-eb7d7200]{position:relative;width:100%;max-width:300px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md)}.image-preview img[data-v-eb7d7200]{width:100%;height:auto;display:block}.btn-remove-image[data-v-eb7d7200]{position:absolute;top:8px;right:8px;width:30px;height:30px;background:#0009;color:#fff;border:none;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.btn-remove-image[data-v-eb7d7200]:hover{background:#000c;transform:scale(1.1)}.upload-btn[data-v-eb7d7200]{display:block;cursor:pointer}.upload-placeholder[data-v-eb7d7200]{border:2px dashed var(--border);border-radius:var(--radius-md);padding:2rem;text-align:center;transition:var(--transition);background:var(--bg)}.upload-placeholder[data-v-eb7d7200]:hover{border-color:var(--primary);background:#667eea0d;transform:translateY(-2px)}.upload-icon[data-v-eb7d7200]{font-size:3rem;margin-bottom:.5rem}.upload-text[data-v-eb7d7200]{color:var(--text-muted);font-size:.95rem}.form-summary[data-v-eb7d7200]{background:var(--bg);padding:1rem 1.2rem;border-radius:var(--radius-sm);margin:1rem 0;border:1px solid var(--border)}.summary-item[data-v-eb7d7200]{display:flex;justify-content:space-between;font-size:1.05rem;color:var(--text-secondary)}.total[data-v-eb7d7200]{color:var(--primary);font-weight:700;font-size:1.3rem}.btn-submit[data-v-eb7d7200]{width:100%;padding:1rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition);letter-spacing:.5px}.btn-submit[data-v-eb7d7200]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-submit[data-v-eb7d7200]:disabled{opacity:.6;cursor:not-allowed}.warning-list[data-v-eb7d7200]{display:flex;flex-direction:column;gap:.8rem}.warning-item[data-v-eb7d7200]{background:var(--bg-card);padding:1rem 1.2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:1rem;border-left:4px solid var(--danger);transition:var(--transition)}.warning-item[data-v-eb7d7200]:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.warning-icon[data-v-eb7d7200]{font-size:2rem;flex-shrink:0}.warning-info[data-v-eb7d7200]{flex:1}.warning-info h3[data-v-eb7d7200]{margin:0 0 .3rem;color:var(--text-primary);font-size:1rem}.warning-info p[data-v-eb7d7200]{margin:.2rem 0;color:var(--text-secondary);font-size:.88rem}.shortage[data-v-eb7d7200]{color:var(--danger);font-weight:600}.btn-restock[data-v-eb7d7200]{padding:.6rem 1.2rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;transition:var(--transition);flex-shrink:0}.btn-restock[data-v-eb7d7200]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media (max-width: 767px){.header[data-v-eb7d7200]{padding:12px}.header h1[data-v-eb7d7200]{font-size:1.1rem}.search-bar[data-v-eb7d7200]{flex-direction:column;gap:8px;padding:12px}.search-bar input[data-v-eb7d7200],.search-bar select[data-v-eb7d7200]{width:100%;font-size:16px;min-height:44px}.search-bar button[data-v-eb7d7200]{width:100%;min-height:44px}.stock-list[data-v-eb7d7200]{grid-template-columns:1fr;gap:8px;padding:0 12px}.stock-card[data-v-eb7d7200]{padding:12px}.stock-footer[data-v-eb7d7200]{flex-direction:column;gap:8px}.btn-restock[data-v-eb7d7200]{width:100%;min-height:44px}.category-header[data-v-eb7d7200]{top:96px;padding:.5rem .2rem}.category-title[data-v-eb7d7200]{font-size:.98rem}.pagination[data-v-eb7d7200]{gap:8px;flex-wrap:wrap}}@media (min-width: 768px) and (max-width: 1023px){.header[data-v-eb7d7200]{padding:1rem 1.5rem}.header h1[data-v-eb7d7200]{font-size:1.4rem}.tabs[data-v-eb7d7200]{top:60px}.tab-btn[data-v-eb7d7200]{font-size:1rem;padding:1rem}.tab-content[data-v-eb7d7200]{padding:1.2rem 1.5rem}.search-bar input[data-v-eb7d7200]{flex:1}.search-bar button[data-v-eb7d7200]{min-width:100px}.stock-card[data-v-eb7d7200]{padding:1.2rem}.stock-header[data-v-eb7d7200]{margin-bottom:.8rem}.stock-info[data-v-eb7d7200]{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.header[data-v-eb7d7200]{padding:1rem 2rem}.header h1[data-v-eb7d7200]{font-size:1.5rem}.tabs[data-v-eb7d7200]{top:64px;padding:.5rem 1rem 0;gap:.5rem}.tab-btn[data-v-eb7d7200]{font-size:1rem;padding:1rem 1.5rem}.tab-content[data-v-eb7d7200]{padding:1.5rem 2rem}.search-bar[data-v-eb7d7200]{gap:1rem;margin-bottom:1.5rem}.search-bar input[data-v-eb7d7200]{padding:.9rem 1.2rem;font-size:.95rem}.search-bar button[data-v-eb7d7200]{padding:.9rem 1.5rem;font-size:.95rem}.stock-list[data-v-eb7d7200]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stock-card[data-v-eb7d7200]{padding:1.5rem;border-radius:var(--radius-lg)}.stock-header[data-v-eb7d7200]{margin-bottom:1rem;flex-wrap:nowrap}.stock-header .product-name[data-v-eb7d7200]{font-size:1.05rem}.stock-info[data-v-eb7d7200]{grid-template-columns:repeat(3,1fr);gap:.5rem}.info-label[data-v-eb7d7200]{font-size:.88rem}.info-value[data-v-eb7d7200]{font-size:1rem}.stock-footer[data-v-eb7d7200]{margin-top:1rem;padding-top:.8rem;flex-wrap:nowrap}.btn-restock[data-v-eb7d7200]{min-width:120px}.category-header[data-v-eb7d7200]{top:124px;padding:.7rem .4rem}.category-title[data-v-eb7d7200]{font-size:1.15rem}}.sales-container[data-v-539c90ce]{min-height:100vh;background:var(--bg);padding-bottom:2rem}.header[data-v-539c90ce]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.btn-back[data-v-539c90ce]{display:flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-back[data-v-539c90ce]:hover{background:#fff3;border-color:#fff9}.btn-back[data-v-539c90ce]:active{transform:scale(.97)}.header h2[data-v-539c90ce]{margin:0;font-size:1.3rem;font-weight:600}.header-right[data-v-539c90ce]{width:80px}.btn-export[data-v-539c90ce]{display:flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);background:#ffffff26;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-export[data-v-539c90ce]:hover{background:#ffffff40;border-color:#fff9;transform:translateY(-2px)}.stats-row[data-v-539c90ce]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.5rem 2rem}@media (max-width: 768px){.stats-row[data-v-539c90ce]{grid-template-columns:repeat(2,1fr)}}.stat-card[data-v-539c90ce]{background:var(--bg-card);border-radius:16px;padding:1.5rem;border:1px solid var(--border);display:flex;align-items:flex-start;gap:1rem;position:relative;overflow:hidden;transition:all .3s;box-shadow:0 2px 8px #0000000a}.stat-card[data-v-539c90ce]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.stat-bg-icon[data-v-539c90ce]{font-size:2rem;line-height:1;opacity:.9}.stat-content[data-v-539c90ce]{flex:1}.stat-label[data-v-539c90ce]{font-size:.8rem;color:var(--text-muted);font-weight:500;margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-539c90ce]{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:.3rem}.stat-trend[data-v-539c90ce]{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:20px}.stat-trend.up[data-v-539c90ce]{color:#10b981;background:#10b9811a}.stat-trend.down[data-v-539c90ce]{color:#ef4444;background:#ef44441a}.stat-trend.neutral[data-v-539c90ce]{color:var(--text-muted);background:#9ca3af1a}.filter-bar[data-v-539c90ce]{margin:0 2rem 1rem;background:var(--bg-card);border-radius:12px;padding:12px 16px;border:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-wrap:nowrap;box-shadow:0 1px 4px #0000000a}.search-box[data-v-539c90ce]{position:relative;flex:1;min-width:200px;display:flex;align-items:center}.search-icon[data-v-539c90ce]{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.search-box input[data-v-539c90ce]{width:100%;padding:8px 32px 8px 34px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--bg);transition:all .2s}.search-box input[data-v-539c90ce]:focus{outline:none;border-color:var(--primary);background:#fff}.clear-btn[data-v-539c90ce]{position:absolute;right:8px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;line-height:1}.clear-btn[data-v-539c90ce]:hover{color:var(--text-primary)}.date-range[data-v-539c90ce]{display:flex;align-items:center;gap:6px;flex-shrink:0}.range-label[data-v-539c90ce]{font-size:13px;color:var(--text-muted);font-weight:500;white-space:nowrap}.date-input[data-v-539c90ce]{padding:8px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-primary);background:var(--bg);transition:all .2s;width:130px}.date-input[data-v-539c90ce]:focus{outline:none;border-color:var(--primary)}.date-sep[data-v-539c90ce]{color:var(--text-muted);font-size:13px;white-space:nowrap}.btn-reset[data-v-539c90ce]{padding:8px 16px;border:1.5px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:all .2s}.btn-reset[data-v-539c90ce]:hover{border-color:var(--text-muted);color:var(--text-primary)}.btn-query[data-v-539c90ce]{padding:8px 20px;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;white-space:nowrap;transition:all .2s}.btn-query[data-v-539c90ce]:hover{opacity:.9;transform:translateY(-1px)}@media (max-width: 640px){.filter-bar[data-v-539c90ce]{flex-wrap:wrap}.date-range[data-v-539c90ce]{width:100%;justify-content:flex-start}.search-box[data-v-539c90ce]{width:100%}}.table-container[data-v-539c90ce]{margin:0 2rem;background:var(--bg-card);border-radius:16px;border:1px solid var(--border);overflow:hidden;box-shadow:0 2px 8px #0000000a}.table-wrapper[data-v-539c90ce]{overflow-x:auto}.data-table[data-v-539c90ce]{width:100%;border-collapse:collapse}.data-table thead[data-v-539c90ce]{background:linear-gradient(135deg,#f8f9ff,#f0f2ff)}.data-table th[data-v-539c90ce]{padding:14px 16px;text-align:left;font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border);white-space:nowrap}.data-row[data-v-539c90ce]{cursor:pointer;transition:background .15s}.data-row[data-v-539c90ce]:hover{background:#667eea0a}.data-row td[data-v-539c90ce]{padding:14px 16px;border-bottom:1px solid var(--border)}.order-no[data-v-539c90ce]{font-weight:600;color:var(--primary);font-size:.9rem;font-family:monospace}.time-primary[data-v-539c90ce]{color:var(--text-secondary);font-size:.9rem}.operator-cell[data-v-539c90ce]{display:flex;align-items:center;gap:8px}.operator-avatar[data-v-539c90ce]{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#a78bfa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;text-transform:uppercase}.payment-tag[data-v-539c90ce]{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:600}.payment-微信[data-v-539c90ce],.payment-WECHAT[data-v-539c90ce]{background:#10b9811a;color:#10b981}.payment-支付宝[data-v-539c90ce],.payment-ALIPAY[data-v-539c90ce]{background:#3b82f61a;color:#3b82f6}.payment-现金[data-v-539c90ce],.payment-CASH[data-v-539c90ce]{background:#9ca3af26;color:#6b7280}.payment-银行卡[data-v-539c90ce],.payment-CARD[data-v-539c90ce]{background:#8b5cf61a;color:#8b5cf6}.amount-original[data-v-539c90ce]{color:var(--text-muted);text-decoration:line-through;font-size:.85rem}.discount-tag[data-v-539c90ce]{color:#f59e0b;font-weight:600;font-size:.85rem}.discount-none[data-v-539c90ce]{color:var(--text-muted)}.amount-actual[data-v-539c90ce]{font-weight:700;color:var(--text-primary);font-size:1rem}.status-badge[data-v-539c90ce]{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:600}.status-completed[data-v-539c90ce],.status-1[data-v-539c90ce]{background:#10b9811a;color:#10b981}.status-pending[data-v-539c90ce],.status-0[data-v-539c90ce]{background:#f59e0b1a;color:#f59e0b}.status-cancelled[data-v-539c90ce]{background:#ef44441a;color:#ef4444}.loading-cell[data-v-539c90ce],.empty-cell[data-v-539c90ce]{text-align:center;padding:60px!important;color:var(--text-muted)}.loading-spinner[data-v-539c90ce]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-539c90ce .8s linear infinite;margin:0 auto 12px}@keyframes spin-539c90ce{to{transform:rotate(360deg)}}.empty-icon[data-v-539c90ce]{font-size:3rem;margin-bottom:12px}.empty-text[data-v-539c90ce]{font-size:1rem;font-weight:600;margin-bottom:4px}.empty-hint[data-v-539c90ce]{font-size:.85rem;color:var(--text-muted)}.pagination[data-v-539c90ce]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--border);flex-wrap:wrap;gap:1rem}.page-info[data-v-539c90ce]{color:var(--text-muted);font-size:.85rem}.page-info strong[data-v-539c90ce]{color:var(--primary)}.page-controls[data-v-539c90ce]{display:flex;align-items:center;gap:4px}.page-btn[data-v-539c90ce]{padding:6px 12px;border:1.5px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .15s}.page-btn[data-v-539c90ce]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn[data-v-539c90ce]:disabled{opacity:.4;cursor:not-allowed}.page-numbers[data-v-539c90ce]{display:flex;gap:4px}.page-num[data-v-539c90ce]{width:34px;height:34px;border:1.5px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .15s}.page-num[data-v-539c90ce]:hover{border-color:var(--primary);color:var(--primary)}.page-num.active[data-v-539c90ce]{background:var(--primary);border-color:var(--primary);color:#fff}.modal-overlay[data-v-539c90ce]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-box[data-v-539c90ce]{background:var(--bg-card);border-radius:20px;width:100%;max-width:520px;box-shadow:0 20px 60px #0003;overflow:hidden}.modal-header[data-v-539c90ce]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h3[data-v-539c90ce]{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.modal-close[data-v-539c90ce]{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close[data-v-539c90ce]:hover{background:#ef44441a;color:#ef4444}.modal-body[data-v-539c90ce]{padding:1.5rem}.detail-grid[data-v-539c90ce]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-item[data-v-539c90ce]{display:flex;flex-direction:column;gap:4px}.detail-item.highlight[data-v-539c90ce]{grid-column:1 / -1;background:linear-gradient(135deg,#667eea14,#a78bfa14);padding:1rem;border-radius:12px;border:1px solid rgba(102,126,234,.2)}.detail-label[data-v-539c90ce]{font-size:.78rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-value[data-v-539c90ce]{font-size:.95rem;color:var(--text-primary);font-weight:500}.detail-value.amount[data-v-539c90ce]{font-size:1.1rem;font-weight:700}.detail-value.discount[data-v-539c90ce]{color:#f59e0b;font-weight:600}.detail-value.actual[data-v-539c90ce]{font-size:1.5rem;font-weight:800;color:var(--primary)}@media (max-width: 768px){.header[data-v-539c90ce],.stats-row[data-v-539c90ce]{padding:1rem}.filter-panel[data-v-539c90ce]{margin:0 1rem 1rem;padding:1rem}.table-container[data-v-539c90ce]{margin:0 1rem}.pagination[data-v-539c90ce]{flex-direction:column;align-items:stretch}.page-controls[data-v-539c90ce]{justify-content:center;flex-wrap:wrap}.detail-grid[data-v-539c90ce]{grid-template-columns:1fr}.col-discount[data-v-539c90ce],.col-amount[data-v-539c90ce],.col-actual[data-v-539c90ce]{display:none}}.load-more-status[data-v-539c90ce]{text-align:center;padding:1.5rem 1rem;color:var(--text-muted);font-size:.9rem}.loading-more-text[data-v-539c90ce]{cursor:pointer;color:var(--primary)}.no-more-text[data-v-539c90ce]{opacity:.7}.product-container[data-v-aa10542e]{min-height:100vh;background:var(--bg);animation:fadeIn .4s ease-out}.header[data-v-aa10542e]{background:var(--gradient-primary);color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100;gap:.5rem}@media (min-width: 768px){.header[data-v-aa10542e]{padding:1rem 1.5rem}}@media (min-width: 1024px){.header[data-v-aa10542e]{padding:1rem 2rem}}.btn-back[data-v-aa10542e]{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-back[data-v-aa10542e]:hover{background:#fff3;border-color:#fff9}.btn-back[data-v-aa10542e]:active{transform:scale(.97)}.header h1[data-v-aa10542e]{margin:0;font-size:1.1rem;font-weight:600;flex:1;text-align:center}@media (min-width: 768px){.header h1[data-v-aa10542e]{font-size:1.3rem}}.placeholder[data-v-aa10542e]{width:60px;flex-shrink:0}@media (min-width: 768px){.placeholder[data-v-aa10542e]{width:80px}}.search-bar[data-v-aa10542e]{background:var(--bg-card);padding:.75rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-sm);position:sticky;top:52px;z-index:90}@media (min-width: 768px){.search-bar[data-v-aa10542e]{flex-direction:row;flex-wrap:wrap;align-items:center;padding:1rem;top:56px}}@media (min-width: 1024px){.search-bar[data-v-aa10542e]{padding:1rem 1.5rem}}.search-bar input[data-v-aa10542e]{flex:1;min-width:0;padding:.9rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;transition:var(--transition);background:var(--bg-card)}@media (min-width: 1024px){.search-bar input[data-v-aa10542e]{min-width:200px;padding:.6rem .8rem;font-size:.9rem}}.search-bar input[data-v-aa10542e]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #667eea1a}.search-bar select[data-v-aa10542e]{padding:.9rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;background:var(--bg-card);color:var(--text-primary);transition:var(--transition);flex-shrink:0}@media (min-width: 768px){.search-bar select[data-v-aa10542e]{padding:.6rem .8rem;font-size:.88rem;flex:0 0 auto}}.search-bar select[data-v-aa10542e]:focus{outline:none;border-color:var(--primary)}.btn-scan[data-v-aa10542e],.btn-search[data-v-aa10542e],.btn-add[data-v-aa10542e]{padding:.9rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:500;transition:var(--transition);text-align:center;min-height:48px}@media (min-width: 768px){.btn-scan[data-v-aa10542e],.btn-search[data-v-aa10542e],.btn-add[data-v-aa10542e]{padding:.6rem 1.2rem;font-size:.9rem;min-height:auto;flex:0 0 auto}}.btn-scan[data-v-aa10542e]{background:var(--gradient-warning);color:#fff}.btn-scan[data-v-aa10542e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.btn-search[data-v-aa10542e]{background:var(--gradient-primary);color:#fff}.btn-search[data-v-aa10542e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-add[data-v-aa10542e]{background:var(--gradient-success);color:#fff}.btn-add[data-v-aa10542e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.product-list[data-v-aa10542e]{padding:.75rem;display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 768px){.product-list[data-v-aa10542e]{grid-template-columns:repeat(2,1fr);gap:1rem;padding:1rem}}@media (min-width: 1024px){.product-list[data-v-aa10542e]{grid-template-columns:repeat(3,1fr);gap:1.25rem;padding:1.5rem;max-height:none;overflow:visible}}.product-item[data-v-aa10542e]{background:var(--bg-card);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border);display:flex;flex-direction:column}@media (min-width: 1024px){.product-item[data-v-aa10542e]{padding:1.25rem;border-radius:var(--radius-lg)}}.product-item[data-v-aa10542e]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--primary-light)}.product-main[data-v-aa10542e]{display:flex;gap:.75rem;align-items:flex-start;flex:1}@media (min-width: 1024px){.product-main[data-v-aa10542e]{gap:1rem}}.product-image[data-v-aa10542e]{width:70px;height:70px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;box-shadow:var(--shadow-sm)}@media (min-width: 768px){.product-image[data-v-aa10542e]{width:80px;height:80px}}@media (min-width: 1024px){.product-image[data-v-aa10542e]{width:90px;height:90px}}.product-image img[data-v-aa10542e]{width:100%;height:100%;object-fit:cover}.product-image-placeholder[data-v-aa10542e]{width:70px;height:70px;border-radius:var(--radius-sm);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0}@media (min-width: 768px){.product-image-placeholder[data-v-aa10542e]{width:80px;height:80px;font-size:2rem}}@media (min-width: 1024px){.product-image-placeholder[data-v-aa10542e]{width:90px;height:90px;font-size:2.2rem}}.product-info[data-v-aa10542e]{flex:1;min-width:0}.product-info h3[data-v-aa10542e]{margin:0 0 .3rem;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.3;word-break:break-word}@media (min-width: 768px){.product-info h3[data-v-aa10542e]{font-size:1.1rem}}.barcode[data-v-aa10542e]{color:var(--text-muted);font-size:.82rem;font-weight:500;margin:0 0 .3rem;word-break:break-all}.product-meta .barcode[data-v-aa10542e]{cursor:pointer;color:var(--primary);font-weight:600;transition:all .2s}.product-meta .barcode[data-v-aa10542e]:hover{color:var(--primary-dark, #5a52d5);transform:scale(1.05)}.product-meta[data-v-aa10542e]{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.3rem}.meta-tag[data-v-aa10542e]{background:#f0f4ff;color:var(--primary);font-size:.72rem;padding:.15rem .5rem;border-radius:20px;font-weight:500;border:1px solid rgba(102,126,234,.15)}@media (min-width: 768px){.meta-tag[data-v-aa10542e]{font-size:.78rem;padding:.2rem .6rem}}.product-dates[data-v-aa10542e]{display:flex;gap:.5rem;font-size:.78rem;flex-wrap:wrap}.date-item[data-v-aa10542e]{color:var(--text-secondary);background:#f8f9fa;padding:.15rem .4rem;border-radius:4px;font-size:.78rem}.date-item.expired[data-v-aa10542e]{color:var(--danger);font-weight:600;background:#fff5f5;border:1px solid rgba(239,68,68,.2)}.date-item.warning[data-v-aa10542e]{color:var(--warning);font-weight:600;background:#fffbeb;border:1px solid rgba(245,158,11,.2)}.product-price-stock[data-v-aa10542e]{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}@media (min-width: 768px){.product-price-stock[data-v-aa10542e]{flex-direction:row;justify-content:space-between;align-items:center;margin-top:.8rem;padding-top:.8rem}}.price[data-v-aa10542e]{font-size:.88rem;color:var(--text-secondary)}.purchase-price-wrapper[data-v-aa10542e]{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.btn-show-price[data-v-aa10542e]{background:none;border:1px solid var(--primary);color:var(--primary);padding:.15rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;transition:var(--transition);min-height:28px}.btn-show-price[data-v-aa10542e]:hover{background:var(--primary);color:#fff}.sale-price[data-v-aa10542e]{color:var(--danger);font-weight:600;font-size:.95rem}@media (min-width: 768px){.sale-price[data-v-aa10542e]{font-size:1rem}}.stock[data-v-aa10542e]{font-size:.95rem;font-weight:600;color:var(--success)}.stock.low[data-v-aa10542e]{color:var(--danger)}.product-footer[data-v-aa10542e]{display:flex;justify-content:space-between;align-items:flex-end;padding-top:.6rem;border-top:1px solid var(--border);gap:.5rem;flex-wrap:wrap}.product-time[data-v-aa10542e]{display:flex;flex-direction:column;gap:.1rem;color:var(--text-muted);font-size:.72rem;order:2}@media (min-width: 768px){.product-time[data-v-aa10542e]{font-size:.78rem;order:0;flex-direction:row;gap:.5rem}}.status-badge[data-v-aa10542e]{padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600}@media (min-width: 768px){.status-badge[data-v-aa10542e]{font-size:.8rem;padding:.25rem .8rem}}.status-online[data-v-aa10542e]{background:#d1fae5;color:#065f46}.status-offline[data-v-aa10542e]{background:#fee2e2;color:#991b1b}.status-outofstock[data-v-aa10542e]{background:#fef3c7;color:#92400e}.actions[data-v-aa10542e]{display:flex;gap:.4rem;order:1}@media (min-width: 768px){.actions[data-v-aa10542e]{order:0}}.btn-edit[data-v-aa10542e],.btn-delete[data-v-aa10542e]{padding:.5rem .8rem;background:var(--info);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;transition:var(--transition);min-height:36px;flex:1;text-align:center}@media (min-width: 768px){.btn-edit[data-v-aa10542e],.btn-delete[data-v-aa10542e]{flex:0 0 auto;font-size:.88rem;padding:.5rem 1rem}}.btn-delete[data-v-aa10542e]{background:var(--danger)}.btn-edit[data-v-aa10542e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.btn-delete[data-v-aa10542e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.empty-state[data-v-aa10542e]{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.btn-add-first[data-v-aa10542e]{margin-top:1rem;padding:1rem 2rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:500;transition:var(--transition);min-height:48px}.btn-add-first[data-v-aa10542e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.pagination[data-v-aa10542e]{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-card);box-shadow:0 -4px 12px #0000001a;z-index:100;padding-bottom:max(.75rem,env(safe-area-inset-bottom))}@media (min-width: 768px){.pagination[data-v-aa10542e]{position:static;box-shadow:var(--shadow-sm);margin:1rem;border-radius:var(--radius-md);border:1px solid var(--border);padding:1rem;gap:1rem}}@media (min-width: 1024px){.pagination[data-v-aa10542e]{max-width:600px;margin:1rem auto}}.btn-page[data-v-aa10542e]{padding:.6rem 1rem;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:var(--text-secondary);font-size:.88rem;min-height:40px}@media (min-width: 768px){.btn-page[data-v-aa10542e]{font-size:.9rem;padding:.5rem 1rem}}.btn-page[data-v-aa10542e]:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.btn-page[data-v-aa10542e]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-aa10542e],.total-info[data-v-aa10542e]{font-size:.82rem;color:var(--text-muted);white-space:nowrap}@media (min-width: 768px){.page-info[data-v-aa10542e],.total-info[data-v-aa10542e]{font-size:.9rem}}.load-more-status[data-v-aa10542e]{text-align:center;padding:1rem;color:var(--text-muted);font-size:.9rem;margin-bottom:60px}@media (min-width: 768px){.load-more-status[data-v-aa10542e]{margin-bottom:1rem}}.loading-text[data-v-aa10542e]{color:var(--primary)}.no-more-text[data-v-aa10542e]{color:var(--text-muted)}.pull-hint[data-v-aa10542e]{color:var(--text-muted);font-style:italic}.loading-overlay[data-v-aa10542e]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-spinner[data-v-aa10542e]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-aa10542e .8s linear infinite}@keyframes spin-aa10542e{to{transform:rotate(360deg)}}@media (min-width: 1024px){.product-container[data-v-aa10542e]{padding-bottom:20px}.product-list[data-v-aa10542e]{max-height:none;overflow:visible}}.product-form-container[data-v-68db5fff]{min-height:100vh;background:var(--bg);padding-bottom:2rem;animation:fadeIn .4s ease-out}.header[data-v-68db5fff]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:10}.barcode-empty[data-v-68db5fff]{padding:.8rem;background:var(--bg-card, #f5f5f5);border-radius:var(--radius-sm, 4px);color:var(--text-secondary, #888);text-align:center;font-size:.9rem}.barcode-select[data-v-68db5fff]{width:100%;padding:.7rem .9rem;border:2px solid var(--border, #e0e0e0);border-radius:var(--radius-sm, 6px);font-size:.95rem;background:var(--bg-card, #fff);font-family:Courier New,monospace;transition:border-color .15s}.barcode-select[data-v-68db5fff]:focus{outline:none;border-color:var(--primary, #667eea);box-shadow:0 0 0 4px #667eea1a}.field-hint[data-v-68db5fff]{margin:.3rem 0 0;font-size:.82rem;color:var(--text-muted, #888)}.stock-target[data-v-68db5fff]{color:var(--primary, #667eea);font-weight:500;font-size:.85rem}.barcode-list[data-v-68db5fff]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.barcode-item[data-v-68db5fff]{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem;background:var(--bg-card, #fafafa);border:1px solid var(--border, #e0e0e0);border-radius:var(--radius-sm, 4px);font-family:Courier New,monospace;font-size:.95rem;transition:background .15s}.barcode-item[data-v-68db5fff]:hover{background:#f0f7ff}.barcode-item.is-primary[data-v-68db5fff]{background:#e3f2fd;border-color:#90caf9;font-weight:600}.barcode-text[data-v-68db5fff]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.4rem}.badge-primary[data-v-68db5fff]{display:inline-block;background:#1976d2;color:#fff;font-size:.7rem;padding:.1rem .4rem;border-radius:3px;font-weight:600;font-family:-apple-system,sans-serif}.btn-delete-barcode[data-v-68db5fff]{border:none;background:transparent;color:#d32f2f;cursor:pointer;padding:.3rem .6rem;border-radius:3px;font-size:.85rem;transition:background .15s}.btn-delete-barcode[data-v-68db5fff]:hover:not(:disabled){background:#ffebee}.btn-delete-barcode[data-v-68db5fff]:disabled{color:#999;cursor:not-allowed}.btn-back[data-v-68db5fff]{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-back[data-v-68db5fff]:hover{background:#fff3;border-color:#fff9}.btn-back[data-v-68db5fff]:active{transform:scale(.97)}.header h1[data-v-68db5fff]{margin:0;font-size:1.3rem;font-weight:600}.placeholder[data-v-68db5fff]{width:80px}.form-container[data-v-68db5fff]{max-width:800px;margin:1rem auto;padding:0 1rem}.form-section[data-v-68db5fff]{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.2rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:var(--transition)}.form-section[data-v-68db5fff]:hover{box-shadow:var(--shadow-md)}.section-title[data-v-68db5fff]{margin:0 0 1.2rem;color:var(--text-primary);font-size:1.05rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary);font-weight:600}.form-group[data-v-68db5fff]{margin-bottom:1rem}.form-group label[data-v-68db5fff]{display:block;margin-bottom:.4rem;color:var(--text-primary);font-weight:600;font-size:.92rem}.form-group label.required[data-v-68db5fff]:after{content:" *";color:var(--danger)}.form-group input[data-v-68db5fff],.form-group select[data-v-68db5fff],.form-group textarea[data-v-68db5fff]{width:100%;padding:.8rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:var(--transition);background:var(--bg-card);color:var(--text-primary)}.form-group input[data-v-68db5fff]:focus,.form-group select[data-v-68db5fff]:focus,.form-group textarea[data-v-68db5fff]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #667eea1a}.form-group input[data-v-68db5fff]:disabled{background:var(--bg);cursor:not-allowed;opacity:.7}.input-with-btn[data-v-68db5fff]{display:flex;gap:.5rem}.input-with-btn input[data-v-68db5fff]{flex:1}.btn-scan[data-v-68db5fff]{padding:.8rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:var(--transition)}.btn-scan[data-v-68db5fff]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.hint[data-v-68db5fff]{display:block;margin-top:.3rem;color:var(--text-muted);font-size:.82rem}.debug-info[data-v-68db5fff]{color:var(--danger);font-weight:600;background:#fff3cd;padding:4px 8px;border-radius:var(--radius-sm);margin-top:8px}.image-upload[data-v-68db5fff]{margin-top:.5rem}.image-preview[data-v-68db5fff]{position:relative;width:100%;max-width:300px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md)}.image-preview img[data-v-68db5fff]{width:100%;height:auto;display:block}.btn-remove-image[data-v-68db5fff]{position:absolute;top:8px;right:8px;width:30px;height:30px;background:#0009;color:#fff;border:none;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.btn-remove-image[data-v-68db5fff]:hover{background:#000c;transform:scale(1.1)}.upload-btn[data-v-68db5fff]{display:block;cursor:pointer}.upload-placeholder[data-v-68db5fff]{border:2px dashed var(--border);border-radius:var(--radius-md);padding:2rem;text-align:center;transition:var(--transition);background:var(--bg)}.upload-placeholder[data-v-68db5fff]:hover{border-color:var(--primary);background:#667eea0d;transform:translateY(-2px)}.upload-icon[data-v-68db5fff]{font-size:3rem;margin-bottom:.5rem}.upload-text[data-v-68db5fff]{color:var(--text-muted);font-size:.95rem}.form-row[data-v-68db5fff]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group.half[data-v-68db5fff]{margin-bottom:1rem}.radio-group[data-v-68db5fff]{display:flex;gap:1.5rem}.radio-item[data-v-68db5fff]{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.3rem .6rem;border-radius:var(--radius-sm);transition:var(--transition)}.radio-item[data-v-68db5fff]:hover{background:#667eea0d}.radio-item input[type=radio][data-v-68db5fff]{width:auto;cursor:pointer}.form-actions[data-v-68db5fff]{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-cancel[data-v-68db5fff],.btn-submit[data-v-68db5fff]{padding:.8rem 2rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:600;transition:var(--transition);min-width:120px}.btn-cancel[data-v-68db5fff]{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.btn-cancel[data-v-68db5fff]:hover{background:var(--border);transform:translateY(-2px)}.btn-submit[data-v-68db5fff]{background:var(--gradient-primary);color:#fff}.btn-submit[data-v-68db5fff]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-submit[data-v-68db5fff]:disabled{opacity:.6;cursor:not-allowed}.loading-overlay[data-v-68db5fff]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-spinner[data-v-68db5fff]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-68db5fff .8s linear infinite}@keyframes spin-68db5fff{to{transform:rotate(360deg)}}@media (max-width: 768px){.form-row[data-v-68db5fff]{grid-template-columns:1fr}.form-actions[data-v-68db5fff]{flex-direction:column}.btn-cancel[data-v-68db5fff],.btn-submit[data-v-68db5fff]{width:100%}}@media (min-width: 768px) and (max-width: 1023px){.form-container[data-v-68db5fff]{padding:0 1.5rem}.form-section[data-v-68db5fff]{padding:1.5rem}.form-row[data-v-68db5fff]{gap:1.5rem}.image-preview[data-v-68db5fff]{max-width:280px}}@media (min-width: 1024px){.header[data-v-68db5fff]{padding:1rem 2rem}.header h1[data-v-68db5fff]{font-size:1.5rem}.form-container[data-v-68db5fff]{max-width:900px;padding:0 2rem}.form-section[data-v-68db5fff]{padding:1.5rem 2rem}.form-row[data-v-68db5fff]{grid-template-columns:1fr 1fr 1fr;gap:1.5rem}.form-group.half[data-v-68db5fff]{margin-bottom:0}.image-preview[data-v-68db5fff]{float:right;margin-left:1rem;max-width:250px}.form-actions[data-v-68db5fff]{gap:2rem;margin-top:2.5rem}.btn-cancel[data-v-68db5fff],.btn-submit[data-v-68db5fff]{min-width:160px}}.coupon-modal[data-v-1e7ce744]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn-1e7ce744 .2s ease-out}@keyframes fadeIn-1e7ce744{0%{opacity:0}to{opacity:1}}.coupon-modal-content[data-v-1e7ce744]{background:var(--bg-card, #fff);border-radius:var(--radius-lg, 12px);width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #0000004d;animation:slideUp-1e7ce744 .25s ease-out}@keyframes slideUp-1e7ce744{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-1e7ce744]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;background:var(--gradient-primary, linear-gradient(135deg, #667eea 0%, #764ba2 100%));color:#fff;flex-shrink:0}.modal-header h3[data-v-1e7ce744]{margin:0;font-size:1.1rem;font-weight:600}.btn-close[data-v-1e7ce744]{background:#ffffff26;border:none;color:#fff;font-size:1.1rem;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-close[data-v-1e7ce744]:hover{background:#ffffff4d}.modal-body[data-v-1e7ce744]{flex:1;overflow-y:auto;padding:1rem;background:var(--bg, #f5f7fa);-webkit-overflow-scrolling:touch}.loading[data-v-1e7ce744]{text-align:center;padding:3rem 1rem;color:var(--text-muted, #888)}.loading-spinner[data-v-1e7ce744]{width:36px;height:36px;border:3px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;margin:0 auto .8rem;animation:spin-1e7ce744 .8s linear infinite}@keyframes spin-1e7ce744{to{transform:rotate(360deg)}}.error[data-v-1e7ce744]{text-align:center;padding:2rem 1rem}.error p[data-v-1e7ce744]{color:var(--danger, #ef4444);margin:0 0 1rem}.btn-retry[data-v-1e7ce744]{background:var(--primary, #667eea);color:#fff;border:none;padding:.5rem 1.2rem;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:.9rem}.btn-retry[data-v-1e7ce744]:hover{opacity:.9}.empty[data-v-1e7ce744]{text-align:center;padding:3rem 1rem;color:var(--text-muted, #888)}.empty-icon[data-v-1e7ce744]{font-size:3rem;display:block;margin-bottom:.5rem;opacity:.5}.empty-hint[data-v-1e7ce744]{font-size:.85rem;margin-top:.3rem;color:var(--text-muted, #888)}.coupon-list[data-v-1e7ce744]{display:flex;flex-direction:column;gap:.75rem}.coupon-card[data-v-1e7ce744]{display:flex;align-items:stretch;background:#fff;border-radius:var(--radius-md, 10px);overflow:hidden;box-shadow:var(--shadow-sm, 0 2px 6px rgba(0, 0, 0, .08));border:2px solid transparent;transition:all .2s ease;cursor:pointer;position:relative;min-height:100px}.coupon-card.unusable[data-v-1e7ce744]{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.coupon-card.selected[data-v-1e7ce744]{border-color:var(--primary, #667eea);box-shadow:0 0 0 3px #667eea33}.coupon-card[data-v-1e7ce744]:active:not(.unusable){transform:scale(.98)}.coupon-left[data-v-1e7ce744]{flex:0 0 100px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.8rem .5rem;color:#fff;text-align:center;position:relative}.coupon-left .amount[data-v-1e7ce744]{display:flex;align-items:baseline;gap:.15rem;line-height:1}.coupon-left .currency[data-v-1e7ce744]{font-size:.85rem;font-weight:500}.coupon-left .value[data-v-1e7ce744]{font-size:1.8rem;font-weight:700}.coupon-left .condition[data-v-1e7ce744]{font-size:.72rem;margin-top:.3rem;opacity:.9;line-height:1.2}.coupon-card.type-1 .coupon-left[data-v-1e7ce744]{background:linear-gradient(135deg,#f5576c,#ff6b6b)}.coupon-card.type-2 .coupon-left[data-v-1e7ce744]{background:linear-gradient(135deg,#ff9a9e,#fecfef)}.coupon-card.type-3 .coupon-left[data-v-1e7ce744]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.coupon-card.type-4 .coupon-left[data-v-1e7ce744]{background:linear-gradient(135deg,#43e97b,#38f9d7)}.coupon-divider[data-v-1e7ce744]{flex:0 0 8px;background-image:radial-gradient(circle,var(--bg, #f5f7fa) 4px,transparent 4px);background-size:8px 8px;background-position:center;background-repeat:repeat-y;opacity:.6}.coupon-middle[data-v-1e7ce744]{flex:1;min-width:0;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.3rem;justify-content:center}.coupon-name[data-v-1e7ce744]{font-size:.95rem;font-weight:600;color:var(--text-primary, #1a1a1a);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.coupon-type[data-v-1e7ce744]{display:flex;gap:.3rem;flex-wrap:wrap}.type-badge[data-v-1e7ce744]{font-size:.7rem;padding:1px 6px;border-radius:4px;font-weight:500;color:#fff}.type-badge.badge-1[data-v-1e7ce744]{background:#f5576c}.type-badge.badge-2[data-v-1e7ce744]{background:#ff9a9e}.type-badge.badge-3[data-v-1e7ce744]{background:#4facfe}.type-badge.badge-4[data-v-1e7ce744]{background:#43e97b}.coupon-meta[data-v-1e7ce744]{font-size:.78rem;color:var(--text-muted, #888)}.meta-item[data-v-1e7ce744]{display:inline}.unusable-tip[data-v-1e7ce744]{font-size:.75rem;color:var(--danger, #ef4444);margin-top:.2rem}.coupon-right[data-v-1e7ce744]{flex:0 0 44px;display:flex;align-items:center;justify-content:center;padding:.5rem}.check-circle[data-v-1e7ce744]{width:24px;height:24px;border-radius:50%;border:2px solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#fff;font-weight:700;transition:all .2s}.check-circle.checked[data-v-1e7ce744]{background:var(--primary, #667eea);border-color:var(--primary, #667eea)}.modal-footer[data-v-1e7ce744]{flex-shrink:0;display:flex;gap:.5rem;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border, #e5e7eb)}.btn-skip[data-v-1e7ce744]{flex:0 0 auto;padding:0 1rem;min-height:48px;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:var(--radius-md, 10px);color:var(--text-secondary, #666);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.btn-skip[data-v-1e7ce744]:hover{background:var(--bg, #f5f7fa);color:var(--text-primary, #1a1a1a)}.btn-confirm[data-v-1e7ce744]{flex:1;min-height:48px;background:var(--gradient-primary, linear-gradient(135deg, #667eea 0%, #764ba2 100%));color:#fff;border:none;border-radius:var(--radius-md, 10px);cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-confirm[data-v-1e7ce744]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-confirm[data-v-1e7ce744]:disabled{opacity:.5;cursor:not-allowed;background:#aaa}@media (max-width: 767px){.coupon-modal[data-v-1e7ce744]{padding:0;align-items:flex-end}.coupon-modal-content[data-v-1e7ce744]{max-width:100%;max-height:90vh;border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0}.coupon-card[data-v-1e7ce744]{min-height:88px}.coupon-left[data-v-1e7ce744]{flex:0 0 90px}.coupon-left .value[data-v-1e7ce744]{font-size:1.5rem}}@media (min-width: 1024px){.coupon-modal-content[data-v-1e7ce744]{max-width:520px}}.order-page[data-v-e67884cf]{min-height:100vh;background:var(--bg);padding-bottom:90px;animation:fadeIn .4s ease-out}.header[data-v-e67884cf]{background:var(--gradient-primary);color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md);gap:.5rem}@media (min-width: 768px){.header[data-v-e67884cf]{padding:1rem 1.5rem}}.btn-back[data-v-e67884cf]{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;flex-shrink:0}.btn-back[data-v-e67884cf]:hover{background:#fff3;border-color:#fff9;transform:translate(-3px)}.btn-back[data-v-e67884cf]:active{transform:scale(.97)}.header h2[data-v-e67884cf]{margin:0;font-size:1.1rem;font-weight:600;flex:1;text-align:center}@media (min-width: 768px){.header h2[data-v-e67884cf]{font-size:1.3rem}}.header-right[data-v-e67884cf]{width:60px;flex-shrink:0}@media (min-width: 768px){.header-right[data-v-e67884cf]{width:80px}}.cart-section[data-v-e67884cf]{padding:.75rem}@media (min-width: 768px){.cart-section[data-v-e67884cf]{padding:1rem}}.section-title[data-v-e67884cf]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:1rem;font-weight:600;color:var(--text-primary)}@media (min-width: 768px){.section-title[data-v-e67884cf]{font-size:1.1rem;margin-bottom:1rem}}.btn-clear[data-v-e67884cf]{background:var(--danger);color:#fff;border:none;padding:.4rem .8rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;transition:var(--transition);min-height:36px}@media (min-width: 768px){.btn-clear[data-v-e67884cf]{font-size:.88rem;padding:.4rem .8rem}}.btn-clear[data-v-e67884cf]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.empty-cart[data-v-e67884cf]{text-align:center;padding:2rem 1rem;color:var(--text-muted)}.empty-cart .hint[data-v-e67884cf]{font-size:.88rem;margin-top:.5rem;color:var(--text-muted)}.cart-list[data-v-e67884cf]{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 1024px){.cart-list[data-v-e67884cf]{gap:.8rem}}.cart-item[data-v-e67884cf]{background:var(--bg-card);padding:.875rem 1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border)}@media (min-width: 768px){.cart-item[data-v-e67884cf]{padding:1rem 1.2rem}}.cart-item[data-v-e67884cf]:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.cart-item .item-image-wrapper[data-v-e67884cf]{width:60px;height:60px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.cart-item .item-image[data-v-e67884cf]{width:100%;height:100%;object-fit:cover}@media (max-width: 767px){.cart-item[data-v-e67884cf]{display:flex;flex-direction:column;gap:.5rem}}@media (min-width: 768px){.cart-item[data-v-e67884cf]{display:flex;justify-content:space-between;align-items:center;gap:1rem}}.item-info[data-v-e67884cf]{flex:1;min-width:0}.item-info h3[data-v-e67884cf]{margin:0 0 .2rem;font-size:.95rem;color:var(--text-primary);word-break:break-word}@media (min-width: 768px){.item-info h3[data-v-e67884cf]{font-size:1rem}}.item-barcode[data-v-e67884cf]{margin:0 0 .2rem;font-size:.78rem;color:var(--text-muted);word-break:break-all}.item-price[data-v-e67884cf]{margin:0;font-size:.85rem;color:var(--text-secondary)}.item-actions[data-v-e67884cf]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}@media (min-width: 768px){.item-actions[data-v-e67884cf]{gap:.8rem}}@media (max-width: 767px){.item-actions[data-v-e67884cf]{flex-wrap:wrap;justify-content:space-between}.item-subtotal[data-v-e67884cf]{order:-1;width:100%;text-align:left;margin-bottom:.3rem}}.quantity-control[data-v-e67884cf]{display:flex;align-items:center;gap:.4rem;background:var(--bg);padding:.25rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.btn-qty[data-v-e67884cf]{width:32px;height:32px;border:none;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:var(--transition)}@media (min-width: 768px){.btn-qty[data-v-e67884cf]{width:28px;height:28px}}.btn-qty[data-v-e67884cf]:hover{transform:scale(1.1)}.item-subtotal[data-v-e67884cf]{font-size:1rem;font-weight:600;color:var(--primary);margin:0}@media (min-width: 768px){.item-subtotal[data-v-e67884cf]{flex:1;text-align:right;font-size:1.1rem}}.btn-remove[data-v-e67884cf]{background:none;border:none;font-size:1.2rem;cursor:pointer;opacity:.5;transition:var(--transition);padding:.3rem;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.btn-remove[data-v-e67884cf]:hover{opacity:1;transform:scale(1.2)}.btn-speak[data-v-e67884cf]{background:none;border:none;font-size:1.2rem;cursor:pointer;opacity:.6;transition:var(--transition);padding:.3rem;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.btn-speak[data-v-e67884cf]:hover{opacity:1;transform:scale(1.2)}.order-summary[data-v-e67884cf]{background:var(--bg-card);padding:1rem;margin:.75rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border)}@media (min-width: 768px){.order-summary[data-v-e67884cf]{padding:1.25rem;margin:1rem}}@media (min-width: 1024px){.order-summary[data-v-e67884cf]{max-width:500px;margin:1rem auto}}.summary-row[data-v-e67884cf]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.95rem;color:var(--text-secondary)}@media (min-width: 768px){.summary-row[data-v-e67884cf]{font-size:1rem;padding:.6rem 0}}.summary-row.discount[data-v-e67884cf]{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.discount-input[data-v-e67884cf]{width:100px;padding:.5rem .75rem;border:2px solid var(--border);border-radius:var(--radius-sm);text-align:right;font-size:1rem;transition:var(--transition);background:var(--bg);min-height:40px}@media (min-width: 768px){.discount-input[data-v-e67884cf]{width:120px;padding:.4rem .6rem}}.discount-input[data-v-e67884cf]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #667eea1a}.summary-row.total[data-v-e67884cf]{font-size:1.1rem;font-weight:600;color:var(--text-primary)}@media (min-width: 768px){.summary-row.total[data-v-e67884cf]{font-size:1.2rem}}.amount[data-v-e67884cf]{font-size:1.1rem;color:var(--primary);font-weight:600}@media (min-width: 768px){.amount[data-v-e67884cf]{font-size:1.3rem}}.total-amount[data-v-e67884cf]{font-size:1.3rem;color:var(--danger);font-weight:700}@media (min-width: 768px){.total-amount[data-v-e67884cf]{font-size:1.5rem}}.payment-method[data-v-e67884cf]{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-top:1px solid var(--border);margin-top:.5rem;flex-wrap:wrap}@media (min-width: 768px){.payment-method[data-v-e67884cf]{gap:1rem;padding:.8rem 0}}.payment-method label[data-v-e67884cf]{font-size:.95rem;color:var(--text-secondary);white-space:nowrap}.payment-method select[data-v-e67884cf]{flex:1;min-width:120px;padding:.6rem .8rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;background:var(--bg-card);color:var(--text-primary);transition:var(--transition);min-height:40px}@media (min-width: 768px){.payment-method select[data-v-e67884cf]{padding:.5rem .8rem;font-size:.9rem}}.payment-method select[data-v-e67884cf]:focus{outline:none;border-color:var(--primary)}.btn-checkout[data-v-e67884cf]{width:100%;padding:1rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:.75rem;transition:var(--transition);letter-spacing:.5px;min-height:52px}@media (min-width: 768px){.btn-checkout[data-v-e67884cf]{font-size:1.2rem;padding:.875rem 1rem}}.btn-checkout[data-v-e67884cf]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-checkout[data-v-e67884cf]:disabled{opacity:.6;cursor:not-allowed}.scan-button-container[data-v-e67884cf]{position:fixed;bottom:0;left:0;right:0;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));background:var(--bg-card);box-shadow:0 -4px 20px #0000001a;z-index:99}@media (min-width: 768px){.scan-button-container[data-v-e67884cf]{padding:1rem}}@media (min-width: 1024px){.scan-button-container[data-v-e67884cf]{max-width:500px;left:50%;transform:translate(-50%);border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.btn-scan-large[data-v-e67884cf]{width:100%;padding:1rem;background:var(--gradient-secondary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #f5576c66;transition:var(--transition);letter-spacing:.5px;min-height:52px}@media (min-width: 768px){.btn-scan-large[data-v-e67884cf]{font-size:1.2rem;padding:.875rem 1rem}}.btn-scan-large[data-v-e67884cf]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f5576c80}.member-bar[data-v-e67884cf]{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;font-size:.9rem;transition:background .2s}.member-bar[data-v-e67884cf]:active{opacity:.85}.member-icon[data-v-e67884cf]{font-size:1.2rem}.member-info[data-v-e67884cf]{display:flex;flex-direction:column;flex:1}.member-name[data-v-e67884cf]{font-weight:600;font-size:.95rem}.member-phone[data-v-e67884cf]{font-size:.8rem;opacity:.85}.member-hint[data-v-e67884cf]{flex:1;font-size:.85rem;opacity:.8}.member-arrow[data-v-e67884cf]{font-size:1.2rem;opacity:.7}.member-badge[data-v-e67884cf]{background:#ffffff40;border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600}.btn-unbind[data-v-e67884cf]{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:6px;padding:3px 10px;font-size:.75rem;cursor:pointer}.btn-unbind[data-v-e67884cf]:active{background:#ffffff59}.member-modal[data-v-e67884cf]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:999;display:flex;align-items:center;justify-content:center;padding:1rem}.member-modal-content[data-v-e67884cf]{background:#fff;border-radius:16px;width:100%;max-width:400px;overflow:hidden;animation:slideUp-e67884cf .3s ease}@keyframes slideUp-e67884cf{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-e67884cf]{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-header h3[data-v-e67884cf]{margin:0;font-size:1.05rem}.btn-close[data-v-e67884cf]{background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-body[data-v-e67884cf]{padding:1.2rem}.search-box[data-v-e67884cf]{display:flex;gap:.5rem;margin-bottom:1rem}.search-box input[data-v-e67884cf]{flex:1;padding:.6rem .8rem;border:1.5px solid #ddd;border-radius:10px;font-size:.95rem;outline:none;transition:border-color .2s}.search-box input[data-v-e67884cf]:focus{border-color:#764ba2}.btn-search[data-v-e67884cf]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;padding:.6rem 1rem;font-size:.9rem;cursor:pointer;white-space:nowrap;font-weight:600}.btn-search[data-v-e67884cf]:disabled{opacity:.6;cursor:not-allowed}.search-result[data-v-e67884cf]{margin-top:.5rem}.result-card[data-v-e67884cf]{background:#f8f6ff;border:1.5px solid #764ba2;border-radius:12px;padding:.8rem;margin-bottom:.8rem}.result-name[data-v-e67884cf]{font-weight:700;font-size:1rem;color:#333}.result-phone[data-v-e67884cf]{font-size:.85rem;color:#666;margin-top:2px}.result-points[data-v-e67884cf]{font-size:.8rem;color:#764ba2;margin-top:4px;font-weight:600}.btn-bind-confirm[data-v-e67884cf]{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;padding:.7rem;font-size:.95rem;font-weight:600;cursor:pointer}.search-error[data-v-e67884cf]{color:#e53e3e;font-size:.85rem;text-align:center;padding:.5rem}.coupon-bar[data-v-e67884cf]{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;margin:0 .75rem .5rem;background:linear-gradient(135deg,#ffecd2,#fcb69f);color:#5a2e0c;border-radius:12px;cursor:pointer;font-size:.9rem;box-shadow:0 2px 8px #fcb69f4d;transition:transform .15s,box-shadow .15s}.coupon-bar[data-v-e67884cf]:active{transform:scale(.98)}.coupon-icon[data-v-e67884cf]{font-size:1.2rem}.coupon-info[data-v-e67884cf]{display:flex;flex-direction:column;flex:1;min-width:0}.coupon-name[data-v-e67884cf]{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coupon-discount[data-v-e67884cf]{font-size:.78rem;color:#c0392b;font-weight:600;margin-top:1px}.coupon-hint[data-v-e67884cf]{flex:1;font-size:.88rem;opacity:.85}.coupon-arrow[data-v-e67884cf]{font-size:1.2rem;opacity:.6}.btn-coupon-clear[data-v-e67884cf]{background:#ffffff80;border:none;color:#5a2e0c;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-coupon-clear[data-v-e67884cf]:hover{background:#fffc}.discount-from-coupon[data-v-e67884cf]{display:flex;align-items:baseline;gap:.4rem;color:#c0392b;font-weight:600;font-size:1rem}.discount-from-coupon-hint[data-v-e67884cf]{font-size:.72rem;color:#888;font-weight:400}@media (min-width: 768px){.coupon-bar[data-v-e67884cf]{margin:0 1rem .75rem}}.order-list-page[data-v-7a46639e]{min-height:100vh;background:var(--bg);padding-bottom:80px;animation:fadeIn .4s ease-out}.header[data-v-7a46639e]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.btn-back[data-v-7a46639e]{display:flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-back[data-v-7a46639e]:hover{background:#fff3;border-color:#fff9}.btn-back[data-v-7a46639e]:active{transform:scale(.97)}.header h2[data-v-7a46639e]{margin:0;font-size:1.3rem;font-weight:600}.header-right[data-v-7a46639e]{width:80px}.filter-section[data-v-7a46639e]{background:var(--bg-card);padding:1rem 1.2rem;margin:1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.filter-row[data-v-7a46639e]{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;width:100%}.filter-item[data-v-7a46639e]{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.filter-item label[data-v-7a46639e]{font-size:.85rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.filter-item select[data-v-7a46639e],.filter-item input[data-v-7a46639e]{padding:.45rem .6rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;min-width:110px;max-width:140px;width:100%;transition:var(--transition);background:var(--bg-card);color:var(--text-primary)}.filter-item select[data-v-7a46639e]:focus,.filter-item input[data-v-7a46639e]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #667eea1a}.btn-search[data-v-7a46639e]{padding:.45rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;background:var(--gradient-primary);color:#fff;transition:var(--transition);flex-shrink:0}.btn-search[data-v-7a46639e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-reset[data-v-7a46639e]{padding:.45rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;background:var(--bg);color:var(--text-secondary);transition:var(--transition);flex-shrink:0}.btn-reset[data-v-7a46639e]:hover{background:var(--border)}.order-list-container[data-v-7a46639e]{padding:0 1rem}.loading[data-v-7a46639e],.empty-state[data-v-7a46639e]{text-align:center;padding:3rem;color:var(--text-muted)}.order-list[data-v-7a46639e]{display:flex;flex-direction:column;gap:.8rem}.order-card[data-v-7a46639e]{background:var(--bg-card);border-radius:var(--radius-md);padding:1rem 1.2rem;box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition);border:1px solid var(--border)}.order-card[data-v-7a46639e]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.card-title-row[data-v-7a46639e]{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.order-no[data-v-7a46639e]{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1}.order-no .icon[data-v-7a46639e]{font-size:1rem;flex-shrink:0}.order-no .text[data-v-7a46639e]{font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.order-status[data-v-7a46639e]{padding:.2rem .7rem;border-radius:20px;font-size:.78rem;font-weight:600;white-space:nowrap;flex-shrink:0}.card-meta-row[data-v-7a46639e]{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-secondary);flex-wrap:wrap}.meta-item[data-v-7a46639e]{display:inline-flex;align-items:center;gap:.25rem}.meta-item.no-member[data-v-7a46639e]{color:var(--text-muted);font-style:italic}.meta-icon[data-v-7a46639e]{font-size:.85rem}.meta-sep[data-v-7a46639e]{color:var(--text-muted);margin:0 .1rem}.order-source-tag[data-v-7a46639e]{padding:.15rem .55rem;border-radius:20px;font-size:.75rem;font-weight:600}.order-source-tag.online[data-v-7a46639e]{background:#dbeafe;color:#1d4ed8}.order-source-tag.offline[data-v-7a46639e],.status-completed[data-v-7a46639e]{background:#d1fae5;color:#065f46}.status-cancelled[data-v-7a46639e]{background:#fee2e2;color:#991b1b}.status-refunding[data-v-7a46639e]{background:#fef3c7;color:#92400e}.status-refunded[data-v-7a46639e]{background:#fce4ec;color:#ad1457}.status-pending[data-v-7a46639e]{background:#fff3cd;color:#856404;font-weight:600}.card-divider[data-v-7a46639e]{height:1px;background:var(--border);margin:0}.order-items-preview[data-v-7a46639e]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.preview-image-wrapper[data-v-7a46639e]{width:50px;height:50px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.preview-image[data-v-7a46639e]{width:100%;height:100%;object-fit:cover}.preview-placeholder[data-v-7a46639e]{font-size:1.4rem;opacity:.5}.preview-more[data-v-7a46639e]{font-size:.85rem;color:var(--text-muted);font-weight:500;margin-left:.2rem;flex-shrink:0}.card-detail-row[data-v-7a46639e]{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary)}.detail-icon[data-v-7a46639e]{font-size:.95rem;flex-shrink:0}.detail-label[data-v-7a46639e]{color:var(--text-muted);flex-shrink:0;min-width:3.5em}.detail-value[data-v-7a46639e]{color:var(--text-primary);flex:1;min-width:0;word-break:break-all}.card-summary[data-v-7a46639e]{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;font-size:.88rem}.summary-item[data-v-7a46639e]{display:inline-flex;align-items:baseline;gap:.25rem}.summary-label[data-v-7a46639e]{color:var(--text-muted);font-size:.82rem}.summary-value[data-v-7a46639e]{color:var(--text-primary);font-weight:500}.summary-item.discount .summary-value[data-v-7a46639e]{color:#f59e0b}.summary-item.actual[data-v-7a46639e]{margin-left:auto;font-size:1rem;gap:.4rem}.summary-item.actual .summary-label[data-v-7a46639e]{font-size:.88rem}.summary-item.actual .summary-value[data-v-7a46639e]{color:var(--danger);font-weight:700;font-size:1.15rem}.card-actions[data-v-7a46639e]{display:flex;gap:.5rem;flex-wrap:wrap}.btn-action[data-v-7a46639e]{flex:1;min-width:80px;padding:.55rem .5rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;transition:var(--transition)}.btn-detail[data-v-7a46639e]{background:var(--gradient-primary);color:#fff}.btn-detail[data-v-7a46639e]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-cancel[data-v-7a46639e]{background:#fef3c7;color:#92400e}.btn-cancel[data-v-7a46639e]:hover{background:#fde68a}.btn-delete[data-v-7a46639e]{background:#fee2e2;color:#991b1b}.btn-delete[data-v-7a46639e]:hover{background:#fecaca}.pagination[data-v-7a46639e]{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--bg-card);margin:1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.btn-page[data-v-7a46639e]{padding:.5rem 1rem;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:var(--text-secondary);font-size:.9rem}.btn-page[data-v-7a46639e]:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.btn-page[data-v-7a46639e]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-7a46639e],.total-info[data-v-7a46639e]{font-size:.88rem;color:var(--text-muted)}@media (max-width: 768px){.filter-row[data-v-7a46639e]{flex-direction:row;flex-wrap:wrap;gap:.5rem}.filter-item[data-v-7a46639e]{flex:1 1 calc(50% - .5rem);min-width:calc(50% - .5rem)}.filter-item label[data-v-7a46639e]{font-size:.75rem;display:block;margin-bottom:.2rem}.filter-item select[data-v-7a46639e],.filter-item input[data-v-7a46639e]{width:100%;font-size:16px;padding:.5rem .6rem;min-height:44px}.btn-search[data-v-7a46639e],.btn-reset[data-v-7a46639e]{flex:1;min-height:44px}.card-actions[data-v-7a46639e]{flex-direction:column}}@media (min-width: 768px) and (max-width: 1023px){.header[data-v-7a46639e]{padding:1rem 1.5rem}.filter-section[data-v-7a46639e]{padding:1.2rem 1.5rem}.filter-row[data-v-7a46639e]{flex-wrap:nowrap}.filter-item select[data-v-7a46639e],.filter-item input[data-v-7a46639e]{min-width:120px}.btn-search[data-v-7a46639e],.btn-reset[data-v-7a46639e]{min-width:auto}}@media (min-width: 1024px){.header[data-v-7a46639e]{padding:1rem 2rem}.header h2[data-v-7a46639e]{font-size:1.5rem}.action-bar[data-v-7a46639e]{padding:1.2rem 2rem;margin:1rem 2rem;border-radius:var(--radius-lg)}.btn-add[data-v-7a46639e],.btn-refresh[data-v-7a46639e]{max-width:200px}.filter-section[data-v-7a46639e]{margin:1rem 2rem;padding:1.2rem 1.5rem;border-radius:var(--radius-lg)}.filter-row[data-v-7a46639e]{flex-wrap:nowrap;align-items:center}.filter-item[data-v-7a46639e]{flex-direction:row;align-items:center;gap:.5rem}.filter-item label[data-v-7a46639e]{font-size:.95rem;min-width:60px}.filter-item select[data-v-7a46639e],.filter-item input[data-v-7a46639e]{min-width:160px}.btn-search[data-v-7a46639e],.btn-reset[data-v-7a46639e]{white-space:nowrap;min-width:100px}.user-list-container[data-v-7a46639e]{padding:0 2rem}.user-card[data-v-7a46639e]{padding:1.5rem}.pagination[data-v-7a46639e]{margin:1rem 2rem;padding:1.5rem}}.load-more-status[data-v-7a46639e]{text-align:center;padding:1.5rem 1rem;color:var(--text-muted);font-size:.9rem}.loading-more-text[data-v-7a46639e]{animation:pulse-7a46639e 1.5s ease-in-out infinite}.no-more-text[data-v-7a46639e]{color:var(--text-muted);opacity:.7}@keyframes pulse-7a46639e{0%,to{opacity:1}50%{opacity:.5}}.order-detail-page[data-v-453a2c05]{min-height:100vh;background:var(--bg);padding-bottom:80px;animation:fadeIn .4s ease-out}.header[data-v-453a2c05]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.btn-back[data-v-453a2c05]{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;transition:var(--transition)}.btn-back[data-v-453a2c05]:hover{background:#ffffff4d;transform:translate(-2px)}.header h2[data-v-453a2c05]{margin:0;font-size:1.3rem;font-weight:600}.header-right[data-v-453a2c05]{width:80px}.loading-container[data-v-453a2c05],.error-container[data-v-453a2c05]{text-align:center;padding:3rem;color:var(--text-muted)}.btn-back-home[data-v-453a2c05]{margin-top:1rem;padding:.8rem 2rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;transition:var(--transition)}.btn-back-home[data-v-453a2c05]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.detail-container[data-v-453a2c05]{padding:1rem;display:flex;flex-direction:column;gap:1rem}.section-card[data-v-453a2c05]{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.2rem 1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:var(--transition)}.section-card[data-v-453a2c05]:hover{box-shadow:var(--shadow-md)}.section-title[data-v-453a2c05]{margin:0 0 1rem;font-size:1.05rem;color:var(--text-primary);padding-bottom:.8rem;border-bottom:2px solid var(--primary);font-weight:600}.info-grid[data-v-453a2c05]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.8rem}.info-item[data-v-453a2c05]{display:flex;align-items:center;padding:.6rem .8rem;background:var(--bg);border-radius:var(--radius-sm)}.info-item.full-width[data-v-453a2c05]{grid-column:1 / -1}.info-item .label[data-v-453a2c05]{font-weight:500;color:var(--text-secondary);min-width:90px;font-size:.9rem}.member-phone[data-v-453a2c05]{margin-left:.5rem;color:var(--primary);font-size:.85rem}.info-item .value[data-v-453a2c05]{color:var(--text-primary);flex:1;font-size:.9rem}.status-badge[data-v-453a2c05]{display:inline-block;padding:.25rem .8rem;border-radius:20px;font-size:.82rem;font-weight:600}.status-completed[data-v-453a2c05]{background:#d1fae5;color:#065f46}.status-cancelled[data-v-453a2c05]{background:#fee2e2;color:#991b1b}.status-refunding[data-v-453a2c05]{background:#fef3c7;color:#92400e}.status-refunded[data-v-453a2c05]{background:#fce4ec;color:#ad1457}.status-pending[data-v-453a2c05]{background:#fff3cd;color:#856404;font-weight:600}.empty-items[data-v-453a2c05]{text-align:center;padding:2rem;color:var(--text-muted)}.items-list[data-v-453a2c05]{display:flex;flex-direction:column;gap:.8rem}.item-card[data-v-453a2c05]{display:flex;gap:1rem;padding:1rem;background:var(--bg);border-radius:var(--radius-md);border-left:4px solid var(--primary);transition:var(--transition)}.item-card[data-v-453a2c05]:hover{box-shadow:var(--shadow-sm);transform:translate(4px)}.item-index[data-v-453a2c05]{width:30px;height:30px;background:var(--gradient-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.item-image-wrapper[data-v-453a2c05]{width:80px;height:80px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);background:var(--bg-card);display:flex;align-items:center;justify-content:center}.item-image[data-v-453a2c05]{width:100%;height:100%;object-fit:cover}.item-content[data-v-453a2c05]{flex:1}.item-header[data-v-453a2c05]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.item-name[data-v-453a2c05]{margin:0;font-size:1rem;color:var(--text-primary);font-weight:600}.item-spec[data-v-453a2c05]{font-size:.82rem;color:var(--text-muted);background:var(--bg-card);padding:.2rem .6rem;border-radius:var(--radius-sm)}.item-details[data-v-453a2c05]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.4rem}.detail-row[data-v-453a2c05]{display:flex;justify-content:space-between;font-size:.88rem}.detail-row .label[data-v-453a2c05]{color:var(--text-secondary)}.detail-row .highlight[data-v-453a2c05]{color:var(--primary);font-weight:600}.detail-row .subtotal[data-v-453a2c05]{color:var(--danger);font-weight:600}.detail-row .profit[data-v-453a2c05]{color:var(--success);font-weight:600}.amount-summary[data-v-453a2c05]{background:var(--gradient-primary);color:#fff;border:none}.amount-summary .section-title[data-v-453a2c05]{color:#fff;border-bottom-color:#ffffff4d}.amount-details[data-v-453a2c05]{display:flex;flex-direction:column;gap:.6rem}.amount-row[data-v-453a2c05]{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;background:#ffffff1a;border-radius:var(--radius-sm)}.amount-row .label[data-v-453a2c05]{font-size:.95rem}.amount-row .value[data-v-453a2c05]{font-size:1rem;font-weight:500}.amount-row.discount .value[data-v-453a2c05]{color:gold}.amount-row.total[data-v-453a2c05]{background:#fff3;margin-top:.3rem}.amount-row.total .label[data-v-453a2c05]{font-size:1.1rem;font-weight:600}.total-value[data-v-453a2c05]{font-size:1.5rem;font-weight:700;color:gold}.action-buttons[data-v-453a2c05]{display:flex;gap:.8rem;flex-wrap:wrap}.btn-action[data-v-453a2c05]{flex:1;min-width:120px;padding:.8rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.95rem;font-weight:500;transition:var(--transition)}.btn-cancel[data-v-453a2c05]{background:var(--warning);color:#fff}.btn-cancel[data-v-453a2c05]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.btn-delete[data-v-453a2c05]{background:var(--danger);color:#fff}.btn-delete[data-v-453a2c05]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.btn-print[data-v-453a2c05]{background:var(--gradient-primary);color:#fff}.btn-print[data-v-453a2c05]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media print{.header[data-v-453a2c05],.action-buttons[data-v-453a2c05]{display:none}.order-detail-page[data-v-453a2c05]{background:#fff;padding:0}.section-card[data-v-453a2c05]{box-shadow:none;border:1px solid var(--border);page-break-inside:avoid}}@media (max-width: 768px){.info-grid[data-v-453a2c05],.item-details[data-v-453a2c05]{grid-template-columns:1fr}.action-buttons[data-v-453a2c05]{flex-direction:column}.btn-action[data-v-453a2c05]{width:100%}}@media (min-width: 768px) and (max-width: 1023px){.header[data-v-453a2c05]{padding:1rem 1.5rem}.detail-container[data-v-453a2c05]{padding:1.2rem 1.5rem;gap:1.2rem}.section-card[data-v-453a2c05]{padding:1.5rem}.info-grid[data-v-453a2c05]{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.header[data-v-453a2c05]{padding:1rem 2rem}.header h2[data-v-453a2c05]{font-size:1.5rem}.detail-container[data-v-453a2c05]{padding:1.5rem 2rem;max-width:1200px;margin:0 auto;gap:1.5rem}.section-card[data-v-453a2c05]{padding:2rem;border-radius:var(--radius-xl)}.section-title[data-v-453a2c05]{font-size:1.2rem;margin-bottom:1.5rem}.info-grid[data-v-453a2c05]{grid-template-columns:repeat(3,1fr);gap:1rem}.info-item[data-v-453a2c05]{padding:.8rem 1rem}.info-item .label[data-v-453a2c05]{min-width:100px;font-size:.95rem}.info-item .value[data-v-453a2c05]{font-size:.95rem}.items-list[data-v-453a2c05]{gap:1rem}.item-card[data-v-453a2c05]{padding:1.2rem}.item-image-wrapper[data-v-453a2c05]{width:90px;height:90px}.action-buttons[data-v-453a2c05]{gap:1rem}.btn-action[data-v-453a2c05]{min-width:140px;padding:1rem;font-size:1rem}}.my-orders-page[data-v-0a67aaa2]{min-height:100vh;background:var(--bg);padding-bottom:70px}.header[data-v-0a67aaa2]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 4px 15px #667eea4d}.btn-back[data-v-0a67aaa2]{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-back[data-v-0a67aaa2]:hover{background:#ffffff4d}.title[data-v-0a67aaa2]{font-size:1.2rem;font-weight:600;margin:0}.tab-bar[data-v-0a67aaa2]{display:flex;background:var(--bg-card);padding:0 1rem;border-bottom:1px solid var(--border);position:sticky;top:60px;z-index:90}.tab-item[data-v-0a67aaa2]{flex:1;text-align:center;padding:1rem 0;font-size:.95rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;position:relative}.tab-item.active[data-v-0a67aaa2]{color:var(--primary);font-weight:600}.tab-item.active[data-v-0a67aaa2]:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:3px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px}.order-list-container[data-v-0a67aaa2]{padding:1rem}.loading-state[data-v-0a67aaa2],.login-state[data-v-0a67aaa2],.empty-state[data-v-0a67aaa2]{text-align:center;padding:4rem 2rem}.loading-spinner[data-v-0a67aaa2]{font-size:3rem;animation:pulse-0a67aaa2 1.5s infinite}.login-icon[data-v-0a67aaa2],.empty-icon[data-v-0a67aaa2]{font-size:4rem;margin-bottom:1rem}.login-state h3[data-v-0a67aaa2],.empty-state h3[data-v-0a67aaa2]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.login-state p[data-v-0a67aaa2],.empty-state p[data-v-0a67aaa2]{font-size:.9rem;color:var(--text-muted);margin:0 0 1.5rem}.btn-login[data-v-0a67aaa2],.btn-shopping[data-v-0a67aaa2]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.8rem 2rem;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.order-list[data-v-0a67aaa2]{display:flex;flex-direction:column;gap:.8rem}.order-card[data-v-0a67aaa2]{background:var(--bg-card);border-radius:16px;padding:1rem;box-shadow:0 4px 15px #0000000d;border:1px solid var(--border);cursor:pointer;transition:all .2s}.order-card[data-v-0a67aaa2]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.order-header[data-v-0a67aaa2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;padding-bottom:.8rem;border-bottom:1px dashed var(--border)}.order-time[data-v-0a67aaa2]{font-size:.85rem;color:var(--text-muted)}.order-status[data-v-0a67aaa2]{padding:.25rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600}.status-completed[data-v-0a67aaa2]{background:#d1fae5;color:#065f46}.status-cancelled[data-v-0a67aaa2]{background:#fee2e2;color:#991b1b}.status-refunding[data-v-0a67aaa2]{background:#fef3c7;color:#92400e}.status-refunded[data-v-0a67aaa2]{background:#fce4ec;color:#ad1457}.order-items[data-v-0a67aaa2]{display:flex;flex-direction:column;gap:.5rem}.order-item[data-v-0a67aaa2]{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--bg);border-radius:8px}.item-info[data-v-0a67aaa2]{display:flex;gap:.8rem;align-items:center}.item-name[data-v-0a67aaa2]{font-size:.9rem;color:var(--text-primary)}.item-qty[data-v-0a67aaa2]{font-size:.85rem;color:var(--text-muted)}.item-price[data-v-0a67aaa2]{font-size:.9rem;color:var(--text-secondary)}.order-footer[data-v-0a67aaa2]{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem;padding-top:.8rem;border-top:1px dashed var(--border)}.order-total[data-v-0a67aaa2]{display:flex;align-items:baseline;gap:.3rem}.total-label[data-v-0a67aaa2]{font-size:.85rem;color:var(--text-muted)}.total-amount[data-v-0a67aaa2]{font-size:1.1rem;font-weight:700;color:var(--danger)}.btn-detail[data-v-0a67aaa2]{padding:.5rem 1.2rem;background:var(--primary);color:#fff;border:none;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-detail[data-v-0a67aaa2]:hover{opacity:.9}.pagination[data-v-0a67aaa2]{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem}.btn-page[data-v-0a67aaa2]{padding:.5rem 1rem;border:1px solid var(--border);background:var(--bg-card);border-radius:20px;cursor:pointer;transition:all .2s;color:var(--text-secondary);font-size:.85rem}.btn-page[data-v-0a67aaa2]:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.btn-page[data-v-0a67aaa2]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-0a67aaa2]{font-size:.85rem;color:var(--text-muted)}.bottom-nav[data-v-0a67aaa2]{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);display:flex;padding:.5rem 0;box-shadow:0 -4px 15px #0000001a;border-top:1px solid var(--border);z-index:50}.nav-item[data-v-0a67aaa2]{flex:1;display:flex;flex-direction:column;align-items:center;padding:.5rem;cursor:pointer;transition:all .2s}.nav-item.active[data-v-0a67aaa2]{color:var(--primary)}.nav-icon[data-v-0a67aaa2]{font-size:1.4rem;margin-bottom:.2rem}.nav-text[data-v-0a67aaa2]{font-size:.75rem}@media (min-width: 768px){.order-list-container[data-v-0a67aaa2]{max-width:600px;margin:0 auto}}.load-more-status[data-v-0a67aaa2]{text-align:center;padding:1.5rem 1rem;color:var(--text-muted,#9ca3af);font-size:.9rem}.loading-more-text[data-v-0a67aaa2]{animation:pulse-0a67aaa2 1.5s ease-in-out infinite}@keyframes pulse-0a67aaa2{0%,to{opacity:1}50%{opacity:.5}}.user-list-page[data-v-43453aac]{min-height:100vh;background:var(--bg);padding-bottom:80px;animation:fadeIn .4s ease-out}.header[data-v-43453aac]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.btn-back[data-v-43453aac]{display:flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-back[data-v-43453aac]:hover{background:#fff3;border-color:#fff9}.btn-back[data-v-43453aac]:active{transform:scale(.97)}.header h2[data-v-43453aac]{margin:0;font-size:1.3rem;font-weight:600}.header-right[data-v-43453aac]{width:80px}.action-bar[data-v-43453aac]{display:flex;gap:.8rem;padding:1rem;background:var(--bg-card);margin:1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.btn-add[data-v-43453aac]{flex:1;padding:.8rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.95rem;font-weight:500;background:var(--gradient-primary);color:#fff;transition:var(--transition)}.btn-add[data-v-43453aac]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-refresh[data-v-43453aac]{flex:1;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:.95rem;font-weight:500;background:var(--bg);color:var(--text-secondary);transition:var(--transition)}.btn-refresh[data-v-43453aac]:hover{background:var(--border);transform:translateY(-2px)}.user-list-container[data-v-43453aac]{padding:0 1rem}.loading[data-v-43453aac],.empty-state[data-v-43453aac]{text-align:center;padding:3rem;color:var(--text-muted)}.user-list[data-v-43453aac]{display:flex;flex-direction:column;gap:.8rem}.user-card[data-v-43453aac]{background:var(--bg-card);border-radius:var(--radius-md);padding:1rem 1.2rem;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border)}.user-card[data-v-43453aac]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.user-header[data-v-43453aac]{display:flex;align-items:center;gap:1rem;margin-bottom:.8rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}.user-avatar[data-v-43453aac]{width:50px;height:50px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;overflow:hidden}.avatar-img[data-v-43453aac]{width:100%;height:100%;object-fit:cover}.user-basic[data-v-43453aac]{flex:1}.user-badges[data-v-43453aac]{display:flex;flex-direction:column;gap:.3rem;align-items:flex-end}.role-badge[data-v-43453aac],.status-badge[data-v-43453aac]{padding:.2rem .6rem;border-radius:20px;font-size:.72rem;font-weight:600;white-space:nowrap}.role-admin[data-v-43453aac]{background:var(--gradient-primary);color:#fff}.role-operator[data-v-43453aac],.status-enabled[data-v-43453aac]{background:#d1fae5;color:#065f46}.status-disabled[data-v-43453aac]{background:#fee2e2;color:#991b1b}.user-name[data-v-43453aac]{margin:0 0 .2rem;font-size:1.05rem;color:var(--text-primary);font-weight:600}.user-id[data-v-43453aac]{margin:0;font-size:.82rem;color:var(--text-muted)}.user-info[data-v-43453aac]{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.8rem}.info-row[data-v-43453aac]{display:flex;justify-content:space-between;font-size:.88rem}.info-row .label[data-v-43453aac]{color:var(--text-secondary)}.info-row .password-value[data-v-43453aac]{display:flex;align-items:center;gap:4px}.eye-btn[data-v-43453aac]{background:none;border:none;cursor:pointer;font-size:.9rem;padding:1px 4px;vertical-align:middle}.user-actions[data-v-43453aac]{display:flex;gap:.6rem;padding-top:.8rem;border-top:1px solid var(--border)}.btn-edit[data-v-43453aac],.btn-delete[data-v-43453aac]{flex:1;padding:.6rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.88rem;transition:var(--transition);font-weight:500}.btn-edit[data-v-43453aac]{background:var(--warning);color:#fff}.btn-edit[data-v-43453aac]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.admin-notice[data-v-43453aac]{margin-top:8px;padding:8px 12px;background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:6px;color:var(--primary);font-size:.82rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.btn-admin-edit[data-v-43453aac]{padding:4px 14px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:6px;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-admin-edit[data-v-43453aac]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166;opacity:.9}.btn-delete[data-v-43453aac]{background:var(--danger);color:#fff}.btn-delete[data-v-43453aac]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.admin-badge[data-v-43453aac]{flex:1;padding:.6rem;text-align:center;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500}@media (max-width: 768px){.action-bar[data-v-43453aac]{flex-direction:column}}@media (min-width: 768px) and (max-width: 1023px){.header[data-v-43453aac]{padding:1rem 1.5rem}.action-bar[data-v-43453aac]{padding:1.2rem 1.5rem}.user-list-container[data-v-43453aac]{padding:0 1.5rem}.user-card[data-v-43453aac]{padding:1.2rem}}@media (min-width: 1024px){.header[data-v-43453aac]{padding:1rem 2rem}.header h2[data-v-43453aac]{font-size:1.5rem}.action-bar[data-v-43453aac]{margin:1rem 2rem;padding:1.2rem 2rem;border-radius:var(--radius-lg)}.btn-add[data-v-43453aac],.btn-refresh[data-v-43453aac]{max-width:200px}.user-list-container[data-v-43453aac]{padding:0 2rem}.user-card[data-v-43453aac]{padding:1.5rem 2rem;border-radius:var(--radius-lg)}.user-header[data-v-43453aac]{margin-bottom:1rem;padding-bottom:1rem}.user-avatar[data-v-43453aac]{width:56px;height:56px;font-size:1.6rem}.user-basic[data-v-43453aac]{flex-direction:row;align-items:center;gap:1rem}.user-name[data-v-43453aac]{font-size:1.15rem}.user-id[data-v-43453aac]{font-size:.9rem}.user-info[data-v-43453aac]{margin-bottom:1rem}.info-row[data-v-43453aac]{font-size:.95rem}.user-actions[data-v-43453aac]{padding-top:1rem}.btn-edit[data-v-43453aac],.btn-delete[data-v-43453aac]{max-width:160px}.admin-badge[data-v-43453aac]{max-width:180px}}.user-form-page[data-v-b09dea53]{min-height:100vh;background:var(--bg);padding-bottom:80px;animation:fadeIn-b09dea53 .4s ease-out}.header[data-v-b09dea53]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.btn-back[data-v-b09dea53]{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.btn-back[data-v-b09dea53]:hover{background:#fff3;border-color:#fff9;transform:translate(-3px)}.btn-back[data-v-b09dea53]:active{transform:scale(.97)}.header h2[data-v-b09dea53]{margin:0;font-size:1.3rem;font-weight:600}.header-right[data-v-b09dea53]{width:80px}.form-container[data-v-b09dea53]{padding:1rem}.form-card[data-v-b09dea53]{background:var(--bg-card);border-radius:var(--radius-xl);padding:2rem;box-shadow:0 20px 60px #00000026;border:2px solid var(--primary)}.avatar-group[data-v-b09dea53]{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.avatar-upload-wrapper[data-v-b09dea53]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:var(--bg);border:2px dashed var(--border);border-radius:var(--radius-lg);transition:var(--transition)}.avatar-upload-wrapper.drag-over[data-v-b09dea53]{border-color:var(--primary);background:#667eea0d}.avatar-preview[data-v-b09dea53]{width:100px;height:100px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid white;box-shadow:0 4px 12px #00000026}.avatar-preview.has-avatar[data-v-b09dea53]{background:none}.avatar-preview img[data-v-b09dea53]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-b09dea53]{display:flex;flex-direction:column;align-items:center;gap:.3rem;color:#fff}.avatar-icon[data-v-b09dea53]{font-size:2.5rem;line-height:1}.upload-hint[data-v-b09dea53]{font-size:.7rem;opacity:.9;text-align:center;max-width:80px}.avatar-actions[data-v-b09dea53]{display:flex;gap:.8rem}.btn-upload[data-v-b09dea53],.btn-remove[data-v-b09dea53]{padding:.5rem 1rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-weight:500;transition:var(--transition)}.btn-upload[data-v-b09dea53]{background:var(--gradient-primary);color:#fff}.btn-upload[data-v-b09dea53]:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-remove[data-v-b09dea53]{background:var(--bg);color:var(--danger);border:1px solid var(--danger)}.btn-remove[data-v-b09dea53]:hover{background:#fff0f3}.avatar-upload-wrapper .hint[data-v-b09dea53]{font-size:.75rem;color:var(--text-muted);text-align:center}.form-group[data-v-b09dea53]{margin-bottom:1.2rem}.form-group label[data-v-b09dea53]{display:block;margin-bottom:.4rem;color:var(--text-primary);font-weight:600;font-size:.92rem}.required[data-v-b09dea53]{color:var(--danger)}.form-input[data-v-b09dea53]{width:100%;padding:.8rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:var(--transition);background:var(--bg-card);color:var(--text-primary)}.form-input[data-v-b09dea53]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #667eea1a}.form-input[data-v-b09dea53]:disabled,.form-input[disabled][data-v-b09dea53]{background:#f5f5f5!important;color:#999!important;border-color:#ddd!important;cursor:not-allowed!important;opacity:1!important}.hint[data-v-b09dea53]{margin-top:.3rem;font-size:.82rem;color:var(--text-muted)}.hint-warning[data-v-b09dea53]{color:#d97706;background:#fef3c7;padding:.3rem .5rem;border-radius:var(--radius-sm);margin-top:.3rem}.hint-info[data-v-b09dea53]{color:#0369a1;background:#e0f2fe;padding:.3rem .5rem;border-radius:var(--radius-sm);margin-top:.3rem}.field-disabled[data-v-b09dea53]{background:var(--bg)!important;opacity:.7}.password-input-wrapper[data-v-b09dea53]{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input[data-v-b09dea53]{padding-right:3rem}.eye-button[data-v-b09dea53]{position:absolute;right:.8rem;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.3rem;transition:var(--transition);line-height:1}.eye-button[data-v-b09dea53]:hover{transform:scale(1.2)}.error-message[data-v-b09dea53]{color:var(--danger);background:#fff0f3;padding:.8rem 1rem;border-radius:var(--radius-sm);font-size:.88rem;margin-bottom:1rem;border:1px solid rgba(239,68,68,.2)}.form-actions[data-v-b09dea53]{display:flex;gap:1rem;margin-top:2rem}.btn-cancel[data-v-b09dea53],.btn-submit[data-v-b09dea53]{flex:1;padding:.8rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:500;transition:var(--transition)}.btn-cancel[data-v-b09dea53]{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.btn-cancel[data-v-b09dea53]:hover{background:var(--hover-bg)}.btn-submit[data-v-b09dea53]{background:var(--gradient-primary);color:#fff}.btn-submit[data-v-b09dea53]:hover:not(:disabled){opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-submit[data-v-b09dea53]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.form-actions[data-v-b09dea53]{flex-direction:column}}.image-preview-overlay[data-v-b09dea53]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:fadeIn-b09dea53 .2s ease-out}.image-preview-content[data-v-b09dea53]{position:relative;max-width:90vw;max-height:90vh;cursor:default;animation:scaleIn-b09dea53 .25s ease-out}.image-preview-content img[data-v-b09dea53]{max-width:100%;max-height:85vh;border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000080;object-fit:contain;display:block}.preview-close[data-v-b09dea53]{position:absolute;top:-12px;right:-12px;width:36px;height:36px;background:var(--danger);color:#fff;border:none;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s;line-height:1}.preview-close[data-v-b09dea53]:hover{transform:scale(1.15)}.avatar-clickable[data-v-b09dea53]{cursor:zoom-in;transition:transform .2s}.avatar-clickable[data-v-b09dea53]:hover{transform:scale(1.08)}@keyframes fadeIn-b09dea53{0%{opacity:0}to{opacity:1}}@keyframes scaleIn-b09dea53{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@media (min-width: 768px) and (max-width: 1023px){.header[data-v-b09dea53]{padding:1rem 1.5rem}.form-container[data-v-b09dea53]{padding:1.2rem 1.5rem}.form-card[data-v-b09dea53]{padding:2rem}}@media (min-width: 1024px){.header[data-v-b09dea53]{padding:1rem 2rem}.header h2[data-v-b09dea53]{font-size:1.5rem}.form-container[data-v-b09dea53]{padding:1.5rem 2rem;max-width:600px;margin:0 auto}.form-card[data-v-b09dea53]{padding:2.5rem;border-radius:var(--radius-xl)}.form-group[data-v-b09dea53]{margin-bottom:1.5rem}.form-group label[data-v-b09dea53]{font-size:1rem;margin-bottom:.5rem}.form-input[data-v-b09dea53]{padding:.9rem 1.2rem;font-size:1rem}.form-actions[data-v-b09dea53]{gap:2rem}.btn-cancel[data-v-b09dea53],.btn-submit[data-v-b09dea53]{min-width:150px;padding:1rem 2rem;font-size:1.05rem}}.operation-log-page[data-v-ba44a02f]{min-height:100vh;background:var(--bg);padding-bottom:80px;animation:fadeIn-ba44a02f .4s ease-out}.header[data-v-ba44a02f]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.btn-back[data-v-ba44a02f]{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.btn-back[data-v-ba44a02f]:hover{background:#fff3;border-color:#fff9}.btn-back[data-v-ba44a02f]:active{transform:scale(.97)}.header h2[data-v-ba44a02f]{margin:0;font-size:1.3rem;font-weight:600}.header-right[data-v-ba44a02f]{width:80px}.filter-section[data-v-ba44a02f]{background:var(--bg-card);padding:1rem 1.2rem;margin:1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.filter-row[data-v-ba44a02f]{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;width:100%}.filter-item[data-v-ba44a02f]{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.filter-item label[data-v-ba44a02f]{font-size:.85rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.filter-item select[data-v-ba44a02f],.filter-item input[data-v-ba44a02f]{padding:.45rem .6rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;min-width:110px;max-width:140px;width:100%;transition:var(--transition);background:var(--bg-card);color:var(--text-primary)}.filter-item select[data-v-ba44a02f]:focus,.filter-item input[data-v-ba44a02f]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #667eea1a}.btn-search[data-v-ba44a02f]{padding:.45rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;background:var(--gradient-primary);color:#fff;transition:var(--transition);flex-shrink:0}.btn-search[data-v-ba44a02f]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-reset[data-v-ba44a02f]{padding:.45rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;background:var(--bg);color:var(--text-secondary);transition:var(--transition);flex-shrink:0}.btn-reset[data-v-ba44a02f]:hover{background:var(--border)}.log-list-container[data-v-ba44a02f]{padding:0 1rem;height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch}.loading[data-v-ba44a02f],.empty-state[data-v-ba44a02f]{text-align:center;padding:3rem;color:var(--text-muted)}.loading-more[data-v-ba44a02f]{text-align:center;padding:1.2rem;color:var(--text-muted);font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.no-more[data-v-ba44a02f]{text-align:center;padding:1.2rem;color:var(--text-muted);font-size:.85rem}.spinner[data-v-ba44a02f]{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-ba44a02f .8s linear infinite}@keyframes spin-ba44a02f{to{transform:rotate(360deg)}}.log-list[data-v-ba44a02f]{padding-bottom:1rem}.log-card[data-v-ba44a02f]{background:var(--bg-card);border-radius:var(--radius-md);padding:1rem;margin-bottom:.8rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);cursor:pointer;transition:var(--transition)}.log-card[data-v-ba44a02f]:active{transform:scale(.98)}.log-header[data-v-ba44a02f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.log-info[data-v-ba44a02f]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.log-type[data-v-ba44a02f]{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;font-weight:600;color:#fff}.type-create[data-v-ba44a02f]{background:linear-gradient(135deg,#4caf50,#2e7d32)}.type-update[data-v-ba44a02f]{background:linear-gradient(135deg,#2196f3,#0d47a1)}.type-delete[data-v-ba44a02f]{background:linear-gradient(135deg,#f44336,#b71c1c)}.type-login[data-v-ba44a02f]{background:linear-gradient(135deg,#9c27b0,#4a148c)}.type-logout[data-v-ba44a02f]{background:linear-gradient(135deg,#607d8b,#263238)}.type-query[data-v-ba44a02f]{background:linear-gradient(135deg,#ff9800,#e65100)}.type-other[data-v-ba44a02f]{background:linear-gradient(135deg,#795548,#3e2723)}.log-module[data-v-ba44a02f]{font-size:.8rem;color:var(--text-secondary)}.log-result[data-v-ba44a02f]{font-size:.75rem;padding:.15rem .4rem;border-radius:4px}.result-success[data-v-ba44a02f]{background:#e8f5e9;color:#2e7d32}.result-fail[data-v-ba44a02f]{background:#ffebee;color:#c62828}.log-time[data-v-ba44a02f]{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.log-body[data-v-ba44a02f]{display:flex;flex-direction:column;gap:.3rem}.log-info-row[data-v-ba44a02f]{display:flex;font-size:.85rem;color:var(--text-primary)}.log-info-row .label[data-v-ba44a02f]{color:var(--text-muted);margin-right:.3rem;flex-shrink:0}.log-info-row .desc[data-v-ba44a02f]{color:var(--text-primary)}.log-info-row.error .label[data-v-ba44a02f]{color:#c62828}.log-info-row.error span[data-v-ba44a02f]:last-child{color:#c62828}.log-footer[data-v-ba44a02f]{margin-top:.6rem;display:flex;justify-content:flex-end}.btn-detail[data-v-ba44a02f]{font-size:.8rem;color:var(--primary);background:none;border:1px solid var(--primary);padding:.25rem .8rem;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.btn-detail[data-v-ba44a02f]:hover{background:var(--primary);color:#fff}.modal-overlay[data-v-ba44a02f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn-ba44a02f .2s ease}.modal-content[data-v-ba44a02f]{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:420px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp-ba44a02f .3s ease}.modal-header[data-v-ba44a02f]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--border);background:var(--gradient-primary);color:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header h3[data-v-ba44a02f]{margin:0;font-size:1.1rem}.btn-close[data-v-ba44a02f]{background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1.2rem;line-height:1;transition:var(--transition)}.btn-close[data-v-ba44a02f]:hover{background:#fff6}.modal-body[data-v-ba44a02f]{padding:1rem 1.2rem}.detail-item[data-v-ba44a02f]{display:flex;margin-bottom:.8rem;font-size:.9rem}.detail-item label[data-v-ba44a02f]{width:90px;flex-shrink:0;color:var(--text-muted);font-weight:500}.detail-item span[data-v-ba44a02f]{color:var(--text-primary);word-break:break-all}.text-success[data-v-ba44a02f]{color:#2e7d32}.text-fail[data-v-ba44a02f]{color:#c62828}.detail-json[data-v-ba44a02f]{background:var(--bg);padding:.6rem;border-radius:var(--radius-sm);font-size:.8rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all;color:var(--text-primary);width:100%;box-sizing:border-box}@keyframes fadeIn-ba44a02f{0%{opacity:0}to{opacity:1}}@keyframes slideUp-ba44a02f{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 767px){.header[data-v-ba44a02f]{padding:12px}.header h2[data-v-ba44a02f]{font-size:16px}.filter-section[data-v-ba44a02f]{padding:12px}.filter-row[data-v-ba44a02f]{flex-direction:column;gap:8px}.filter-item[data-v-ba44a02f]{width:100%;flex-direction:column;align-items:stretch;gap:4px}.filter-item label[data-v-ba44a02f]{font-size:12px}.filter-item select[data-v-ba44a02f],.filter-item input[data-v-ba44a02f]{width:100%;font-size:16px;min-height:44px}.btn-search[data-v-ba44a02f],.btn-reset[data-v-ba44a02f]{width:100%;min-height:44px}.log-card[data-v-ba44a02f]{padding:12px;margin:0 12px 12px}.detail-modal[data-v-ba44a02f]{width:95%;padding:16px}.detail-item[data-v-ba44a02f]{flex-direction:column;gap:4px}.detail-item label[data-v-ba44a02f]{width:auto}.pagination[data-v-ba44a02f]{gap:8px;flex-wrap:wrap;justify-content:center}}.permission-page[data-v-b9b99b2d]{min-height:100vh;background:var(--bg);animation:fadeIn .4s ease-out;padding-bottom:80px;display:flex;flex-direction:column}.header[data-v-b9b99b2d]{background:var(--gradient-primary);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md);gap:.5rem;margin-bottom:0}.header h2[data-v-b9b99b2d]{margin:0;font-size:1.3rem;font-weight:600}.placeholder[data-v-b9b99b2d]{width:80px;flex-shrink:0}.btn-back[data-v-b9b99b2d]{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;flex-shrink:0}.btn-back[data-v-b9b99b2d]:hover{background:#fff3;border-color:#fff9;transform:translate(-3px)}.btn-back[data-v-b9b99b2d]:active{transform:scale(.97)}.tabs[data-v-b9b99b2d]{display:flex;gap:8px;margin-bottom:20px;padding:0 20px 8px;border-bottom:1px solid var(--border)}.tab-btn[data-v-b9b99b2d]{padding:10px 24px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-weight:500}.tab-btn[data-v-b9b99b2d]:hover{background:var(--hover-bg)}.tab-btn.active[data-v-b9b99b2d]{background:var(--gradient-primary);color:#fff;border-color:transparent}.tab-content[data-v-b9b99b2d]{padding:0 20px;flex:1;display:flex;flex-direction:column}.split-layout[data-v-b9b99b2d]{display:grid;grid-template-columns:280px 1fr;gap:20px;min-height:500px;flex:1;overflow:hidden;min-height:0}@media (max-width: 900px){.split-layout[data-v-b9b99b2d]{grid-template-columns:1fr}.left-panel[data-v-b9b99b2d]{max-height:300px;overflow-y:auto}.menu-tree[data-v-b9b99b2d]{max-height:none}}@media (max-width: 600px){.split-layout[data-v-b9b99b2d]{gap:12px}.tabs[data-v-b9b99b2d]{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;scrollbar-width:none}.tabs[data-v-b9b99b2d]::-webkit-scrollbar{display:none}.tab-btn[data-v-b9b99b2d]{padding:8px 14px;font-size:.8rem;white-space:nowrap;flex-shrink:0}.tab-content[data-v-b9b99b2d]{padding:0 12px}.modal-container[data-v-b9b99b2d]{width:95%;max-height:90vh}.tree-node[data-v-b9b99b2d]{flex-wrap:wrap;gap:8px}.node-info[data-v-b9b99b2d]{margin-left:0}.node-actions[data-v-b9b99b2d]{margin-left:0;width:100%;flex-direction:column;align-items:stretch;gap:6px}.node-actions .btn[data-v-b9b99b2d]{width:100%;text-align:center;padding:8px 12px;font-size:.85rem}}.left-panel[data-v-b9b99b2d],.right-panel[data-v-b9b99b2d]{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.left-panel .role-list[data-v-b9b99b2d]{flex:1;overflow-y:auto;min-height:0}.panel-header[data-v-b9b99b2d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.panel-header h3[data-v-b9b99b2d]{margin:0;color:var(--text-primary);font-size:1rem}.btn-add[data-v-b9b99b2d]{padding:6px 12px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem}.role-list[data-v-b9b99b2d]{display:flex;flex-direction:column;gap:8px}.role-item[data-v-b9b99b2d]{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.role-item[data-v-b9b99b2d]:hover{border-color:var(--primary)}.role-item.active[data-v-b9b99b2d]{border-color:var(--primary);background:#667eea1a}.role-info[data-v-b9b99b2d]{display:flex;flex-direction:column;gap:2px}.role-name[data-v-b9b99b2d]{color:var(--text-primary);font-weight:500}.role-key[data-v-b9b99b2d]{color:var(--text-secondary);font-size:.8rem}.role-code-badge[data-v-b9b99b2d]{padding:2px 8px;background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;font-size:.75rem;font-family:monospace}.system-badge[data-v-b9b99b2d]{padding:2px 8px;background:var(--warning);color:#fff;border-radius:4px;font-size:.75rem}.btn-delete[data-v-b9b99b2d]{width:24px;height:24px;background:var(--danger);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;line-height:1}.menu-assign h3[data-v-b9b99b2d]{margin:0 0 16px;color:var(--text-primary)}.menu-tree[data-v-b9b99b2d]{overflow-y:auto;margin-bottom:20px;flex:1;min-height:0}.menu-node[data-v-b9b99b2d]{margin-bottom:4px}.menu-node.child[data-v-b9b99b2d]{margin-left:24px;padding-left:16px;border-left:2px solid var(--border)}.menu-label[data-v-b9b99b2d]{display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition)}.menu-label[data-v-b9b99b2d]:hover{background:var(--hover-bg)}.menu-icon[data-v-b9b99b2d]{font-size:1rem}.expand-toggle[data-v-b9b99b2d]{margin-left:auto;color:var(--text-secondary);cursor:pointer;font-size:.8rem;-webkit-user-select:none;user-select:none;padding:2px 6px}.expand-toggle[data-v-b9b99b2d]:hover{color:var(--primary)}.menu-name[data-v-b9b99b2d]{color:var(--text-primary)}.menu-children[data-v-b9b99b2d]{margin-top:4px}.permission-btns[data-v-b9b99b2d]{display:flex;gap:12px;margin-left:28px;padding:8px;flex-wrap:wrap}.permission-label[data-v-b9b99b2d]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;color:var(--text-secondary)}.action-buttons[data-v-b9b99b2d]{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.no-selection[data-v-b9b99b2d]{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary)}.btn[data-v-b9b99b2d]{padding:10px 20px;border:none;border-radius:var(--radius);cursor:pointer;font-weight:500;transition:var(--transition)}.btn-cancel[data-v-b9b99b2d]{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.btn-cancel[data-v-b9b99b2d]:hover{background:var(--hover-bg)}.btn-save[data-v-b9b99b2d],.btn-confirm[data-v-b9b99b2d]{background:var(--gradient-primary);color:#fff}.btn-save[data-v-b9b99b2d]:hover,.btn-confirm[data-v-b9b99b2d]:hover{opacity:.9}.btn[data-v-b9b99b2d]:disabled{opacity:.6;cursor:not-allowed}.user-list-container[data-v-b9b99b2d]{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border);overflow-x:auto}.data-table[data-v-b9b99b2d]{width:100%;border-collapse:collapse}.data-table th[data-v-b9b99b2d],.data-table td[data-v-b9b99b2d]{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.data-table th[data-v-b9b99b2d]{background:var(--bg);color:var(--text-secondary);font-weight:500;font-size:.85rem}.data-table td[data-v-b9b99b2d]{color:var(--text-primary)}.data-table tr:hover td[data-v-b9b99b2d]{background:var(--hover-bg)}.role-tag[data-v-b9b99b2d]{display:inline-block;padding:4px 10px;background:var(--primary);color:#fff;border-radius:4px;font-size:.8rem;margin-right:6px}.no-role[data-v-b9b99b2d]{color:var(--text-secondary);font-style:italic}.btn-assign[data-v-b9b99b2d]{padding:6px 12px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem}.modal-overlay[data-v-b9b99b2d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#667eea26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-b9b99b2d]{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:450px;border:1px solid var(--border);box-shadow:0 20px 60px #00000026;overflow:hidden}.assign-role-modal[data-v-b9b99b2d]{border:2px solid var(--primary);border-radius:var(--radius-xl);box-shadow:0 20px 60px #667eea33}.assign-role-modal .modal-header[data-v-b9b99b2d]{background:var(--gradient-primary);padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.assign-role-modal .modal-header h2[data-v-b9b99b2d]{margin:0;color:#fff;font-size:1.1rem;font-weight:600}.assign-role-modal .modal-header .btn-close[data-v-b9b99b2d]{color:#fff;opacity:.8;background:none;border:none;font-size:1.5rem;cursor:pointer;line-height:1;padding:0;width:28px;height:28px}.assign-role-modal .modal-header .btn-close[data-v-b9b99b2d]:hover{opacity:1}.assign-role-modal .modal-subtitle[data-v-b9b99b2d]{padding:10px 20px;background:#667eea14;color:var(--text-secondary);font-size:.9rem;border-bottom:1px solid var(--border);font-weight:500}.assign-role-modal .modal-body[data-v-b9b99b2d]{padding:20px}.assign-role-modal .modal-footer[data-v-b9b99b2d]{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border)}.assign-role-modal .btn-confirm[data-v-b9b99b2d]{padding:10px 20px;border:none;border-radius:var(--radius);background:var(--gradient-primary);color:#fff;font-weight:500;transition:var(--transition);cursor:pointer;font-size:.9rem}.assign-role-modal .btn-confirm[data-v-b9b99b2d]:hover:not(:disabled){opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.assign-role-modal .btn-confirm[data-v-b9b99b2d]:disabled{opacity:.6;cursor:not-allowed}.assign-role-modal .btn-cancel[data-v-b9b99b2d]{padding:10px 20px;background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);font-weight:500;transition:var(--transition);cursor:pointer;font-size:.9rem}.assign-role-modal .btn-cancel[data-v-b9b99b2d]:hover{background:var(--hover-bg)}.admin-role-notice[data-v-b9b99b2d]{padding:12px 16px;background:#667eea14;border:1px solid rgba(102,126,234,.25);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.85rem;margin-bottom:12px;display:flex;align-items:center;gap:8px}.modal-header[data-v-b9b99b2d]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-b9b99b2d]{margin:0;color:var(--text-primary);font-size:1.1rem}.btn-close[data-v-b9b99b2d]{width:28px;height:28px;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1}.btn-close[data-v-b9b99b2d]:hover{color:var(--text-primary)}.modal-body[data-v-b9b99b2d]{padding:20px;max-height:60vh;overflow-y:auto;box-sizing:border-box}.modal-footer[data-v-b9b99b2d]{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border)}.form-group[data-v-b9b99b2d]{margin-bottom:16px}.form-group label[data-v-b9b99b2d]{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:.9rem}.form-group input[data-v-b9b99b2d],.form-group select[data-v-b9b99b2d]{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.95rem;box-sizing:border-box}.form-group input[data-v-b9b99b2d]:focus,.form-group select[data-v-b9b99b2d]:focus{outline:none;border-color:var(--primary)}.error-message[data-v-b9b99b2d]{color:var(--danger);font-size:.85rem;margin-top:8px}@media (max-width: 900px){.split-layout[data-v-b9b99b2d]{grid-template-columns:1fr}.left-panel[data-v-b9b99b2d]{max-height:300px;overflow-y:auto}}.menu-manage-container[data-v-b9b99b2d]{padding:16px}.menu-manage-header[data-v-b9b99b2d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.menu-manage-header h3[data-v-b9b99b2d]{margin:0;font-size:1.1rem;color:var(--text-primary)}.menu-tree-container[data-v-b9b99b2d]{background:#fff;border-radius:8px;padding:12px;box-shadow:0 2px 8px #0000000f}.tree-node-root[data-v-b9b99b2d]{width:100%}.tree-node[data-v-b9b99b2d]{display:flex;align-items:center;padding:8px 12px;border-radius:6px;margin:2px 0;font-size:.9rem;gap:6px;transition:background .15s}.tree-node[data-v-b9b99b2d]:hover{background:#f5f7fa}.row-level-0[data-v-b9b99b2d]{padding-left:8px;font-weight:600;color:var(--text-primary)}.row-level-1[data-v-b9b99b2d]{padding-left:36px;color:var(--text-primary)}.row-level-2[data-v-b9b99b2d]{padding-left:64px;color:var(--text-secondary);font-size:.85rem}.expand-icon[data-v-b9b99b2d]{cursor:pointer;width:16px;text-align:center;color:#999;font-size:.75rem;flex-shrink:0}.expand-icon[data-v-b9b99b2d]:empty{pointer-events:none}.node-icon[data-v-b9b99b2d]{font-size:1rem;flex-shrink:0}.node-name[data-v-b9b99b2d]{flex:1;min-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-info[data-v-b9b99b2d]{display:flex;gap:6px;align-items:center;flex-shrink:0}.tag[data-v-b9b99b2d]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;background:#e8f4ff;color:#1890ff;white-space:nowrap}.tag-permission[data-v-b9b99b2d]{background:#f0f0f0;color:#666;font-family:monospace}.node-actions[data-v-b9b99b2d]{display:flex;gap:8px;flex-shrink:0;margin-left:auto}.node-actions .btn[data-v-b9b99b2d]{padding:4px 10px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:opacity .2s}.node-actions .btn[data-v-b9b99b2d]:hover{opacity:.8}.node-actions .btn-edit[data-v-b9b99b2d]{background:var(--primary);color:#fff}.node-actions .btn-delete[data-v-b9b99b2d]{background:var(--danger);color:#fff}.menu-manage-tools[data-v-b9b99b2d]{display:flex;align-items:center;gap:12px}.menu-search-input[data-v-b9b99b2d]{width:260px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;background:var(--bg);color:var(--text-primary);transition:var(--transition);box-sizing:border-box}.menu-search-input[data-v-b9b99b2d]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea26}.menu-table-container[data-v-b9b99b2d]{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}.menu-table[data-v-b9b99b2d]{width:100%;border-collapse:collapse;font-size:.9rem}.menu-table thead[data-v-b9b99b2d]{background:var(--bg);border-bottom:2px solid var(--border)}.menu-table th[data-v-b9b99b2d]{padding:14px 16px;text-align:left;color:var(--text-secondary);font-weight:600;font-size:.85rem;white-space:nowrap}.menu-table tbody tr[data-v-b9b99b2d]{border-bottom:1px solid var(--border);transition:background .15s}.menu-table tbody tr[data-v-b9b99b2d]:hover{background:var(--hover-bg)}.menu-table td[data-v-b9b99b2d]{padding:12px 16px;color:var(--text-primary);vertical-align:middle}.menu-table .menu-name-cell[data-v-b9b99b2d]{display:flex;align-items:center;gap:8px;min-width:180px}.menu-table .node-name[data-v-b9b99b2d]{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-table .row-level-0[data-v-b9b99b2d]{background:#667eea08}.menu-table .row-level-0 .menu-name-cell[data-v-b9b99b2d]{padding-left:12px;font-weight:600}.menu-table .row-level-1 .menu-name-cell[data-v-b9b99b2d]{padding-left:36px}.menu-table .row-level-2 .menu-name-cell[data-v-b9b99b2d]{padding-left:64px}.menu-table .row-level-2 td[data-v-b9b99b2d]{color:var(--text-secondary);font-size:.85rem}.menu-table .id-cell[data-v-b9b99b2d]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text-secondary);font-size:.85rem}.menu-table .path-cell[data-v-b9b99b2d],.menu-table .perm-cell[data-v-b9b99b2d]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text-secondary);font-size:.85rem;word-break:break-all}.menu-table .tag[data-v-b9b99b2d]{display:inline-block;padding:3px 10px;border-radius:4px;font-size:.75rem;white-space:nowrap}.menu-table .tag-directory[data-v-b9b99b2d]{background:#fff7e6;color:#d4880d}.menu-table .tag-menu[data-v-b9b99b2d]{background:#e6f7ff;color:#1890ff}.menu-table .tag-button[data-v-b9b99b2d]{background:#f6ffed;color:#52c41a}.menu-table .row-actions[data-v-b9b99b2d]{display:flex;gap:6px;flex-wrap:wrap}.menu-table .action-btn[data-v-b9b99b2d]{padding:5px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:opacity .2s,transform .1s;color:#fff;font-weight:500}.menu-table .action-btn[data-v-b9b99b2d]:hover{opacity:.85;transform:translateY(-1px)}.menu-table .action-btn[data-v-b9b99b2d]:active{transform:translateY(0)}.menu-table .action-btn.edit[data-v-b9b99b2d]{background:var(--primary)}.menu-table .action-btn.delete[data-v-b9b99b2d]{background:var(--danger)}.menu-table .empty-cell[data-v-b9b99b2d]{text-align:center;color:var(--text-secondary);padding:40px 16px;font-size:.9rem}@media (max-width: 600px){.menu-manage-header[data-v-b9b99b2d]{flex-direction:column;align-items:stretch;gap:12px}.menu-manage-tools[data-v-b9b99b2d]{flex-direction:column;align-items:stretch;width:100%}.menu-search-input[data-v-b9b99b2d],.btn-add[data-v-b9b99b2d]{width:100%}.menu-table[data-v-b9b99b2d]{font-size:.8rem}.menu-table th[data-v-b9b99b2d],.menu-table td[data-v-b9b99b2d]{padding:8px 6px}.menu-table .row-actions[data-v-b9b99b2d]{flex-direction:column;align-items:stretch;gap:4px}.menu-table .action-btn[data-v-b9b99b2d]{width:100%;text-align:center;padding:6px 8px}.menu-table .id-cell[data-v-b9b99b2d],.menu-table .perm-cell[data-v-b9b99b2d]{display:none}.menu-table th[data-v-b9b99b2d]:nth-child(2),.menu-table th[data-v-b9b99b2d]:nth-child(4){display:none}.menu-table-container[data-v-b9b99b2d]{display:none}}.menu-card-list[data-v-b9b99b2d]{display:none}@media (max-width: 600px){.menu-card-list[data-v-b9b99b2d]{display:flex;flex-direction:column;gap:12px}}.menu-card[data-v-b9b99b2d]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,transform .1s}.menu-card[data-v-b9b99b2d]:hover{box-shadow:0 4px 12px #00000014}.menu-card .card-level-1[data-v-b9b99b2d],.menu-card.card-level-1[data-v-b9b99b2d],.menu-card.card-level-2[data-v-b9b99b2d]{margin-left:0}.menu-card-header[data-v-b9b99b2d]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.menu-card-header .node-name[data-v-b9b99b2d]{flex:1;min-width:100px;font-weight:600;color:var(--text-primary);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-card.card-level-0[data-v-b9b99b2d]{border-left:3px solid var(--primary);background:linear-gradient(135deg,rgba(102,126,234,.04) 0%,var(--bg-secondary) 50%)}.menu-card.card-level-1[data-v-b9b99b2d]{border-left:3px solid #94a3b8}.menu-card.card-level-2[data-v-b9b99b2d]{border-left:3px solid #cbd5e1;background:var(--bg)}.menu-card-body[data-v-b9b99b2d]{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--bg);border-radius:var(--radius-sm)}.menu-card-row[data-v-b9b99b2d]{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;min-width:0}.menu-card-row .row-label[data-v-b9b99b2d]{flex-shrink:0;color:var(--text-secondary);font-weight:500;min-width:50px}.menu-card-row .row-value[data-v-b9b99b2d]{flex:1;min-width:0;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all;font-size:.8rem}.menu-card-actions[data-v-b9b99b2d]{display:flex;flex-direction:column;gap:8px;margin-top:4px}.menu-card-actions .action-btn[data-v-b9b99b2d]{width:100%;text-align:center;padding:10px 12px;font-size:.9rem;border:none;border-radius:var(--radius);cursor:pointer;color:#fff;font-weight:500;transition:opacity .2s,transform .1s}.menu-card-actions .action-btn[data-v-b9b99b2d]:hover{opacity:.88}.menu-card-actions .action-btn[data-v-b9b99b2d]:active{transform:scale(.98)}.menu-card-actions .action-btn.edit[data-v-b9b99b2d]{background:var(--primary)}.menu-card-actions .action-btn.delete[data-v-b9b99b2d]{background:var(--danger)}@media (min-width: 1024px){.header[data-v-b9b99b2d]{padding:1rem 2rem}.header h2[data-v-b9b99b2d]{font-size:1.5rem}.placeholder[data-v-b9b99b2d]{width:80px}.tabs[data-v-b9b99b2d]{padding:0 1.5rem}.tab-content[data-v-b9b99b2d]{padding:0 .5rem}.split-layout[data-v-b9b99b2d]{grid-template-columns:280px 1fr;gap:20px}.modal-container[data-v-b9b99b2d]{max-width:560px}.user-list-container[data-v-b9b99b2d],.menu-manage-container[data-v-b9b99b2d]{padding:16px 0}}.role-pagination[data-v-b9b99b2d]{margin-top:12px;text-align:center;padding:0 0 8px}.user-pagination[data-v-b9b99b2d]{margin-top:16px;text-align:center;padding-bottom:8px}.no-permission-page[data-v-be34d488]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.content-wrapper[data-v-be34d488]{text-align:center;max-width:500px;animation:fadeIn-be34d488 .5s ease-out}@keyframes fadeIn-be34d488{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.icon-area[data-v-be34d488]{margin-bottom:30px}.icon-circle[data-v-be34d488]{width:120px;height:120px;border-radius:50%;background:#fff3;display:inline-flex;align-items:center;justify-content:center;font-size:60px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 40px #0003}.main-title[data-v-be34d488]{font-size:2.5rem;font-weight:700;color:#fff;margin:0 0 20px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.subtitle[data-v-be34d488]{font-size:1.1rem;color:#ffffffe6;line-height:1.8;margin:0 0 40px}.button-group[data-v-be34d488]{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.btn[data-v-be34d488]{padding:16px 40px;border:none;border-radius:30px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary[data-v-be34d488]{background:#fff;color:#667eea;box-shadow:0 8px 30px #0003}.btn-primary[data-v-be34d488]:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 40px #0000004d}.btn-secondary[data-v-be34d488]{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary[data-v-be34d488]:hover{background:#ffffff40;border-color:#fff9;transform:translateY(-4px)}.help-text[data-v-be34d488]{margin-top:40px;font-size:.9rem;color:#fff9}@media (max-width: 480px){.main-title[data-v-be34d488]{font-size:2rem}.subtitle[data-v-be34d488]{font-size:1rem}.btn[data-v-be34d488]{padding:14px 30px;font-size:1rem}.button-group[data-v-be34d488]{flex-direction:column;gap:15px}.icon-circle[data-v-be34d488]{width:100px;height:100px;font-size:50px}}.member-points-page[data-v-995c0d1c]{min-height:100vh;background:#f5f5f5;padding-bottom:40px}.header[data-v-995c0d1c]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.header h2[data-v-995c0d1c]{margin:0;font-size:18px}.btn-back[data-v-995c0d1c]{background:#fff3;border:none;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer}.btn-back[data-v-995c0d1c]:hover{background:#ffffff4d}.member-info-card[data-v-995c0d1c]{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;margin:16px;border-radius:12px;box-shadow:0 2px 8px #00000014}.member-avatar[data-v-995c0d1c]{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);display:flex;align-items:center;justify-content:center;font-size:30px}.member-detail[data-v-995c0d1c]{flex:1}.member-name[data-v-995c0d1c]{font-size:18px;font-weight:600;color:#1f2937}.member-phone[data-v-995c0d1c]{font-size:14px;color:#6b7280;margin-top:4px}.member-stats[data-v-995c0d1c]{display:flex;gap:24px}.stat-item[data-v-995c0d1c]{text-align:center}.stat-value[data-v-995c0d1c]{font-size:20px;font-weight:700;display:block}.stat-value.points[data-v-995c0d1c]{color:#7c3aed}.stat-value.balance[data-v-995c0d1c]{color:#059669}.stat-label[data-v-995c0d1c]{font-size:12px;color:#9ca3af}.action-bar[data-v-995c0d1c]{display:flex;gap:12px;padding:0 16px 16px}.btn-refresh[data-v-995c0d1c],.btn-adjust[data-v-995c0d1c]{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-size:14px}.btn-refresh[data-v-995c0d1c]{background:#e5e7eb;color:#374151}.btn-adjust[data-v-995c0d1c]{background:#7c3aed;color:#fff}.btn-adjust[data-v-995c0d1c]:disabled{background:#d1d5db;cursor:not-allowed}.filter-section[data-v-995c0d1c]{background:#fff;padding:16px;margin:0 16px 16px;border-radius:12px}.filter-row[data-v-995c0d1c]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-item[data-v-995c0d1c]{display:flex;align-items:center;gap:8px}.filter-item label[data-v-995c0d1c]{font-size:14px;color:#6b7280}.filter-item select[data-v-995c0d1c],.filter-item input[data-v-995c0d1c]{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.btn-search[data-v-995c0d1c]{padding:8px 20px;background:#7c3aed;color:#fff;border:none;border-radius:8px;cursor:pointer}.btn-reset[data-v-995c0d1c]{padding:8px 20px;background:#e5e7eb;color:#374151;border:none;border-radius:8px;cursor:pointer}.records-section[data-v-995c0d1c]{margin:0 16px}.section-title[data-v-995c0d1c]{font-size:16px;color:#374151;margin:0 0 12px}.record-list[data-v-995c0d1c]{display:flex;flex-direction:column;gap:12px}.record-card[data-v-995c0d1c]{background:#fff;border-radius:12px;padding:16px;border-left:4px solid #d1d5db}.record-card.positive[data-v-995c0d1c]{border-left-color:#059669}.record-card.negative[data-v-995c0d1c]{border-left-color:#dc2626}.record-header[data-v-995c0d1c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.record-type[data-v-995c0d1c]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.record-type.recharge[data-v-995c0d1c]{background:#dbeafe;color:#1d4ed8}.record-type.consume[data-v-995c0d1c]{background:#d1fae5;color:#047857}.record-type.expire[data-v-995c0d1c]{background:#fee2e2;color:#b91c1c}.record-type.adjust[data-v-995c0d1c]{background:#fef3c7;color:#b45309}.record-type.order[data-v-995c0d1c]{background:#e0e7ff;color:#4338ca}.record-time[data-v-995c0d1c]{font-size:12px;color:#9ca3af}.record-body[data-v-995c0d1c]{display:flex;gap:16px}.record-points[data-v-995c0d1c]{font-size:24px;font-weight:700;min-width:80px}.record-points.positive[data-v-995c0d1c]{color:#059669}.record-points.negative[data-v-995c0d1c]{color:#dc2626}.record-info[data-v-995c0d1c]{flex:1}.record-desc[data-v-995c0d1c]{color:#374151;font-size:14px;margin-bottom:4px}.record-balance[data-v-995c0d1c],.record-related[data-v-995c0d1c],.record-operator[data-v-995c0d1c]{font-size:12px;color:#9ca3af;margin-top:2px}.pagination[data-v-995c0d1c]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.btn-page[data-v-995c0d1c]{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer}.btn-page[data-v-995c0d1c]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-995c0d1c]{font-size:14px;color:#6b7280}.loading[data-v-995c0d1c],.empty-state[data-v-995c0d1c]{text-align:center;padding:40px;color:#9ca3af}.modal-overlay[data-v-995c0d1c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-995c0d1c]{background:#fff;border-radius:16px;width:90%;max-width:440px;max-height:90vh;overflow:auto}.modal-header[data-v-995c0d1c]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h2[data-v-995c0d1c]{margin:0;font-size:18px}.btn-close[data-v-995c0d1c]{background:none;border:none;font-size:24px;cursor:pointer;color:#9ca3af}.modal-body[data-v-995c0d1c]{padding:20px}.form-group[data-v-995c0d1c]{margin-bottom:16px}.form-group label[data-v-995c0d1c]{display:block;font-size:14px;color:#374151;margin-bottom:6px}.required[data-v-995c0d1c]{color:#dc2626}.form-group input[data-v-995c0d1c],.form-group textarea[data-v-995c0d1c]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;box-sizing:border-box}.disabled-input[data-v-995c0d1c]{background:#f3f4f6!important;color:#6b7280}.disabled-input.result[data-v-995c0d1c]{color:#7c3aed;font-weight:600;font-size:16px}.hint[data-v-995c0d1c]{font-size:12px;color:#9ca3af;margin-top:4px}.modal-footer[data-v-995c0d1c]{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb}.btn-cancel[data-v-995c0d1c]{padding:10px 20px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer}.btn-confirm[data-v-995c0d1c]{padding:10px 20px;border:none;background:#7c3aed;color:#fff;border-radius:8px;cursor:pointer}.btn-confirm[data-v-995c0d1c]:disabled{background:#d1d5db;cursor:not-allowed}@media (max-width: 767px){.header[data-v-995c0d1c]{padding:12px}.header h2[data-v-995c0d1c]{font-size:16px}.search-section[data-v-995c0d1c]{padding:12px}.search-row[data-v-995c0d1c]{flex-direction:column;gap:8px}.search-row input[data-v-995c0d1c],.search-row select[data-v-995c0d1c]{width:100%;font-size:16px;min-height:44px}.search-row button[data-v-995c0d1c]{width:100%;min-height:44px}.points-card[data-v-995c0d1c]{padding:12px;margin:0 12px 12px}.action-buttons[data-v-995c0d1c]{flex-direction:column;gap:8px}.action-buttons button[data-v-995c0d1c]{width:100%;min-height:44px}.modal-content[data-v-995c0d1c]{width:95%;padding:16px}.modal-footer[data-v-995c0d1c]{flex-direction:column;gap:8px}.modal-footer button[data-v-995c0d1c]{width:100%;min-height:44px}.pagination[data-v-995c0d1c]{gap:8px;flex-wrap:wrap}}.load-more-status[data-v-995c0d1c]{text-align:center;padding:1.5rem 1rem;color:#9ca3af;font-size:.9rem}.loading-more-text[data-v-995c0d1c]{animation:pulse-995c0d1c 1.5s ease-in-out infinite}@keyframes pulse-995c0d1c{0%,to{opacity:1}50%{opacity:.5}}.points-history-page[data-v-fe75cf6d]{min-height:100vh;background:#f5f5f5;padding-bottom:40px}.header[data-v-fe75cf6d]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.header h2[data-v-fe75cf6d]{margin:0;font-size:18px}.btn-back[data-v-fe75cf6d]{background:#fff3;border:none;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer}.points-card[data-v-fe75cf6d]{position:relative;margin:16px;padding:24px;background:#fff;border-radius:16px;box-shadow:0 4px 16px #7c3aed26;overflow:hidden}.points-bg[data-v-fe75cf6d]{position:absolute;top:0;right:0;width:150px;height:150px;background:radial-gradient(circle,rgba(124,58,237,.1) 0%,transparent 70%);border-radius:50%}.points-content[data-v-fe75cf6d]{position:relative}.points-label[data-v-fe75cf6d]{font-size:14px;color:#9ca3af}.points-value[data-v-fe75cf6d]{font-size:40px;font-weight:700;color:#7c3aed;margin:8px 0}.points-hint[data-v-fe75cf6d]{font-size:12px;color:#9ca3af}.points-actions[data-v-fe75cf6d]{position:absolute;top:24px;right:24px}.btn-rules[data-v-fe75cf6d]{padding:6px 14px;background:#f3f4f6;color:#6b7280;border:none;border-radius:20px;font-size:12px;cursor:pointer}.filter-section[data-v-fe75cf6d]{background:#fff;padding:12px 16px;margin:0 16px 16px;border-radius:12px}.filter-row[data-v-fe75cf6d]{display:flex;align-items:center;gap:12px}.filter-item[data-v-fe75cf6d]{display:flex;align-items:center;gap:8px;flex:1}.filter-item label[data-v-fe75cf6d]{font-size:14px;color:#6b7280}.filter-item select[data-v-fe75cf6d]{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.btn-reset[data-v-fe75cf6d]{padding:8px 16px;background:#e5e7eb;color:#374151;border:none;border-radius:8px;font-size:14px;cursor:pointer}.records-section[data-v-fe75cf6d]{margin:0 16px}.section-title[data-v-fe75cf6d]{font-size:16px;color:#374151;margin:0 0 12px}.record-list[data-v-fe75cf6d]{display:flex;flex-direction:column;gap:12px}.record-card[data-v-fe75cf6d]{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:16px}.record-icon[data-v-fe75cf6d]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px}.record-card.positive .record-icon[data-v-fe75cf6d]{background:#d1fae5}.record-card.negative .record-icon[data-v-fe75cf6d]{background:#fee2e2}.record-info[data-v-fe75cf6d]{flex:1}.record-type[data-v-fe75cf6d]{font-size:15px;color:#1f2937;font-weight:500}.record-desc[data-v-fe75cf6d]{font-size:13px;color:#6b7280;margin-top:2px}.record-time[data-v-fe75cf6d]{font-size:12px;color:#9ca3af;margin-top:4px}.record-points[data-v-fe75cf6d]{font-size:18px;font-weight:700}.record-points.positive[data-v-fe75cf6d]{color:#059669}.record-points.negative[data-v-fe75cf6d]{color:#dc2626}.pagination[data-v-fe75cf6d]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.btn-page[data-v-fe75cf6d]{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer}.btn-page[data-v-fe75cf6d]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-fe75cf6d]{font-size:14px;color:#6b7280}.loading[data-v-fe75cf6d],.empty-state[data-v-fe75cf6d]{text-align:center;padding:40px;color:#9ca3af}.empty-hint[data-v-fe75cf6d]{font-size:13px;margin-top:8px}.modal-overlay[data-v-fe75cf6d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-fe75cf6d]{background:#fff;border-radius:16px;width:90%;max-width:400px;max-height:80vh;overflow:auto}.modal-header[data-v-fe75cf6d]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h2[data-v-fe75cf6d]{margin:0;font-size:18px}.btn-close[data-v-fe75cf6d]{background:none;border:none;font-size:24px;cursor:pointer;color:#9ca3af}.modal-body[data-v-fe75cf6d]{padding:20px}.rule-item[data-v-fe75cf6d]{margin-bottom:16px}.rule-title[data-v-fe75cf6d]{font-size:15px;font-weight:600;color:#1f2937;margin-bottom:4px}.rule-desc[data-v-fe75cf6d]{font-size:13px;color:#6b7280;padding-left:4px}.load-more-status[data-v-fe75cf6d]{text-align:center;padding:1.5rem 1rem;color:#9ca3af;font-size:.9rem}.loading-more-text[data-v-fe75cf6d]{animation:pulse-fe75cf6d 1.5s ease-in-out infinite}@keyframes pulse-fe75cf6d{0%,to{opacity:1}50%{opacity:.5}}.member-list-page[data-v-22ea915b]{min-height:100vh;background:#f5f5f5;padding-bottom:40px}.header[data-v-22ea915b]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.header h2[data-v-22ea915b]{margin:0;font-size:18px}.btn-back[data-v-22ea915b]{background:#fff3;border:none;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer}.btn-back[data-v-22ea915b]:hover{background:#ffffff4d}.filter-section[data-v-22ea915b]{background:#fff;padding:16px;margin:16px;border-radius:12px}.filter-row[data-v-22ea915b]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-input-wrap input[data-v-22ea915b]{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:200px}.btn-search[data-v-22ea915b]{padding:8px 20px;background:#7c3aed;color:#fff;border:none;border-radius:8px;cursor:pointer}.btn-reset[data-v-22ea915b]{padding:8px 20px;background:#e5e7eb;color:#374151;border:none;border-radius:8px;cursor:pointer}.member-list-container[data-v-22ea915b]{padding:0 16px}.member-list[data-v-22ea915b]{display:flex;flex-direction:column;gap:12px}.member-card[data-v-22ea915b]{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000f}.member-header[data-v-22ea915b]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.member-avatar[data-v-22ea915b]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}.member-avatar img[data-v-22ea915b]{width:100%;height:100%;object-fit:cover}.member-basic[data-v-22ea915b]{flex:1}.member-name[data-v-22ea915b]{margin:0;font-size:16px;color:#1f2937}.member-phone[data-v-22ea915b]{margin:2px 0 0;font-size:13px;color:#6b7280}.status-badge[data-v-22ea915b]{padding:4px 10px;border-radius:20px;font-size:12px}.status-badge.active[data-v-22ea915b]{background:#d1fae5;color:#047857}.status-badge.disabled[data-v-22ea915b]{background:#fee2e2;color:#b91c1c}.member-info[data-v-22ea915b]{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:12px}.info-row[data-v-22ea915b]{font-size:14px}.label[data-v-22ea915b]{color:#9ca3af}.value.points[data-v-22ea915b]{color:#7c3aed;font-weight:600}.value.balance[data-v-22ea915b]{color:#059669;font-weight:600}.member-actions[data-v-22ea915b]{display:flex;gap:12px;padding-top:12px;border-top:1px solid #f3f4f6}.btn-points[data-v-22ea915b]{padding:8px 16px;background:#7c3aed;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.btn-edit[data-v-22ea915b]{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.btn-delete[data-v-22ea915b]{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.btn-add[data-v-22ea915b]{padding:8px 20px;background:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;margin-left:auto}.modal-overlay[data-v-22ea915b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-22ea915b]{background:#fff;border-radius:12px;width:90%;max-width:480px;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-22ea915b]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-header h2[data-v-22ea915b]{margin:0;font-size:16px}.btn-close[data-v-22ea915b]{background:none;border:none;font-size:24px;cursor:pointer;color:#9ca3af}.modal-body[data-v-22ea915b]{padding:20px;max-height:60vh;overflow-y:auto}.form-group[data-v-22ea915b]{margin-bottom:16px}.form-group label[data-v-22ea915b]{display:block;margin-bottom:6px;font-size:14px;color:#374151}.form-group input[data-v-22ea915b],.form-group select[data-v-22ea915b]{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;box-sizing:border-box}.form-group input[data-v-22ea915b]:disabled{background:#f3f4f6;color:#6b7280}.form-hint[data-v-22ea915b]{display:block;margin-top:4px;font-size:12px;color:#9ca3af}.modal-error[data-v-22ea915b]{margin-top:8px;padding:8px 12px;background:#fee2e2;color:#b91c1c;border-radius:8px;font-size:13px}.modal-footer[data-v-22ea915b]{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb;justify-content:flex-end}.btn[data-v-22ea915b]{padding:8px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px}.btn-cancel[data-v-22ea915b]{background:#e5e7eb;color:#374151}.btn-confirm[data-v-22ea915b]{background:#7c3aed;color:#fff}.btn-confirm[data-v-22ea915b]:disabled{opacity:.5;cursor:not-allowed}.pagination[data-v-22ea915b]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.btn-page[data-v-22ea915b]{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer}.btn-page[data-v-22ea915b]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-22ea915b]{font-size:14px;color:#6b7280}.loading[data-v-22ea915b],.empty-state[data-v-22ea915b]{text-align:center;padding:60px;color:#9ca3af}@media (max-width: 767px){.member-list-page[data-v-22ea915b]{padding:0}.header[data-v-22ea915b]{padding:12px}.header h2[data-v-22ea915b]{font-size:16px}.filter-section[data-v-22ea915b]{padding:12px}.filter-row[data-v-22ea915b]{flex-direction:column;align-items:stretch;gap:8px}.search-input-wrap[data-v-22ea915b]{width:100%}.search-input-wrap input[data-v-22ea915b]{width:100%;min-height:44px;font-size:16px}.btn-search[data-v-22ea915b],.btn-reset[data-v-22ea915b],.btn-add[data-v-22ea915b]{width:100%;min-height:44px;font-size:14px}.member-card[data-v-22ea915b]{padding:12px;margin:0 12px 12px}.member-actions[data-v-22ea915b]{flex-direction:column;gap:8px}.member-actions button[data-v-22ea915b]{width:100%;min-height:44px;font-size:14px}.modal-content[data-v-22ea915b]{width:95%;padding:20px 16px}.form-group input[data-v-22ea915b],.form-group select[data-v-22ea915b],.form-group textarea[data-v-22ea915b]{min-height:44px;font-size:16px}.pagination[data-v-22ea915b]{gap:8px}.btn-page[data-v-22ea915b]{padding:10px 14px}}.load-more-status[data-v-22ea915b]{text-align:center;padding:1.5rem 1rem;color:#9ca3af;font-size:.9rem}.loading-more-text[data-v-22ea915b]{animation:pulse-22ea915b 1.5s ease-in-out infinite}@keyframes pulse-22ea915b{0%,to{opacity:1}50%{opacity:.5}}.app-upload-page[data-v-9e02a300]{min-height:100vh;background:#f5f7fa;padding-bottom:32px}.header[data-v-9e02a300]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid #e4e7ed;position:sticky;top:0;z-index:10}.header h2[data-v-9e02a300]{margin:0;font-size:18px;font-weight:600}.btn-back[data-v-9e02a300]{background:none;border:none;color:#409eff;font-size:15px;cursor:pointer;padding:4px 8px}.card[data-v-9e02a300]{background:#fff;margin:16px;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000000d}.card h3[data-v-9e02a300]{margin:0 0 12px;font-size:16px;font-weight:600;color:#303133}.hint[data-v-9e02a300]{font-size:13px;color:#909399;margin:0 0 12px}.hint code[data-v-9e02a300]{background:#f0f2f5;padding:2px 6px;border-radius:3px;font-size:12px}.form-row[data-v-9e02a300]{margin-bottom:12px}.form-row label[data-v-9e02a300]{display:block;font-size:13px;color:#606266;margin-bottom:6px}.btn-row[data-v-9e02a300]{display:flex;gap:8px;flex-wrap:wrap}.btn-row .btn[data-v-9e02a300]{flex:1;min-width:120px}.grid-2[data-v-9e02a300]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-row[data-v-9e02a300]{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.input[data-v-9e02a300]{width:100%;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;box-sizing:border-box;font-family:inherit}.input[data-v-9e02a300]:focus{outline:none;border-color:#409eff}textarea.input[data-v-9e02a300]{resize:vertical;font-family:inherit}.file-info[data-v-9e02a300]{background:#ecf5ff;border:1px solid #b3d8ff;padding:8px 12px;border-radius:4px;font-size:13px;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.btn-link[data-v-9e02a300]{background:none;border:none;color:#f56c6c;cursor:pointer;font-size:13px;padding:0}.btn[data-v-9e02a300]{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn[data-v-9e02a300]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-9e02a300]{background:#409eff;color:#fff}.btn-primary[data-v-9e02a300]:hover:not(:disabled){background:#66b1ff}.btn-secondary[data-v-9e02a300]{background:#fff;color:#409eff;border:1px solid #409eff}.btn-secondary[data-v-9e02a300]:hover:not(:disabled){background:#ecf5ff}.msg[data-v-9e02a300]{margin-top:12px;padding:10px 12px;border-radius:4px;font-size:13px;word-break:break-all}.msg.ok[data-v-9e02a300]{background:#f0f9eb;border:1px solid #e1f3d8;color:#67c23a}.msg.err[data-v-9e02a300]{background:#fef0f0;border:1px solid #fde2e2;color:#f56c6c}.info-grid[data-v-9e02a300]{display:grid;grid-template-columns:100px 1fr;gap:8px 16px;font-size:14px}.info-grid .k[data-v-9e02a300]{color:#909399}.info-grid .v[data-v-9e02a300]{word-break:break-all;color:#303133}.info-grid .v a[data-v-9e02a300]{color:#409eff;text-decoration:none}.info-grid .v a[data-v-9e02a300]:hover{text-decoration:underline}.ai-assistant-page[data-v-9772e7ed]{padding:20px;max-width:1200px;margin:0 auto}.page-header[data-v-9772e7ed]{margin-bottom:20px}.page-header h2[data-v-9772e7ed]{margin:0 0 16px;font-size:20px;color:var(--text-primary, #303133)}.tab-bar[data-v-9772e7ed]{display:flex;gap:4px;background:var(--bg-primary, #fff);padding:4px;border-radius:8px;border:1px solid var(--border-color, #ebeef5)}.tab-btn[data-v-9772e7ed]{flex:1;padding:10px 16px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary, #909399);transition:all .2s}.tab-btn[data-v-9772e7ed]:hover{color:var(--text-primary, #303133);background:var(--bg-secondary, #f5f7fa)}.tab-btn.active[data-v-9772e7ed]{background:var(--accent, #409eff);color:var(--accent-text, #fff);box-shadow:0 2px 8px #409eff4d}.tab-content[data-v-9772e7ed]{display:flex;flex-direction:column;gap:16px}.input-section[data-v-9772e7ed]{background:var(--bg-primary, #fff);padding:16px;border-radius:8px;border:1px solid var(--border-color, #ebeef5)}.input-section label[data-v-9772e7ed]{display:block;font-size:13px;color:var(--text-secondary, #909399);margin-bottom:8px}.input-section textarea[data-v-9772e7ed],.input-section input[type=text][data-v-9772e7ed]{width:100%;padding:10px 12px;border:1px solid var(--border-color, #dcdfe6);border-radius:6px;font-size:14px;resize:vertical;background:var(--bg-secondary, #fafafa);color:var(--text-primary, #303133);box-sizing:border-box;font-family:inherit}.input-section textarea[data-v-9772e7ed]:focus,.input-section input[data-v-9772e7ed]:focus{outline:none;border-color:var(--accent, #409eff);box-shadow:0 0 0 2px #409eff26}.input-footer[data-v-9772e7ed]{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.char-count[data-v-9772e7ed]{font-size:12px;color:var(--text-secondary, #909399)}.form-row[data-v-9772e7ed]{display:flex;gap:12px;margin-bottom:12px}.form-item[data-v-9772e7ed]{flex:1}.form-item.full-width[data-v-9772e7ed]{width:100%}.form-item label[data-v-9772e7ed]{display:block;font-size:13px;color:var(--text-secondary, #909399);margin-bottom:6px}.form-item input[data-v-9772e7ed],.form-item select[data-v-9772e7ed],.form-item textarea[data-v-9772e7ed]{width:100%;padding:8px 12px;border:1px solid var(--border-color, #dcdfe6);border-radius:6px;font-size:14px;background:var(--bg-secondary, #fafafa);color:var(--text-primary, #303133);box-sizing:border-box;font-family:inherit}.form-item select[data-v-9772e7ed]{cursor:pointer}.form-item input[data-v-9772e7ed]:focus,.form-item select[data-v-9772e7ed]:focus,.form-item textarea[data-v-9772e7ed]:focus{outline:none;border-color:var(--accent, #409eff);box-shadow:0 0 0 2px #409eff26}.btn-primary[data-v-9772e7ed]{padding:8px 20px;background:var(--accent, #409eff);color:var(--accent-text, #fff);border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-primary[data-v-9772e7ed]:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 2px 8px #409eff4d}.btn-primary[data-v-9772e7ed]:disabled{opacity:.5;cursor:not-allowed}.quick-actions[data-v-9772e7ed]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-primary, #fff);border-radius:8px;border:1px solid var(--border-color, #ebeef5)}.quick-label[data-v-9772e7ed]{font-size:13px;color:var(--text-secondary, #909399);white-space:nowrap}.btn-quick[data-v-9772e7ed]{padding:6px 12px;background:var(--bg-secondary, #f5f7fa);border:1px solid var(--border-color, #ebeef5);border-radius:16px;cursor:pointer;font-size:13px;color:var(--text-regular, #606266);transition:all .2s;white-space:nowrap}.btn-quick[data-v-9772e7ed]:hover{background:#ecf5ff;border-color:var(--accent, #409eff);color:var(--accent, #409eff)}.error-box[data-v-9772e7ed]{padding:12px 16px;background:#fef0f0;border:1px solid #fde2e2;border-radius:6px;color:#f56c6c;font-size:14px}.blocked-box[data-v-9772e7ed]{padding:14px 16px;background:#fdf6ec;border:1px solid #faecd8;border-radius:6px;color:#e6a23c;font-size:14px}.sql-display[data-v-9772e7ed]{background:var(--bg-primary, #fff);border:1px solid var(--border-color, #ebeef5);border-radius:8px;overflow:hidden}.sql-header[data-v-9772e7ed],.code-header[data-v-9772e7ed]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--bg-secondary, #f5f7fa);border-bottom:1px solid var(--border-color, #ebeef5);font-size:14px;font-weight:500}.sql-meta[data-v-9772e7ed],.code-meta[data-v-9772e7ed]{display:flex;align-items:center;gap:8px}.cost-tag[data-v-9772e7ed]{font-size:12px;color:var(--text-secondary, #909399);padding:2px 8px;background:var(--bg-primary, #fff);border-radius:10px;border:1px solid var(--border-color, #ebeef5)}.btn-copy[data-v-9772e7ed]{padding:4px 10px;background:transparent;border:1px solid var(--border-color, #dcdfe6);border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-regular, #606266);transition:all .2s}.btn-copy[data-v-9772e7ed]:hover{background:var(--accent, #409eff);color:var(--accent-text, #fff);border-color:var(--accent, #409eff)}.sql-code[data-v-9772e7ed],.code-block[data-v-9772e7ed]{margin:0;padding:16px;overflow-x:auto;font-size:13px;line-height:1.6;background:#1e1e1e;color:#d4d4d4;font-family:Consolas,Monaco,Courier New,monospace;white-space:pre-wrap;word-break:break-all}.table-wrapper[data-v-9772e7ed]{overflow-x:auto;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #ebeef5);border-radius:8px}.result-table[data-v-9772e7ed]{width:100%;border-collapse:collapse;font-size:13px}.result-table th[data-v-9772e7ed]{background:var(--bg-secondary, #f5f7fa);padding:10px 12px;text-align:left;font-weight:600;color:var(--text-primary, #303133);border-bottom:2px solid var(--border-color, #ebeef5);white-space:nowrap}.result-table td[data-v-9772e7ed]{padding:8px 12px;border-bottom:1px solid var(--border-color, #ebeef5);color:var(--text-regular, #606266)}.result-table tbody tr[data-v-9772e7ed]:hover{background:#f5f7fa}.result-table tbody tr:last-child td[data-v-9772e7ed]{border-bottom:none}.empty-result[data-v-9772e7ed]{padding:30px;text-align:center;color:var(--text-secondary, #909399);font-size:14px;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #ebeef5);border-radius:8px}.code-display[data-v-9772e7ed]{background:var(--bg-primary, #fff);border:1px solid var(--border-color, #ebeef5);border-radius:8px;overflow:hidden}@media (max-width: 768px){.ai-assistant-page[data-v-9772e7ed]{padding:12px}.form-row[data-v-9772e7ed]{flex-direction:column;gap:8px}.quick-actions[data-v-9772e7ed]{padding:8px 12px}.btn-quick[data-v-9772e7ed]{font-size:12px;padding:5px 10px}.sql-header[data-v-9772e7ed],.code-header[data-v-9772e7ed]{flex-direction:column;gap:8px;align-items:flex-start}.result-table[data-v-9772e7ed]{font-size:12px}.result-table th[data-v-9772e7ed],.result-table td[data-v-9772e7ed]{padding:6px 8px}}.admin-layout[data-v-10ebf496]{min-height:100vh;background:var(--bg-secondary, #f5f7fa);color:var(--text-primary, #303133);display:flex;flex-direction:column}.admin-header[data-v-10ebf496]{height:60px;background:var(--bg-primary, #fff);border-bottom:1px solid var(--border-color, #ebeef5);display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 2px 4px #0000000a;flex-shrink:0}.header-left[data-v-10ebf496]{display:flex;align-items:center;gap:10px}.menu-toggle[data-v-10ebf496]{display:none;background:transparent;border:none;font-size:22px;cursor:pointer;padding:4px 8px;color:var(--text-regular, #606266);line-height:1}.menu-toggle[data-v-10ebf496]:hover{color:#409eff}.header-left .logo[data-v-10ebf496]{font-size:24px}.header-left .title[data-v-10ebf496]{font-size:18px;font-weight:600}.header-right[data-v-10ebf496]{display:flex;align-items:center;gap:8px}.theme-btn[data-v-10ebf496]{padding:4px 10px;font-size:12px;background:transparent;border:1px solid var(--border-light);border-radius:4px;cursor:pointer;color:var(--text-secondary)}.theme-btn.active[data-v-10ebf496]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.theme-group[data-v-10ebf496]{display:flex;gap:4px;align-items:center;padding:4px 8px;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-secondary)}.theme-swatch[data-v-10ebf496]{width:20px;height:20px;padding:0;border-radius:50%;border:2px solid transparent;position:relative;cursor:pointer;box-shadow:0 1px 2px #00000014}.theme-swatch[data-v-10ebf496]:hover{transform:scale(1.1);border-color:var(--text-disabled)}.theme-swatch.active[data-v-10ebf496]{border-color:var(--text-primary);transform:scale(1.1)}.theme-swatch.active[data-v-10ebf496]:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:11px;font-weight:700;text-shadow:0 0 2px rgba(0,0,0,.5)}.variant-group[data-v-10ebf496]{display:flex;gap:2px;padding:2px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px}.variant-btn[data-v-10ebf496]{background:transparent;border:none;color:var(--text-secondary);padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s}.variant-btn[data-v-10ebf496]:hover{color:var(--text-primary)}.variant-btn.active[data-v-10ebf496]{background:var(--accent);color:var(--accent-text)}.user-info[data-v-10ebf496]{font-size:14px;color:var(--text-secondary);margin-left:8px;padding-left:12px;border-left:1px solid var(--border-light)}.btn-back-home[data-v-10ebf496],.btn-logout[data-v-10ebf496]{padding:6px 12px;font-size:13px;background:transparent;border:1px solid var(--border-light);border-radius:4px;cursor:pointer;color:var(--text-secondary)}.btn-back-home[data-v-10ebf496]:hover,.btn-logout[data-v-10ebf496]:hover{background:var(--bg-hover)}.btn-logout[data-v-10ebf496]:hover{color:var(--danger);border-color:var(--danger)}.admin-body[data-v-10ebf496]{flex:1;display:flex;min-height:0}.admin-sidebar[data-v-10ebf496]{width:200px;background:var(--bg-primary, #fff);border-right:1px solid var(--border-color, #ebeef5);flex-shrink:0;overflow-y:auto}.menu[data-v-10ebf496]{list-style:none;margin:0;padding:8px 0}.menu-item[data-v-10ebf496]{display:flex;align-items:center;gap:10px;padding:12px 20px;cursor:pointer;font-size:14px;color:var(--text-regular, #606266);border-left:3px solid transparent;transition:all .15s}.menu-item[data-v-10ebf496]:hover{background:var(--bg-secondary, #f5f7fa);color:#409eff}.menu-item.active[data-v-10ebf496]{background:#ecf5ff;color:#409eff;border-left-color:#409eff;font-weight:500}.menu-icon[data-v-10ebf496]{font-size:16px;width:20px;text-align:center}.admin-content[data-v-10ebf496]{flex:1;overflow:auto;background:var(--bg-secondary, #f5f7fa)}@media (max-width: 768px){.menu-toggle[data-v-10ebf496]{display:inline-block}.admin-header[data-v-10ebf496]{padding:0 12px;height:52px}.header-left .title[data-v-10ebf496]{font-size:15px}.header-left .logo[data-v-10ebf496]{font-size:20px}.header-right[data-v-10ebf496]{gap:4px}.header-right .theme-group[data-v-10ebf496],.header-right .variant-group[data-v-10ebf496]{display:none}.header-right .theme-btn[data-v-10ebf496]{padding:3px 6px;font-size:11px}.header-right .user-info[data-v-10ebf496]{display:none}.header-right .btn-back-home[data-v-10ebf496],.header-right .btn-logout[data-v-10ebf496]{padding:4px 8px;font-size:12px}.admin-sidebar[data-v-10ebf496]{position:fixed;top:52px;left:0;height:calc(100vh - 52px);z-index:1000;transform:translate(-100%);transition:transform .25s ease;box-shadow:2px 0 8px #0000001a;width:220px}.admin-sidebar.sidebar-open[data-v-10ebf496]{transform:translate(0)}.sidebar-mask[data-v-10ebf496]{position:fixed;top:52px;left:0;right:0;bottom:0;background:#0006;z-index:999}.admin-content[data-v-10ebf496]{width:100%}}@media (max-width: 380px){.header-left .title[data-v-10ebf496]{display:none}}.welcome[data-v-f4db3ba7]{padding:32px}h2[data-v-f4db3ba7]{margin:0 0 8px;font-size:24px;color:var(--text-primary, #303133)}.subtitle[data-v-f4db3ba7]{color:var(--text-regular, #909399);margin:0 0 24px}.quick-grid[data-v-f4db3ba7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.quick-card[data-v-f4db3ba7]{background:var(--bg-primary, #fff);border:1px solid var(--border-color, #ebeef5);border-radius:8px;padding:20px;cursor:pointer;transition:all .2s;text-align:center}.quick-card[data-v-f4db3ba7]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #409eff26;border-color:#409eff}.quick-icon[data-v-f4db3ba7]{font-size:36px;margin-bottom:12px}.quick-title[data-v-f4db3ba7]{font-size:16px;font-weight:500;color:var(--text-primary, #303133);margin-bottom:6px}.quick-desc[data-v-f4db3ba7]{font-size:12px;color:var(--text-regular, #909399)}.category-manage-container[data-v-8e49d034]{min-height:100vh;background:#f5f7fa}.header[data-v-8e49d034]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #00000014}.header h1[data-v-8e49d034]{margin:0;font-size:20px;font-weight:600}.btn-back[data-v-8e49d034]{background:#fff3;border:none;color:#fff;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.btn-back[data-v-8e49d034]:hover{background:#ffffff4d}.placeholder[data-v-8e49d034]{width:70px}.toolbar[data-v-8e49d034]{display:flex;gap:12px;padding:16px 24px;background:#fff;border-bottom:1px solid #e4e7ed;align-items:center}.toolbar input[data-v-8e49d034]{flex:1;max-width:320px;padding:8px 12px;border:1px solid #dcdfe6;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.toolbar input[data-v-8e49d034]:focus{border-color:#667eea}.btn-primary[data-v-8e49d034]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 18px;border-radius:6px;cursor:pointer;font-size:14px;transition:opacity .2s}.btn-primary[data-v-8e49d034]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-8e49d034]:disabled{opacity:.5;cursor:not-allowed}.btn-refresh[data-v-8e49d034]{background:#f0f2f5;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:16px}.btn-refresh[data-v-8e49d034]:hover{background:#e4e7ed}.content[data-v-8e49d034]{padding:16px 24px}.loading[data-v-8e49d034],.empty[data-v-8e49d034]{text-align:center;padding:60px 0;color:#909399}.empty .btn-primary[data-v-8e49d034]{margin-top:12px}.category-table[data-v-8e49d034]{width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000f;border-collapse:collapse}.category-table th[data-v-8e49d034]{background:#f5f7fa;padding:12px 16px;text-align:left;font-weight:600;color:#303133;font-size:14px;border-bottom:1px solid #e4e7ed}.category-table td[data-v-8e49d034]{padding:12px 16px;font-size:14px;color:#606266;border-bottom:1px solid #f0f2f5}.category-table tr:hover td[data-v-8e49d034]{background:#fafbfc}.icon-cell[data-v-8e49d034]{font-size:18px}.status[data-v-8e49d034]{padding:2px 8px;border-radius:10px;font-size:12px}.status.active[data-v-8e49d034]{background:#f0f9eb;color:#67c23a}.status.inactive[data-v-8e49d034]{background:#fef0f0;color:#f56c6c}.btn-link[data-v-8e49d034]{background:none;border:none;color:#667eea;cursor:pointer;margin-right:12px;font-size:14px;padding:0}.btn-link[data-v-8e49d034]:hover{text-decoration:underline}.btn-link.danger[data-v-8e49d034]{color:#f56c6c}.dialog-mask[data-v-8e49d034]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog[data-v-8e49d034]{background:#fff;border-radius:10px;width:90%;max-width:420px;padding:24px;box-shadow:0 10px 40px #0003}.dialog h2[data-v-8e49d034]{margin:0 0 20px;font-size:18px;color:#303133}.form-item[data-v-8e49d034]{margin-bottom:16px}.form-item label[data-v-8e49d034]{display:block;margin-bottom:6px;font-size:14px;color:#606266;font-weight:500}.form-item .required[data-v-8e49d034]{color:#f56c6c}.form-item input[data-v-8e49d034],.form-item select[data-v-8e49d034]{width:100%;padding:8px 12px;border:1px solid #dcdfe6;border-radius:6px;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .2s}.form-item input[data-v-8e49d034]:focus,.form-item select[data-v-8e49d034]:focus{border-color:#667eea}.dialog-actions[data-v-8e49d034]{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.btn-cancel[data-v-8e49d034]{background:#fff;border:1px solid #dcdfe6;color:#606266;padding:8px 18px;border-radius:6px;cursor:pointer;font-size:14px}.btn-cancel[data-v-8e49d034]:hover{background:#f5f7fa}:root,:root[data-theme-variant=light]{--bg-primary: #ffffff;--bg-secondary: #f5f7fa;--bg-card: #ffffff;--bg-elevated: #ffffff;--bg-hover: #f0f2f5;--text-primary: #303133;--text-secondary: #606266;--text-tertiary: #909399;--text-inverse: #ffffff;--border-base: #dcdfe6;--border-light: #e4e7ed;--border-lighter: #ebeef5;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--gradient-bg: linear-gradient(135deg, #f5f7fa 0%, #e4e7ed 100%);--gradient-card: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);--brand-primary: #7c3aed;--brand-secondary: #a855f7;--brand-gradient: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);--brand-text: #ffffff;--text-strong: #1f2937;--text-muted: #6b7280;--text-disabled: #9ca3af;--bg-soft: #f3f4f6;--bg-line: #e5e7eb;--glass-bg: rgba(255, 255, 255, .95);--success: #67c23a;--warning: #e6a23c;--danger: #f56c6c;--info: #909399}:root[data-theme-variant=dark]{--bg-primary: #1a1a1f;--bg-secondary: #14141a;--bg-card: #22222a;--bg-elevated: #2a2a35;--bg-hover: #2f2f3a;--text-primary: #e8e8ec;--text-secondary: #b4b4be;--text-tertiary: #7a7a85;--text-inverse: #1a1a1f;--border-base: #3a3a45;--border-light: #2f2f3a;--border-lighter: #252530;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--gradient-bg: linear-gradient(135deg, #14141a 0%, #1a1a1f 100%);--gradient-card: linear-gradient(135deg, #22222a 0%, #2a2a35 100%);--brand-primary: #a78bfa;--brand-secondary: #c084fc;--brand-gradient: linear-gradient(135deg, #a78bfa 0%, #c084fc 100%);--brand-text: #ffffff;--text-strong: #f3f4f6;--text-muted: #b4b4be;--text-disabled: #7a7a85;--bg-soft: #252530;--bg-line: #3a3a45;--glass-bg: rgba(42, 42, 53, .85);--success: #85ce61;--warning: #ebb563;--danger: #f78989;--info: #a3a3ad}:root,:root[data-theme=blue]{--accent: #409eff;--accent-hover: #66b1ff;--accent-active: #3a8ee6;--accent-text: #ffffff}:root[data-theme-variant=dark][data-theme=blue]{--accent: #5ba3f5;--accent-hover: #7cb5f7;--accent-active: #4a93e5;--accent-text: #ffffff}:root[data-theme=orange]{--accent: #f59e0b;--accent-hover: #fbbf24;--accent-active: #d97706;--accent-text: #ffffff}:root[data-theme-variant=dark][data-theme=orange]{--accent: #fbbf24;--accent-hover: #fcd34d;--accent-active: #f59e0b;--accent-text: #1a1a1f}:root[data-theme=green]{--accent: #10b981;--accent-hover: #34d399;--accent-active: #059669;--accent-text: #ffffff}:root[data-theme-variant=dark][data-theme=green]{--accent: #34d399;--accent-hover: #6ee7b7;--accent-active: #10b981;--accent-text: #1a1a1f}:root[data-theme=red]{--accent: #ef4444;--accent-hover: #f87171;--accent-active: #dc2626;--accent-text: #ffffff}:root[data-theme-variant=dark][data-theme=red]{--accent: #fca5a5;--accent-hover: #fecaca;--accent-active: #ef4444;--accent-text: #1a1a1f}:root[data-theme=ocean]{--accent: #0ea5e9;--accent-hover: #38bdf8;--accent-active: #0284c7;--accent-text: #ffffff}:root[data-theme-variant=dark][data-theme=ocean]{--accent: #38bdf8;--accent-hover: #7dd3fc;--accent-active: #0ea5e9;--accent-text: #1a1a1f}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-base);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}html,body{background:var(--bg-primary);color:var(--text-primary);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Microsoft YaHei,Source Han Sans CN,sans-serif}#app{background:var(--gradient-bg);color:var(--text-primary);min-height:100vh}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-tertiary{color:var(--text-tertiary)!important}.bg-primary{background:var(--bg-primary)!important}.bg-secondary{background:var(--bg-secondary)!important}.bg-card{background:var(--bg-card)!important}.border-base{border:1px solid var(--border-base)!important}.border-light{border:1px solid var(--border-light)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-md{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}:root{--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .12)}.responsive-container{width:100%;padding-left:var(--space-md);padding-right:var(--space-md)}@media (min-width: 768px){.responsive-container{padding-left:var(--space-lg);padding-right:var(--space-lg)}}@media (min-width: 1024px){.responsive-container{max-width:1200px;margin:0 auto;padding-left:var(--space-xl);padding-right:var(--space-xl)}}.responsive-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media (min-width: 768px){.responsive-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}}@media (min-width: 1024px){.responsive-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}}.responsive-grid-3{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media (min-width: 768px){.responsive-grid-3{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}}@media (min-width: 1024px){.responsive-grid-3{grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}}.responsive-grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}@media (min-width: 768px){.responsive-grid-4{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}}@media (min-width: 1024px){.responsive-grid-4{grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}}.responsive-card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:var(--transition)}@media (min-width: 768px){.responsive-card{padding:var(--space-lg);border-radius:var(--radius-lg)}}@media (min-width: 1024px){.responsive-card{padding:var(--space-xl)}}.responsive-form .form-group{margin-bottom:var(--space-md)}@media (min-width: 1024px){.responsive-form .form-group{margin-bottom:var(--space-lg)}}.responsive-form-row{display:flex;flex-direction:column;gap:var(--space-md)}@media (min-width: 768px){.responsive-form-row{flex-direction:row;gap:var(--space-lg)}.responsive-form-row>*{flex:1}}@media (max-width: 767px){.touch-input input,.touch-input select,.touch-input textarea{padding:1rem;font-size:16px;min-height:48px;border-radius:var(--radius-md)}}@media (min-width: 1024px){.compact-input input,.compact-input select,.compact-input textarea{padding:.5rem .75rem;font-size:.875rem}}.btn-group-fixed-bottom{position:fixed;bottom:0;left:0;right:0;padding:var(--space-md);background:var(--bg-card);box-shadow:0 -4px 12px #0000001a;display:flex;gap:var(--space-md);z-index:100;padding-bottom:max(var(--space-md),env(safe-area-inset-bottom))}@media (min-width: 1024px){.btn-group-fixed-bottom{position:static;box-shadow:none;padding:var(--space-lg) 0}}.btn-touch{min-height:48px;min-width:48px;font-size:var(--text-base);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md)}@media (min-width: 1024px){.btn-touch{min-height:auto;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm)}}.header-mobile{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--gradient-primary);color:#fff}@media (min-width: 1024px){.header-mobile{flex-direction:row;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-xl)}}@media (min-width: 1024px){.layout-with-sidebar{display:flex}.sidebar-nav{width:240px;min-height:100vh;background:var(--bg-card);border-right:1px solid var(--border);padding:var(--space-lg);position:sticky;top:0}.main-content-with-sidebar{flex:1;min-width:0}}.table-responsive{overflow-x:auto}@media (max-width: 767px){.table-responsive table{display:none}.table-responsive .card-list{display:flex;flex-direction:column;gap:var(--space-md)}}@media (min-width: 768px){.table-responsive table{display:table;width:100%;border-collapse:collapse}.table-responsive .card-list{display:none}}.modal-drawer{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh;overflow-y:auto;z-index:1000;transform:translateY(100%);transition:transform .3s ease}.modal-drawer.active{transform:translateY(0)}@media (min-width: 1024px){.modal-drawer{position:fixed;top:50%;left:50%;bottom:auto;transform:translate(-50%,-50%);max-width:600px;width:90%;max-height:80vh;border-radius:var(--radius-xl)}.modal-drawer.active{transform:translate(-50%,-50%)}}.pagination-simple{display:flex;justify-content:center;gap:var(--space-sm);padding:var(--space-md)}@media (max-width: 767px){.pagination-full{display:none}}@media (min-width: 768px){.pagination-simple{display:none}.pagination-full{display:flex;justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-lg)}}.list-cards{display:flex;flex-direction:column;gap:var(--space-md)}@media (min-width: 768px){.list-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}}@media (min-width: 1024px){.list-cards{grid-template-columns:repeat(3,1fr)}}.show-mobile,.show-tablet,.show-pc{display:none}@media (max-width: 767px){.show-mobile{display:block}.hide-mobile{display:none!important}}@media (min-width: 768px) and (max-width: 1023px){.show-tablet{display:block}.hide-tablet{display:none!important}}@media (min-width: 1024px){.show-pc{display:block}.hide-pc{display:none!important}}.text-center-mobile{text-align:center}@media (min-width: 768px){.text-center-mobile{text-align:left}}.mt-mobile{margin-top:var(--space-md)}@media (min-width: 768px){.mt-mobile{margin-top:var(--space-lg)}}@media (min-width: 1024px){.mt-mobile{margin-top:var(--space-xl)}}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}@media (min-width: 1024px){.safe-area-bottom{padding-bottom:0}}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUpMobile .3s ease-out}@media (min-width: 1024px){.animate-slide-up{animation:none}}:root,:root[data-theme=light]{--el-bg-color: #ffffff;--el-bg-color-page: #f5f7fa;--el-bg-color-overlay: #ffffff;--el-text-color-primary: #303133;--el-text-color-regular: #606266;--el-text-color-secondary: #909399;--el-text-color-placeholder: #a8abb2;--el-text-color-disabled: #c0c4cc;--el-border-color: #dcdfe6;--el-border-color-light: #e4e7ed;--el-border-color-lighter: #ebeef5;--el-border-color-extra-light: #f2f6fc;--el-border-color-dark: #d4d7de;--el-border-color-darker: #cdd0d6;--el-fill-color: #f0f2f5;--el-fill-color-light: #f5f7fa;--el-fill-color-lighter: #fafafa;--el-fill-color-blank: #ffffff;--el-fill-color-dark: #e6e8eb;--el-color-primary: #409eff;--el-color-primary-light-3: #79bbff;--el-color-primary-light-5: #a0cfff;--el-color-primary-light-7: #c6e2ff;--el-color-primary-light-9: #ecf5ff;--el-color-primary-dark-2: #337ecc;--el-color-success: #67c23a;--el-color-success-light-3: #95d475;--el-color-success-light-5: #b3e19d;--el-color-success-light-7: #d1edc4;--el-color-success-light-9: #e1f3d8;--el-color-success-dark-2: #529b2e;--el-color-warning: #e6a23c;--el-color-warning-light-3: #eebe77;--el-color-warning-light-5: #f3d19e;--el-color-warning-light-7: #f8e3c5;--el-color-warning-light-9: #fdf6ec;--el-color-warning-dark-2: #b88230;--el-color-danger: #f56c6c;--el-color-danger-light-3: #f89898;--el-color-danger-light-5: #fab6b6;--el-color-danger-light-7: #fcd3d3;--el-color-danger-light-9: #fef0f0;--el-color-danger-dark-2: #c45656;--el-color-error: #f56c6c;--el-color-error-light-3: #f89898;--el-color-error-light-5: #fab6b6;--el-color-error-light-7: #fcd3d3;--el-color-error-light-9: #fef0f0;--el-color-error-dark-2: #c45656;--el-color-info: #909399;--el-color-info-light-3: #b1b3b8;--el-color-info-light-5: #c8c9cc;--el-color-info-light-7: #dedfe0;--el-color-info-light-9: #f4f4f5;--el-color-info-dark-2: #73767a;--el-mask-color: rgba(0, 0, 0, .5);--el-box-shadow: 0 12px 32px 4px rgba(0, 0, 0, .04), 0 0 12px 0 rgba(0, 0, 0, .04);--el-box-shadow-light: 0 0 6px rgba(0, 0, 0, .06)}:root[data-theme=dark]{--el-bg-color: #22222a;--el-bg-color-page: #14141a;--el-bg-color-overlay: #2a2a35;--el-text-color-primary: #e8e8ec;--el-text-color-regular: #b4b4be;--el-text-color-secondary: #7a7a85;--el-text-color-placeholder: #5a5a65;--el-text-color-disabled: #4a4a55;--el-border-color: #3a3a45;--el-border-color-light: #2f2f3a;--el-border-color-lighter: #252530;--el-border-color-extra-light: #1f1f28;--el-border-color-dark: #4a4a55;--el-border-color-darker: #5a5a65;--el-fill-color: #2a2a35;--el-fill-color-light: #252530;--el-fill-color-lighter: #22222a;--el-fill-color-blank: #22222a;--el-fill-color-dark: #2f2f3a;--el-color-primary: #5ba3f5;--el-color-primary-light-3: #4a93e5;--el-color-primary-light-5: #3a83d5;--el-color-primary-light-7: #2a73c5;--el-color-primary-light-9: #1a63b5;--el-color-primary-dark-2: #7cb5f7;--el-color-success: #85ce61;--el-color-warning: #ebb563;--el-color-danger: #f78989;--el-color-error: #f78989;--el-color-info: #a3a3ad;--el-mask-color: rgba(0, 0, 0, .7);--el-box-shadow: 0 12px 32px 4px rgba(0, 0, 0, .36), 0 0 12px 0 rgba(0, 0, 0, .24);--el-box-shadow-light: 0 0 12px 0 rgba(0, 0, 0, .3)}
