.dorm-module{--dorm-primary:#0d9488;--dorm-primary-deep:#0f766e;--dorm-primary-soft:#ccfbf1;--dorm-bg:#f0fdfa;--dorm-surface:#fff;--dorm-border:#99f6e4;--dorm-border-muted:#e2e8f0;--dorm-text:#134e4a;--dorm-text-strong:#0f172a;--dorm-muted:#64748b;--dorm-danger:#e11d48;--dorm-radius:12px;--dorm-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(13,148,136,0.06);color:var(--dorm-text-strong)}.dorm-module,.dorm-module *,.dorm-module :after,.dorm-module :before{-webkit-box-sizing:border-box;box-sizing:border-box}.dorm-module .dorm-card{background:var(--dorm-surface);border:1px solid var(--dorm-border-muted);border-radius:var(--dorm-radius);-webkit-box-shadow:var(--dorm-shadow);box-shadow:var(--dorm-shadow)}.dorm-module .dorm-tip{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--dorm-bg);border:1px solid var(--dorm-border);color:var(--dorm-text);font-size:13px;line-height:1.5}.dorm-module .dorm-tip i{color:var(--dorm-primary);margin-top:2px;-ms-flex-negative:0;flex-shrink:0}.dorm-module .danger-text{color:var(--dorm-danger)!important}.dorm-module .el-button--primary{background-color:var(--dorm-primary);border-color:var(--dorm-primary)}.dorm-module .el-button--primary:focus,.dorm-module .el-button--primary:hover{background-color:var(--dorm-primary-deep);border-color:var(--dorm-primary-deep)}.dorm-module .el-button--text,.dorm-module .el-tabs__item.is-active{color:var(--dorm-primary-deep)}.dorm-module .el-pagination.is-background .el-pager li:not(.disabled).active,.dorm-module .el-tabs__active-bar{background-color:var(--dorm-primary)}@media (prefers-reduced-motion:reduce){.dorm-module *{-webkit-transition:none!important;transition:none!important}}.content-az>section.dorm-board-page,.content-az>section.dorm-building-page,.content-az>section.dorm-v3-page,.content-az section.dorm-board-page,.content-az section.dorm-building-page,.content-az section.dorm-v3-page{height:100%!important;max-height:100%!important;min-height:0!important;overflow:hidden!important;-webkit-box-sizing:border-box;box-sizing:border-box}.dorm-building-attendance[data-v-fea99ca2]{height:100%;min-height:0;overflow:hidden;color:#263548}.dorm-building-sidebar[data-v-fea99ca2]{width:200px;min-width:200px;padding:18px 14px;overflow:hidden}.sidebar-head[data-v-fea99ca2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 4px 14px}.sidebar-head strong[data-v-fea99ca2]{font-size:16px}.sidebar-head span[data-v-fea99ca2]{margin-left:8px;color:#94a3b8;font-size:12px}.sidebar-head i[data-v-fea99ca2]{color:#409eff;font-size:18px}.building-list[data-v-fea99ca2]{height:calc(100% - 76px);margin-top:12px;overflow:auto}.building-item[data-v-fea99ca2]{padding:13px 12px;margin-bottom:8px;border:1px solid #e8edf3;border-radius:8px;background:#fff;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.building-item.active[data-v-fea99ca2],.building-item[data-v-fea99ca2]:hover{border-color:#409eff;background:#f0f7ff}.building-item.all-building[data-v-fea99ca2]{background:#fbfdff}.building-item-title[data-v-fea99ca2]{font-size:14px;font-weight:600}.building-item-meta[data-v-fea99ca2],.building-item-title[data-v-fea99ca2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.building-item-meta[data-v-fea99ca2]{margin-top:8px;color:#475569;font-size:12px}.building-item-meta.muted[data-v-fea99ca2]{margin-top:4px;color:#94a3b8}.building-item-meta .danger[data-v-fea99ca2]{color:#ef4444}.empty-building[data-v-fea99ca2]{padding:60px 20px;color:#94a3b8;text-align:center}.building-main[data-v-fea99ca2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;min-height:0;padding:18px;overflow:hidden}.building-toolbar[data-v-fea99ca2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid #eef2f7}.scope-title[data-v-fea99ca2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:18px}.scope-title i[data-v-fea99ca2]{color:#409eff}.scope-subtitle[data-v-fea99ca2]{margin-top:7px;color:#94a3b8;font-size:12px}.toolbar-actions[data-v-fea99ca2]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.building-content[data-v-fea99ca2]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.building-mode-tip[data-v-fea99ca2]{padding:11px 0;color:#64748b;font-size:12px}.mode-dot[data-v-fea99ca2]{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#94a3b8}.mode-dot.realtime[data-v-fea99ca2]{background:#10b981}.mode-dot.history[data-v-fea99ca2]{background:#64748b}.mode-time[data-v-fea99ca2]{margin-left:12px;color:#94a3b8}.building-metrics[data-v-fea99ca2]{display:grid;grid-template-columns:repeat(10,minmax(76px,1fr));gap:10px;margin-bottom:16px}.metric-card[data-v-fea99ca2]{min-height:72px;padding:12px;border:1px solid #edf1f5;border-radius:8px;background:#f8fafc;cursor:pointer}.metric-card[data-v-fea99ca2]:hover{border-color:#409eff;background:#f0f7ff}.metric-card.disabled[data-v-fea99ca2]{cursor:default;opacity:.7}.metric-card.disabled[data-v-fea99ca2]:hover{border-color:#edf1f5;background:#f8fafc}.metric-card em[data-v-fea99ca2]{display:block;color:#64748b;font-size:12px;font-style:normal}.metric-card b[data-v-fea99ca2]{display:block;margin-top:8px;color:#334155;font-size:22px}.metric-card b.ok[data-v-fea99ca2]{color:#16a34a}.metric-card b.wait[data-v-fea99ca2],.metric-card b.warn[data-v-fea99ca2]{color:#d97706}.metric-card b.bad[data-v-fea99ca2]{color:#dc2626}.metric-link[data-v-fea99ca2]{color:#2563eb;cursor:pointer}.metric-link[data-v-fea99ca2]:hover{text-decoration:underline}.scope-table[data-v-fea99ca2] .el-table__row{cursor:pointer}.scope-table[data-v-fea99ca2]{width:100%}.scope-table[data-v-fea99ca2] .el-table__body td,.scope-table[data-v-fea99ca2] .el-table__header th{padding-left:4px;padding-right:4px}.scope-table[data-v-fea99ca2] .el-table__body .cell,.scope-table[data-v-fea99ca2] .el-table__header .cell{padding-left:2px;padding-right:2px;white-space:nowrap}.scope-name[data-v-fea99ca2]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:7px;font-weight:600}.scope-name.building[data-v-fea99ca2]{color:#1f3a5f}.scope-name.floor[data-v-fea99ca2]{color:#334155}.scope-name.room[data-v-fea99ca2]{color:#64748b;font-weight:500}.detail-toolbar[data-v-fea99ca2]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-bottom:10px}.detail-toolbar .el-input[data-v-fea99ca2]{width:260px}.student-avatar[data-v-fea99ca2],.student-photo[data-v-fea99ca2]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:28px;height:28px;border-radius:50%}.student-avatar[data-v-fea99ca2]{color:#2563eb;background:#dbeafe;font-size:13px}.student-photo[data-v-fea99ca2]{overflow:hidden;-o-object-fit:cover;object-fit:cover;background:#f1f5f9;cursor:pointer}.student-photo-error[data-v-fea99ca2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;color:#94a3b8;font-size:16px}.pagination-wrap[data-v-fea99ca2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:12px 0 0}@media (max-width:1280px){.dorm-building-sidebar[data-v-fea99ca2]{width:240px;min-width:240px}.building-metrics[data-v-fea99ca2]{grid-template-columns:repeat(4,minmax(110px,1fr))}}