#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;margin:0;padding:0}.auth-error[data-v-38ff4cfa]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#f5f5f5;display:flex;align-items:center;justify-content:center;z-index:9999}.error-content[data-v-38ff4cfa]{text-align:center;padding:40px;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);max-width:500px}.error-content h2[data-v-38ff4cfa]{color:#e74c3c;margin-bottom:16px;font-size:24px}.error-content p[data-v-38ff4cfa]{color:#666;margin-bottom:8px;font-size:16px}.loading-container[data-v-38ff4cfa]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#f5f5f5;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content[data-v-38ff4cfa]{text-align:center;padding:40px;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);max-width:300px}.loading-content h2[data-v-38ff4cfa]{color:#1976d2;margin-bottom:16px;font-size:20px}.loading-content p[data-v-38ff4cfa]{color:#666;font-size:14px}.auth-error-container[data-v-6c88eecd]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.error-content[data-v-6c88eecd]{background:#fff;border-radius:12px;padding:60px 40px;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.1);max-width:500px;width:100%}.error-icon[data-v-6c88eecd]{font-size:80px;color:#f56c6c;margin-bottom:20px}.error-title[data-v-6c88eecd]{font-size:28px;color:#333;margin-bottom:16px;font-weight:600}.error-message[data-v-6c88eecd]{font-size:16px;color:#666;margin-bottom:32px;line-height:1.6}.error-actions[data-v-6c88eecd]{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.contact-btn[data-v-6c88eecd],.retry-btn[data-v-6c88eecd]{padding:12px 24px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:all .3s ease}.retry-btn[data-v-6c88eecd]{background:#409eff;color:#fff}.retry-btn[data-v-6c88eecd]:hover{background:#66b1ff}.contact-btn[data-v-6c88eecd]{background:#f5f5f5;color:#666;border:1px solid #ddd}.contact-btn[data-v-6c88eecd]:hover{background:#e8e8e8}@media (max-width:480px){.error-content[data-v-6c88eecd]{padding:40px 20px}.error-title[data-v-6c88eecd]{font-size:24px}.error-actions[data-v-6c88eecd]{flex-direction:column}.contact-btn[data-v-6c88eecd],.retry-btn[data-v-6c88eecd]{width:100%}}.image-preview[data-v-72812b67]{width:500px;height:500px;background-color:#000;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.preview-header[data-v-72812b67]{padding:16px;background-color:#1a1a1a;color:#fff;flex-shrink:0}.preview-title[data-v-72812b67]{font-size:16px;font-weight:500;margin-right:12px}.preview-subtitle[data-v-72812b67]{font-size:14px;color:#999}.preview-content[data-v-72812b67]{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.preview-image[data-v-72812b67]{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.no-image[data-v-72812b67]{color:#999;font-size:14px;text-align:center}.data-layout[data-v-72812b67]{display:flex;gap:24px}.alarm-list[data-v-72812b67]{flex:1}.list-title[data-v-72812b67]{font-size:16px;color:#333;margin:0 0 16px 0}.table-container[data-v-72812b67]{overflow-x:auto}.data-table[data-v-72812b67]{width:100%;border-collapse:collapse}.data-table td[data-v-72812b67],.data-table th[data-v-72812b67]{padding:12px 16px;text-align:left;border-bottom:1px solid #eee;font-size:14px}.data-table th[data-v-72812b67]{background-color:#f5f6fa;color:#666;font-weight:500}.data-table tr[data-v-72812b67]{cursor:pointer;transition:background-color .3s}.data-table tr[data-v-72812b67]:hover{background-color:#f5f6fa}.data-table tr.active[data-v-72812b67]{background-color:#e6e9f0}.pagination[data-v-72812b67]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px}.page-btn[data-v-72812b67]{padding:8px 12px;border:1px solid #ddd;background:#fff;color:#666;cursor:pointer;border-radius:4px;transition:all .3s}.page-btn[data-v-72812b67]:hover:not(:disabled){background:#f5f6fa;border-color:#ccc}.page-btn.active[data-v-72812b67]{background:#1976d2;color:#fff;border-color:#1976d2}.page-btn[data-v-72812b67]:disabled{opacity:.5;cursor:not-allowed}.page-jump[data-v-72812b67]{display:flex;align-items:center;gap:8px;margin-left:16px}.jump-btn[data-v-72812b67]{padding:6px 12px;border:1px solid #ddd;background:#fff;color:#666;cursor:pointer;border-radius:4px;font-size:12px}.jump-btn[data-v-72812b67]:hover{background:#f5f6fa;border-color:#ccc}.loading-container[data-v-062b3a68]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.form-input[data-v-062b3a68]{width:200px;min-width:200px}.loading-spinner[data-v-062b3a68]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4caf50;border-radius:50%;animation:spin-062b3a68 1s linear infinite;margin-bottom:16px}.loading-text[data-v-062b3a68]{color:#666;font-size:14px}.tree-list[data-v-062b3a68]{list-style:none;padding:0;margin:0}.tree-list li[data-v-062b3a68]{margin:4px 0;padding:2px 0}.tree-node[data-v-062b3a68]{cursor:pointer;color:#333;font-weight:500}.tree-leaf[data-v-062b3a68]{cursor:pointer;padding:4px 8px;border-radius:4px;color:#333;display:inline-block;transition:all .2s ease}.tree-leaf[data-v-062b3a68]:hover{background-color:#f0f0f0}.tree-leaf.active[data-v-062b3a68]{background-color:#e8f5e8;color:#4caf50;font-weight:700}.tree-node[data-v-062b3a68]:hover{background-color:#f0f0f0;padding:4px 8px;border-radius:4px}.map-image-normal[data-v-062b3a68]{width:100%;max-width:900px;border:1px solid #eee;box-shadow:0 2px 8px #0001}.map-image-small[data-v-062b3a68]{width:66.67%;max-width:600px;border:1px solid #eee;box-shadow:0 2px 8px #0001}@keyframes spin-062b3a68{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading[data-v-3b4e7eb7]{text-align:center;padding:20px;color:#666}.loading[data-v-3b4e7eb7]:before{content:"...";margin-right:8px}.edit-form[data-v-3b4e7eb7]{display:flex;flex-direction:column;gap:18px}.edit-form-centered[data-v-3b4e7eb7]{max-width:600px;margin:0 auto}.edit-form-row[data-v-3b4e7eb7]{display:flex;align-items:center;justify-content:center}.edit-form-row label[data-v-3b4e7eb7]{color:#222;font-size:16px;min-width:120px;text-align:right;margin-right:12px}.edit-form-row .form-input[data-v-3b4e7eb7]{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:8px 16px;font-size:15px;width:200px;min-width:200px;outline:none;transition:border .2s}.edit-form-row .form-input[data-v-3b4e7eb7]:focus{border:1.5px solid #4caf50}.edit-form-row input[type=date].form-input[data-v-3b4e7eb7],.edit-form-row select.form-input[data-v-3b4e7eb7]{min-width:200px}.edit-form-row textarea.form-input[data-v-3b4e7eb7]{min-width:200px;resize:vertical}.required[data-v-3b4e7eb7]{color:#e74c3c;margin-right:4px}.modal-content[data-v-3b4e7eb7]{max-height:80vh;overflow-y:auto}@media (max-width:768px){.edit-form-row[data-v-3b4e7eb7]{flex-direction:column;align-items:flex-start}.edit-form-row label[data-v-3b4e7eb7]{min-width:auto;margin-bottom:8px}.edit-form-row .form-input[data-v-3b4e7eb7]{min-width:100%}}.clear-btn[data-v-3b4e7eb7]{background:#f5f5f5;color:#666}.clear-btn[data-v-3b4e7eb7],.save-btn[data-v-3b4e7eb7]{border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer;margin-left:8px;transition:all .2s}.save-btn[data-v-3b4e7eb7]{background:#4caf50;color:#fff}.save-btn[data-v-3b4e7eb7]:hover{background:#43a047;border-color:#fff}.clear-btn[data-v-3b4e7eb7]:hover{background:#e8e8e8;border-color:#ccc}.status-tag[data-v-3b4e7eb7]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:14px;font-weight:700;color:#fff;text-align:center}.status-tag.resolved[data-v-3b4e7eb7]{background-color:#4caf50}.status-tag.processed[data-v-3b4e7eb7]{background-color:#2196f3}.status-tag.closed[data-v-3b4e7eb7]{background-color:#f44336}.tab-content[data-v-53defe5c]{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px}.tab-content h1[data-v-53defe5c]{color:#333;font-size:24px;margin-bottom:24px;text-align:center}.subnav-bar[data-v-53defe5c]{margin-bottom:5px;margin-top:-40px}.subnav-tab[data-v-53defe5c]{padding:6px 16px;font-size:16px;margin-right:8px}.data-table td[data-v-53defe5c],.data-table th[data-v-53defe5c]{padding:12px 8px;text-align:center;border-bottom:1px solid #eee;font-size:14px;min-width:60px}.data-table td[data-v-53defe5c]:first-child,.data-table th[data-v-53defe5c]:first-child{min-width:120px}.data-table td[data-v-53defe5c]:nth-child(2),.data-table th[data-v-53defe5c]:nth-child(2){min-width:200px}.data-table td[data-v-53defe5c]:nth-child(3),.data-table th[data-v-53defe5c]:nth-child(3){min-width:300px}.analysis-title[data-v-53defe5c]{text-align:center;margin:24px 0;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff}.analysis-title h2[data-v-53defe5c]{margin:0;font-size:20px;font-weight:500}.charts-container[data-v-53defe5c]{margin-top:24px}.chart-section[data-v-53defe5c]{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.chart-header[data-v-53defe5c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #eee}.chart-header h3[data-v-53defe5c]{margin:0;color:#333;font-size:18px;font-weight:500}.chart-legend[data-v-53defe5c]{display:flex;align-items:center;gap:16px;font-size:14px;color:#666}.legend-item[data-v-53defe5c]{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.legend-color[data-v-53defe5c]{width:16px;height:16px;border-radius:3px}.legend-color.blue[data-v-53defe5c]{background-color:#2196f3}.legend-color.pink[data-v-53defe5c]{background-color:#e91e63}.legend-color.green[data-v-53defe5c]{background-color:#4caf50}.legend-color.orange[data-v-53defe5c]{background-color:#ff9800}.download-btn[data-v-53defe5c]{background:#4caf50;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s}.download-btn[data-v-53defe5c]:hover{background:#45a049}.chart-container[data-v-53defe5c]{position:relative;height:400px;width:100%}.loading-state[data-v-53defe5c],.no-data[data-v-53defe5c]{text-align:center;padding:48px;color:#999;font-size:16px}.loading-state[data-v-53defe5c]{color:#666}.summary-section[data-v-53defe5c]{margin-top:24px}.summary-cards[data-v-53defe5c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.summary-card[data-v-53defe5c]{background:#fff;border-radius:8px;padding:24px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.1);border-left:4px solid #2196f3}.summary-title[data-v-53defe5c]{color:#666;font-size:14px;margin-bottom:12px}.summary-value[data-v-53defe5c]{color:#333;font-size:32px;font-weight:700;margin-bottom:8px}.summary-unit[data-v-53defe5c]{color:#999;font-size:12px}@media (max-width:1200px){.hasMoreDays[data-v-53defe5c],.visibleDays[data-v-53defe5c]{display:none}.chart-header[data-v-53defe5c]{flex-direction:column;align-items:flex-start;gap:16px}.chart-legend[data-v-53defe5c]{flex-wrap:wrap}}@media (max-width:768px){.chart-container[data-v-53defe5c]{height:300px}.chart-section[data-v-53defe5c]{padding:16px}.summary-cards[data-v-53defe5c]{grid-template-columns:1fr}}.edit-form[data-v-ecdeb01a]{display:flex;flex-direction:column;gap:18px}.edit-form-row[data-v-ecdeb01a]{display:flex;align-items:center}.edit-form-row label[data-v-ecdeb01a]{color:#222;font-size:16px;min-width:120px;text-align:right;margin-right:12px}.edit-form-row .form-input[data-v-ecdeb01a]{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:8px 16px;font-size:15px;min-width:200px;outline:none;transition:border .2s}.edit-form-row .form-input[data-v-ecdeb01a]:focus{border:1.5px solid #4caf50}.edit-form-row select.form-input[data-v-ecdeb01a]{min-width:200px}.required[data-v-ecdeb01a]{color:#e74c3c;margin-right:4px}.modal-content[data-v-ecdeb01a]{max-height:80vh;overflow-y:auto}@media (max-width:768px){.edit-form-row[data-v-ecdeb01a]{flex-direction:column;align-items:flex-start}.edit-form-row label[data-v-ecdeb01a]{min-width:auto;margin-bottom:8px}.edit-form-row .form-input[data-v-ecdeb01a]{min-width:100%}}.loading[data-v-f232af18]{text-align:center;padding:20px;color:#666}.form-input[data-v-f232af18]{width:200px;min-width:200px}.loading[data-v-f232af18]:before{content:" ";margin-right:8px}.edit-form[data-v-f232af18]{display:flex;flex-direction:column;gap:18px}.edit-form-row[data-v-f232af18]{display:flex;align-items:center}.edit-form-row label[data-v-f232af18]{color:#222;font-size:16px;min-width:120px;text-align:right;margin-right:12px}.edit-form-row .form-input[data-v-f232af18]{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:8px 16px;font-size:15px;min-width:200px;outline:none;transition:border .2s}.edit-form-row .form-input[data-v-f232af18]:focus{border:1.5px solid #4caf50}.edit-form-row input[type=datetime-local].form-input[data-v-f232af18],.edit-form-row select.form-input[data-v-f232af18]{min-width:200px}.required[data-v-f232af18]{color:#e74c3c;margin-right:4px}.modal-content[data-v-f232af18]{max-height:80vh;overflow-y:auto}@media (max-width:768px){.edit-form-row[data-v-f232af18]{flex-direction:column;align-items:flex-start}.edit-form-row label[data-v-f232af18]{min-width:auto;margin-bottom:8px}.edit-form-row .form-input[data-v-f232af18]{min-width:100%}}.clear-btn[data-v-f232af18]{background:#f5f5f5;color:#666;border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer;margin-left:8px;transition:all .2s}.clear-btn[data-v-f232af18]:hover{background:#e8e8e8;border-color:#ccc}.chart-generator[data-v-629ac17e]{padding:24px;background:#f5f5f5;min-height:100vh}.page-header[data-v-629ac17e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:#fff;padding:20px 24px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.page-title[data-v-629ac17e]{font-size:24px;color:#1976d2;font-weight:700;border-bottom:3px solid #1976d2;padding-bottom:8px;margin:0}.close-btn[data-v-629ac17e]{background:none;border:none;font-size:28px;cursor:pointer;color:#666;line-height:1}.close-btn[data-v-629ac17e]:hover{color:#333}.threshold-section[data-v-629ac17e]{background:#fff;padding:24px;border-radius:8px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.threshold-header[data-v-629ac17e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title[data-v-629ac17e]{font-size:18px;color:#333;margin:0;font-weight:600}.threshold-set-btn[data-v-629ac17e]{background:#1976d2;color:#fff;border:none;padding:8px 20px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.threshold-set-btn[data-v-629ac17e]:hover:not(:disabled){background:#1565c0}.threshold-set-btn[data-v-629ac17e]:disabled{background:#ccc;cursor:not-allowed}.threshold-grid[data-v-629ac17e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.threshold-item[data-v-629ac17e]{display:flex;align-items:center;gap:12px}.threshold-item label[data-v-629ac17e]{font-size:14px;color:#555;min-width:80px}.input-group[data-v-629ac17e]{display:flex;align-items:center;gap:8px}.threshold-input[data-v-629ac17e]{width:80px;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;text-align:center}.threshold-input[data-v-629ac17e]:focus{outline:none;border-color:#1976d2}.unit[data-v-629ac17e]{font-size:14px;color:#666;font-weight:500}.chart-section[data-v-629ac17e]{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.chart-header[data-v-629ac17e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chart-title[data-v-629ac17e]{font-size:18px;color:#333;margin:0;font-weight:600}.download-btn[data-v-629ac17e]{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px}.download-btn[data-v-629ac17e]:hover{background:#45a049}.download-icon[data-v-629ac17e]{font-size:16px}.charts-container[data-v-629ac17e]{display:flex;flex-direction:column;gap:32px}.chart-wrapper[data-v-629ac17e]{height:400px;position:relative}.chart-canvas[data-v-629ac17e]{width:100%!important;height:100%!important}@media (max-width:768px){.chart-generator[data-v-629ac17e]{padding:16px}.threshold-grid[data-v-629ac17e]{grid-template-columns:1fr}.chart-wrapper[data-v-629ac17e]{height:300px}}.dormitory-container[data-v-20e6196e]{background:#f5f5f5;min-height:100vh;font-family:Microsoft YaHei,sans-serif}.function-nav[data-v-20e6196e]{background:#fff;border-bottom:1px solid #e0e0e0;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.nav-tabs[data-v-20e6196e]{display:flex;gap:0}.tab[data-v-20e6196e]{padding:15px 25px;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s;font-size:16px;color:#666}.tab.active[data-v-20e6196e]{color:#1890ff;border-bottom-color:#1890ff;background:#f0f8ff}.refresh-btn[data-v-20e6196e]{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;border-radius:4px;transition:all .3s;color:#666}.refresh-btn[data-v-20e6196e]:hover{background:#f5f6fa}.refresh-btn img[data-v-20e6196e]{width:16px;height:16px}.refresh-btn span[data-v-20e6196e]{font-size:14px}.header-section[data-v-20e6196e]{background:#fff;padding:20px;display:flex;justify-content:center;align-items:flex-start;border-bottom:1px solid #e0e0e0;position:relative}.header-center .building-info[data-v-20e6196e]{display:flex;align-items:center;gap:10px;position:relative}.building-selector[data-v-20e6196e]{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 12px;border-radius:4px;transition:all .3s}.building-selector[data-v-20e6196e]:hover{background:#f5f5f5}.building-title[data-v-20e6196e]{font-size:18px;font-weight:700;color:#333}.dropdown-arrow[data-v-20e6196e]{color:#999;font-size:12px;transition:transform .3s}.dropdown-arrow.rotated[data-v-20e6196e]{transform:rotate(180deg)}.building-dropdown[data-v-20e6196e]{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e0e0e0;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:1000;min-width:200px}.building-option[data-v-20e6196e]{padding:12px 16px;cursor:pointer;transition:background .3s;border-bottom:1px solid #f0f0f0}.building-option[data-v-20e6196e]:last-child{border-bottom:none}.building-option[data-v-20e6196e]:hover{background:#f5f5f5}.header-right[data-v-20e6196e]{position:absolute;right:20px;top:20px;display:flex;flex-direction:column;gap:15px;align-items:flex-end}.date-range[data-v-20e6196e]{display:flex;align-items:center;gap:10px;color:#666;font-size:14px}.calendar-icon[data-v-20e6196e]{font-size:16px}.manager-info[data-v-20e6196e]{text-align:center}.manager-label[data-v-20e6196e]{font-size:12px;color:#999;margin-bottom:5px}.manager-details[data-v-20e6196e]{display:flex;align-items:center;gap:10px}.manager-avatar[data-v-20e6196e]{width:40px;height:40px;border-radius:50%;background:#e0e0e0;border:2px solid #ddd}.manager-text[data-v-20e6196e]{text-align:left}.manager-name[data-v-20e6196e]{font-weight:700;color:#333;margin-bottom:2px}.manager-phone[data-v-20e6196e]{font-size:12px;color:#666}.stats-section[data-v-20e6196e]{background:#fff;padding:20px;display:flex;gap:20px;border-bottom:1px solid #e0e0e0}.stat-card[data-v-20e6196e]{display:flex;align-items:center;gap:15px;padding:20px;border-radius:8px;background:#f8f9fa;border:1px solid #e9ecef;min-width:180px}.stat-icon[data-v-20e6196e]{font-size:24px;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center}.stat-icon.blue[data-v-20e6196e]{background:#e3f2fd;color:#1976d2}.stat-icon.green[data-v-20e6196e]{background:#e8f5e8;color:#388e3c}.stat-icon.red[data-v-20e6196e]{background:#ffebee;color:#d32f2f}.stat-content[data-v-20e6196e]{text-align:left}.stat-number[data-v-20e6196e]{font-size:24px;font-weight:700;color:#333;margin-bottom:5px}.stat-label[data-v-20e6196e]{font-size:14px;color:#666}.dormitory-stats[data-v-20e6196e]{background:#fff;padding:8px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e0e0}.stats-title[data-v-20e6196e]{font-size:19px;font-weight:700;color:#333}.floor-tabs[data-v-20e6196e]{display:flex;gap:0}.floor-tab[data-v-20e6196e]{padding:10px 20px;cursor:pointer;border:1px solid #e0e0e0;background:#fff;transition:all .3s;font-size:14px;color:#666}.floor-tab[data-v-20e6196e]:first-child{border-radius:4px 0 0 4px}.floor-tab[data-v-20e6196e]:last-child{border-radius:0 4px 4px 0}.floor-tab.active[data-v-20e6196e]{background:#1890ff;color:#fff;border-color:#1890ff}.legend[data-v-20e6196e]{display:flex;gap:20px}.legend-item[data-v-20e6196e]{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.legend-color[data-v-20e6196e]{width:16px;height:16px;border-radius:50%}.legend-color.green[data-v-20e6196e]{background:#52c41a}.legend-color.red[data-v-20e6196e]{background:#ff4d4f}.debug-toggle[data-v-20e6196e]{margin-left:20px}.debug-btn[data-v-20e6196e]{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;background:#f5f5f5;cursor:pointer;font-size:14px;color:#666;transition:all .3s}.debug-btn[data-v-20e6196e]:hover{background:#f0f0f0;border-color:#d0d0d0}.debug-tips[data-v-20e6196e]{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:15px;margin-bottom:20px;color:#856404}.debug-tips h4[data-v-20e6196e]{margin:0 0 10px 0;font-size:14px;color:#856404}.debug-tips p[data-v-20e6196e]{margin:5px 0;font-size:12px;line-height:1.4}.floor-plan[data-v-20e6196e]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;height:700px;width:100%}.floor-image-container[data-v-20e6196e]{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible;border-radius:8px;border:1px solid #e0e0e0;height:600px;width:1200px;min-width:1200px;max-width:1200px;background-size:contain;background-repeat:no-repeat;background-position:50%;background-color:#f8f9fa}.floor-image-container.ire-floor[data-v-20e6196e]{width:1300px;min-width:1300px;max-width:1300px}.common-areas[data-v-20e6196e]{display:flex;flex-direction:column;gap:20px;min-width:120px}.common-areas.left[data-v-20e6196e]{align-items:flex-start}.common-areas.right[data-v-20e6196e]{align-items:flex-end}.facility[data-v-20e6196e],.no-entry[data-v-20e6196e],.stairs[data-v-20e6196e]{display:flex;flex-direction:column;align-items:center;gap:5px;padding:15px;border-radius:8px;background:#f8f9fa;border:1px solid #e9ecef;min-width:100px}.facility-icon[data-v-20e6196e],.no-entry-icon[data-v-20e6196e],.stairs-icon[data-v-20e6196e]{font-size:20px}.facility-label[data-v-20e6196e],.no-entry-label[data-v-20e6196e],.stairs-label[data-v-20e6196e]{font-size:12px;color:#666;text-align:center}.no-entry[data-v-20e6196e]{background:#fff2f0;border-color:#ffccc7}.rooms-section[data-v-20e6196e]{flex:1;display:flex;gap:15px;justify-content:center;align-items:stretch}.room[data-v-20e6196e]{display:flex;flex-direction:column;align-items:center;padding:15px 10px;border-radius:8px;background:#f8f9fa;border:1px solid #e9ecef;min-width:80px;max-width:100px}.room-number[data-v-20e6196e]{padding:4px 8px;font-size:12px;margin-bottom:8px}.room-occupancy[data-v-20e6196e]{font-size:11px;margin-bottom:10px}.room-residents[data-v-20e6196e]{gap:5px;width:100%}.resident[data-v-20e6196e]{padding:4px 8px;border-radius:4px;font-size:11px}.resident.returned[data-v-20e6196e]{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.resident.notReturned[data-v-20e6196e]{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.room-overlays[data-v-20e6196e]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transform-origin:top left}.room-overlays.ire-floor[data-v-20e6196e]{transform:scale(.9)}.debug-indicator[data-v-20e6196e]{position:absolute;top:-25px;left:0;background:rgba(255,0,0,.8);color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;white-space:nowrap;z-index:100}.room-overlay[data-v-20e6196e]{position:absolute;pointer-events:auto;z-index:10;transform:scale(1);transition:all .3s ease}.room-info[data-v-20e6196e]{background:transparent;border:none;border-radius:8px;padding:10px;box-shadow:none;min-width:90px;text-align:center}.room-number[data-v-20e6196e]{background:#1890ff;color:#fff;padding:3px 8px;border-radius:4px;font-size:14px;font-weight:700;margin-bottom:6px;display:inline-block}.room-occupancy[data-v-20e6196e]{font-size:13px;color:#666;margin-bottom:8px;font-weight:500}.room-residents[data-v-20e6196e]{display:flex;flex-direction:column;gap:3px}.resident[data-v-20e6196e]{padding:3px 6px;border-radius:3px;font-size:13px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px;font-weight:500}.floor-title[data-v-20e6196e]{background:#fff;padding:15px;text-align:center;font-size:16px;color:#666;border-top:1px solid #e0e0e0}.loading-overlay[data-v-20e6196e]{position:absolute;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,100%,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner[data-v-20e6196e]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #1890ff;border-radius:50%;animation:spin-20e6196e 1s linear infinite;margin-bottom:15px}.loading-text[data-v-20e6196e]{font-size:16px;color:#666}@keyframes spin-20e6196e{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-in[data-v-15395b12]{color:#4caf50;font-weight:700}.status-occupied[data-v-15395b12],.status-out[data-v-15395b12]{color:#f44336;font-weight:700}.status-online[data-v-15395b12],.status-vacant[data-v-15395b12]{color:#4caf50;font-weight:700}.status-offline[data-v-15395b12]{color:#f44336;font-weight:700}.modal-mask[data-v-15395b12]{position:fixed;left:0;top:0;width:100vw;height:100vh;background:#0003;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content[data-v-15395b12]{background:#fff;padding:40px 60px 32px 60px;border-radius:8px;min-width:700px;position:relative}.search-btn-blue[data-v-15395b12]{background:#2196f3;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.search-btn-blue[data-v-15395b12]:hover{background:#1976d2}.search-btn-green[style*="background: #ff9800"][data-v-15395b12]{background:#ff9800!important;color:#fff}.search-btn-green[style*="background: #ff9800"][data-v-15395b12]:hover{background:#f57c00!important}.edit-form[data-v-44563b2e]{display:flex;flex-direction:column;gap:18px}.edit-form-row[data-v-44563b2e]{display:flex;align-items:center}.edit-form-row label[data-v-44563b2e]{color:#222;font-size:16px;min-width:120px;text-align:right;margin-right:12px}.edit-form-row .form-input[data-v-44563b2e]{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:8px 16px;font-size:15px;min-width:200px;outline:none;transition:border .2s}.edit-form-row .form-input[data-v-44563b2e]:focus{border:1.5px solid #4caf50}.required[data-v-44563b2e]{color:#e74c3c;margin-right:4px}.modal-content[data-v-44563b2e]{max-height:80vh;overflow-y:auto}@media (max-width:768px){.edit-form-row[data-v-44563b2e]{flex-direction:column;align-items:flex-start}.edit-form-row label[data-v-44563b2e]{min-width:auto;margin-bottom:8px}.edit-form-row .form-input[data-v-44563b2e]{min-width:100%}}.clear-btn[data-v-44563b2e]{background:#f5f5f5;color:#666;border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer;margin-left:8px;transition:all .2s}.clear-btn[data-v-44563b2e]:hover{background:#e8e8e8;border-color:#ccc}.chart-container[data-v-313fe037]{display:flex;align-items:center;justify-content:center}.bar-chart-container[data-v-0ff9e709],.chart-container[data-v-313fe037],.pie-chart-container[data-v-7ce4fe15]{width:100%;height:100%;position:relative}.bar-chart-container[data-v-0ff9e709]{display:flex;align-items:center;justify-content:center}.half-pie-chart-container[data-v-5ffa4784],.pie-chart-container[data-v-0761b682],.rose-pie-chart-container[data-v-6ccc47f4]{width:100%;height:100%;position:relative}.dormitory-container[data-v-afb29950]{background:#f5f5f5;height:100vh;font-family:Microsoft YaHei,sans-serif;box-sizing:border-box}.header-section[data-v-afb29950]{width:100%;min-height:60px;display:flex;align-items:center;background:#fff;padding:12px 20px 12px 20px;position:relative;box-sizing:border-box}.header-title[data-v-afb29950]{display:flex;flex-direction:row;align-items:center;padding-left:10px}.header-left[data-v-afb29950]{width:70%;display:flex;align-items:flex-start;font-size:28px;font-weight:700;color:#333}.header-right[data-v-afb29950]{width:30%;height:40px;display:flex;align-items:center;justify-content:flex-end;color:#333;position:relative}.update-message[data-v-afb29950]{position:absolute;top:60px;right:0;background-color:#67c23a;color:#fff;padding:8px 16px;border-radius:4px;font-size:14px;font-weight:700;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);animation:fadeInOut-afb29950 3s ease-in-out;z-index:1000}@keyframes fadeInOut-afb29950{0%{opacity:0;transform:translateY(-10px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.stats-section[data-v-afb29950]{background:#fff;padding:0 20px 10px 20px;display:flex;gap:20px}.stat-card[data-v-afb29950]{width:25%;min-width:180px;display:flex;align-items:center;justify-content:flex-start;gap:15px;padding:20px;border-radius:8px;background:#f8f9fa;border:1px solid #e9ecef}.stat-card.blue[data-v-afb29950]{background:#e3f2fd}.stat-card.green[data-v-afb29950]{background:#e8f5e8}.stat-card.red[data-v-afb29950]{background:#ffebee}.stat-card.black[data-v-afb29950]{background:#e9ecef}.stat-icon[data-v-afb29950]{font-size:24px;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center}.stat-icon.blue[data-v-afb29950]{background:#5470c6}.stat-icon.green[data-v-afb29950]{background:#91cc75}.stat-icon.red[data-v-afb29950]{background:#e66}.stat-icon.black[data-v-afb29950]{background:#333}.stat-content[data-v-afb29950]{text-align:left}.stat-number[data-v-afb29950]{font-size:24px;font-weight:700;color:#333;margin-bottom:5px}.stat-label[data-v-afb29950]{font-size:18px;color:#666}.laundry-stats[data-v-afb29950]{width:100%;height:420px;background:#fff;padding:10px;display:flex;gap:20px}.laundry-stats-card[data-v-afb29950]{width:33.3%;min-height:250px;display:flex;flex-direction:column;align-items:center;gap:15px;padding:20px;border-radius:8px;background:#f8f9fa;border:1px solid #e9ecef}.laundry-stats-title[data-v-afb29950]{width:100%;height:10%;min-height:30px;display:flex;flex-direction:row;font-size:20px;font-weight:700;color:#666;margin-bottom:5px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.laundry-stats-label[data-v-afb29950]{width:80%;display:flex;align-items:center;justify-content:flex-start;font-size:20px;color:#666}.laundry-stats-icon[data-v-afb29950]{width:20%;display:flex;align-items:center;justify-content:flex-end}.laundry-stats-pic[data-v-afb29950]{height:90%;min-height:230px;background-color:#fff;padding:5px;box-sizing:border-box}.laundry-stats-pic-title[data-v-afb29950],.laundry-stats-pic[data-v-afb29950]{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center}.laundry-stats-pic-title[data-v-afb29950]{height:15%}.laundry-stats-pic-title-item[data-v-afb29950]{width:33.3%;height:100%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#666;border-bottom:1px solid #e9ecef}.laundry-stats-pic-items[data-v-afb29950]{width:100%;height:85%;display:flex;flex-direction:row;align-items:center;justify-content:center}.laundry-stats-pic-item1[data-v-afb29950],.laundry-stats-pic-item2[data-v-afb29950],.laundry-stats-pic-item3[data-v-afb29950]{width:33.3%;height:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.laundry-stats-pic-item3[data-v-afb29950]{flex-direction:column}.laundry-stats-pic-item[data-v-afb29950]{width:100%;height:100%;min-height:300px;display:flex;align-items:center;justify-content:center;position:relative;padding:10px;box-sizing:border-box}.export-disabled[data-v-afb29950]{cursor:not-allowed!important;color:#999!important;opacity:.7}.no-data-container[data-v-afb29950]{width:100%;height:100%;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;color:#999}.no-data-container.small[data-v-afb29950]{min-height:150px}.no-data-icon[data-v-afb29950]{font-size:48px;margin-bottom:16px;opacity:.5}.no-data-text[data-v-afb29950]{font-size:16px;color:#999}div[data-v-063e8c96]{box-sizing:border-box}.text-red[data-v-063e8c96]{color:red}.text-green[data-v-063e8c96]{color:green}.image-preview-container[data-v-541c4438]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:1001;background-color:rgba(0,0,0,.8)}.image-preview-content[data-v-541c4438]{position:relative;max-width:90%;max-height:90%;display:flex;flex-direction:column;align-items:center}.preview-image[data-v-541c4438]{max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.5);cursor:default}.image-preview-tools[data-v-541c4438]{margin-top:20px;display:flex;gap:10px}.preview-close-btn[data-v-541c4438]{padding:10px 20px;background:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.preview-close-btn[data-v-541c4438]:hover{background:#d32f2f}img[data-v-541c4438]{-o-object-fit:contain;object-fit:contain;vertical-align:middle}.completed-text[data-v-541c4438]{color:#45a049;font-size:14px;display:inline-flex;align-items:center;line-height:1.4;font-weight:700}.qrcode-cell[data-v-541c4438]{text-align:left;vertical-align:middle}.qrcode-image[data-v-541c4438]{width:20px;height:20px;-o-object-fit:contain;object-fit:contain;border:1px solid #e0e0e0;border-radius:4px;vertical-align:middle}.no-image[data-v-541c4438]{color:#999}.btn-edit[data-v-541c4438]{display:inline-flex;align-items:center;justify-content:center;background:#2196f3;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;margin-right:20px;line-height:1.4;flex-shrink:0}.btn-edit[data-v-541c4438]:hover{background:#1976d2}.btn-delete[data-v-541c4438]{display:inline-flex;align-items:center;justify-content:center;background:#f44336;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;line-height:1.4;flex-shrink:0}.btn-delete[data-v-541c4438]:hover{background:#d32f2f}.program-item[data-v-541c4438]{display:inline-block;margin-right:5px;font-size:14px}.no-program[data-v-541c4438]{color:#999}.fault-description[data-v-541c4438]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.use-stats-container[data-v-541c4438]{display:flex;flex-direction:column;gap:20px;align-items:center;width:100%;max-width:100%;padding:0 20px;box-sizing:border-box}.use-stats-single[data-v-541c4438]{width:100%;max-width:100%;margin:0 auto;box-sizing:border-box}.use-stats-card[data-v-541c4438]{width:100%;height:100%;min-height:400px;display:flex;flex-direction:column;align-items:center;padding:20px;border-radius:8px;background:#f8f9fa;border:1px solid #e9ecef;margin:0;box-sizing:border-box}.use-stats-card-title[data-v-541c4438]{width:100%;height:10%;display:flex;flex-direction:row;font-size:20px;font-weight:700;color:#666;margin-bottom:5px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.use-stats-label[data-v-541c4438]{width:80%;height:100%;display:flex;align-items:center;justify-content:flex-start;font-size:24px;color:#666}.use-stats-icon[data-v-541c4438]{width:20%;height:100%;display:flex;align-items:center;justify-content:flex-end}.device-id[data-v-541c4438]{font-size:16px;color:#999;margin-left:10px;font-weight:400}.use-stats-card-content[data-v-541c4438]{width:100%;height:90%;min-height:400px;display:flex;flex-direction:column;background-color:#fff;padding:10px;box-sizing:border-box;overflow:hidden}.stats-row[data-v-541c4438]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:15px;width:100%;box-sizing:border-box}.stat-item[data-v-541c4438]{background:#f8f9fa;border-radius:8px;padding:15px}.stat-label[data-v-541c4438]{font-size:20px;font-weight:700;border-bottom:1px solid #e0e0e0;margin-bottom:10px}.full-width[data-v-541c4438]{grid-column:1/-1}.basic-stat[data-v-541c4438],.stat-charts[data-v-541c4438]{display:flex;flex-direction:column;align-items:center;justify-content:center}.basic-stat[data-v-541c4438]{width:100%;margin-bottom:10px}.stat-title[data-v-541c4438]{display:flex;align-items:center;justify-content:center;font-size:18px;margin:5px}.stat-value[data-v-541c4438]{display:flex;align-items:center;justify-content:center;height:60px;width:150px;font-size:30px;background-color:#73c0de;border-radius:4px;color:#fff}.stat-chart-container[data-v-541c4438]{width:100%;height:180px;min-width:150px;box-sizing:border-box;padding-top:10px;overflow:hidden}.bar-chart-container[data-v-541c4438]{width:100%;height:250px;box-sizing:border-box;overflow:hidden}.fault-handle-stats[data-v-541c4438]{flex-direction:column;padding:10px 0;min-height:120px;box-sizing:border-box;padding-top:30px}.fault-handle-stats[data-v-541c4438],.fault-stat[data-v-541c4438]{display:flex;justify-content:center;align-items:center;gap:8px;width:100%}.fault-stat[data-v-541c4438]{flex-direction:row;font-size:24px;line-height:1.4}.no-data-prompt[data-v-541c4438],.select-device-prompt[data-v-541c4438]{display:flex;justify-content:center;align-items:center;min-height:300px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.prompt-content[data-v-541c4438]{text-align:center;padding:40px}.prompt-icon[data-v-541c4438]{font-size:48px;margin-bottom:20px;opacity:.6}.prompt-text[data-v-541c4438]{font-size:16px;color:#666;font-weight:500}.loading-container[data-v-541c4438]{text-align:center;padding:50px;display:flex;align-items:center;justify-content:center;min-height:200px}.loading-text[data-v-541c4438]{color:#666;font-size:16px}.modal-overlay[data-v-541c4438]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-541c4438]{background:#fff;border-radius:8px;width:500px;max-width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 2px 10px rgba(0,0,0,.1)}.modal-header[data-v-541c4438]{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 10px 20px;border-bottom:2px solid #e0e0e0}.modal-header h3[data-v-541c4438]{margin:0;font-size:24px;color:#333;flex:1;text-align:center}.close-btn[data-v-541c4438]{font-size:24px;cursor:pointer;color:#999;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;align-self:center;margin-left:auto}.close-btn[data-v-541c4438]:hover{background:#f5f5f5;color:#666}.modal-body[data-v-541c4438]{padding:20px}.form-group[data-v-541c4438]{margin-bottom:20px}.form-group label[data-v-541c4438]{display:block;margin-bottom:8px;text-align:left;font-weight:700;color:#333}.form-input-modal[data-v-541c4438]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-input-modal[data-v-541c4438]:focus{outline:none;border-color:#4caf50}.form-hint[data-v-541c4438]{font-size:12px;color:#999;margin-top:4px}.modal-footer[data-v-541c4438]{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:2px solid #e0e0e0;align-items:center}.btn-cancel[data-v-541c4438]{padding:8px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;color:#666;line-height:1.4;display:inline-flex;align-items:center;justify-content:center}.btn-cancel[data-v-541c4438]:hover{background:#e9e9e9}.btn-confirm[data-v-541c4438]{padding:8px 16px;background:#4caf50;border:none;border-radius:4px;cursor:pointer;color:#fff;line-height:1.4;display:inline-flex;align-items:center;justify-content:center}.btn-confirm[data-v-541c4438]:hover{background:#45a049}.btn-confirm[data-v-541c4438]:disabled{opacity:.6;cursor:not-allowed}.upload-container[data-v-541c4438]{display:flex;flex-direction:column;gap:10px}.image-preview[data-v-541c4438]{position:relative;width:100%;max-width:200px;margin-bottom:10px}.preview-img[data-v-541c4438]{width:100%;height:auto;max-height:150px;-o-object-fit:contain;object-fit:contain;border:1px solid #ddd;border-radius:4px;padding:5px}.remove-image[data-v-541c4438]{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#f44336;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.remove-image[data-v-541c4438]:hover{background:#d32f2f}.upload-area[data-v-541c4438]{border:2px dashed #ddd;border-radius:4px;padding:20px;text-align:center;cursor:pointer;transition:all .3s}.upload-area[data-v-541c4438]:hover{border-color:#4caf50;background:#f9f9f9}.upload-placeholder[data-v-541c4438]{display:flex;flex-direction:column;align-items:center;gap:5px}.upload-icon[data-v-541c4438]{font-size:24px}.upload-hint[data-v-541c4438]{font-size:12px;color:#999}@media (max-width:768px){.stats-row[data-v-541c4438]{grid-template-columns:1fr}}div[data-v-159ac218]{box-sizing:border-box}.refresh-btn[data-v-159ac218]{padding:6px 16px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .3s}.refresh-btn[data-v-159ac218]:hover{background:#45a049}.refresh-btn[data-v-159ac218]:disabled{opacity:.6;cursor:not-allowed}.message-template-container[data-v-159ac218]{width:100%;height:calc(100vh - 60px);overflow:auto;background:#f5f7fa}.filter-box[data-v-159ac218]{display:flex;flex-direction:row;justify-content:center;width:100%;min-height:100%;background:#fff;padding:30px;border-radius:8px;margin:0}.filter-item[data-v-159ac218]{display:flex;flex-direction:column;align-items:center;width:25%;min-width:300px;height:550px;margin:20px;padding:15px;background:#fafafa;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.filter-title[data-v-159ac218]{display:flex;font-size:24px;font-weight:700;margin-bottom:15px;color:#333}.filter-content[data-v-159ac218]{width:100%;height:450px;display:flex;flex-direction:column;border:1px solid #e0e0e0;border-radius:8px;background:#fff;padding:15px;box-shadow:0 1px 4px rgba(0,0,0,.05);overflow:hidden}.template-image[data-v-159ac218]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:4px}@media (max-width:1200px){.filter-box[data-v-159ac218]{flex-wrap:wrap}.filter-item[data-v-159ac218]{width:45%;margin:15px}}@media (max-width:768px){.filter-item[data-v-159ac218]{width:90%;margin:15px auto}}div[data-v-7e820a24]{box-sizing:border-box}.violation-type-default[data-v-7e820a24],.violation-type-prohibited[data-v-7e820a24],.violation-type-unclaimed[data-v-7e820a24]{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:700;color:#fff}.violation-type-default[data-v-7e820a24]{background-color:#9e9e9e}.violation-type-unclaimed[data-v-7e820a24]{background-color:#ff9800}.violation-type-prohibited[data-v-7e820a24]{background-color:#e74c3c}.single-image-container[data-v-7e820a24]{width:50px;height:50px;border:1px solid #e8e8e8;border-radius:4px;overflow:hidden;cursor:pointer;transition:transform .2s}.single-image-container[data-v-7e820a24]:hover{transform:scale(1.1);box-shadow:0 2px 8px rgba(0,0,0,.15)}.table-single-image[data-v-7e820a24]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.no-image[data-v-7e820a24]{color:#999;font-size:12px}.no-data-container[data-v-7e820a24]{display:flex;justify-content:center;align-items:center;min-height:300px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.no-data-text[data-v-7e820a24]{color:#999;font-size:16px}.prompt-content[data-v-7e820a24]{text-align:center;padding:40px}.prompt-icon[data-v-7e820a24]{font-size:48px;margin-bottom:20px;opacity:.6}.prompt-text[data-v-7e820a24]{font-size:16px;color:#666;font-weight:500}.data-container[data-v-7e820a24]{height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;margin-bottom:10px}.container-top[data-v-7e820a24]{width:100%;min-height:6px;display:flex;flex-direction:row;margin-bottom:10px}.container-bottom[data-v-7e820a24]{min-height:60px;width:100%;display:flex;flex-direction:row;margin-top:10px}.container-left[data-v-7e820a24]{width:30%;margin-right:10px}.container-left[data-v-7e820a24],.container-right[data-v-7e820a24]{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fff}.container-right[data-v-7e820a24]{width:70%;margin-left:10px}.chart-title[data-v-7e820a24]{width:100%;height:15%;display:flex;padding:20px 10px 0 10px;border-bottom:1px solid #e9ecef}.chart-label[data-v-7e820a24]{width:80%;display:flex;align-items:center;justify-content:flex-start;font-size:20px;font-weight:700;margin-left:10px;color:#666}.chart-icon[data-v-7e820a24]{width:20%;display:flex;align-items:center;justify-content:flex-end;font-size:20px;margin-right:20px}.chart-container[data-v-7e820a24]{width:100%;height:85%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#666}.chart-wrapper[data-v-7e820a24],.pie-chart[data-v-7e820a24]{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.detail-btn[data-v-7e820a24]{background-color:#1890ff;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:14px;min-width:60px}.detail-btn[data-v-7e820a24]:hover{background-color:#40a9ff}.detail-dialog-overlay[data-v-7e820a24]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.detail-dialog[data-v-7e820a24]{background-color:#fff;border-radius:8px;width:700px;max-width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.15)}.dialog-header[data-v-7e820a24]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e8e8e8}.dialog-header h3[data-v-7e820a24]{margin:0;font-size:18px;color:#333;font-weight:600}.close-btn[data-v-7e820a24]{font-size:24px;cursor:pointer;color:#999;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-7e820a24]:hover{color:#333}.dialog-content[data-v-7e820a24]{padding:24px}.detail-form[data-v-7e820a24]{width:100%}.form-row[data-v-7e820a24]{display:flex;gap:20px;margin-bottom:16px}.form-group[data-v-7e820a24]{flex:1;display:flex;flex-direction:column}.form-group.full-width[data-v-7e820a24]{flex:0 0 100%}.form-group label[data-v-7e820a24]{margin-bottom:6px;font-weight:500;color:#666;font-size:14px}.form-value[data-v-7e820a24]{padding:8px 12px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:14px;color:#333;min-height:36px;display:flex;align-items:center}.status-badge[data-v-7e820a24]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:14px;font-weight:500}.status-processing[data-v-7e820a24]{background-color:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.status-completed[data-v-7e820a24]{background-color:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-pending[data-v-7e820a24]{background:#fff1f0;color:#f5222d;border:1px solid #ffa39e}.status-closed[data-v-7e820a24]{background-color:#f5f5f5;color:#8c8c8c;border:1px solid #d9d9d9}.section-title[data-v-7e820a24]{font-size:16px;font-weight:600;color:#333;margin:20px 0 12px 0;padding-bottom:8px;border-bottom:1px solid #e8e8e8}.image-container[data-v-7e820a24]{margin-top:10px}.image-list[data-v-7e820a24]{display:flex;flex-wrap:wrap;gap:12px}.detail-image-item[data-v-7e820a24]{width:100px;height:100px;border:1px solid #e8e8e8;border-radius:4px;overflow:hidden;cursor:pointer}.detail-image-item img[data-v-7e820a24]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s}.detail-image-item:hover img[data-v-7e820a24]{transform:scale(1.05)}.no-image-text[data-v-7e820a24]{color:#999;font-size:14px;padding:8px 0}.desc-box[data-v-7e820a24]{padding:12px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:14px;color:#333;min-height:60px;line-height:1.5}.dialog-actions[data-v-7e820a24]{display:flex;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e8e8e8}.close-btn-action[data-v-7e820a24]{padding:8px 24px;background-color:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .3s}.close-btn-action[data-v-7e820a24]:hover{background-color:#40a9ff}.image-preview-overlay[data-v-7e820a24]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:1100}.image-preview-modal[data-v-7e820a24]{position:relative;max-width:90%;max-height:90%;display:flex;flex-direction:column;align-items:center}.image-preview-modal img[data-v-7e820a24]{max-width:90vw;max-height:80vh;-o-object-fit:contain;object-fit:contain}.preview-close-btn[data-v-7e820a24]{position:absolute;top:-40px;right:0;color:#fff;font-size:30px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.preview-close-btn[data-v-7e820a24]:hover{color:#1890ff}.status-badge[data-v-990be5ba]{padding:4px 8px;border-radius:4px}.status-normal[data-v-990be5ba]{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-temp-banned[data-v-990be5ba]{background:#fffbe6;color:#faad14;border:1px solid #ffe58f}.status-blacklist[data-v-990be5ba]{background:#fff1f0;color:#f5222d;border:1px solid #ffa39e;margin-right:10px}.status-permanent-banned[data-v-990be5ba]{background:#f5f5f5;color:#999;border:1px solid #d9d9d9}.btn-edit[data-v-990be5ba]{background:#1890ff}.btn-delete[data-v-990be5ba],.btn-edit[data-v-990be5ba]{color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;margin-right:10px}.btn-delete[data-v-990be5ba]{background:#9b9b97}.btn-enable[data-v-990be5ba]{background:#52c41a}.btn-disable[data-v-990be5ba],.btn-enable[data-v-990be5ba]{color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;margin-right:10px}.btn-disable[data-v-990be5ba]{background:#fa8c16}.btn-add-blacklist[data-v-990be5ba]{background:#f5222d;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;margin-right:10px}.btn-disable[data-v-990be5ba]:hover{background:#d48806}.btn-enable[data-v-990be5ba]:hover{background:#41a017}.btn-edit[data-v-990be5ba]:hover{background:#40a9ff}.btn-delete[data-v-990be5ba]:hover{background:#ff7875}.modal-overlay[data-v-990be5ba]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-990be5ba]{background:#fff;border-radius:8px;width:600px;max-width:90vw;max-height:90vh;overflow:auto}.modal-header[data-v-990be5ba]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e8e8e8}.modal-header h3[data-v-990be5ba]{margin:0;font-size:16px;font-weight:600}.close-btn[data-v-990be5ba]{background:none;border:none;font-size:20px;cursor:pointer;color:#999}.close-btn[data-v-990be5ba]:hover{color:#666}.modal-body[data-v-990be5ba]{padding:24px}.modal-footer[data-v-990be5ba]{padding:10px 24px;border-top:1px solid #e8e8e8;text-align:right}.user-form[data-v-990be5ba]{width:100%}.form-row[data-v-990be5ba]{display:flex;gap:16px;margin-bottom:16px}.form-group[data-v-990be5ba]{flex:1;display:flex;flex-direction:column}.form-group label[data-v-990be5ba]{margin-bottom:4px;font-weight:500;color:#333}.form-group input[data-v-990be5ba],.form-group select[data-v-990be5ba]{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.form-group input[data-v-990be5ba]:focus,.form-group select[data-v-990be5ba]:focus{outline:none;border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.btn-cancel[data-v-990be5ba]{background:#f5f5f5;color:#333;border:1px solid #d9d9d9;padding:8px 16px;border-radius:4px;cursor:pointer;margin-right:8px}.btn-confirm[data-v-990be5ba]{background:#1890ff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-cancel[data-v-990be5ba]:hover{background:#e8e8e8}.btn-confirm[data-v-990be5ba]:hover{background:#40a9ff}.change-summary[data-v-990be5ba]{margin-top:16px;padding:12px;background:#f8f9fa;border-radius:4px}.change-summary h4[data-v-990be5ba]{margin:0 0 8px 0;font-size:14px;color:#333}.change-summary ul[data-v-990be5ba]{margin:0;padding-left:20px}.change-summary li[data-v-990be5ba]{font-size:13px;color:#666;margin-bottom:4px}.btn[data-v-18a47bbe]{padding:4px 8px;margin:0 5px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:opacity .3s}.btn-edit[data-v-18a47bbe]{background-color:#1890ff;color:#fff}.btn-delete[data-v-18a47bbe]{background-color:#f44336;color:#fff}.btn[data-v-18a47bbe]:hover{opacity:.8}.modal-overlay[data-v-18a47bbe]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-18a47bbe]{background:#fff;border-radius:8px;width:500px;max-width:90%;box-shadow:0 4px 6px rgba(0,0,0,.1)}.modal-header[data-v-18a47bbe]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h3[data-v-18a47bbe]{margin:0;color:#333}.modal-close[data-v-18a47bbe]{background:none;border:none;font-size:24px;cursor:pointer;color:#999}.modal-close[data-v-18a47bbe]:hover{color:#666}.modal-body[data-v-18a47bbe]{padding:20px}.modal-footer[data-v-18a47bbe]{padding:20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:10px}.role-edit-form[data-v-18a47bbe]{display:flex;flex-direction:column;gap:20px}.role-item[data-v-18a47bbe]{display:flex;justify-content:space-between;align-items:center;padding:15px;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;transition:all .3s}.role-item[data-v-18a47bbe]:hover{border-color:#1890ff;background:#f0f9ff}.role-label[data-v-18a47bbe]{display:flex;align-items:center;gap:10px;cursor:pointer}.role-label input[type=radio][data-v-18a47bbe]{width:18px;height:18px;cursor:pointer}.radio-text[data-v-18a47bbe]{font-weight:700;color:#333;cursor:pointer}.role-desc[data-v-18a47bbe]{color:#666;font-size:14px}.role-rules[data-v-18a47bbe]{padding:15px;background:#f8f9fa;border-radius:6px;border-left:4px solid #4caf50}.role-rules p[data-v-18a47bbe]{margin:0 0 10px 0;color:#333}.role-rules ul[data-v-18a47bbe]{margin:0;padding-left:20px;color:#666}.role-rules li[data-v-18a47bbe]{margin-bottom:5px}.btn-cancel[data-v-18a47bbe]{background:#f5f5f5;color:#666;border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer;transition:all .3s}.btn-confirm[data-v-18a47bbe]{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;transition:all .3s}.btn-confirm[data-v-18a47bbe]:disabled{background:#ccc;cursor:not-allowed}.btn-cancel[data-v-18a47bbe]:hover{background:#e8e8e8}.btn-confirm[data-v-18a47bbe]:not(:disabled):hover{background:#45a049}.operate-login[data-v-18a47bbe]{background:#52c41a}.operate-view[data-v-18a47bbe]{background:#faad14}.operate-edit[data-v-18a47bbe]{background:#f5222d}.operate-export[data-v-18a47bbe]{background:#1890ff}.operate-permission[data-v-18a47bbe]{background:#edf109}.operate-query[data-v-18a47bbe]{background:#87d068}.operate-user[data-v-18a47bbe]{background:#13c2c2}.permission-super[data-v-18a47bbe]{background:#f5222d}.permission-admin[data-v-18a47bbe]{background:#faad14}.permission-normal[data-v-18a47bbe]{background:#52c41a}*{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Microsoft Yahei,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;height:100%;flex-direction:column}#app,.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.flex-auto{flex:auto}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}button,input,select,textarea{font:inherit;color:inherit;border:none;outline:none;background:none}a{color:inherit;text-decoration:none}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}.flex-row{display:flex;flex-direction:row}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.grow{flex-grow:1}.grow-0{flex-grow:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.home-container{display:flex;flex-direction:column;min-height:100vh;background-color:#f5f6fa;height:100%;box-sizing:border-box;overflow:hidden;margin:0;padding:0}.topbar{width:100%;height:70px;background:#394d97;justify-content:space-between;padding:0 32px;position:relative;z-index:10;flex-shrink:0}.topbar,.topbar-left{display:flex;align-items:center}.topbar-logo{height:70px;margin-right:12px}.topbar-title{color:#fff;font-size:29px;font-weight:700;letter-spacing:4px}.topbar-right{display:flex;align-items:center}.topbar-company{color:#fff;font-size:16px}.main-layout{display:flex;flex:1;min-height:0;height:calc(100vh - 70px);overflow:hidden;margin:0;padding:0}.sidebar{width:180px;background-color:#4660b6;padding:0 0 0 0}.nav-item{display:flex;align-items:center;padding:17px 28px;color:#ddd;cursor:pointer;transition:background-color .3s;font-size:16px}.nav-item.active,.nav-item:hover{background-color:hsla(0,0%,100%,.12)}.nav-icon{width:21px;height:21px;margin-right:10px;margin-bottom:2px}.nav-text{font-size:17px;background:linear-gradient(90deg,#ddd,#ddd)no-repeat 100% 100%;background-size:0 5%;transition:background-size .5s}.nav-text:hover{background-position-x:left;background-size:100% 5%}.main-content{flex:1;padding:24px;overflow-y:auto;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;height:100%;margin:0}.function-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;background-color:#fff;padding:16px 24px;border-radius:8px}.nav-tabs{display:flex;gap:24px}.tab{padding:8px 16px;cursor:pointer;color:#666;font-size:18px;transition:color .3s}.tab.active{color:#4660b6;border-bottom:2px solid #4660b6}.search-section-new{background:#fff;border-radius:8px;padding:32px 32px 24px 32px;margin-bottom:24px}.search-form-2x2{display:flex;flex-direction:row;align-items:stretch;width:100%}.form-fields{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:24px 48px;flex:1;align-items:center}.form-item{display:flex;align-items:center}.form-item label{color:#222;font-size:16px;min-width:110px;text-align:right;margin-right:10px}.form-input{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:8px 16px;font-size:15px;min-width:180px;outline:none;transition:border .2s;position:relative;z-index:1}.form-input:hover{cursor:pointer}.form-input:focus,select.form-input:focus{border:1.5px solid #4caf50;z-index:10;box-shadow:0 0 0 2px rgba(76,175,80,.1)}select.form-input{z-index:10}select.form-input:active{border:1.5px solid #4caf50;z-index:10}.form-btns{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;margin-left:48px;gap:12px}.status-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:700;color:#fff;border:none}.status-offline{background-color:#9e9e9e}.status-fault{background-color:#e74c3c}.status-maintenance{background-color:#ff9800}.status-pending{background-color:#e74c3c}.status-processing{background-color:#2196f3}.status-active,.status-resolved{background-color:#4caf50}.status-inactive{background-color:#9e9e9e}.status-washing{background-color:#edf109}.status-ready{background-color:#00bcd4}.status-waiting{background-color:#f4adf4}.status-completed{background-color:#4caf50}.status-cancelled{background-color:#9e9e9e}.status-complaint{background-color:#e74c3c}.status-timeout{background-color:#e9b0aa}.status-normal{background-color:#4caf50}.status-disabled{background-color:#ffbb96}.status-blacklist{background-color:#e74c3c}.push-type-washing{background-color:#2196f3}.push-type-ready{background-color:#4caf50}.push-type-complaint{background-color:#9e9e9e}.push-type-timeout{background-color:#e74c3c}.push-type-other{background-color:#00bcd4}.operate-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700;color:#fff}.operate-login{background-color:#2196f3}.operate-view{background-color:#4caf50}.operate-edit{background-color:#ff9800}.operate-export{background-color:#9c27b0}.operate-permission{background-color:#f44336}.operate-query{background-color:#607d8b}.operate-user{background-color:#795548}.operate-default{background-color:#9e9e9e}.permission-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700;color:#fff}.permission-super{background-color:#f44336}.permission-admin{background-color:#ff9800}.permission-normal{background-color:#4caf50}.permission-old{opacity:.7;text-decoration:line-through}.permission-default{background-color:#9e9e9e}.data-section{background-color:#fff;padding:1% 0;border-radius:8px}.data-layout{display:flex;gap:24px}.image-preview{width:600px;background-color:#000;border-radius:8px;overflow:hidden}.preview-header{padding:16px;background-color:#1a1a1a;color:#fff}.preview-title{font-size:16px;font-weight:500;margin-right:12px}.preview-subtitle{font-size:14px;color:#999}.preview-content{height:450px;display:flex;align-items:center;justify-content:center}.preview-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.alarm-list{flex:1}.list-title{font-size:16px;color:#333;margin:0 0 16px 0}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{padding:12px 16px;text-align:left;border-bottom:1px solid #eee;font-size:14px}.data-table th{background-color:#f5f6fa;color:#666;font-weight:500}.data-table tr{cursor:pointer;transition:background-color .3s}.data-table tr:hover{background-color:#f5f6fa}.data-table tr.active{background-color:#e6e9f0}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px}.page-btn{padding:8px 12px;border:1px solid #ddd;background:none;border-radius:4px;cursor:pointer;font-size:14px;color:#666;transition:all .3s}.page-btn:hover{border-color:#4660b6;color:#4660b6}.page-btn.active{background-color:#4660b6;color:#fff;border-color:#4660b6}.page-ellipsis{color:#666}.page-jump{display:flex;align-items:center;gap:8px;margin-left:16px}.page-jump input{width:60px;padding:8px;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:14px}.jump-btn{padding:8px 16px;background-color:#4660b6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:opacity .3s}.jump-btn:hover{opacity:.8}.subnav-bar{background:#fff;border-bottom:1.5px solid #e0e0e0;padding-left:0;margin-bottom:0}.subnav-bar,.subnav-tab{display:flex;align-items:center;height:48px}.subnav-tab{padding:0 32px;font-size:20px;color:#888;cursor:pointer;font-weight:400;border:none;background:none;transition:color .2s,border-bottom .2s;border-bottom:2px solid transparent}.subnav-tab.active{color:#4660b6;font-weight:700;border-bottom:2.5px solid #4660b6;background:#fff}.tab-placeholder{min-height:400px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#bbb;background:#fff;border-radius:8px;margin-top:32px}.table-action-btns{display:flex;flex-direction:row;align-items:center;gap:10px}.data-section .table-action-btns .search-btn-green{min-width:48px;white-space:nowrap;font-size:14px;padding:4px 12px;letter-spacing:1px}.history-edit-section{display:flex;flex-direction:column;align-items:center}.history-edit-row{margin-bottom:24px;font-size:18px;display:flex;align-items:center}.history-edit-row input.form-input,.history-edit-row select.form-input{font-size:18px;margin-left:12px;min-width:440px;height:44px;padding:8px 16px;box-sizing:border-box}.history-edit-row textarea.form-input{font-size:18px;margin-left:12px;min-width:440px;height:120px;padding:8px 16px;box-sizing:border-box;resize:vertical}.modal-mask{position:fixed;left:0;top:0;width:100vw;height:100vh;background:rgba(0,0,0,.3);z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background:#fff;padding:40px 60px 32px 60px;border-radius:8px;min-width:600px;position:relative;max-height:80vh;overflow-y:auto}.refresh-btn{display:flex;align-items:center;background:#4caf50;color:#fff;border:none;border-radius:6px;padding:6px 19px;font-size:14px;cursor:pointer;transition:background .2s;font-weight:500;margin-bottom:0;height:32px}.refresh-btn .icon{margin-right:6px;vertical-align:middle;width:16px;height:16px}.refresh-btn:hover{background:#43a047}.clear-btn{display:flex;align-items:center;background:#e0e0e0;color:#000;border:none;border-radius:6px;padding:6px 19px;font-size:14px;cursor:pointer;transition:background .2s;font-weight:500;margin-bottom:0;height:32px}.clear-btn .icon{margin-right:6px;vertical-align:middle;width:16px;height:16px}.clear-btn :hover{background:#9d9d9d}.search-btn-green{display:flex;align-items:center;background:#4caf50;color:#fff;border:none;border-radius:6px;padding:6px 19px;font-size:14px;cursor:pointer;transition:background .2s;font-weight:500;margin-bottom:0;height:32px}.search-btn-green .icon{margin-right:6px;vertical-align:middle;width:16px;height:16px}.search-btn-green:hover{background:#43a047}