.role-selector-overlay[data-v-50001ceb]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-50001ceb .3s ease}@keyframes fadeIn-50001ceb{0%{opacity:0}to{opacity:1}}.role-selector-card[data-v-50001ceb]{background:#fff;border-radius:16px;padding:40px;width:520px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 24px 80px #0000004d;animation:slideUp-50001ceb .4s ease}@keyframes slideUp-50001ceb{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.role-selector-header[data-v-50001ceb]{text-align:center;margin-bottom:28px}.role-selector-logo[data-v-50001ceb]{width:56px;height:56px;margin:0 auto 12px;background:linear-gradient(135deg,var(--accent),#d4a017);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 6px 20px #b8860b4d}.role-selector-header h2[data-v-50001ceb]{font-size:18px;font-weight:600;color:var(--text);margin-bottom:6px}.role-selector-header p[data-v-50001ceb]{font-size:13px;color:var(--text-muted)}.role-list[data-v-50001ceb]{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.role-card[data-v-50001ceb]{display:flex;align-items:center;gap:14px;padding:16px;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s}.role-card[data-v-50001ceb]:hover{border-color:var(--primary);background:#f0fdf4}.role-card.selected[data-v-50001ceb]{border-color:var(--primary);background:linear-gradient(135deg,#f0fdf4,#dcfce7);box-shadow:0 2px 8px #1a6b3c26}.role-icon[data-v-50001ceb]{width:44px;height:44px;background:#f5f5f5;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.role-card.selected .role-icon[data-v-50001ceb]{background:#fff}.role-info[data-v-50001ceb]{flex:1;min-width:0}.role-name[data-v-50001ceb]{font-size:15px;font-weight:600;color:var(--text);margin-bottom:2px}.role-perms[data-v-50001ceb]{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-check[data-v-50001ceb]{width:24px;height:24px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.btn-enter[data-v-50001ceb]{width:100%;height:48px;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-enter[data-v-50001ceb]:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark),var(--primary));box-shadow:0 4px 12px #1a6b3c4d;transform:translateY(-1px)}.btn-enter[data-v-50001ceb]:disabled{opacity:.5;cursor:not-allowed}.spinner[data-v-50001ceb]{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-50001ceb .6s linear infinite}@keyframes spin-50001ceb{to{transform:rotate(360deg)}}.layout[data-v-50001ceb]{display:flex;height:100vh;background:#f5f6fa}.sidebar[data-v-50001ceb]{width:240px;background:linear-gradient(180deg,#0a1f12,#0f2d1a 40%,#1a4b2e);color:#e0e0e0;display:flex;flex-direction:column;flex-shrink:0;transition:width .3s;overflow-y:auto;overflow-x:hidden}.sidebar.collapsed[data-v-50001ceb]{width:64px}.sidebar-header[data-v-50001ceb]{padding:20px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar.collapsed .sidebar-header h2[data-v-50001ceb]{display:none}.logo[data-v-50001ceb]{width:32px;height:32px;background:linear-gradient(135deg,var(--accent),#d4a017);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.sidebar-header h2[data-v-50001ceb]{font-size:14px;font-weight:600;color:#fff;white-space:nowrap}.sidebar-nav[data-v-50001ceb]{flex:1;padding:8px 0;overflow-y:auto}.nav-group[data-v-50001ceb]{margin-bottom:4px}.nav-group-title[data-v-50001ceb]{display:flex;align-items:center;gap:6px;padding:10px 20px 4px;font-size:11px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.sidebar.collapsed .nav-group-title[data-v-50001ceb]{display:none}.nav-item[data-v-50001ceb]{display:flex;align-items:center;gap:10px;padding:9px 20px;font-size:13px;color:#ffffffbf;cursor:pointer;transition:all .2s;white-space:nowrap}.nav-item[data-v-50001ceb]:hover{background:#ffffff14;color:#fff}.nav-item.active[data-v-50001ceb]{background:#ffffff1f;color:var(--accent);font-weight:500}.nav-item .nav-icon[data-v-50001ceb]{width:20px;flex-shrink:0}.group-icon[data-v-50001ceb]{flex-shrink:0;opacity:.7}.nav-item.disabled[data-v-50001ceb]{opacity:.4;cursor:not-allowed;font-style:italic}.nav-item.disabled[data-v-50001ceb]:hover{background:transparent;color:#ffffffbf}.sidebar.collapsed .nav-item span[data-v-50001ceb]:not(.icon){display:none}.sidebar.collapsed .nav-item[data-v-50001ceb]{padding:10px 0;justify-content:center}.nav-sub[data-v-50001ceb]{overflow:hidden;transition:max-height .3s ease;max-height:500px}.nav-sub.collapsed[data-v-50001ceb]{max-height:0}.nav-sub .nav-item[data-v-50001ceb]{padding-left:52px;font-size:12px}.main-content[data-v-50001ceb]{flex:1;display:flex;flex-direction:column;min-width:0}.header[data-v-50001ceb]{height:56px;background:#fff;border-bottom:1px solid var(--border-light);display:flex;align-items:center;padding:0 20px;gap:16px;flex-shrink:0}.collapse-btn[data-v-50001ceb]{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-secondary);padding:4px 8px;border-radius:6px}.collapse-btn[data-v-50001ceb]:hover{background:#f5f5f5}.breadcrumb[data-v-50001ceb]{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.breadcrumb .current[data-v-50001ceb]{color:var(--text);font-weight:500}.header-right[data-v-50001ceb]{margin-left:auto;display:flex;align-items:center;gap:12px}.btn-icon[data-v-50001ceb]{background:none;border:none;font-size:18px;cursor:pointer;position:relative;padding:4px}.dot[data-v-50001ceb]{position:absolute;top:2px;right:2px;width:6px;height:6px;background:#ef4444;border-radius:50%}.user-info[data-v-50001ceb]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .2s}.user-info[data-v-50001ceb]:hover{background:#f5f5f5}.avatar[data-v-50001ceb]{width:32px;height:32px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.user-info .name[data-v-50001ceb]{font-size:13px;font-weight:500;color:var(--text)}.role-tag[data-v-50001ceb]{font-size:11px;padding:2px 8px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:var(--primary);border-radius:10px;font-weight:500;cursor:pointer;transition:all .2s}.role-tag[data-v-50001ceb]:hover{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff}.user-dropdown[data-v-50001ceb]{position:absolute;top:48px;right:20px;background:#fff;border:1px solid var(--border-light);border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:140px;z-index:100;overflow:hidden}.dropdown-item[data-v-50001ceb]{padding:10px 16px;font-size:13px;color:var(--text);cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:8px}.dropdown-item[data-v-50001ceb]:hover{background:#f5f5f5}.dropdown-item+.dropdown-item[data-v-50001ceb]{border-top:1px solid var(--border-light)}.page-content[data-v-50001ceb]{flex:1;padding:20px;overflow-y:auto}.toast-container[data-v-50001ceb]{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px}.toast-item[data-v-50001ceb]{padding:12px 20px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 12px #00000026;animation:toastIn-50001ceb .3s ease}.toast-item.success[data-v-50001ceb]{background:#dcfce7;color:#166534}.toast-item.error[data-v-50001ceb]{background:#fee2e2;color:#991b1b}.toast-item.warning[data-v-50001ceb]{background:#fef3c7;color:#92400e}@keyframes toastIn-50001ceb{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.modal-overlay[data-v-50001ceb]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9000}.modal[data-v-50001ceb]{background:#fff;border-radius:12px;width:560px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-50001ceb]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light)}.modal-header h3[data-v-50001ceb]{font-size:16px;font-weight:600}.modal-close[data-v-50001ceb]{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-muted);padding:4px}.modal-body[data-v-50001ceb]{padding:20px;overflow-y:auto;flex:1}.login-page[data-v-4b3809ee]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#02090a;position:relative;overflow:hidden}.login-page[data-v-4b3809ee]:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(184,134,11,.08) 0%,transparent 50%),radial-gradient(circle at 70% 20%,rgba(46,139,87,.06) 0%,transparent 50%);animation:bgMove-4b3809ee 20s ease-in-out infinite}.login-footer-img[data-v-4b3809ee]{position:absolute;left:0;bottom:0;width:100%;height:auto;display:block;pointer-events:none;z-index:0}.login-icp[data-v-4b3809ee]{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:12px;color:#ffffffb3;z-index:2;text-decoration:none}.login-icp[data-v-4b3809ee]:hover{color:#ffffffe6;text-decoration:underline}@keyframes bgMove-4b3809ee{0%,to{transform:translate(0)}50%{transform:translate(-2%,-2%)}}.login-card[data-v-4b3809ee]{background:#fff url(/assets/login-bg-BoAa-bRm.jpg) no-repeat center / cover;border-radius:16px;padding:48px 40px;width:420px;max-width:90vw;box-shadow:0 24px 80px #0000004d;position:relative;z-index:1;animation:cardIn-4b3809ee .5s ease}@keyframes cardIn-4b3809ee{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.login-header[data-v-4b3809ee]{text-align:center;margin-bottom:36px}.login-logo[data-v-4b3809ee]{width:244px;height:64px;margin:0 auto 16px;object-fit:contain;display:block}.login-header h1[data-v-4b3809ee]{font-size:20px;font-weight:600;color:#a78b6a;margin-bottom:8px}.login-header p[data-v-4b3809ee]{font-size:13px;color:var(--text-muted)}.login-form[data-v-4b3809ee]{display:flex;flex-direction:column;gap:20px}.form-group label[data-v-4b3809ee]{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.input-wrap[data-v-4b3809ee]{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:all .2s}.input-wrap[data-v-4b3809ee]:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #1a6b3c1a}.input-icon[data-v-4b3809ee]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:16px;background:#f9fafb;border-right:1px solid var(--border-light);flex-shrink:0}.input-wrap input[data-v-4b3809ee]{flex:1;height:44px;padding:0 14px;border:none;border-radius:0 8px 8px 0;font-size:14px;outline:none;background:#fff;color:var(--text)}.input-wrap input[data-v-4b3809ee]::placeholder{color:#bbb}.input-wrap input[data-v-4b3809ee]:disabled{background:#f9fafb;cursor:not-allowed}.error-msg[data-v-4b3809ee]{padding:10px 14px;background:#fbe9e7;color:#c62828;border-radius:8px;font-size:13px;border:1px solid #ffcdd2}.btn-login[data-v-4b3809ee]{height:48px;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-login[data-v-4b3809ee]:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark),var(--primary));box-shadow:0 4px 12px #1a6b3c4d;transform:translateY(-1px)}.btn-login[data-v-4b3809ee]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-4b3809ee]{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-4b3809ee .6s linear infinite}@keyframes spin-4b3809ee{to{transform:rotate(360deg)}}.login-hint[data-v-4b3809ee]{text-align:center;margin-top:24px;font-size:12px;color:var(--text-muted)}.login-hint code[data-v-4b3809ee]{background:#f5f5f5;padding:2px 8px;border-radius:4px;font-size:12px;color:var(--primary)}table th.sortable[data-v-f346a52f]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .2s}table th.sortable[data-v-f346a52f]:hover,table th.sortable.active[data-v-f346a52f]{color:var(--primary, #C9A86C)}.sort-arrow[data-v-f346a52f]{font-size:11px;opacity:.6}table th.sortable.active .sort-arrow[data-v-f346a52f]{opacity:1}.table-wrapper table[data-v-f346a52f]{font-size:13px}.table-wrapper table th[data-v-f346a52f],.table-wrapper table td[data-v-f346a52f]{padding:11px 14px;line-height:1.5;font-size:13px;white-space:nowrap}.table-wrapper table tbody tr:hover td[data-v-f346a52f]{background:#f7f7f9}.table-wrapper table td .actions[data-v-f346a52f]{flex-wrap:nowrap}.card-header[data-v-f346a52f]{min-height:62px}.toolbar[data-v-f346a52f]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.toolbar-tip[data-v-f346a52f]{font-size:12px;color:var(--text-muted)}.toolbar-tip .mono[data-v-f346a52f],.mono[data-v-f346a52f]{font-family:ui-monospace,monospace}.claim-badge[data-v-f346a52f]{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:12px;line-height:1.6;white-space:nowrap}.claim-badge i[data-v-f346a52f]{width:6px;height:6px;border-radius:50%;background:currentColor}.claim-badge.none[data-v-f346a52f]{color:#8a8a8a;background:#f0f0f0}.claim-badge.pending[data-v-f346a52f]{color:#9a6a00;background:#fff4e0}.claim-badge.claimed[data-v-f346a52f]{color:#1f7a3d;background:#e6f6ec}.claim-tip[data-v-f346a52f]{font-size:13px;color:var(--text-muted);margin:0 0 14px}.claim-cards[data-v-f346a52f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.claim-card[data-v-f346a52f]{border:1px solid var(--border-light);border-radius:12px;padding:14px;text-align:center}.claim-card-head[data-v-f346a52f]{display:flex;justify-content:center;align-items:baseline;gap:8px;margin-bottom:10px}.claim-card-head .mono[data-v-f346a52f]{font-size:12px;color:var(--text-muted)}.claim-qr[data-v-f346a52f]{width:160px;height:160px;object-fit:contain;margin:0 auto 10px;border-radius:8px;background:#fff}.claim-qr.placeholder[data-v-f346a52f]{display:grid;place-items:center;font-size:12px;color:var(--text-muted);border:1px dashed var(--border)}.claim-url-row[data-v-f346a52f]{display:flex;gap:6px}.claim-url[data-v-f346a52f]{flex:1;min-width:0;font-size:11px;padding:6px 8px;border:1px solid var(--border-light);border-radius:6px;background:#fafafa}.sortable[data-v-c56bd527]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable[data-v-c56bd527]:hover,.sortable.active[data-v-c56bd527]{color:var(--primary)}.sort-arrow[data-v-c56bd527]{font-size:11px;opacity:.6;margin-left:2px}.sortable.active .sort-arrow[data-v-c56bd527]{opacity:1}.role-checkbox-group[data-v-c56bd527]{display:flex;flex-wrap:wrap;gap:10px}.role-checkbox-item[data-v-c56bd527]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);border-radius:20px;cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;background:#fff}.role-checkbox-item[data-v-c56bd527]:hover{border-color:var(--primary-light);background:#f0faf3}.role-checkbox-active[data-v-c56bd527]{border-color:var(--primary)!important;background:#e8f5e9!important}.role-checkbox-active .role-checkbox-label[data-v-c56bd527]{color:var(--primary);font-weight:500}.role-checkbox-input[data-v-c56bd527]{display:none}.role-checkbox-label[data-v-c56bd527]{font-size:13px;color:var(--text-secondary);transition:var(--transition)}.form-error[data-v-c56bd527]{margin-top:6px;font-size:12px;color:var(--danger)}.btn-default[data-v-c56bd527]{background:#fff;color:var(--text-secondary);border:1px solid var(--border)}.btn-default[data-v-c56bd527]:hover{border-color:var(--primary);color:var(--primary)}.system-version-frame[data-v-da14af65]{width:100%;height:100%;overflow:hidden}.system-version-frame iframe[data-v-da14af65]{width:100%;height:100%;border:none;display:block}.switch-row[data-v-d2201bba]{display:flex;align-items:center;gap:16px}.switch-info[data-v-d2201bba]{flex:1}.switch-label[data-v-d2201bba]{font-weight:600;color:#333}.switch-desc[data-v-d2201bba]{font-size:12px;color:#999;margin-top:2px}.switch-state[data-v-d2201bba]{font-size:13px;color:#666;min-width:48px}.toggle[data-v-d2201bba]{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input[data-v-d2201bba]{opacity:0;width:0;height:0}.toggle-slider[data-v-d2201bba]{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#ccc;border-radius:24px;transition:.3s}.toggle-slider[data-v-d2201bba]:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle input:checked+.toggle-slider[data-v-d2201bba]{background-color:var(--primary, #C9A86C)}.toggle input:checked+.toggle-slider[data-v-d2201bba]:before{transform:translate(20px)}.sms-textarea[data-v-d2201bba]{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #dcdfe6;border-radius:6px;font-size:14px;line-height:1.5;resize:vertical;font-family:inherit}.sms-textarea[data-v-d2201bba]:focus{border-color:var(--primary, #C9A86C);outline:none}.sms-hint[data-v-d2201bba]{font-size:12px;color:#888;margin-top:6px;line-height:1.8}.sms-hint code[data-v-d2201bba],.sms-note code[data-v-d2201bba]{background:#f4f4f5;border-radius:4px;padding:1px 5px;margin:0 2px;font-size:12px;color:#b8860b}.sms-note[data-v-d2201bba]{font-size:12px;color:#999;margin-top:8px}.screen-manage[data-v-ca0e9c51]{min-height:100vh;background:#f0f2f5}.topbar[data-v-ca0e9c51]{height:56px;background:linear-gradient(135deg,#0a1f12,#0f4d28);display:flex;align-items:center;padding:0 24px;color:#fff;box-shadow:0 2px 8px #00000026;position:relative;z-index:10}.topbar .logo[data-v-ca0e9c51]{font-size:22px;margin-right:12px}.topbar h1[data-v-ca0e9c51]{font-size:16px;font-weight:500}.topbar .subtitle[data-v-ca0e9c51]{font-size:12px;color:#fff9;margin-left:16px}.topbar-right[data-v-ca0e9c51]{margin-left:auto;display:flex;align-items:center;gap:16px}.counter-badge[data-v-ca0e9c51]{display:inline-flex;align-items:center;gap:6px;background:#ffffff26;color:#fff;padding:6px 14px;border-radius:20px;font-size:13px}.status-dot[data-v-ca0e9c51]{width:8px;height:8px;border-radius:50%;background:#27ae60;display:inline-block;animation:pulse-ca0e9c51 1.5s infinite}@keyframes pulse-ca0e9c51{0%,to{opacity:1}50%{opacity:.4}}.status-info[data-v-ca0e9c51]{font-size:13px;display:flex;align-items:center;gap:6px}.page-body[data-v-ca0e9c51]{padding:20px 24px;max-width:1400px;margin:0 auto}.section-title[data-v-ca0e9c51]{font-size:15px;font-weight:500;color:#333;margin-bottom:12px;display:flex;align-items:center;gap:8px}.screen-wrap[data-v-ca0e9c51]{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px;margin-bottom:20px}.screen-label[data-v-ca0e9c51]{font-size:12px;color:#999;margin-bottom:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tag[data-v-ca0e9c51]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.tag-blue[data-v-ca0e9c51]{background:#e3f2fd;color:#1565c0}.tag-gold[data-v-ca0e9c51]{background:#fff8e1;color:#b8860b}.tag-green[data-v-ca0e9c51]{background:#e8f5e9;color:#2e7d32}.screen-preview[data-v-ca0e9c51]{width:100%;aspect-ratio:3840 / 320;background:#fff;position:relative;overflow:hidden;border:2px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 16px #0000001a}.screen-iframe[data-v-ca0e9c51]{position:absolute;top:0;left:0;width:3840px;height:320px;border:0;background:#fff;transform-origin:top left}.notice-card[data-v-ca0e9c51]{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px 20px;margin-bottom:20px}.notice-card .card-head[data-v-ca0e9c51]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.notice-card .card-head h3[data-v-ca0e9c51]{font-size:15px;font-weight:500}.btn[data-v-ca0e9c51]{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:6px;font-size:13px;font-weight:500;transition:all .2s;border:none;cursor:pointer}.btn-primary[data-v-ca0e9c51]{background:#1a6b3c;color:#fff}.btn-primary[data-v-ca0e9c51]:hover{background:#0f4d28}.btn-danger[data-v-ca0e9c51]{background:#e74c3c;color:#fff}.btn-danger[data-v-ca0e9c51]:hover{background:#c0392b}.btn-sm[data-v-ca0e9c51]{height:30px;padding:0 12px;font-size:12px}.btn-outline[data-v-ca0e9c51]{background:#fff;color:#666;border:1px solid #e8e8e8}.btn-outline[data-v-ca0e9c51]:hover{border-color:#1a6b3c;color:#1a6b3c}.form-col[data-v-ca0e9c51]{margin-bottom:14px}.form-col[data-v-ca0e9c51]:last-of-type{margin-bottom:8px}.form-col label[data-v-ca0e9c51]{display:block;font-size:13px;color:#666;margin-bottom:6px;font-weight:500}.form-col textarea[data-v-ca0e9c51]{width:100%;padding:10px 12px;border:1px solid #e8e8e8;border-radius:6px;font-size:14px;color:#333;background:#fff;transition:all .2s;font-family:inherit;min-height:140px;resize:vertical;line-height:1.8}.form-col textarea[data-v-ca0e9c51]:focus{outline:none;border-color:#1a6b3c;box-shadow:0 0 0 3px #1a6b3c1a}.counter-input[data-v-ca0e9c51]{width:100%;padding:10px 12px;border:1px solid #e8e8e8;border-radius:6px;font-size:14px;color:#333;background:#fff;transition:all .2s;font-family:inherit}.counter-input[data-v-ca0e9c51]:focus{outline:none;border-color:#1a6b3c;box-shadow:0 0 0 3px #1a6b3c1a}.form-hint[data-v-ca0e9c51]{font-size:12px;color:#999;margin-top:6px}.info-card[data-v-ca0e9c51]{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px 20px;font-size:13px;color:#666;line-height:2}.info-card h3[data-v-ca0e9c51]{font-size:14px;font-weight:500;margin-bottom:8px;color:#333}.toast[data-v-ca0e9c51]{position:fixed;top:24px;left:50%;transform:translate(-50%);color:#fff;padding:10px 24px;border-radius:8px;font-size:13px;box-shadow:0 4px 12px #00000026;animation:slideDown-ca0e9c51 .3s ease;z-index:9999}@keyframes slideDown-ca0e9c51{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.screen-manage[data-v-703f1e6d]{min-height:100vh;background:#f0f2f5}.topbar[data-v-703f1e6d]{height:56px;background:linear-gradient(135deg,#0a1f12,#0f4d28);display:flex;align-items:center;padding:0 24px;color:#fff;box-shadow:0 2px 8px #00000026;position:relative;z-index:10}.topbar .logo[data-v-703f1e6d]{font-size:22px;margin-right:12px}.topbar h1[data-v-703f1e6d]{font-size:16px;font-weight:500}.topbar .subtitle[data-v-703f1e6d]{font-size:12px;color:#fff9;margin-left:16px}.page-body[data-v-703f1e6d]{padding:20px 24px;max-width:1400px;margin:0 auto}.section-title[data-v-703f1e6d]{font-size:15px;font-weight:500;color:#333;margin-bottom:12px;display:flex;align-items:center;gap:8px}.screen-wrap[data-v-703f1e6d]{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px;margin-bottom:20px}.screen-label[data-v-703f1e6d]{font-size:12px;color:#999;margin-bottom:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tag[data-v-703f1e6d]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.tag-blue[data-v-703f1e6d]{background:#e3f2fd;color:#1565c0}.tag-gold[data-v-703f1e6d]{background:#fff8e1;color:#b8860b}.tag-green[data-v-703f1e6d]{background:#e8f5e9;color:#2e7d32}.screen-preview[data-v-703f1e6d]{width:100%;aspect-ratio:1920 / 1080;background:#fff;position:relative;overflow:hidden;border:2px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 16px #0000001a}.screen-iframe[data-v-703f1e6d]{position:absolute;top:0;left:0;width:1920px;height:1080px;border:0;background:#fff;transform-origin:top left}.btn[data-v-703f1e6d]{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:6px;font-size:13px;font-weight:500;transition:all .2s;border:none;cursor:pointer}.btn-sm[data-v-703f1e6d]{height:30px;padding:0 12px;font-size:12px}.btn-outline[data-v-703f1e6d]{background:#fff;color:#666;border:1px solid #e8e8e8}.btn-outline[data-v-703f1e6d]:hover{border-color:#1a6b3c;color:#1a6b3c}.info-card[data-v-703f1e6d]{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px 20px;font-size:13px;color:#666;line-height:2}.info-card h3[data-v-703f1e6d]{font-size:14px;font-weight:500;margin-bottom:8px;color:#333}.screen-manage[data-v-489f64ac]{min-height:100vh;background:#f0f2f5}.topbar[data-v-489f64ac]{height:56px;background:linear-gradient(135deg,#0a1f12,#0f4d28);display:flex;align-items:center;padding:0 24px;color:#fff;box-shadow:0 2px 8px #00000026;position:relative;z-index:10}.topbar .logo[data-v-489f64ac]{font-size:22px;margin-right:12px}.topbar h1[data-v-489f64ac]{font-size:16px;font-weight:500}.topbar .subtitle[data-v-489f64ac]{font-size:12px;color:#fff9;margin-left:16px}.page-body[data-v-489f64ac]{padding:20px 24px;max-width:1400px;margin:0 auto}.section-title[data-v-489f64ac]{font-size:15px;font-weight:500;color:#333;margin-bottom:12px;display:flex;align-items:center;gap:8px}.screen-wrap[data-v-489f64ac]{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px;margin-bottom:20px}.screen-label[data-v-489f64ac]{font-size:12px;color:#999;margin-bottom:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tag[data-v-489f64ac]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.tag-blue[data-v-489f64ac]{background:#e3f2fd;color:#1565c0}.tag-gold[data-v-489f64ac]{background:#fff8e1;color:#b8860b}.tag-green[data-v-489f64ac]{background:#e8f5e9;color:#2e7d32}.screen-preview[data-v-489f64ac]{width:100%;max-width:280px;margin:0 auto;aspect-ratio:1080 / 1920;background:#fff;position:relative;overflow:hidden;border:2px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 16px #0000001a}.screen-iframe[data-v-489f64ac]{position:absolute;top:0;left:0;width:1080px;height:1920px;border:0;background:#fff;transform-origin:top left}.notice-card[data-v-489f64ac]{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px 20px;margin-bottom:20px}.notice-card .card-head[data-v-489f64ac]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.notice-card .card-head h3[data-v-489f64ac]{font-size:15px;font-weight:500}.btn[data-v-489f64ac]{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:6px;font-size:13px;font-weight:500;transition:all .2s;border:none;cursor:pointer}.btn-primary[data-v-489f64ac]{background:#1a6b3c;color:#fff}.btn-primary[data-v-489f64ac]:hover{background:#0f4d28}.btn-sm[data-v-489f64ac]{height:30px;padding:0 12px;font-size:12px}.btn-outline[data-v-489f64ac]{background:#fff;color:#666;border:1px solid #e8e8e8}.btn-outline[data-v-489f64ac]:hover{border-color:#1a6b3c;color:#1a6b3c}.form-col[data-v-489f64ac]{margin-bottom:14px}.form-col[data-v-489f64ac]:last-of-type{margin-bottom:8px}.form-col label[data-v-489f64ac]{display:block;font-size:13px;color:#666;margin-bottom:6px;font-weight:500}.form-col textarea[data-v-489f64ac]{width:100%;padding:10px 12px;border:1px solid #e8e8e8;border-radius:6px;font-size:14px;color:#333;background:#fff;transition:all .2s;font-family:inherit;min-height:100px;resize:vertical;line-height:1.8}.form-col textarea[data-v-489f64ac]:focus{outline:none;border-color:#1a6b3c;box-shadow:0 0 0 3px #1a6b3c1a}.form-hint[data-v-489f64ac]{font-size:12px;color:#999;margin-top:6px}.info-card[data-v-489f64ac]{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px 20px;font-size:13px;color:#666;line-height:2}.info-card h3[data-v-489f64ac]{font-size:14px;font-weight:500;margin-bottom:8px;color:#333}.toast[data-v-489f64ac]{position:fixed;top:24px;left:50%;transform:translate(-50%);color:#fff;padding:10px 24px;border-radius:8px;font-size:13px;box-shadow:0 4px 12px #00000026;animation:slideDown-489f64ac .3s ease;z-index:9999}@keyframes slideDown-489f64ac{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.booking-config-page[data-v-ab70851d]{max-width:960px}.page-heading[data-v-ab70851d]{margin-bottom:20px}.page-heading h2[data-v-ab70851d]{font-size:20px;font-weight:700;color:var(--text);margin-bottom:4px}.page-heading p[data-v-ab70851d]{font-size:13px;color:var(--text-muted)}.config-section[data-v-ab70851d]{background:var(--card-bg, #fff);border-radius:12px;margin-bottom:20px;box-shadow:0 1px 4px #0000000a;overflow:hidden}.config-header[data-v-ab70851d]{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border, #e8e8e8)}.config-header .title[data-v-ab70851d]{font-size:16px;font-weight:600;color:var(--text)}.config-header .desc[data-v-ab70851d]{font-size:13px;color:var(--text-muted, #999)}.config-body[data-v-ab70851d]{padding:24px}.form-row[data-v-ab70851d]{display:flex;gap:24px;margin-bottom:20px}.form-row[data-v-ab70851d]:last-child{margin-bottom:0}.form-group[data-v-ab70851d]{flex:1}.form-group label[data-v-ab70851d]{display:block;font-size:13px;font-weight:500;color:var(--text-secondary, #666);margin-bottom:8px}.form-group label .required[data-v-ab70851d]{color:var(--danger, #ff4d4f);margin-left:2px}.form-control[data-v-ab70851d]{width:100%;height:40px;border:1px solid var(--border, #e8e8e8);border-radius:8px;padding:0 14px;font-size:14px;color:var(--text, #333);outline:none;transition:border-color .2s;background:#fff}.form-control[data-v-ab70851d]:focus{border-color:var(--primary, #C9A86C)}.input-group[data-v-ab70851d]{display:flex;align-items:center}.input-group .prefix[data-v-ab70851d],.input-group .suffix[data-v-ab70851d]{height:40px;display:flex;align-items:center;padding:0 12px;background:#f5f5f5;border:1px solid var(--border, #e8e8e8);font-size:14px;color:var(--text-secondary, #666);white-space:nowrap}.input-group .prefix[data-v-ab70851d]{border-radius:8px 0 0 8px;border-right:none}.input-group .suffix[data-v-ab70851d]{border-radius:0 8px 8px 0;border-left:none}.input-group .form-control[data-v-ab70851d]{border-radius:0}.input-group .prefix+.form-control[data-v-ab70851d]{border-left:none}.switch-row[data-v-ab70851d]{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #f5f5f5}.switch-row[data-v-ab70851d]:last-child{border-bottom:none}.switch-info .switch-label[data-v-ab70851d]{font-size:14px;font-weight:500;margin-bottom:2px;color:var(--text)}.switch-info .switch-desc[data-v-ab70851d]{font-size:12px;color:var(--text-muted, #999)}.time-slot-list[data-v-ab70851d]{display:flex;flex-direction:column;gap:0}.time-slot-item[data-v-ab70851d]{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f5f5f5}.time-slot-item[data-v-ab70851d]:last-child{border-bottom:none}.time-inputs[data-v-ab70851d]{display:flex;align-items:center;gap:8px}.btn-remove[data-v-ab70851d]{width:28px;height:28px;border-radius:50%;border:1px solid #eee;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ccc;font-size:16px;transition:all .2s;flex-shrink:0}.btn-remove[data-v-ab70851d]:hover{border-color:#ff4d4f;color:#ff4d4f}.btn-add-slot[data-v-ab70851d]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px dashed #C9A86C;background:#fff;color:#c9a86c;cursor:pointer;font-size:13px;margin-top:12px;transition:all .2s}.btn-add-slot[data-v-ab70851d]:hover{background:#fdf8f0}.hint[data-v-ab70851d]{font-size:12px;color:#999;margin-bottom:8px}.toggle[data-v-ab70851d]{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input[data-v-ab70851d]{opacity:0;width:0;height:0}.toggle-slider[data-v-ab70851d]{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#ccc;border-radius:24px;transition:.3s}.toggle-slider[data-v-ab70851d]:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle input:checked+.toggle-slider[data-v-ab70851d]{background-color:var(--primary, #C9A86C)}.toggle input:checked+.toggle-slider[data-v-ab70851d]:before{transform:translate(20px)}.footer-bar[data-v-ab70851d]{background:var(--card-bg, #fff);border-radius:12px;padding:16px 24px;display:flex;justify-content:flex-end;gap:12px;box-shadow:0 1px 4px #0000000a}.btn[data-v-ab70851d]{height:36px;padding:0 18px;border-radius:8px;border:none;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.btn-primary[data-v-ab70851d]{background:var(--primary, #C9A86C);color:#fff}.btn-primary[data-v-ab70851d]:hover{background:var(--primary-dark, #B8963F)}.btn-primary[data-v-ab70851d]:disabled{opacity:.6;cursor:not-allowed}.btn-outline[data-v-ab70851d]{background:#fff;color:var(--text-secondary, #666);border:1px solid var(--border, #e8e8e8)}.btn-outline[data-v-ab70851d]:hover{border-color:var(--primary, #C9A86C);color:var(--primary, #C9A86C)}.page-container[data-v-02ec9da4]{padding:20px;min-height:100%;display:flex;flex-direction:column}.page-header[data-v-02ec9da4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.page-header h2[data-v-02ec9da4]{font-size:20px;color:var(--text);font-weight:600}.header-actions[data-v-02ec9da4]{display:flex;align-items:center;gap:12px}.update-time[data-v-02ec9da4]{font-size:13px;color:var(--text-muted)}.btn-refresh[data-v-02ec9da4]{padding:6px 16px;background:var(--primary);color:#fff;border-radius:4px;font-size:13px;transition:var(--transition)}.btn-refresh[data-v-02ec9da4]:hover{background:var(--primary-light)}.filter-bar[data-v-02ec9da4]{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-shrink:0}.stat-summary[data-v-02ec9da4]{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:13px}.stat-item[data-v-02ec9da4]{display:inline-flex;align-items:center;gap:4px;font-weight:500}.stat-item[data-v-02ec9da4]:before{content:"";width:8px;height:8px;border-radius:50%}.stat-onduty[data-v-02ec9da4]{color:var(--success)}.stat-onduty[data-v-02ec9da4]:before{background:var(--success)}.stat-reserved[data-v-02ec9da4]{color:#d97706}.stat-reserved[data-v-02ec9da4]:before{background:#d97706}.stat-official[data-v-02ec9da4]{color:var(--info)}.stat-official[data-v-02ec9da4]:before{background:var(--info)}.stat-offduty[data-v-02ec9da4]{color:var(--text-muted)}.stat-offduty[data-v-02ec9da4]:before{background:var(--text-muted)}.filter-input[data-v-02ec9da4]{width:240px;padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:14px;outline:none;transition:var(--transition)}.filter-input[data-v-02ec9da4]:focus{border-color:var(--primary)}.btn-clear[data-v-02ec9da4]{padding:8px 14px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:#fff;color:var(--text-muted);font-size:13px;cursor:pointer;transition:var(--transition)}.btn-clear[data-v-02ec9da4]:hover{color:var(--text);border-color:var(--text-muted)}.shift-panels[data-v-02ec9da4]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}.panel-onduty[data-v-02ec9da4],.panel-offduty[data-v-02ec9da4]{grid-column:1 / -1}.shift-panel[data-v-02ec9da4]{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-02ec9da4]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:2px solid;flex-shrink:0}.panel-onduty .panel-header[data-v-02ec9da4]{border-bottom-color:var(--success);background:#f0fdf4}.panel-reserved .panel-header[data-v-02ec9da4]{border-bottom-color:var(--warning);background:#fffbeb}.panel-official .panel-header[data-v-02ec9da4]{border-bottom-color:var(--info);background:#eff6ff}.panel-offduty .panel-header[data-v-02ec9da4]{border-bottom-color:var(--text-muted);background:#f9fafb}.panel-title[data-v-02ec9da4]{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px}.status-dot[data-v-02ec9da4]{width:8px;height:8px;border-radius:50%}.panel-onduty .status-dot[data-v-02ec9da4]{background:var(--success)}.panel-reserved .status-dot[data-v-02ec9da4]{background:var(--warning)}.panel-official .status-dot[data-v-02ec9da4]{background:var(--info)}.panel-offduty .status-dot[data-v-02ec9da4]{background:var(--text-muted)}.panel-count[data-v-02ec9da4]{font-size:13px;color:var(--text-secondary);font-weight:500}.panel-body[data-v-02ec9da4]{padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;align-content:start}.panel-reserved .panel-body[data-v-02ec9da4],.panel-official .panel-body[data-v-02ec9da4]{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.panel-body[data-v-02ec9da4]::-webkit-scrollbar{width:4px}.panel-body[data-v-02ec9da4]::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}.panel-empty[data-v-02ec9da4]{grid-column:1 / -1;text-align:center;color:var(--text-muted);padding:40px 0;font-size:14px}.selected-info[data-v-02ec9da4]{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--primary);font-weight:500}.guide-card[data-v-02ec9da4]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition)}.guide-card.selected[data-v-02ec9da4],.guide-card.selected[data-v-02ec9da4]:hover{box-shadow:0 0 0 2px var(--primary)}.panel-onduty .guide-card[data-v-02ec9da4]{background:#f0fdf4}.panel-reserved .guide-card[data-v-02ec9da4]{background:#fffbeb}.panel-official .guide-card[data-v-02ec9da4]{background:#eff6ff}.panel-offduty .guide-card[data-v-02ec9da4]{background:#f9fafb}.guide-card[data-v-02ec9da4]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.guide-rank[data-v-02ec9da4]{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.panel-onduty .guide-rank[data-v-02ec9da4]{background:var(--success)}.panel-reserved .guide-rank[data-v-02ec9da4]{background:var(--warning)}.panel-official .guide-rank[data-v-02ec9da4]{background:var(--info)}.panel-offduty .guide-rank[data-v-02ec9da4]{background:var(--text-muted)}.guide-meta[data-v-02ec9da4]{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.guide-line1[data-v-02ec9da4]{min-width:0;display:flex;align-items:baseline;gap:6px}.guide-name[data-v-02ec9da4]{font-size:14px;font-weight:500;color:var(--text);line-height:1.3;white-space:nowrap;flex-shrink:0}.guide-group[data-v-02ec9da4]{font-size:11px;color:var(--text-muted);line-height:1.4;min-width:32px;min-height:15px;margin-left:auto;text-align:right;white-space:nowrap}.guide-session[data-v-02ec9da4]{font-size:14px;font-weight:700;color:var(--primary);line-height:1.3;white-space:nowrap}.guide-session.idle[data-v-02ec9da4]{color:#e53e3e}.guide-count[data-v-02ec9da4]{font-size:11px;color:var(--text-muted);line-height:1.4;white-space:nowrap}.fab-btn[data-v-02ec9da4]{position:fixed;right:24px;top:50%;transform:translateY(-50%);background:var(--bg-white);border:1px solid var(--border);padding:6px 10px;font-size:12px;color:var(--text-secondary);border-radius:4px;writing-mode:vertical-rl;cursor:pointer;box-shadow:var(--shadow);z-index:100}.fab-btn[data-v-02ec9da4]:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.ctx-overlay[data-v-02ec9da4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150}.ctx-menu[data-v-02ec9da4]{position:fixed;z-index:200;background:var(--bg-white);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow);padding:4px;min-width:120px}.ctx-menu-title[data-v-02ec9da4]{padding:6px 12px 8px;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:4px;white-space:nowrap}.ctx-menu-item[data-v-02ec9da4]{padding:8px 12px;font-size:13px;color:var(--text);cursor:pointer;border-radius:4px;white-space:nowrap;transition:var(--transition)}.ctx-menu-item[data-v-02ec9da4]:hover{background:var(--primary);color:#fff}table th.sortable[data-v-0d54cdd2]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .2s}table th.sortable[data-v-0d54cdd2]:hover,table th.sortable.active[data-v-0d54cdd2]{color:var(--primary, #C9A86C)}.sort-arrow[data-v-0d54cdd2]{font-size:11px;opacity:.6}table th.sortable.active .sort-arrow[data-v-0d54cdd2]{opacity:1}.counter-sale[data-v-cf3ff67a]{padding:0 4px}.tabs[data-v-cf3ff67a]{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid var(--border)}.tab[data-v-cf3ff67a]{padding:10px 24px;font-size:15px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;position:relative;transition:color .2s}.tab[data-v-cf3ff67a]:hover{color:var(--primary)}.tab.active[data-v-cf3ff67a]{color:var(--primary);font-weight:600}.tab.active[data-v-cf3ff67a]:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary)}.stat-highlight[data-v-cf3ff67a]{color:var(--danger);font-weight:700}.step-title[data-v-cf3ff67a]{font-size:16px;font-weight:600;margin:0 0 14px;padding-left:12px;border-left:4px solid var(--primary);line-height:1.4}.step-header-row[data-v-cf3ff67a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.step-header-row .step-title[data-v-cf3ff67a]{margin-bottom:0}.id-reader-ok[data-v-cf3ff67a]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--success)}.dot-green[data-v-cf3ff67a]{display:inline-block;width:8px;height:8px;background:var(--success);border-radius:50%}.ticket-list[data-v-cf3ff67a]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ticket-row[data-v-cf3ff67a]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);cursor:pointer;transition:var(--transition);min-height:80px}.ticket-row[data-v-cf3ff67a]:hover{border-color:var(--primary-light);box-shadow:var(--shadow)}.ticket-row.selected[data-v-cf3ff67a]{border-color:var(--primary);background:#e8f5e9;box-shadow:0 0 0 2px #1a6b3c26}.ticket-name[data-v-cf3ff67a]{font-size:14px;color:var(--text);font-weight:500;text-align:center}.ticket-price[data-v-cf3ff67a]{font-size:20px;font-weight:700;color:var(--danger);white-space:nowrap}.ticket-check[data-v-cf3ff67a]{position:absolute;top:4px;right:8px;width:18px;height:18px;background:var(--primary);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;border-radius:0 var(--radius) 0 var(--radius)}.ticket-type-label[data-v-cf3ff67a]{position:absolute;right:8px;bottom:6px;font-size:11px;color:var(--text-muted);line-height:1}.empty-tip[data-v-cf3ff67a]{text-align:center;color:var(--text-muted);padding:36px 0;font-size:13px}.date-input[data-v-cf3ff67a]{height:30px;border:1px solid var(--border);border-radius:6px;padding:0 8px;font-size:13px;outline:none}.date-input[data-v-cf3ff67a]:focus{border-color:var(--primary)}.session-grid[data-v-cf3ff67a]{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;margin-bottom:16px}@media (max-width: 1400px){.session-grid[data-v-cf3ff67a]{grid-template-columns:repeat(8,1fr)}}@media (max-width: 1000px){.session-grid[data-v-cf3ff67a]{grid-template-columns:repeat(6,1fr)}}@media (max-width: 700px){.session-grid[data-v-cf3ff67a]{grid-template-columns:repeat(4,1fr)}}.session-card[data-v-cf3ff67a]{position:relative;background:#fdf3a4;border-radius:8px;box-shadow:0 1px 3px #00000014;padding:8px 6px 6px;cursor:pointer;transition:all .2s ease;min-height:165px;display:flex;flex-direction:column}.session-card[data-v-cf3ff67a]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.session-card.selected[data-v-cf3ff67a]{outline:5px solid #c018fff7;outline-offset:-2px}.session-card.disabled[data-v-cf3ff67a]{background:#2c2c2c;color:#888;cursor:not-allowed}.session-card.disabled[data-v-cf3ff67a]:hover{transform:none;box-shadow:0 1px 3px #00000014}.session-card.disabled .session-no[data-v-cf3ff67a],.session-card.disabled .session-label[data-v-cf3ff67a]{background:#555;color:#ccc}.session-card.disabled .ticket-pill[data-v-cf3ff67a]{background:#3a3a3a;color:#888;border-color:#555}.session-card.disabled .session-guide .guide-name[data-v-cf3ff67a]{color:#856404;background:#fff3cd}.session-card.disabled .session-tag[data-v-cf3ff67a]{opacity:.55}.session-card.card-waiting[data-v-cf3ff67a]{background:#e6f7ff;color:#1890ff}.session-card.card-grouping[data-v-cf3ff67a]{background:#f6ffed;color:#52c41a}.session-card.card-formed[data-v-cf3ff67a]{background:#fff7e6;color:#fa8c16}.session-card.card-equip[data-v-cf3ff67a]{background:#40a9ff;color:#fff}.session-card.card-departing[data-v-cf3ff67a]{background:#2165a3;color:#fff}.session-card.card-finished[data-v-cf3ff67a]{background:#8c8c8c;color:#fff}.session-card.card-equip .guide-label[data-v-cf3ff67a],.session-card.card-departing .guide-label[data-v-cf3ff67a],.session-card.card-finished .guide-label[data-v-cf3ff67a],.session-card.card-equip .progress-text[data-v-cf3ff67a],.session-card.card-departing .progress-text[data-v-cf3ff67a],.session-card.card-finished .progress-text[data-v-cf3ff67a]{color:#fffc}.session-no[data-v-cf3ff67a]{position:absolute;top:6px;left:6px;background:#1677ff;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:3px;line-height:1.4;z-index:1}.session-label[data-v-cf3ff67a]{position:absolute;top:6px;right:6px;background:#f39c12;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:3px;line-height:1.4;z-index:1;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-ticket[data-v-cf3ff67a]{margin-top:28px;margin-bottom:6px;display:flex;justify-content:center}.ticket-pill[data-v-cf3ff67a]{display:inline-block;background:#fff;border:1px solid #b3d8ff;color:#1677ff;font-size:12px;font-weight:500;padding:4px 8px;border-radius:3px;text-align:center;line-height:1.3;max-width:100%;word-break:break-all}.session-progress[data-v-cf3ff67a]{margin:6px 0;padding:0 2px}.progress-bar[data-v-cf3ff67a]{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:4px}.progress-fill[data-v-cf3ff67a]{height:100%;background:linear-gradient(90deg,#27ae60,#2ecc71);border-radius:4px;transition:width .3s ease}.progress-text[data-v-cf3ff67a]{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.progress-full[data-v-cf3ff67a]{color:#27ae60;font-weight:600;font-size:10px}.session-guide[data-v-cf3ff67a]{font-size:11px;margin-bottom:6px;padding-left:2px;flex:1}.session-guide .guide-label[data-v-cf3ff67a]{color:#666;font-size:10px}.session-guide .guide-name[data-v-cf3ff67a]{color:#856404;font-weight:500;background:#fff3cd;padding:1px 6px;border-radius:3px}.session-tags[data-v-cf3ff67a]{display:flex;gap:2px;flex-wrap:wrap;padding-top:4px;border-top:1px solid rgba(0,0,0,.06)}.session-tag[data-v-cf3ff67a]{flex:1;text-align:center;font-size:11px;font-weight:500;padding:3px 2px;border-radius:3px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-tag.tag-blue[data-v-cf3ff67a]{background:#e3f2fd;color:#1565c0}.session-tag.tag-green[data-v-cf3ff67a]{background:#e8f5e9;color:#1b5e20}.session-tag.tag-orange[data-v-cf3ff67a]{background:#fff3e0;color:#e65100}.session-tag.tag-red[data-v-cf3ff67a]{background:#ffebee;color:#c62828}.session-tag.tag-gray[data-v-cf3ff67a]{background:#424242;color:#bbb}.session-tag.s-tag-green[data-v-cf3ff67a]{background:#52c41a;color:#fff}.session-tag.s-tag-orange[data-v-cf3ff67a]{background:#fff3e0;color:#e65100}.session-tag.s-tag-blue[data-v-cf3ff67a]{background:#e3f2fd;color:#1565c0}.session-tag.s-tag-red[data-v-cf3ff67a]{background:#ffebee;color:#c62828}.session-tag.s-tag-gray[data-v-cf3ff67a]{background:#424242;color:#bbb}.session-tag.s-tag-gold[data-v-cf3ff67a]{background:#fff8e1;color:#f39c12}.btn-add-session[data-v-cf3ff67a]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:480px;padding:10px;border:1px dashed var(--border);border-radius:var(--radius);background:transparent;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:var(--transition)}.btn-add-session[data-v-cf3ff67a]:hover{border-color:var(--primary);color:var(--primary)}.form-row-highlight[data-v-cf3ff67a]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px;padding:16px;background:#f0faf3;border:1px solid #c8e6c9;border-radius:var(--radius)}.form-col-highlight[data-v-cf3ff67a]{display:flex;flex-direction:column;gap:6px}.form-col-highlight label[data-v-cf3ff67a]{display:block;font-size:13px;color:var(--text);font-weight:600}.form-col-highlight label em[data-v-cf3ff67a]{color:var(--danger);font-style:normal;margin-right:2px}.form-col-highlight input[data-v-cf3ff67a],.form-col-highlight select[data-v-cf3ff67a]{width:100%;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;outline:none}.form-col-highlight input[data-v-cf3ff67a]:focus,.form-col-highlight select[data-v-cf3ff67a]:focus{border-color:var(--primary)}.counter-control[data-v-cf3ff67a]{display:inline-flex;align-items:center;border:1px solid var(--primary);border-radius:6px;overflow:hidden;width:fit-content}.counter-btn[data-v-cf3ff67a]{width:36px;height:36px;border:none;background:#f0faf3;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .15s;color:var(--primary);font-weight:700}.counter-btn[data-v-cf3ff67a]:hover{background:var(--primary);color:#fff}.counter-input[data-v-cf3ff67a]{width:56px;height:36px;border:none;border-left:1px solid var(--primary);border-right:1px solid var(--primary);text-align:center;font-size:16px;font-weight:600;color:var(--primary);outline:none}.deposit-options[data-v-cf3ff67a]{display:flex;gap:8px}.deposit-opt[data-v-cf3ff67a]{display:flex;align-items:center;cursor:pointer;border-radius:6px;overflow:hidden}.deposit-opt input[type=radio][data-v-cf3ff67a]{display:none}.deposit-opt-text[data-v-cf3ff67a]{display:inline-block;padding:8px 20px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--bg-white);color:var(--text-secondary);transition:var(--transition)}.deposit-opt:hover .deposit-opt-text[data-v-cf3ff67a]{border-color:var(--primary-light)}.deposit-opt.active .deposit-opt-text[data-v-cf3ff67a]{background:var(--primary);color:#fff;border-color:var(--primary)}.deposit-opt-cert.active .deposit-opt-text[data-v-cf3ff67a]{background:var(--warning);border-color:var(--warning);color:#fff}.deposit-options.deposit-locked[data-v-cf3ff67a]{opacity:.7;pointer-events:none}.form-row[data-v-cf3ff67a]{display:flex;gap:12px;margin-bottom:16px}.form-col[data-v-cf3ff67a]{flex:1}.form-col label[data-v-cf3ff67a]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.form-col label em[data-v-cf3ff67a]{color:var(--danger);font-style:normal;margin-right:2px}.form-col input[data-v-cf3ff67a],.form-col select[data-v-cf3ff67a]{width:100%;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:6px;font-size:13px}.form-col input[data-v-cf3ff67a]:focus,.form-col select[data-v-cf3ff67a]:focus{border-color:var(--primary)}.amount-cell[data-v-cf3ff67a]{color:var(--danger);font-weight:700;font-size:15px}.empty-row[data-v-cf3ff67a]{text-align:center;color:var(--text-muted);padding:36px 0!important}.pay-method-grid[data-v-cf3ff67a]{display:flex;gap:8px}.pay-method-btn[data-v-cf3ff67a]{flex:1;height:46px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);cursor:pointer;font-size:13px;transition:var(--transition)}.pay-method-btn[data-v-cf3ff67a]:hover{border-color:var(--primary-light)}.pay-method-btn.active[data-v-cf3ff67a]{border-color:var(--primary);background:#e8f5e9;color:var(--primary);font-weight:500}.confirm-bar[data-v-cf3ff67a]{display:flex;justify-content:center}.btn-lg[data-v-cf3ff67a]{height:48px;padding:0 36px;font-size:16px;font-weight:600}.qr-modal[data-v-cf3ff67a]{width:360px;text-align:center}.qr-body[data-v-cf3ff67a]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px 28px}.qr-amount[data-v-cf3ff67a]{font-size:16px;color:var(--text);margin:0}.qr-amount strong[data-v-cf3ff67a]{color:var(--danger);font-size:22px;font-weight:700}.qr-input[data-v-cf3ff67a]{width:100%;height:44px;padding:0 12px;font-size:16px;letter-spacing:1px;text-align:center;border:1px solid var(--border);border-radius:8px;outline:none;box-sizing:border-box}.qr-input[data-v-cf3ff67a]:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1667c026}.qr-actions[data-v-cf3ff67a]{margin-top:4px}.qr-order-no[data-v-cf3ff67a]{font-size:13px;color:var(--text-muted);margin:0}.qr-tip[data-v-cf3ff67a]{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.qr-pending[data-v-cf3ff67a]{color:#d48806;font-weight:600;display:flex;align-items:center;gap:6px;justify-content:center}.qr-success[data-v-cf3ff67a]{color:var(--success);font-weight:600;display:flex;align-items:center;gap:6px;justify-content:center}.dot-green[data-v-cf3ff67a],.dot-amber[data-v-cf3ff67a]{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-green[data-v-cf3ff67a]{background:var(--success)}.dot-amber[data-v-cf3ff67a]{background:#d48806}.qrcode-page[data-v-6e8e37aa]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background-color:#02090a;display:flex;justify-content:center;align-items:center;overflow:hidden}.qrcode-bg[data-v-6e8e37aa]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.qrcode-logo[data-v-6e8e37aa]{height:auto;width:auto;max-width:70vw;max-height:15vh;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));margin-bottom:clamp(8px,3.5vh,44px);flex-shrink:0}.qrcode-container[data-v-6e8e37aa]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:20px}.qrcode-canvas[data-v-6e8e37aa]{display:block;max-width:100%;max-height:50vh;margin-top:clamp(12px,5vh,64px);flex-shrink:1}.qrcode-tip[data-v-6e8e37aa]{margin:0;font-size:clamp(18px,min(4vw,3vh),36px);font-weight:700;color:#fff;text-align:center;letter-spacing:4px;text-shadow:0 2px 8px rgba(0,0,0,.6);flex-shrink:0}.round-info[data-v-6e8e37aa]{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(12px,4vh,60px);margin-top:clamp(16px,7vh,110px);width:100%;max-width:1120px;padding:0 20px;flex-shrink:0}.info-card[data-v-6e8e37aa]{flex:1 1 300px;max-width:360px;background:#f5f5f5;border-radius:14px;padding:26px 32px;text-align:center;box-shadow:0 2px 8px #0000000a}.info-label[data-v-6e8e37aa]{font-size:18px;color:#888;margin-bottom:14px}.info-value[data-v-6e8e37aa]{font-size:34px;font-weight:700;color:#222;line-height:1.3}.info-value.muted[data-v-6e8e37aa]{font-size:26px;font-weight:500;color:#bbb}.service-screen[data-v-2944cc3a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#02090a;font-family:PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}[data-v-2944cc3a]{margin:0;padding:0;box-sizing:border-box}#stage[data-v-2944cc3a]{position:absolute;top:50%;left:50%;width:3840px;height:320px;transform:translate(-50%,-50%) scale(1);transform-origin:center center;display:flex;flex-direction:row}.sidebar[data-v-2944cc3a]{width:100px;height:100%;flex:0 0 100px;background:#a78b6a;display:flex;align-items:center;justify-content:center}.sidebar-text[data-v-2944cc3a]{writing-mode:vertical-rl;text-orientation:upright;color:#fff;font-size:60px;font-weight:700;letter-spacing:12px;line-height:1.2}.center[data-v-2944cc3a]{flex:1 1 auto;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#fff}.zones[data-v-2944cc3a]{width:100%;height:80%;display:flex;flex-direction:row-reverse}.zone[data-v-2944cc3a]{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:2px solid rgba(15,23,42,.1);color:#0f172a}.zone[data-v-2944cc3a]:first-child{border-left:none}.zone.single[data-v-2944cc3a]{justify-content:center}.zone.single .zone-session[data-v-2944cc3a]{height:100%}.zone-please[data-v-2944cc3a]{font-size:40px;color:#475569;font-weight:500;height:20%;width:100%;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px}.zone-session[data-v-2944cc3a]{font-size:110px;color:#0f172a;font-weight:700;height:40%;width:100%;display:flex;align-items:center;justify-content:center}.zone-session.waiting[data-v-2944cc3a]{font-size:44px;color:#64748b;font-weight:400}.zone-hint[data-v-2944cc3a]{font-size:56px;color:#475569;font-weight:500;height:70px;width:100%;display:flex;align-items:flex-start;justify-content:center;padding-top:14px;text-align:center;line-height:1.3}.zone-session.custom[data-v-2944cc3a]{font-size:72px;font-weight:500;color:#b45309}.zone-session.custom-long[data-v-2944cc3a]{font-size:44px;font-weight:400;color:#475569;line-height:1.3;padding:0 24px;white-space:normal}.ticker[data-v-2944cc3a]{width:100%;height:20%;background:#f8fafc;color:#0f172a;overflow:hidden;border-top:3px solid #e2e8f0;display:flex;align-items:center;font-size:30px;letter-spacing:2px}.ticker-track[data-v-2944cc3a]{display:inline-block;white-space:nowrap;will-change:transform;animation:ticker-scroll-2944cc3a 70s linear infinite}.ticker-track>span[data-v-2944cc3a]{display:inline-block;padding-right:120px}@keyframes ticker-scroll-2944cc3a{0%{transform:translate(0)}to{transform:translate(-50%)}}.call-screen[data-v-93561812]{position:fixed;top:0;right:0;bottom:0;left:0;background:#02090a;font-family:PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}[data-v-93561812]{margin:0;padding:0;box-sizing:border-box}#stage[data-v-93561812]{position:absolute;top:50%;left:50%;width:1080px;height:1920px;transform:translate(-50%,-50%) scale(1);transform-origin:center center;display:flex;flex-direction:column}.topbar[data-v-93561812]{width:100%;height:140px;flex:0 0 140px;background:#a78b6a;display:flex;align-items:center;justify-content:center;padding:0 56px}.topbar-title[data-v-93561812]{color:#fff;font-size:72px;font-weight:700;letter-spacing:6px}.center[data-v-93561812]{flex:1 1 auto;height:0;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#fff}.boards[data-v-93561812]{flex:0 0 42%;min-height:0;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:24px;padding:24px 36px}.board[data-v-93561812]{background:#fff;border:4px solid #e2e8f0;border-radius:24px;display:flex;flex-direction:column;overflow:hidden}.board-head[data-v-93561812]{background:#a78b6a;color:#fff;font-size:36px;font-weight:700;letter-spacing:3px;text-align:center;padding:12px 0}.board-body[data-v-93561812]{flex:1 1 0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:14px}.waiting[data-v-93561812]{font-size:44px;color:#94a3b8;letter-spacing:4px}.boards-empty[data-v-93561812]{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;font-size:44px;color:#94a3b8;letter-spacing:4px}.sess[data-v-93561812]{display:flex;flex-direction:column;align-items:center;gap:6px}.sess-cap[data-v-93561812]{font-size:26px;color:#94a3b8;letter-spacing:3px}.sess-no[data-v-93561812]{font-size:46px;color:#0f172a;font-weight:700}.guide[data-v-93561812]{display:flex;flex-direction:column;align-items:center;gap:6px}.guide-cap[data-v-93561812]{font-size:28px;color:#64748b;letter-spacing:3px}.guide-name[data-v-93561812]{font-size:84px;color:#a78b6a;font-weight:800;line-height:1}.assigned-section[data-v-93561812]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:26px 40px 18px}.assigned-title[data-v-93561812]{font-size:44px;font-weight:700;color:#0f172a;letter-spacing:2px;margin-bottom:18px}.cards[data-v-93561812]{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:min-content;gap:22px;align-content:start;padding-right:6px}.sess-card[data-v-93561812]{border-radius:18px;padding:18px 22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 10px #00000014;color:#0f172a}.sess-card.status-waiting[data-v-93561812]{background:#e6f7ff;color:#1890ff}.sess-card.status-device[data-v-93561812]{background:#40a9ff;color:#fff}.sess-card.status-departing[data-v-93561812]{background:#2165a3;color:#fff}.sess-card-top[data-v-93561812]{display:flex;align-items:center;justify-content:space-between}.sess-card .sess-no[data-v-93561812]{font-size:44px;color:inherit}.sess-pill[data-v-93561812]{font-size:26px;background:#fff;border:1px solid rgba(21,101,192,.4);color:#1565c0;padding:4px 14px;border-radius:10px;font-weight:500}.sess-card-time[data-v-93561812]{font-size:30px;color:inherit;opacity:.9}.sess-card-guide[data-v-93561812]{font-size:34px;color:inherit;display:flex;align-items:center;gap:8px}.sess-card-guide .g-label[data-v-93561812]{color:inherit;opacity:.85;font-size:28px}.sess-card-guide .g-name[data-v-93561812]{background:#fff;color:#1565c0;font-weight:700;padding:4px 16px;border-radius:10px;font-size:38px}.sess-card-foot[data-v-93561812]{display:flex;justify-content:flex-end}.sess-card.status-waiting .sess-status[data-v-93561812]{background:#bbdefb;color:#1565c0}.sess-card.status-device .sess-status[data-v-93561812],.sess-card.status-departing .sess-status[data-v-93561812]{background:#ffffff38;color:#fff;border:1px solid rgba(255,255,255,.5)}.sess-status[data-v-93561812]{font-size:26px;font-weight:600;padding:6px 18px;border-radius:12px}.ticker[data-v-93561812]{width:100%;height:96px;flex:0 0 96px;background:#f8fafc;color:#0f172a;overflow:hidden;border-top:4px solid #e2e8f0;display:flex;align-items:center;font-size:40px;letter-spacing:2px}.ticker-track[data-v-93561812]{display:inline-block;white-space:nowrap;padding-left:100%;will-change:transform;animation:ticker-scroll-93561812 30s linear infinite}@keyframes ticker-scroll-93561812{0%{transform:translate(0)}to{transform:translate(-100%)}}.phone-stage[data-v-b9485831]{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:24px 0}.phone-frame[data-v-b9485831]{position:relative;width:390px;height:760px;background:var(--bg, #F5F0E8);border-radius:44px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 0 1px #0000000f,0 28px 60px -12px #0000002e}.statusbar[data-v-b9485831]{flex:0 0 54px;padding:14px 26px 0;display:flex;align-items:flex-start;justify-content:space-between;font-size:15px;font-weight:600}.statusbar .right[data-v-b9485831]{display:inline-flex;align-items:center;gap:6px}.statusbar svg[data-v-b9485831]{width:17px;height:11px;fill:var(--fg, #2A2419)}.content[data-v-b9485831]{flex:1 1 auto;overflow-y:auto;padding-bottom:28px}.content[data-v-b9485831]::-webkit-scrollbar{display:none}.pad[data-v-b9485831]{padding-inline:20px}.header[data-v-b9485831]{padding:8px 20px 16px;display:flex;align-items:center;justify-content:space-between}.header h1[data-v-b9485831]{font-family:var(--font-display, serif);font-size:26px;margin:0;color:var(--accent-deep, #3D3528)}.greeting[data-v-b9485831]{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #6B5D4F);margin:0 0 4px}.login-logo[data-v-b9485831]{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--accent, #8B6F47),var(--accent-deep, #3D3528));display:grid;place-items:center}.login-logo svg[data-v-b9485831]{width:28px;height:28px;stroke:var(--gold, #C4A661);fill:none;stroke-width:1.5}.sx-pattern[data-v-b9485831]{height:4px;background:repeating-linear-gradient(90deg,var(--accent-deep, #3D3528) 0 3px,transparent 3px 9px);opacity:.08;margin:0 20px 16px}.card[data-v-b9485831]{background:#fff;border:1px solid var(--border, #E0D5C7);border-radius:18px;padding:18px}.claim-head[data-v-b9485831]{display:flex;align-items:center;gap:14px}.avatar[data-v-b9485831]{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--accent, #8B6F47),var(--accent-deep, #3D3528));display:grid;place-items:center;font-family:var(--font-display, serif);font-size:20px;color:#fff}.h3[data-v-b9485831]{font-size:16px;font-weight:600}.meta[data-v-b9485831]{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted, #6B5D4F);margin:4px 0 0}.section-label[data-v-b9485831]{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #6B5D4F);margin:0 0 12px}.field[data-v-b9485831]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label[data-v-b9485831]{font-size:12px;font-weight:500;color:var(--muted, #6B5D4F)}.field input[data-v-b9485831]{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border, #E0D5C7);border-radius:12px;background:#fff;font:inherit;font-size:15px;color:var(--fg, #2A2419);outline:none}.code-row[data-v-b9485831]{display:flex;gap:10px}.code-row input[data-v-b9485831]{flex:1}.btn-code[data-v-b9485831]{flex:0 0 auto;padding:0 16px;min-height:48px;border:1px solid var(--accent, #8B6F47);border-radius:12px;background:#fff;color:var(--accent, #8B6F47);font-size:13px;font-weight:600;cursor:pointer}.btn-code[data-v-b9485831]:disabled{opacity:.5;cursor:not-allowed}.dev-tip[data-v-b9485831]{font-size:12px;color:var(--muted, #6B5D4F);margin:6px 0 0}.dev-tip b[data-v-b9485831]{color:var(--accent-deep, #3D3528);font-family:ui-monospace,monospace}.btn-primary[data-v-b9485831]{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:14px 20px;background:var(--accent, #8B6F47);color:#fff;border:0;border-radius:14px;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.btn-primary[data-v-b9485831]:disabled{opacity:.5}.btn-text[data-v-b9485831]{display:block;width:100%;margin-top:12px;background:none;border:0;color:var(--muted, #6B5D4F);font-size:13px;cursor:pointer}.form-error[data-v-b9485831]{color:#9b4a3c;font-size:13px;margin:0 0 10px}.overlay[data-v-b9485831]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#f5f0e8f5;display:none;flex-direction:column}.overlay.active[data-v-b9485831]{display:flex}.result[data-v-b9485831]{margin:auto;text-align:center;padding:32px}.ok-icon[data-v-b9485831]{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--accent, #8B6F47);color:#fff;font-size:32px;display:grid;place-items:center}.result h2[data-v-b9485831]{font-family:var(--font-display, serif);font-size:22px;margin:0 0 8px;color:var(--accent-deep, #3D3528)}.result p[data-v-b9485831]{font-size:14px;color:var(--muted, #6B5D4F);margin:0 0 24px}.result b[data-v-b9485831]{font-family:ui-monospace,monospace;color:var(--accent-deep, #3D3528)}.home-indicator[data-v-b9485831]{flex:0 0 28px;position:relative}.home-indicator[data-v-b9485831]:after{content:"";position:absolute;left:50%;bottom:8px;transform:translate(-50%);width:134px;height:5px;background:var(--fg, #2A2419);border-radius:999px;opacity:.85}.phone-stage[data-v-1f0bbcd2]{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:24px 0}.phone-frame[data-v-1f0bbcd2]{position:relative;width:390px;height:760px;background:var(--bg, #F5F0E8);border-radius:44px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 0 1px #0000000f,0 28px 60px -12px #0000002e}@media (max-width: 480px){.phone-stage[data-v-1f0bbcd2]{min-height:100vh;min-height:100dvh;padding:0}.phone-frame[data-v-1f0bbcd2]{width:100%;height:100vh;height:100dvh;border-radius:0;box-shadow:none}.statusbar[data-v-1f0bbcd2]{padding-top:max(14px,env(safe-area-inset-top))}}.statusbar[data-v-1f0bbcd2]{flex:0 0 54px;padding:14px 26px 0;display:flex;align-items:flex-start;justify-content:space-between;font-size:15px;font-weight:600}.statusbar .right[data-v-1f0bbcd2]{display:inline-flex;align-items:center;gap:6px}.statusbar svg[data-v-1f0bbcd2]{width:17px;height:11px;fill:var(--fg, #2A2419)}.tab-content[data-v-1f0bbcd2]{flex:1 1 auto;overflow-y:auto;padding-bottom:24px}.tab-content[data-v-1f0bbcd2]::-webkit-scrollbar{display:none}.pad[data-v-1f0bbcd2]{padding-inline:20px}.tabbar[data-v-1f0bbcd2]{flex:0 0 auto;display:flex;background:#fff;border-top:1px solid var(--border, #E0D5C7);padding-bottom:env(safe-area-inset-bottom)}.tab-item[data-v-1f0bbcd2]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 0 7px;background:none;border:0;cursor:pointer;color:var(--muted, #6B5D4F)}.tab-item span[data-v-1f0bbcd2]{font-size:11px}.tab-item.active[data-v-1f0bbcd2]{color:var(--accent, #8B6F47)}.tb-icon[data-v-1f0bbcd2]{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7}.quick-grid[data-v-1f0bbcd2]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-card[data-v-1f0bbcd2]{background:#fff;border:1px solid var(--border, #E0D5C7);border-radius:16px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:8px}.quick-card .qc-icon[data-v-1f0bbcd2]{width:26px;height:26px;stroke:var(--accent, #8B6F47);fill:none;stroke-width:1.7}.quick-card span[data-v-1f0bbcd2]{font-size:12px;color:var(--fg, #2A2419)}.page-head[data-v-1f0bbcd2]{padding:8px 20px 12px}.page-head h1[data-v-1f0bbcd2]{font-family:var(--font-display, serif);font-size:24px;margin:0;color:var(--accent-deep, #3D3528)}.seg[data-v-1f0bbcd2]{display:inline-flex;background:#fff;border:1px solid var(--border, #E0D5C7);border-radius:999px;padding:3px;gap:2px}.seg-btn[data-v-1f0bbcd2]{border:0;background:none;padding:7px 16px;border-radius:999px;font:inherit;font-size:13px;color:var(--muted, #6B5D4F);cursor:pointer}.seg-btn.active[data-v-1f0bbcd2]{background:var(--accent, #8B6F47);color:#fff}.session-list[data-v-1f0bbcd2]{display:flex;flex-direction:column;gap:12px}.session-card[data-v-1f0bbcd2]{background:#fff;border:1px solid var(--border, #E0D5C7);border-radius:18px;padding:16px}.sc-top[data-v-1f0bbcd2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.sc-no[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:16px;font-weight:600;color:var(--accent-deep, #3D3528)}.sc-status[data-v-1f0bbcd2]{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}.sc-status.wait[data-v-1f0bbcd2]{background:#e8f0fe;color:#2f6bd8}.sc-status.live[data-v-1f0bbcd2]{background:#fdecea;color:#c0492f}.sc-status.done[data-v-1f0bbcd2]{background:#edf3ec;color:#5a7a4f}.sc-grid[data-v-1f0bbcd2]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sc-item[data-v-1f0bbcd2]{background:var(--bg, #F5F0E8);border-radius:12px;padding:10px 12px}.sc-item .sc-v[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:16px;font-weight:600;color:var(--fg, #2A2419)}.sc-item .sc-l[data-v-1f0bbcd2]{font-size:11px;color:var(--muted, #6B5D4F);margin-top:3px}.date-filter[data-v-1f0bbcd2]{display:flex;align-items:flex-end;gap:10px;background:#fff;border:1px solid var(--border, #E0D5C7);border-radius:16px;padding:14px;margin-bottom:16px}.df-field[data-v-1f0bbcd2]{flex:1;display:flex;flex-direction:column;gap:6px}.df-field label[data-v-1f0bbcd2]{font-size:12px;color:var(--muted, #6B5D4F)}.df-field input[data-v-1f0bbcd2]{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--border, #E0D5C7);border-radius:10px;background:#fff;font:inherit;font-size:14px;color:var(--fg, #2A2419)}.df-sep[data-v-1f0bbcd2]{padding-bottom:10px;color:var(--muted, #6B5D4F);font-size:13px}.hist-grid[data-v-1f0bbcd2]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hist-card[data-v-1f0bbcd2]{background:#fff;border:1px solid var(--border, #E0D5C7);border-radius:16px;padding:18px 14px;text-align:center}.hist-card .v[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:26px;font-weight:600;color:var(--accent-deep, #3D3528)}.hist-card .l[data-v-1f0bbcd2]{font-size:12px;color:var(--muted, #6B5D4F);margin-top:6px}.rec-block[data-v-1f0bbcd2]{margin-top:16px}.month-row[data-v-1f0bbcd2]{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--border, #E0D5C7)}.month-row[data-v-1f0bbcd2]:first-child{border-top:0;padding-top:2px}.mr-info[data-v-1f0bbcd2]{flex:1;display:flex;flex-direction:column;gap:7px;min-width:0}.mr-month[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:14px;color:var(--fg, #2A2419)}.mr-bar[data-v-1f0bbcd2]{height:6px;background:var(--bg, #F5F0E8);border-radius:999px;overflow:hidden}.mr-bar i[data-v-1f0bbcd2]{display:block;height:100%;background:linear-gradient(90deg,var(--accent, #8B6F47),var(--accent-deep, #3D3528));border-radius:999px}.mr-count[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:16px;font-weight:600;color:var(--accent-deep, #3D3528);flex:0 0 auto}.mr-count em[data-v-1f0bbcd2]{font-style:normal;font-size:12px;font-weight:400;color:var(--muted, #6B5D4F);margin-left:2px}.month-row.clickable[data-v-1f0bbcd2]{cursor:pointer}.mr-chev[data-v-1f0bbcd2]{width:16px;height:16px;flex:0 0 auto;stroke:var(--muted, #6B5D4F);fill:none;stroke-width:1.8;transition:transform .2s ease}.mr-chev.open[data-v-1f0bbcd2]{transform:rotate(180deg)}.month-detail[data-v-1f0bbcd2]{padding:4px 0 12px}.daily-row[data-v-1f0bbcd2]{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;background:var(--bg, #F5F0E8);border-radius:10px;margin-top:8px;cursor:pointer}.daily-row[data-v-1f0bbcd2]:first-child{margin-top:4px}.dr-date[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:13px;color:var(--fg, #2A2419)}.dr-count[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:16px;font-weight:600;color:var(--accent-deep, #3D3528)}.dr-count em[data-v-1f0bbcd2]{font-style:normal;font-size:12px;font-weight:400;color:var(--muted, #6B5D4F);margin-left:2px}.empty[data-v-1f0bbcd2]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:88px 24px;color:var(--muted, #6B5D4F);text-align:center;gap:14px}.empty .ec-icon[data-v-1f0bbcd2]{width:60px;height:60px;stroke:#cdbfa8;fill:none;stroke-width:1.4}.empty p[data-v-1f0bbcd2]{font-size:14px;margin:0}.empty .hint[data-v-1f0bbcd2]{font-size:12px;opacity:.85}.header[data-v-1f0bbcd2]{padding:8px 20px 16px;display:flex;align-items:center;justify-content:space-between}.header h1[data-v-1f0bbcd2]{font-family:var(--font-display, serif);font-size:26px;margin:0;color:var(--accent-deep, #3D3528)}.greeting[data-v-1f0bbcd2]{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #6B5D4F);margin:0 0 4px}.sx-pattern[data-v-1f0bbcd2]{width:calc(100% - 40px);height:4px;background:repeating-linear-gradient(90deg,var(--accent-deep, #3D3528) 0 3px,transparent 3px 9px);opacity:.08;margin:0 20px 16px}.card[data-v-1f0bbcd2]{background:#fff;border:1px solid var(--border, #E0D5C7);border-radius:18px;padding:16px}.profile-head .avatar[data-v-1f0bbcd2]{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent, #8B6F47),var(--accent-deep, #3D3528));display:grid;place-items:center;font-family:var(--font-display, serif);font-size:22px;font-weight:500;color:#fff}.home-avatar[data-v-1f0bbcd2]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent, #8B6F47),var(--accent-deep, #3D3528));display:grid;place-items:center;font-family:var(--font-display, serif);font-size:20px;font-weight:500;color:#fff;flex:0 0 auto}.next-session[data-v-1f0bbcd2]{background:linear-gradient(135deg,var(--accent, #8B6F47),var(--accent-deep, #3D3528));border-radius:18px;padding:16px;color:#fff;margin-top:16px}.ns-head[data-v-1f0bbcd2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ns-title[data-v-1f0bbcd2]{font-size:15px;font-weight:600}.ns-date[data-v-1f0bbcd2]{font-size:12px;opacity:.85}.ns-grid[data-v-1f0bbcd2]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ns-item[data-v-1f0bbcd2]{background:#ffffff1f;border-radius:12px;padding:12px 8px;text-align:center}.ns-v[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:18px;font-weight:600}.ns-l[data-v-1f0bbcd2]{font-size:11px;opacity:.9;margin-top:4px;line-height:1.3}.func-grid[data-v-1f0bbcd2]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.func-card[data-v-1f0bbcd2]{background:#fff;border:1px solid var(--border, #E0D5C7);border-radius:16px;padding:18px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left}.func-card[data-v-1f0bbcd2]:active{background:#faf6ef}.func-card .fc-title[data-v-1f0bbcd2]{font-size:15px;font-weight:600;color:var(--fg, #2A2419)}.profile-head .h3[data-v-1f0bbcd2]{font-size:16px;font-weight:600}.profile-head .meta[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted, #6B5D4F);margin:4px 0 0}.stat-grid[data-v-1f0bbcd2]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat[data-v-1f0bbcd2]{background:#fff;border:1px solid var(--border, #E0D5C7);border-radius:14px;padding:14px 10px;text-align:center}.stat .v[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:22px;font-weight:600;color:var(--accent-deep, #3D3528)}.stat .l[data-v-1f0bbcd2]{font-size:11px;color:var(--muted, #6B5D4F);margin-top:4px}.section-label[data-v-1f0bbcd2]{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #6B5D4F);margin:0 0 10px}.list-row[data-v-1f0bbcd2]{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--border, #E0D5C7);cursor:pointer}.list-row[data-v-1f0bbcd2]:first-child{border-top:0}.lr-icon[data-v-1f0bbcd2]{width:20px;height:20px;stroke:var(--accent, #8B6F47);fill:none;stroke-width:1.7}.lr-chevron[data-v-1f0bbcd2]{width:16px;height:16px;stroke:var(--muted, #6B5D4F);fill:none;stroke-width:1.7}.list-row .title[data-v-1f0bbcd2]{font-size:14px}.list-row.logout .lr-icon[data-v-1f0bbcd2]{stroke:var(--danger, #9B4A3C)}.field[data-v-1f0bbcd2]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label[data-v-1f0bbcd2]{font-size:12px;font-weight:500;color:var(--muted, #6B5D4F)}.field input[data-v-1f0bbcd2]{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border, #E0D5C7);border-radius:12px;background:#fff;font:inherit;font-size:15px;color:var(--fg, #2A2419);outline:none}.btn-primary[data-v-1f0bbcd2]{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:14px 20px;background:var(--accent, #8B6F47);color:#fff;border:0;border-radius:14px;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.btn-primary[data-v-1f0bbcd2]:disabled{opacity:.5}.form-error[data-v-1f0bbcd2]{color:#9b4a3c;font-size:13px;margin:0 0 10px}.login-logo[data-v-1f0bbcd2]{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--accent, #8B6F47),var(--accent-deep, #3D3528));display:grid;place-items:center}.login-logo svg[data-v-1f0bbcd2]{width:36px;height:36px;stroke:var(--gold, #C4A661);fill:none;stroke-width:1.5}.overlay[data-v-1f0bbcd2]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--bg, #F5F0E8);display:none;flex-direction:column}.overlay.active[data-v-1f0bbcd2]{display:flex}.overlay-header[data-v-1f0bbcd2]{display:flex;align-items:center;gap:12px;padding:8px 20px 12px}.overlay-header .back-btn[data-v-1f0bbcd2]{width:36px;height:36px;border-radius:999px;background:#fff;border:1px solid var(--border, #E0D5C7);display:grid;place-items:center;cursor:pointer}.overlay-header .back-btn svg[data-v-1f0bbcd2]{width:18px;height:18px;stroke:var(--fg, #2A2419);fill:none;stroke-width:1.7}.overlay-header h2[data-v-1f0bbcd2]{font-family:var(--font-display, serif);font-size:18px;margin:0;color:var(--accent-deep, #3D3528)}.overlay-content[data-v-1f0bbcd2]{flex:1;overflow-y:auto;padding:0 20px 28px}:root{--primary: #1a6b3c;--primary-light: #2e8b57;--primary-dark: #0f4d28;--accent: #b8860b;--accent-light: #d4a017;--bg: #f0f2f5;--bg-white: #ffffff;--text: #333333;--text-secondary: #666666;--text-muted: #999999;--border: #e8e8e8;--border-light: #f0f0f0;--danger: #e74c3c;--warning: #f39c12;--success: #27ae60;--info: #3498db;--sidebar-width: 240px;--header-height: 56px;--radius: 8px;--shadow: 0 2px 8px rgba(0,0,0,.08);--shadow-lg: 0 4px 16px rgba(0,0,0,.12);--transition: all .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;color:var(--text);background:var(--bg);height:100%}a{color:var(--primary);text-decoration:none}ul,li{list-style:none}input,select,textarea,button{font-family:inherit;font-size:inherit;outline:none}button{cursor:pointer;border:none}.layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,#0a1f12,#0f2d1a,#0f4d28);color:#ccc;display:flex;flex-direction:column;flex-shrink:0;transition:var(--transition);overflow-y:auto;z-index:100}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.sidebar.collapsed{width:64px}.sidebar.collapsed .sidebar-header h2,.sidebar.collapsed .nav-group-title,.sidebar.collapsed .nav-item span:not(.icon),.sidebar.collapsed .nav-sub{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:10px}.sidebar-header{height:var(--header-height);display:flex;align-items:center;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.08);gap:10px}.sidebar-header .logo{width:32px;height:32px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;flex-shrink:0}.sidebar-header h2{font-size:15px;color:#fff;font-weight:500;white-space:nowrap}.sidebar-nav{flex:1;padding:12px 0}.nav-group{margin-bottom:4px}.nav-group-title{padding:12px 20px 6px;font-size:11px;color:#ffffff59;text-transform:uppercase;letter-spacing:1px;font-weight:600}.nav-item{display:flex;align-items:center;padding:10px 20px;cursor:pointer;transition:var(--transition);font-size:13px;color:#ffffffb3;gap:10px;position:relative;border-left:3px solid transparent}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active,.nav-item.router-link-active{background:#ffffff1a;color:#fff;border-left-color:var(--accent);font-weight:500}.nav-item .icon{width:18px;text-align:center;font-size:15px;flex-shrink:0}.nav-item .badge{margin-left:auto;background:var(--danger);color:#fff;font-size:10px;padding:2px 7px;border-radius:10px}.nav-sub{padding-left:31px}.nav-sub .nav-item{padding:8px 20px 8px 48px;font-size:12px;border-left:none}.nav-sub .nav-item:before{content:"";position:absolute;left:28px;width:4px;height:4px;background:#ffffff4d;border-radius:50%}.nav-sub .nav-item.active:before{background:var(--accent)}.nav-sub .nav-item.router-link-active:before{background:var(--accent)}.nav-item.has-sub:after{content:"▾";margin-left:auto;font-size:10px;transition:var(--transition)}.nav-item.has-sub.open:after{transform:rotate(-180deg)}.nav-sub.collapsed{display:none}.header{height:var(--header-height);background:var(--bg-white);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:16px;flex-shrink:0;box-shadow:0 1px 4px #0000000a}.collapse-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:18px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:none}.collapse-btn:hover{background:var(--bg)}.breadcrumb{font-size:13px;color:var(--text-secondary)}.breadcrumb a{color:var(--text-muted)}.breadcrumb span.current{color:var(--text);font-weight:500}.header-right{margin-left:auto;display:flex;align-items:center;gap:16px}.header-right .btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:16px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);position:relative;background:none}.header-right .btn-icon:hover{background:var(--bg)}.header-right .btn-icon .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--danger);border-radius:50%;border:1px solid #fff}.user-info{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 12px;border-radius:var(--radius);transition:var(--transition)}.user-info:hover{background:var(--bg)}.user-info .avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500}.user-info .name{font-size:13px;color:var(--text)}.user-info .role-tag{font-size:11px;color:var(--primary);background:#e8f5e9;padding:1px 8px;border-radius:10px}.user-dropdown{position:absolute;top:52px;right:16px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:140px;z-index:500;overflow:hidden}.dropdown-item{padding:10px 16px;font-size:13px;color:var(--text);cursor:pointer;transition:var(--transition)}.dropdown-item:hover{background:var(--bg);color:var(--danger)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.page-content{flex:1;overflow-y:auto;padding:24px}.card{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}.card-header{padding:16px 20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.card-header h3{font-size:15px;font-weight:500}.card-body{padding:20px}.search-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.search-bar input,.search-bar select{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:#fff}.search-bar input{min-width:200px}.search-bar input:focus,.search-bar select:focus{border-color:var(--primary)}.search-bar .date-range{display:flex;align-items:center;gap:8px}.search-bar .date-range input{min-width:130px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border-radius:6px;font-size:13px;font-weight:500;transition:var(--transition);white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-warning{background:var(--warning);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-outline{background:#fff;color:var(--text-secondary);border:1px solid var(--border)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-sm{height:30px;padding:0 12px;font-size:12px}.btn-xs{height:26px;padding:0 10px;font-size:11px;border-radius:4px}.btn:disabled{opacity:.6;cursor:not-allowed}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}table th,table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-light);font-size:13px}table th{background:#fafafa;font-weight:500;color:var(--text-secondary);white-space:nowrap;font-size:12px}table tr:hover td{background:#fafafa}.actions{display:flex;gap:6px}.tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.tag-success{background:#e8f5e9;color:#2e7d32}.tag-warning{background:#fff3e0;color:#e65100}.tag-danger{background:#fbe9e7;color:#c62828}.tag-info{background:#e3f2fd;color:#1565c0}.tag-default{background:#f5f5f5;color:#666}.tag-gold{background:#fff8e1;color:#b8860b}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;cursor:pointer}.modal{background:#fff;border-radius:12px;width:90%;max-width:560px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0003;animation:slideUp .2s ease;cursor:default}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:16px;font-weight:500}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:18px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:none}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-body{padding:24px;max-height:60vh;overflow-y:auto}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:12px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;color:var(--text);margin-bottom:6px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text);background:#fff;transition:var(--transition);box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a5d1a1a}.form-group input:disabled{background:var(--bg);color:var(--text-muted);cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tabs{display:flex;border-bottom:2px solid var(--border-light);margin-bottom:20px}.tab{padding:10px 20px;cursor:pointer;font-size:14px;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:var(--transition);background:none}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.toast-container{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px}.toast-item{padding:12px 24px;border-radius:var(--radius);color:#fff;font-size:14px;box-shadow:0 4px 12px #00000026;animation:slideDown .3s ease}.toast-item.success{background:var(--success)}.toast-item.error{background:var(--danger)}.toast-item.warning{background:var(--warning)}.toast-item.info{background:var(--info)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-row{display:flex;gap:12px;margin-bottom:16px}.form-col{flex:1}.form-col label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.form-col input,.form-col select{width:100%;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:6px;font-size:13px}.form-col input:focus,.form-col select:focus{border-color:var(--primary)}.pagination{display:flex;align-items:center;gap:4px}.page-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border);background:#fff;font-size:13px;cursor:pointer;transition:var(--transition)}.page-btn:hover{border-color:var(--primary);color:var(--primary)}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.flex{display:flex}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mt-16{margin-top:16px}.mb-4{margin-bottom:4px}.text-muted{color:var(--text-muted)}.text-sm{font-size:13px}.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.item-selected{background:#f0faf3!important;border-left:3px solid var(--primary)!important}.page-heading{margin-bottom:24px}.page-heading h2{font-size:18px;font-weight:500;margin-bottom:4px}.page-heading p{font-size:13px;color:var(--text-muted)}.btn-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:14px;background:none;border:none;cursor:pointer;transition:var(--transition);color:var(--text-muted)}.btn-icon:hover{background:var(--bg);color:var(--text)}
