.common-page-container[data-v-e0f2530a]{padding:20px;background-color:#f8fafc;min-height:100vh}.all_page_border[data-v-e0f2530a]{background:#fff;border-radius:12px;-webkit-box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.03);box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.03);padding:24px}.action-bar[data-v-e0f2530a]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #f1f5f9}.action-bar[data-v-e0f2530a],.page-title-wrap[data-v-e0f2530a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.page-title-wrap[data-v-e0f2530a]{gap:12px}.page-title__icon[data-v-e0f2530a]{width:38px;height:38px;border-radius:8px;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;color:#fff;font-size:20px}.page-title__text[data-v-e0f2530a]{font-size:20px;font-weight:700;color:#1e293b}.page-title__badge[data-v-e0f2530a]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px}.btn-primary[data-v-e0f2530a]{color:#fff;border:none;font-weight:600;padding:9px 18px;border-radius:8px;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;-webkit-transition:-webkit-transform .2s,-webkit-filter .2s;transition:-webkit-transform .2s,-webkit-filter .2s;transition:transform .2s,filter .2s;transition:transform .2s,filter .2s,-webkit-transform .2s,-webkit-filter .2s}.btn-primary[data-v-e0f2530a]:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-filter:brightness(1.05);filter:brightness(1.05)}.btn-search[data-v-e0f2530a]{background:#0f172a;color:#fff;border:none;font-weight:600;padding:7px 16px;border-radius:6px;cursor:pointer}.btn-search[data-v-e0f2530a]:hover{background:#1e293b}.btn-reset[data-v-e0f2530a]{background:#fff;color:#475569;border:1px solid #cbd5e1;font-weight:600;padding:7px 16px;border-radius:6px;cursor:pointer}.btn-reset[data-v-e0f2530a]:hover{background:#f8fafc;color:#0f172a}.btn-ghost[data-v-e0f2530a]{background:#f1f5f9;color:#475569;border:none;font-weight:600;padding:9px 18px;border-radius:8px;cursor:pointer}.btn-ghost[data-v-e0f2530a]:hover{background:#e2e8f0}.search-filter-card[data-v-e0f2530a]{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;padding:16px 20px;margin-bottom:20px}.demo-form-inline[data-v-e0f2530a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:15px}.demo-form-inline .el-form-item[data-v-e0f2530a]{margin-bottom:0;margin-right:0}.table-card[data-v-e0f2530a]{border:1px solid #f1f5f9;border-radius:8px;overflow:hidden}.code-badge[data-v-e0f2530a]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;background:#f1f5f9;color:#334155;padding:2px 6px;border-radius:4px;border:1px solid #e2e8f0}.building-tag[data-v-e0f2530a]{color:#0f172a;font-weight:500;background:#f0fdf4;border:1px solid #dcfce7;padding:3px 8px;border-radius:6px;font-size:12.5px}.badge[data-v-e0f2530a]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px}.badge--green[data-v-e0f2530a]{background:#ecfdf5;color:#10b981;border:1px solid #a7f3d0}.badge--purple[data-v-e0f2530a]{background:#faf5ff;color:#8b5cf6;border:1px solid #ddd6fe}.status-wrap[data-v-e0f2530a]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:6px;-webkit-transition:background-color .2s;transition:background-color .2s}.status-wrap[data-v-e0f2530a]:hover{background-color:#f1f5f9}.status-dot[data-v-e0f2530a]{width:8px;height:8px;border-radius:50%;position:relative}.status-dot--online[data-v-e0f2530a]{background-color:#10b981;-webkit-box-shadow:0 0 0 2px rgba(16,185,129,.4);box-shadow:0 0 0 2px rgba(16,185,129,.4)}.status-dot--online[data-v-e0f2530a]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;-webkit-box-shadow:0 0 8px 2px rgba(16,185,129,.6);box-shadow:0 0 8px 2px rgba(16,185,129,.6);-webkit-animation:pulse-data-v-e0f2530a 1.8s ease-in-out infinite;animation:pulse-data-v-e0f2530a 1.8s ease-in-out infinite}.status-dot--offline[data-v-e0f2530a]{background-color:#94a3b8}.status-text[data-v-e0f2530a]{font-size:13px;font-weight:500}.refresh-icon[data-v-e0f2530a]{font-size:12px;color:#64748b;opacity:0;-webkit-transition:opacity .2s,-webkit-transform .2s;transition:opacity .2s,-webkit-transform .2s;transition:opacity .2s,transform .2s;transition:opacity .2s,transform .2s,-webkit-transform .2s}.status-wrap:hover .refresh-icon[data-v-e0f2530a]{opacity:1}.status-wrap:hover .refresh-icon[data-v-e0f2530a]:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@-webkit-keyframes pulse-data-v-e0f2530a{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(1.6);transform:scale(1.6);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes pulse-data-v-e0f2530a{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(1.6);transform:scale(1.6);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.text-danger[data-v-e0f2530a]{color:#ef4444!important}.text-muted[data-v-e0f2530a]{color:#64748b}.m-l-10[data-v-e0f2530a]{margin-left:10px}.m-r-10[data-v-e0f2530a]{margin-right:10px}[data-v-e0f2530a] .custom-dialog{border-radius:12px;-webkit-box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}[data-v-e0f2530a] .custom-dialog .el-dialog__header{padding:20px 24px;border-bottom:1px solid #f1f5f9}[data-v-e0f2530a] .custom-dialog .el-dialog__title{font-weight:700;color:#1e293b;font-size:16px}[data-v-e0f2530a] .custom-dialog .el-dialog__body{padding:24px}[data-v-e0f2530a] .custom-dialog .el-dialog__footer{padding:16px 24px 20px;border-top:1px solid #f1f5f9}