.app-boot[data-v-b3954266]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#1f2937;background:#f7fbff}.app-boot-mark[data-v-b3954266]{font-size:22px;font-weight:700}.app-boot-text[data-v-b3954266]{font-size:14px;color:#667085}.teacher-class-switcher[data-v-385c0425]{flex:0 0 auto;width:auto;min-width:0}.teacher-class-switcher[data-v-385c0425] .ui-field{display:inline-flex;margin:0;width:auto}.teacher-class-switcher[data-v-385c0425] .ui-select{width:auto;min-width:0;height:42px;min-height:42px;padding-top:0;padding-bottom:0;box-sizing:border-box}@media (max-width:768px){.teacher-class-switcher[data-v-385c0425],.teacher-class-switcher[data-v-385c0425] .ui-select{min-width:100%;width:100%}.teacher-class-switcher[data-v-385c0425] .ui-select{height:38px;min-height:38px}}@media (max-width:480px){.teacher-class-switcher[data-v-385c0425] .ui-select{height:36px;min-height:36px}}.notification-center[data-v-60243c7b]{position:relative}.notification-bell[data-v-60243c7b]{position:relative;width:40px;height:40px;border:none;border-radius:10px;background:rgba(15,26,34,.06);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.notification-bell[data-v-60243c7b]:hover{background:rgba(15,26,34,.1)}.notification-bell.hasUnread[data-v-60243c7b]{background:rgba(234,84,85,.1)}.bell-icon[data-v-60243c7b]{font-size:18px}.badge[data-v-60243c7b]{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#ea5455;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.notification-dropdown[data-v-60243c7b]{position:absolute;top:100%;right:0;margin-top:8px;width:360px;max-height:420px;background:#fff;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.06);z-index:1000;display:flex;flex-direction:column}.dropdown-header[data-v-60243c7b]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.dropdown-title[data-v-60243c7b]{font-size:15px;font-weight:700}.mark-all-btn[data-v-60243c7b]{border:none;background:none;color:var(--brand);font-size:12px;cursor:pointer;padding:4px 8px}.mark-all-btn[data-v-60243c7b]:hover{text-decoration:underline}.dropdown-list[data-v-60243c7b]{max-height:360px;overflow-y:auto}.notification-item[data-v-60243c7b]{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.04);transition:background .15s}.notification-item[data-v-60243c7b]:hover{background:rgba(0,0,0,.02)}.notification-item.unread[data-v-60243c7b]{background:rgba(21,122,110,.04)}.notification-item.unread[data-v-60243c7b]:hover{background:rgba(21,122,110,.08)}.item-body[data-v-60243c7b]{flex:1;min-width:0}.item-title[data-v-60243c7b]{font-size:14px;font-weight:600;margin-bottom:4px}.item-content[data-v-60243c7b]{font-size:13px;color:#555;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.item-time[data-v-60243c7b]{font-size:11px;color:var(--muted);margin-top:4px}.item-actions[data-v-60243c7b]{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.link-btn[data-v-60243c7b],.read-btn[data-v-60243c7b]{padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer;text-decoration:none;text-align:center;border:none}.read-btn[data-v-60243c7b]{background:rgba(21,122,110,.15);color:var(--brand)}.link-btn[data-v-60243c7b]{background:rgba(0,0,0,.06);color:#333}.link-btn[data-v-60243c7b]:hover,.read-btn[data-v-60243c7b]:hover{opacity:.9}.empty-hint[data-v-60243c7b]{padding:32px 16px;text-align:center;color:var(--muted);font-size:13px}.admin-inline-tools[data-v-db6d2002]{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:nowrap}.admin-inline-tools__search-wrap[data-v-db6d2002]{position:relative;flex:1 1 auto;min-width:0;max-width:none}.admin-inline-tools__search[data-v-db6d2002]{display:inline-flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 14px;border:1px solid rgba(15,26,34,.08);border-radius:999px;background:hsla(0,0%,100%,.86);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.admin-inline-tools__search[data-v-db6d2002]:focus-within{border-color:rgba(21,122,110,.34);box-shadow:0 0 0 4px rgba(21,122,110,.08)}.admin-inline-tools__search-tag[data-v-db6d2002]{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.admin-inline-tools__search input[data-v-db6d2002]{flex:1;min-width:0;height:42px;padding:0;border:none;outline:none;background:transparent;font-size:13px;color:var(--ink)}.admin-inline-tools__search-dropdown[data-v-db6d2002]{position:absolute;top:calc(100% + 10px);left:0;right:0;min-width:320px;padding:8px;border-radius:16px;background:rgba(255,252,247,.98);border:1px solid rgba(15,26,34,.08);box-shadow:0 18px 36px rgba(15,26,34,.14);z-index:30}.admin-inline-tools__search-results[data-v-db6d2002]{display:flex;flex-direction:column;gap:4px}.admin-inline-tools__search-result[data-v-db6d2002]{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;border-radius:12px;background:transparent;cursor:pointer;text-align:left}.admin-inline-tools__search-result[data-v-db6d2002]:hover{background:rgba(21,122,110,.08)}.admin-inline-tools__search-result-title[data-v-db6d2002]{font-size:13px;font-weight:700;color:#20323a}.admin-inline-tools__search-result-meta[data-v-db6d2002]{font-size:11px;color:var(--muted);text-align:right}.admin-inline-tools__search-empty[data-v-db6d2002]{padding:14px 12px;font-size:12px;color:var(--muted);text-align:center}.admin-inline-tools__actions[data-v-db6d2002]{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;margin-left:auto;flex-shrink:0}.admin-inline-tools__actions[data-v-db6d2002] .notification-bell{width:42px;height:42px;border-radius:999px}.admin-inline-tools__logout[data-v-db6d2002]{min-height:42px;padding:0 16px;border:none;border-radius:999px;background:rgba(15,26,34,.06);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}.admin-inline-tools__logout[data-v-db6d2002]:hover{background:rgba(196,69,69,.12);color:#c44545}@media (max-width:768px){.admin-inline-tools[data-v-db6d2002]{flex-wrap:wrap;gap:10px}.admin-inline-tools__search-wrap[data-v-db6d2002]{flex-basis:100%;max-width:none}.admin-inline-tools__search-dropdown[data-v-db6d2002]{min-width:0}.admin-inline-tools__actions[data-v-db6d2002]{width:100%;flex-wrap:wrap;justify-content:space-between;margin-left:0}}@media (max-width:480px){.admin-inline-tools__search[data-v-db6d2002]{min-height:40px;padding:0 12px}.admin-inline-tools__search input[data-v-db6d2002]{height:38px;font-size:12px}.admin-inline-tools__logout[data-v-db6d2002],.admin-inline-tools__search-tag[data-v-db6d2002]{font-size:12px}}.page-header[data-v-54a8f628]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;min-width:0}.page-header__left[data-v-54a8f628]{display:flex;align-items:center;gap:12px;flex-shrink:0;min-width:0}.page-header__back[data-v-54a8f628]{padding:6px 12px;border-radius:999px;background:rgba(15,26,34,.08);font-size:12px;border:none;cursor:pointer;text-decoration:none;color:var(--brand);font-family:inherit}.page-header__title[data-v-54a8f628]{font-family:var(--font-display);font-size:20px;letter-spacing:.6px}.page-header__subtitle[data-v-54a8f628]{font-size:12px;color:var(--muted)}.page-header__actions[data-v-54a8f628]{display:flex;flex:1;min-width:0;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.page-header__actions[data-v-54a8f628]::-webkit-scrollbar{width:0;height:0}.page-header__actions[data-v-54a8f628]>*{flex-shrink:0}.page-header__trailing[data-v-54a8f628]{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0}.page-header__trailing--push[data-v-54a8f628]{margin-left:auto}.page-header__admin-tools[data-v-54a8f628]{flex:0 0 420px;min-width:420px;margin-left:8px}@media (max-width:1280px){.page-header[data-v-54a8f628]{flex-wrap:wrap}.page-header__actions[data-v-54a8f628]{flex-wrap:wrap;overflow:visible}.page-header__admin-tools[data-v-54a8f628]{flex:1 1 420px;min-width:320px}}@media (max-width:768px){.page-header[data-v-54a8f628]{flex-direction:column;align-items:stretch;gap:12px}.page-header__title[data-v-54a8f628]{font-size:17px}.page-header__actions[data-v-54a8f628]{width:100%;justify-content:flex-start}.page-header__trailing[data-v-54a8f628]{width:100%;flex-wrap:wrap;justify-content:flex-start}.page-header__trailing--push[data-v-54a8f628]{margin-left:0}.page-header__admin-tools[data-v-54a8f628]{flex-basis:100%;min-width:0;margin-left:0}}@media (max-width:480px){.page-header__title[data-v-54a8f628]{font-size:16px}}.size-sm[data-v-6bc7c9dc]{padding:4px 10px;font-size:12px;line-height:1}.size-xs[data-v-6bc7c9dc]{padding:2px 8px;font-size:11px;line-height:1}.info[data-v-5a3a886e]{background:rgba(23,162,184,.15);color:#117a8b}.neutral[data-v-5a3a886e]{background:hsla(208,7%,46%,.15);color:#6c757d}.teacher-leave-detail-page[data-v-4d45584c]{--teacher-leave-detail-blue:#003eff;--teacher-leave-detail-blue-strong:#003cff;--teacher-leave-detail-blue-deep:#1d66c6;--teacher-leave-detail-blue-soft:#cee0fd;--teacher-leave-detail-panel:#f4f8fb;--teacher-leave-detail-line:rgba(0,59,255,.12);--teacher-leave-detail-shadow:0 0 4.7px rgba(0,0,0,.15),0 18px 36px rgba(0,60,255,.1);position:relative;background:url(/dzbp_demo/img/bg.d029cbca.png) top/cover no-repeat;margin:-24px -28px -40px;padding:24px 28px 40px;min-height:calc(100vh - var(--topbar-height, 0px));min-height:calc(100dvh - var(--topbar-height, 0px));color:#0f172a}.teacher-leave-detail-page[data-v-4d45584c] .ui-card{background:#fff;border-color:var(--teacher-leave-detail-line);box-shadow:var(--teacher-leave-detail-shadow)}.teacher-leave-detail-page .applicant strong[data-v-4d45584c],.teacher-leave-detail-page .flow-title[data-v-4d45584c],.teacher-leave-detail-page .info-value[data-v-4d45584c],.teacher-leave-detail-page .modal-box h3[data-v-4d45584c],.teacher-leave-detail-page .section-title[data-v-4d45584c],.teacher-leave-detail-page[data-v-4d45584c] .page-header__title{color:#000}.teacher-leave-detail-page .approval-hint[data-v-4d45584c],.teacher-leave-detail-page .empty-hint[data-v-4d45584c],.teacher-leave-detail-page .flow-person[data-v-4d45584c],.teacher-leave-detail-page .flow-time[data-v-4d45584c],.teacher-leave-detail-page .info-label[data-v-4d45584c],.teacher-leave-detail-page .info-sub[data-v-4d45584c],.teacher-leave-detail-page .left-time[data-v-4d45584c],.teacher-leave-detail-page .loading-hint[data-v-4d45584c],.teacher-leave-detail-page .modal-field span[data-v-4d45584c],.teacher-leave-detail-page .result-comment[data-v-4d45584c],.teacher-leave-detail-page .result-person[data-v-4d45584c],.teacher-leave-detail-page .result-time[data-v-4d45584c],.teacher-leave-detail-page .section-loading[data-v-4d45584c],.teacher-leave-detail-page[data-v-4d45584c] .page-header__subtitle{color:#5f6b7a}.teacher-leave-detail-page .modal-textarea[data-v-4d45584c],.teacher-leave-detail-page .section-title[data-v-4d45584c]{border-color:var(--teacher-leave-detail-line)}.teacher-leave-detail-page .modal-textarea[data-v-4d45584c],.teacher-leave-detail-page .result-box[data-v-4d45584c]{background:rgba(206,224,253,.24)}.teacher-leave-detail-page .info-item[data-v-4d45584c]{background:transparent}.teacher-leave-detail-page .applicant-avatar__fallback[data-v-4d45584c]{background:var(--teacher-leave-detail-panel);color:var(--teacher-leave-detail-blue-deep)}.teacher-leave-detail-page[data-v-4d45584c] .ui-badge.info{background:rgba(0,59,255,.1);color:#1d66c6}.teacher-leave-detail-page[data-v-4d45584c] .ui-badge.warn{background:hsla(41,95%,92%,.96);color:#d97706}.teacher-leave-detail-page[data-v-4d45584c] .ui-badge.ok{background:rgba(216,245,229,.96);color:#1b8f55}.teacher-leave-detail-page[data-v-4d45584c] .ui-badge.danger{background:rgba(253,233,234,.96);color:#c5403e}.teacher-leave-detail-modal-overlay[data-v-4d45584c] .ui-button.primary,.teacher-leave-detail-page[data-v-4d45584c] .ui-button.primary{background:#1b8f55;color:#fff;box-shadow:0 5px 8.2px rgba(27,143,85,.26)}.teacher-leave-detail-modal-overlay[data-v-4d45584c] .ui-button.ghost,.teacher-leave-detail-page[data-v-4d45584c] .ui-button.ghost{background:rgba(0,59,255,.1);color:var(--teacher-leave-detail-blue-strong)}.teacher-leave-detail-modal-overlay[data-v-4d45584c] .ui-button.danger,.teacher-leave-detail-page[data-v-4d45584c] .ui-button.danger{background:#c5403e;color:#fff;box-shadow:0 5px 8.2px rgba(197,64,62,.22)}.teacher-leave-detail-page .left-yes[data-v-4d45584c]{color:#1b8f55}.teacher-leave-detail-page .left-no[data-v-4d45584c]{color:#d97706}.teacher-leave-detail-page .approve-btn[data-v-4d45584c]{background:linear-gradient(135deg,#1b8f55,#0f7a45);color:#fff;box-shadow:0 5px 8.2px rgba(27,143,85,.26)}.teacher-leave-detail-page .approve-btn[data-v-4d45584c]:hover{box-shadow:0 8px 20px rgba(27,143,85,.3)}.teacher-leave-detail-page .reject-btn[data-v-4d45584c]{background:linear-gradient(135deg,#c5403e,#9f2f2d);color:#fff;box-shadow:0 5px 8.2px rgba(197,64,62,.22)}.teacher-leave-detail-page .reject-btn[data-v-4d45584c]:hover{box-shadow:0 8px 20px rgba(197,64,62,.28)}.teacher-leave-detail-page .result-box.pending[data-v-4d45584c]{background:hsla(41,95%,92%,.96);border-color:rgba(245,158,11,.28)}.teacher-leave-detail-page .result-box.ok[data-v-4d45584c]{background:rgba(216,245,229,.96);border-color:rgba(27,143,85,.26)}.teacher-leave-detail-page .result-box.rejected[data-v-4d45584c]{background:rgba(253,233,234,.96);border-color:rgba(197,64,62,.22)}.teacher-leave-detail-page .result-box.cancelled[data-v-4d45584c]{background:rgba(241,245,249,.96);border-color:rgba(100,116,139,.18)}.teacher-leave-detail-page .result-box.pending .result-status[data-v-4d45584c]{color:#d97706}.teacher-leave-detail-page .result-box.ok .result-status[data-v-4d45584c]{color:#1b8f55}.teacher-leave-detail-page .result-box.rejected .result-status[data-v-4d45584c]{color:#c5403e}.teacher-leave-detail-page .result-box.cancelled .result-status[data-v-4d45584c]{color:#64748b}.teacher-leave-detail-page .flow-dot[data-v-4d45584c]{border-color:rgba(0,59,255,.16);background:#fff}.teacher-leave-detail-page .flow-line[data-v-4d45584c]{background:rgba(0,59,255,.12)}.teacher-leave-detail-page .flow-step.done .flow-dot[data-v-4d45584c]{border-color:#1b8f55;background:#1b8f55}.teacher-leave-detail-page .flow-step.current .flow-dot[data-v-4d45584c]{border-color:#f59e0b;background:#f59e0b}.teacher-leave-detail-page .flow-step.rejected .flow-dot[data-v-4d45584c]{border-color:#c5403e;background:#c5403e}.teacher-leave-detail-page .flow-step.done .flow-line[data-v-4d45584c]{background:#1b8f55}.teacher-leave-detail-page .modal-textarea[data-v-4d45584c]{color:#0f172a;box-shadow:0 0 4.7px rgba(0,0,0,.1)}.teacher-leave-detail-page .modal-textarea[data-v-4d45584c]:focus{border-color:var(--teacher-leave-detail-blue);box-shadow:0 0 0 3px rgba(0,59,255,.12),0 0 4.7px rgba(0,0,0,.1);outline:none}.teacher-leave-detail-modal-overlay[data-v-4d45584c]{background:rgba(15,23,42,.38)}.teacher-leave-detail-modal-overlay .modal-box[data-v-4d45584c]{background:#eaf2ff!important;border:1px solid rgba(0,59,255,.12);box-shadow:0 0 4.7px rgba(0,0,0,.15),0 18px 36px rgba(0,60,255,.1)}.teacher-leave-detail-modal-overlay .modal-textarea[data-v-4d45584c]{background:#fff;border-color:rgba(0,59,255,.18)}.empty-hint[data-v-4d45584c],.loading-hint[data-v-4d45584c]{text-align:center;padding:48px;color:var(--muted);font-size:14px}.section-loading[data-v-4d45584c]{text-align:center;padding:48px 16px;color:var(--muted);font-size:14px}.section-loading--compact[data-v-4d45584c]{padding-top:0;padding-bottom:16px}.detail-layout[data-v-4d45584c]{display:grid;grid-template-columns:1fr 280px;gap:20px}.detail-layout>.module-card[data-v-4d45584c]:first-child,.detail-layout>.module-card[data-v-4d45584c]:nth-child(2){grid-column:1}.sidebar-card[data-v-4d45584c]{grid-column:2;grid-row:1/3}.section-title[data-v-4d45584c]{font-size:16px;font-weight:700;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.06)}.info-grid[data-v-4d45584c]{display:flex;flex-direction:column;gap:16px}.info-item[data-v-4d45584c]{display:flex;gap:12px}.info-label[data-v-4d45584c]{min-width:80px;font-size:13px;color:var(--muted);padding-top:2px;flex-shrink:0}.info-value[data-v-4d45584c]{font-size:14px;flex:1}.type-info-value[data-v-4d45584c]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.info-sub[data-v-4d45584c]{font-size:12px;color:var(--muted);margin-left:6px}.reason-text[data-v-4d45584c]{line-height:1.7}.left-status-detail[data-v-4d45584c]{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:14px;font-weight:700;margin-top:0}.left-yes[data-v-4d45584c]{color:#28c76f}.left-no[data-v-4d45584c]{color:#f0b429}.left-time[data-v-4d45584c]{font-size:13px;font-weight:500;color:var(--muted);margin-left:0;white-space:nowrap;line-height:1.5}.applicant[data-v-4d45584c]{display:flex;gap:10px;align-items:center}.applicant-avatar[data-v-4d45584c]{width:40px;height:40px;border-radius:12px;color:#fff;font-weight:700;font-size:16px;overflow:hidden;display:grid;place-items:center;flex-shrink:0}.applicant-avatar img[data-v-4d45584c],.applicant-avatar__fallback[data-v-4d45584c]{width:100%;height:100%}.applicant-avatar img[data-v-4d45584c]{display:block;-o-object-fit:cover;object-fit:cover}.applicant-avatar__fallback[data-v-4d45584c]{display:grid;place-items:center;background:#eef2f7;color:#94a3b8}.applicant-avatar__fallback svg[data-v-4d45584c]{width:20px;height:20px;fill:currentColor}.att-item[data-v-4d45584c]{display:flex;gap:8px;align-items:center;margin-bottom:6px}.att-icon[data-v-4d45584c]{font-size:16px}.att-name[data-v-4d45584c]{font-weight:600;font-size:13px}.att-size[data-v-4d45584c]{font-size:11px;color:var(--muted)}.att-btn[data-v-4d45584c]{border:none;border-radius:6px;padding:3px 10px;background:rgba(21,122,110,.1);color:var(--brand);font-size:11px;font-weight:600;cursor:pointer}.att-btn[data-v-4d45584c]:hover{background:rgba(21,122,110,.18)}.no-att[data-v-4d45584c]{color:var(--muted);font-size:13px}.approval-actions[data-v-4d45584c]{display:flex;gap:14px;margin-bottom:14px}.action-btn[data-v-4d45584c]{display:flex;align-items:center;gap:8px;padding:14px 32px;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s}.approve-btn[data-v-4d45584c]{background:linear-gradient(135deg,#28c76f,#1e8449);color:#fff}.approve-btn[data-v-4d45584c]:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(40,199,111,.35)}.reject-btn[data-v-4d45584c]{background:linear-gradient(135deg,#ea5455,#c44545);color:#fff}.reject-btn[data-v-4d45584c]:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(234,84,85,.35)}.action-icon[data-v-4d45584c]{font-size:18px;font-weight:800}.approval-hint[data-v-4d45584c]{font-size:12px;color:var(--muted);line-height:1.6}.result-box[data-v-4d45584c]{padding:18px;border-radius:12px;display:flex;flex-direction:column;gap:6px}.result-box.pending[data-v-4d45584c]{background:rgba(240,180,41,.1);border:1px solid rgba(240,180,41,.24)}.result-box.ok[data-v-4d45584c]{background:rgba(40,199,111,.08);border:1px solid rgba(40,199,111,.2)}.result-box.rejected[data-v-4d45584c]{background:rgba(234,84,85,.06);border:1px solid rgba(234,84,85,.15)}.result-box.cancelled[data-v-4d45584c]{background:rgba(100,116,139,.08);border:1px solid rgba(100,116,139,.18)}.result-status[data-v-4d45584c]{font-size:18px;font-weight:800}.result-box.pending .result-status[data-v-4d45584c]{color:#b7791f}.result-box.ok .result-status[data-v-4d45584c]{color:#28c76f}.result-box.rejected .result-status[data-v-4d45584c]{color:#ea5455}.result-box.cancelled .result-status[data-v-4d45584c]{color:#64748b}.result-comment[data-v-4d45584c],.result-person[data-v-4d45584c],.result-time[data-v-4d45584c]{font-size:13px;color:#555}.flow-timeline[data-v-4d45584c]{position:relative;padding-left:24px;margin-bottom:16px}.flow-step[data-v-4d45584c]{position:relative;padding-bottom:20px}.flow-step[data-v-4d45584c]:last-child{padding-bottom:0}.flow-dot[data-v-4d45584c]{position:absolute;left:-24px;top:2px;width:14px;height:14px;border-radius:50%;border:3px solid #ddd;background:#fff}.flow-line[data-v-4d45584c]{position:absolute;left:-18px;top:18px;bottom:0;width:2px;background:#eee}.flow-step.done .flow-dot[data-v-4d45584c]{border-color:#28c76f;background:#28c76f}.flow-step.current .flow-dot[data-v-4d45584c]{border-color:#f0b429;background:#f0b429;animation:pulse-4d45584c 1.5s infinite}.flow-step.rejected .flow-dot[data-v-4d45584c]{border-color:#ea5455;background:#ea5455}.flow-step.done .flow-line[data-v-4d45584c]{background:#28c76f}.flow-title[data-v-4d45584c]{font-weight:700;font-size:13px}.flow-person[data-v-4d45584c]{font-size:12px;color:var(--muted);margin-top:2px}.flow-time[data-v-4d45584c]{font-size:11px;color:var(--muted);margin-top:2px}.modal-overlay[data-v-4d45584c]{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;z-index:1000}.modal-box[data-v-4d45584c]{background:#fff;border-radius:16px;padding:28px;width:90%;max-width:440px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal-box h3[data-v-4d45584c]{font-size:18px;font-weight:700}.modal-field[data-v-4d45584c]{display:flex;flex-direction:column;gap:6px}.modal-field span[data-v-4d45584c]{font-size:13px;color:var(--muted)}.modal-textarea[data-v-4d45584c]{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:13px;font-family:inherit;resize:vertical}.modal-actions[data-v-4d45584c]{display:flex;gap:10px}@keyframes pulse-4d45584c{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:1200px){.teacher-leave-detail-page[data-v-4d45584c]{margin:-20px -20px -32px;padding:20px 20px 32px}}@media (max-width:1024px){.teacher-leave-detail-page[data-v-4d45584c]{margin:-18px -16px -28px;padding:18px 16px 28px}.detail-layout[data-v-4d45584c]{grid-template-columns:1fr}.sidebar-card[data-v-4d45584c]{grid-column:1;grid-row:auto}}@media (max-width:768px){.teacher-leave-detail-page[data-v-4d45584c]{background:url(/dzbp_demo/img/bg.d029cbca.png) top/100% 100% no-repeat;margin:-12px -12px -24px;padding:12px 12px 24px;min-height:100svh;min-height:100dvh}}@media (max-width:480px){.teacher-leave-detail-page[data-v-4d45584c]{margin:-8px -10px -20px;padding:8px 10px 20px}.info-label[data-v-4d45584c]{min-width:auto}.modal-box[data-v-4d45584c]{max-width:95vw;padding:16px}}:root{--font-sans:"HarmonyOS Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--font-display:"Noto Serif SC","Songti SC","STSong",serif;--ink:#0f1a22;--muted:#5a6976;--brand:#157a6e;--brand-strong:#0f5e55;--accent:#f0b429;--accent-strong:#c98209;--danger:#c44545;--card:#fffaf3;--card-soft:#f2f5f9;--line:#d9e2e8;--shadow:0 16px 32px rgba(12,18,28,.12);--shadow-soft:0 8px 18px rgba(12,18,28,.08);--radius-lg:18px;--radius-md:12px;--radius-sm:8px;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow-x:hidden}body{font-family:var(--font-sans);color:var(--ink);background:radial-gradient(circle at 12% 18%,rgba(240,180,41,.18),transparent 38%),radial-gradient(circle at 80% 12%,rgba(21,122,110,.2),transparent 40%),linear-gradient(135deg,#f7f1e6,#e8eff4 45%,#f6efe3);background-attachment:fixed}#app{min-height:100%}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-shell{--modal-offset-left:var(--sidebar-width);display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.app-main{min-height:100vh;padding:24px 28px 40px;gap:24px}.app-main,.page{display:flex;flex-direction:column;min-width:0}.page{gap:22px;animation:page-enter .6s ease both}.page-grid{display:grid;gap:18px}.page-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.module-card{animation:float-in .6s ease both;animation-delay:var(--delay,0s)}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title__text{display:flex;flex-direction:column;gap:4px}.section-title__text strong{font-family:var(--font-display);font-size:20px;letter-spacing:.5px}.section-title__text span{color:var(--muted);font-size:13px}.ui-card{background:var(--card);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-soft);border:1px solid rgba(15,26,34,.06)}.ui-card.soft{background:var(--card-soft)}.ui-button{border:none;border-radius:999px;padding:8px 16px;font-weight:600;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.ui-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(12,18,28,.15)}.ui-button.primary{background:var(--brand);color:#fff}.ui-button.accent{background:var(--accent);color:#2b1c00}.ui-button.ghost{background:rgba(15,26,34,.06);color:var(--ink)}.ui-button.outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.ui-button.danger{background:var(--danger);color:#fff}.ui-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(21,122,110,.12);color:var(--brand)}.ui-badge.warn{background:rgba(240,180,41,.2);color:var(--accent-strong)}.ui-badge.ok{background:rgba(21,122,110,.18);color:var(--brand-strong)}.ui-badge.danger{background:rgba(196,69,69,.16);color:var(--danger)}.ui-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.ui-input,.ui-select{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;background:#fff;font-size:13px}.ui-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.student-grid-dropdown:not(.student-grid-dropdown--mobile-fit){width:min(540px,100vw - 64px)!important;max-width:calc(100vw - 64px)!important}.student-grid-dropdown{box-sizing:border-box;overflow-x:hidden}.student-grid-dropdown .el-select-dropdown__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px;min-width:0;max-width:100%;box-sizing:border-box}.teacher-quick-student-dropdown:not(.student-grid-dropdown--mobile-fit),.teacher-stay-school-student-dropdown:not(.student-grid-dropdown--mobile-fit){width:min(680px,100vw - 64px)!important}.teacher-moral-page-student-dropdown:not(.student-grid-dropdown--mobile-fit){width:min(var(--teacher-moral-page-student-dropdown-width,680px),100vw - 64px)!important;max-width:calc(100vw - 64px)!important;min-width:0!important;box-sizing:border-box;overflow-x:hidden}.teacher-quick-moral-student-dropdown{width:var(--teacher-quick-moral-student-dropdown-width,min(680px,100vw - 64px))!important;max-width:calc(100vw - 64px)!important;min-width:0!important;box-sizing:border-box;overflow-x:hidden}.teacher-moral-page-student-dropdown .el-scrollbar,.teacher-moral-page-student-dropdown .el-scrollbar__view,.teacher-moral-page-student-dropdown .el-scrollbar__wrap,.teacher-moral-page-student-dropdown .el-select-dropdown,.teacher-moral-page-student-dropdown .el-select-dropdown__wrap,.teacher-quick-moral-student-dropdown .el-scrollbar,.teacher-quick-moral-student-dropdown .el-scrollbar__view,.teacher-quick-moral-student-dropdown .el-scrollbar__wrap,.teacher-quick-moral-student-dropdown .el-select-dropdown,.teacher-quick-moral-student-dropdown .el-select-dropdown__wrap{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}.teacher-moral-page-student-dropdown .el-scrollbar__wrap,.teacher-moral-page-student-dropdown .el-select-dropdown__wrap,.teacher-quick-moral-student-dropdown .el-scrollbar__wrap,.teacher-quick-moral-student-dropdown .el-select-dropdown__wrap{overflow-x:hidden!important}.teacher-quick-student-dropdown:not(.student-grid-dropdown--mobile-fit) .el-select-dropdown__list,.teacher-stay-school-student-dropdown:not(.student-grid-dropdown--mobile-fit) .el-select-dropdown__list{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-moral-page-student-dropdown:not(.student-grid-dropdown--mobile-fit) .el-select-dropdown__list{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:100%}.teacher-commuter-student-dropdown:not(.student-grid-dropdown--mobile-fit){width:min(680px,100vw - 64px)!important}.teacher-commuter-student-dropdown:not(.student-grid-dropdown--mobile-fit) .el-select-dropdown__list{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-commuter-student-dropdown:not(.student-grid-dropdown--mobile-fit){width:min(680px,100vw - 64px)!important}.admin-commuter-student-dropdown:not(.student-grid-dropdown--mobile-fit) .el-select-dropdown__list{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-quick-moral-student-dropdown .el-select-dropdown__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:5px;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.teacher-quick-moral-student-dropdown .el-select-dropdown__item{min-width:0;margin:0;min-height:34px;height:auto;line-height:1.35;padding:5px 18px 5px 6px;border-radius:7px;border:1px solid rgba(148,163,184,.22);background:#fff;color:#1e293b;display:flex;align-items:center;justify-content:center;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.teacher-quick-moral-student-dropdown .el-select-dropdown__item.hover,.teacher-quick-moral-student-dropdown .el-select-dropdown__item.is-hovering,.teacher-quick-moral-student-dropdown .el-select-dropdown__item:hover{background:rgba(21,122,110,.08);color:var(--brand)}.teacher-quick-moral-student-dropdown .el-select-dropdown__item.is-selected{background:rgba(21,122,110,.12);border-color:rgba(21,122,110,.34);color:var(--brand);font-weight:700;box-shadow:inset 0 0 0 1px rgba(21,122,110,.14)}.teacher-quick-moral-student-dropdown .student-grid-option__label{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:13px;font-weight:600;line-height:1.35}.student-grid-dropdown .el-select-dropdown__item{min-width:0;margin:0;min-height:34px;height:auto;line-height:1.35;padding:5px 18px 5px 6px;border-radius:7px;border:1px solid rgba(148,163,184,.22);background:#fff;color:#1e293b;display:flex;align-items:center;justify-content:center;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.student-grid-dropdown .el-select-dropdown__item.hover,.student-grid-dropdown .el-select-dropdown__item.is-hovering,.student-grid-dropdown .el-select-dropdown__item:hover{background:rgba(21,122,110,.08);color:var(--brand)}.student-grid-dropdown .el-select-dropdown__item.is-selected{background:rgba(21,122,110,.12);border-color:rgba(21,122,110,.34);color:var(--brand);font-weight:700;box-shadow:inset 0 0 0 1px rgba(21,122,110,.14)}.student-grid-dropdown .student-grid-option__label{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:13px;font-weight:600;line-height:1.35}.ui-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:rgba(15,26,34,.06);color:var(--muted);font-size:12px}@media(max-width:640px){.student-grid-dropdown:not(.student-grid-dropdown--mobile-fit){width:min(360px,100vw - 32px)!important;width:min(360px,100dvw - 32px)!important;max-width:calc(100vw - 32px)!important;max-width:calc(100dvw - 32px)!important;min-width:0!important}.student-grid-dropdown--mobile-fit{min-width:0!important;max-width:min(100%,100vw - 32px)!important;max-width:min(100%,100dvw - 32px)!important}.admin-commuter-student-dropdown:not(.student-grid-dropdown--mobile-fit) .el-select-dropdown__list,.student-grid-dropdown .el-select-dropdown__list,.teacher-commuter-student-dropdown:not(.student-grid-dropdown--mobile-fit) .el-select-dropdown__list,.teacher-moral-page-student-dropdown:not(.student-grid-dropdown--mobile-fit) .el-select-dropdown__list,.teacher-quick-moral-student-dropdown--mobile .el-select-dropdown__list,.teacher-stay-school-student-dropdown:not(.student-grid-dropdown--mobile-fit) .el-select-dropdown__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:2px}.teacher-quick-moral-student-dropdown{width:min(var(--teacher-quick-moral-student-dropdown-width,calc(100vw - 32px)),100vw - 32px)!important;width:min(var(--teacher-quick-moral-student-dropdown-width,calc(100dvw - 32px)),100dvw - 32px)!important;max-width:calc(100vw - 32px)!important;max-width:calc(100dvw - 32px)!important}.teacher-quick-moral-student-dropdown--mobile .el-select-dropdown__item{min-height:32px;padding:4px 5px;border-radius:5px}.teacher-quick-moral-student-dropdown--mobile .student-grid-option__label{font-size:12px;line-height:1.35}.student-grid-dropdown .el-select-dropdown__item{min-height:32px;padding:4px 5px;border-radius:5px}.student-grid-dropdown .student-grid-option__label{font-size:12px;line-height:1.35}}@media(max-width:430px){.student-grid-dropdown:not(.student-grid-dropdown--mobile-fit){width:calc(100vw - 28px)!important;width:calc(100dvw - 28px)!important;max-width:calc(100vw - 28px)!important;max-width:calc(100dvw - 28px)!important}.student-grid-dropdown--mobile-fit{max-width:min(100%,100vw - 28px)!important;max-width:min(100%,100dvw - 28px)!important}.student-grid-dropdown .el-select-dropdown__list{grid-template-columns:repeat(3,minmax(0,1fr))}}.ui-toggle{width:46px;height:24px;border-radius:999px;background:rgba(15,26,34,.18);position:relative}.ui-toggle:after{content:"";width:18px;height:18px;background:#fff;border-radius:999px;position:absolute;top:3px;left:4px;transition:transform .2s ease;box-shadow:0 6px 12px rgba(12,18,28,.2)}.ui-toggle.on{background:rgba(21,122,110,.6)}.ui-toggle.on:after{transform:translateX(20px)}.ui-progress{width:100%;height:8px;background:rgba(15,26,34,.08);border-radius:999px;overflow:hidden}.ui-progress__bar{height:100%;background:linear-gradient(90deg,var(--brand) 0,var(--accent) 100%);border-radius:999px}.ui-table{width:100%;border-collapse:collapse;font-size:13px}.ui-table td,.ui-table th{padding:10px 8px;text-align:left;border-bottom:1px solid rgba(15,26,34,.08)}.ui-table th{color:var(--muted);font-weight:600}.ui-upload{border:1px dashed rgba(15,26,34,.2);border-radius:var(--radius-md);padding:22px;text-align:center;background:hsla(0,0%,100%,.7);display:flex;flex-direction:column;gap:10px}.ui-upload__icon{width:48px;height:48px;border-radius:16px;background:rgba(21,122,110,.16);color:var(--brand);display:grid;place-items:center;font-weight:700;font-size:20px;margin:0 auto}.ui-stat{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--radius-md);background:hsla(0,0%,100%,.85);border:1px solid rgba(15,26,34,.06)}.ui-stat strong{font-size:22px}.ui-stat span{font-size:12px;color:var(--muted)}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 12px;border-radius:999px;background:rgba(15,26,34,.06);font-size:12px;color:var(--muted)}.split{display:flex;gap:16px;align-items:flex-start}.split>*{flex:1}.muted{color:var(--muted)}.text-sm{font-size:12px}.text-xs{font-size:11px}:is(.modal-overlay,.ai-modal-overlay,.course-modal-overlay,.crop-modal-overlay,.image-preview-overlay){--modal-side-gap:clamp(16px,2vw,24px);position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding-top:var(--modal-side-gap)!important;padding-right:var(--modal-side-gap)!important;padding-bottom:var(--modal-side-gap)!important;padding-left:calc(var(--modal-side-gap) + var(--modal-offset-left, 0px))!important;overflow-x:hidden!important;overflow-y:auto!important;background:rgba(15,23,42,.45);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}:is(.modal-overlay,.ai-modal-overlay,.course-modal-overlay,.crop-modal-overlay,.image-preview-overlay)>:not(.image-preview-close){margin:auto;max-width:min(100%,100vw - var(--modal-offset-left,0px) - var(--modal-side-gap)*2);max-height:calc(100dvh - var(--modal-side-gap)*2)}.modal-box{width:min(720px,100%);padding:24px;border-radius:20px;background:#fffefb;color:#22313b;box-shadow:0 24px 60px rgba(15,23,42,.22)}.modal-box--wide{width:min(760px,100%)}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@keyframes float-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:1200px){.app-shell{grid-template-columns:1fr}.app-main{padding:20px 20px 32px;gap:20px}:root{--sidebar-width:0px}}@media(max-width:1024px){.app-main{padding:18px 16px 28px;gap:18px}.page-grid.three,.page-grid.two{grid-template-columns:1fr}.split{flex-direction:column}}@media(max-width:768px){.app-main{padding:12px 12px 24px;gap:16px;overflow-x:hidden}.page{min-width:0;gap:16px}.module-card,.ui-card{padding:14px 16px;border-radius:14px}.section-title{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.section-title__text strong{font-size:17px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.filter-row,.list-controls,.table-header{flex-direction:column;align-items:stretch;gap:10px}.table-actions{flex-direction:column}.table-actions>*{width:100%;min-width:0}.admin-table,.allocation-table,.attend-table,.board-table,.board-table--desktop,.detail-table,.dorm-table,.dorm-table-card,.eval-table,.grades-table,.homework-table,.leave-table,.permissions-table,.plan-table,.semester-table,.sensitive-table,.student-att-list,.student-table,.student-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch;min-width:0;scrollbar-width:none;-ms-overflow-style:none;box-shadow:none!important;-webkit-mask-image:none!important;mask-image:none!important;overscroll-behavior-x:none}.admin-table::-webkit-scrollbar,.allocation-table::-webkit-scrollbar,.attend-table::-webkit-scrollbar,.board-table--desktop::-webkit-scrollbar,.board-table::-webkit-scrollbar,.detail-table::-webkit-scrollbar,.dorm-table-card::-webkit-scrollbar,.dorm-table::-webkit-scrollbar,.eval-table::-webkit-scrollbar,.grades-table::-webkit-scrollbar,.homework-table::-webkit-scrollbar,.leave-table::-webkit-scrollbar,.permissions-table::-webkit-scrollbar,.plan-table::-webkit-scrollbar,.semester-table::-webkit-scrollbar,.sensitive-table::-webkit-scrollbar,.student-att-list::-webkit-scrollbar,.student-table-wrap::-webkit-scrollbar,.student-table::-webkit-scrollbar{display:none}.schedule-grid{overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.schedule-grid::-webkit-scrollbar{display:none}.ui-table{display:block;overflow-x:auto!important;scrollbar-width:none;-ms-overflow-style:none}.ui-table::-webkit-scrollbar{display:none}.pagination{flex-wrap:wrap;gap:10px;padding:12px 0}.page-info{width:100%;text-align:center;order:-1}.page-btn{flex:1;min-width:80px}.modal-actions,.student-actions,.top-bar__actions{flex-wrap:wrap}.ui-button{padding:10px 14px;font-size:13px}}@media(max-width:480px){.app-main{padding:8px 10px 20px;gap:14px}.page{gap:14px}.stats-grid{gap:8px}.module-card,.ui-card{padding:12px 14px}.allocation-row:not(.header-row),.attend-table-row:not(.header-row),.dorm-table-row:not(.header-row),.sa-row,.table-row:not(.table-header-row):not(.header-row){padding:10px 12px!important;font-size:12px!important;gap:8px!important}}@media(max-width:768px){#app,.app-main,.app-shell,.page,body{font-size:15px}.el-overlay :is(.el-input__inner,.el-select__selected-item,.el-select__placeholder,.el-textarea__inner),.el-popper :is(.el-select-dropdown__item,.el-dropdown-menu__item),.page :is(.ui-input,.ui-select,.ui-button,.form-input,.form-select,.form-textarea,.filter-input,.filter-select,.toolbar-search,.page-size-select,.page-btn,input,select,textarea,button),:is(.modal-overlay,.ai-modal-overlay,.course-modal-overlay,.crop-modal-overlay) :is(.ui-input,.ui-select,.ui-button,.form-input,.form-select,.form-textarea,input,select,textarea,button){font-size:15px!important}.page :is(.ui-field,.ui-badge,.ui-tag,.text-sm,.text-xs,.section-title__text span,.page-info,.page-size-wrap,.form-hint,.form-field>span,.form-field__meta,.modal-field span,.empty-hint,.loading-hint,.student-subline,.student-no,.meta-chip,.table-row,.table-row:not(.table-header-row):not(.header-row),.dorm-table-row:not(.header-row),.allocation-row:not(.header-row),.attend-table-row:not(.header-row),.sa-row,.student-mobile-card__label,.student-mobile-card__value,.record-mobile-card__label,.record-mobile-card__value,.leave-mobile-card__label,.leave-mobile-card__value,.detail-item span,.detail-item strong,.detail-remark,th,td),:is(.modal-overlay,.ai-modal-overlay,.course-modal-overlay,.crop-modal-overlay) :is(.ui-field,.ui-badge,.ui-tag,.form-hint,.form-field>span,.form-field__meta,.modal-field span,.empty-hint,.loading-hint,.detail-item span,.detail-item strong,.detail-remark,th,td){font-size:14px!important}.page :is(.student-name,.class-name,.list-toolbar h3,.section-title__text strong,.page-header__title,.modal-box h3),:is(.modal-overlay,.ai-modal-overlay,.course-modal-overlay,.crop-modal-overlay) :is(.modal-box h3,.modal-head h3){font-size:18px!important}:is(.modal-overlay,.ai-modal-overlay,.course-modal-overlay,.crop-modal-overlay,.medical-template-overlay,.medical-send-overlay,.delete-modal-overlay,.ranking-modal-overlay){padding:10px!important;align-items:center!important;justify-content:center!important;overflow-x:hidden!important;overflow-y:auto!important}:is(.modal-overlay,.ai-modal-overlay,.course-modal-overlay,.crop-modal-overlay,.medical-template-overlay,.medical-send-overlay,.delete-modal-overlay,.ranking-modal-overlay) :is(.modal-box,.modal-card,.record-modal-card,.score-modal-card,.ai-confirm-modal-card,.ranking-modal-card,.delete-modal-box,.face-modal-card){width:min(100%,100dvw - 20px)!important;max-width:calc(100dvw - 20px)!important;max-height:calc(100dvh - 20px)!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}:is(.modal-box,.modal-card,.record-modal-card,.score-modal-card,.ai-confirm-modal-card,.ranking-modal-card,.delete-modal-box,.face-modal-card) :is(p,span,strong,label,div,button,input,select,textarea,.ui-button,.el-select,.el-select__wrapper,.el-input__wrapper){max-width:100%;overflow-wrap:anywhere;word-break:break-word}:is(.modal-actions,.modal-card__actions,.delete-modal-actions,.record-modal-actions,.dialog-actions){display:flex!important;flex-wrap:wrap!important;gap:10px!important;width:100%}:is(.modal-actions,.modal-card__actions,.delete-modal-actions,.record-modal-actions,.dialog-actions) :is(.ui-button,button,.el-button){min-height:48px!important;min-width:104px!important;padding:0 18px!important;font-size:16px!important;line-height:1.25!important;white-space:normal!important}}.dorm-admin-layout{display:grid;gap:16px;min-width:0}.dorm-admin-layout--rail{grid-template-columns:300px minmax(0,1fr);align-items:start}.dorm-admin-layout--split{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);align-items:start}.dorm-admin-layout--triple{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.dorm-admin-stack{display:grid;gap:16px;min-width:0}.dorm-admin-card,.dorm-admin-rail{background:#fff!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 8px 24px rgba(15,23,42,.05)!important}.dorm-admin-rail{display:flex;flex-direction:column;min-height:0}.dorm-admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.dorm-admin-panel-head h3,.dorm-admin-panel-head h4{margin:0;font-size:18px;line-height:1.2;color:#0f172a}.dorm-admin-panel-head p{margin:4px 0 0;font-size:12px;color:#64748b}.dorm-admin-actions-row,.dorm-admin-meta{display:flex;flex-wrap:wrap;gap:8px}.dorm-admin-actions-row{justify-content:flex-end}.dorm-admin-scroll{min-height:0;max-height:min(680px,100vh - 280px);overflow:auto;padding-right:4px}.dorm-admin-scroll--short{max-height:min(420px,100vh - 360px)}.dorm-admin-scroll--medium{max-height:min(560px,100vh - 320px)}.dorm-admin-empty{padding:24px 16px;text-align:center;color:#64748b;font-size:13px}.dorm-admin-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.dorm-admin-info{min-width:0;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}.dorm-admin-info span{display:block;font-size:12px;color:#64748b}.dorm-admin-info strong{display:block;margin-top:6px;font-size:15px;line-height:1.35;color:#0f172a;word-break:break-word}.dorm-admin-toolbar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.dorm-admin-card-list{display:flex;flex-direction:column;gap:10px}.dorm-admin-muted{margin:0;font-size:13px;line-height:1.6;color:#64748b}.dorm-admin-theme{--dorm-admin-blue:#003bff;--dorm-admin-blue-strong:#1d66c6;--dorm-admin-bg:#f4f8fb;--dorm-admin-panel:#fff;--dorm-admin-panel-blue:#d5eeff;--dorm-admin-line:#a7c6f8;--dorm-admin-line-soft:#cee0fd;--dorm-admin-text:#0f172a;--dorm-admin-muted:#5f6b7a;--dorm-admin-success:#1b8f55;--dorm-admin-success-bg:#e9f8ef;--dorm-admin-warn:#d88418;--dorm-admin-warn-bg:#fef1d6;--dorm-admin-danger:#c5403e;--dorm-admin-danger-bg:#fde9ea;position:relative;isolation:isolate;color:var(--dorm-admin-text)}.dorm-admin-theme:before{content:"";position:fixed;inset:0;z-index:-1;background:url(/dzbp_demo/img/bg.d029cbca.png) top/cover no-repeat;pointer-events:none}.dorm-admin-theme .assign-card,.dorm-admin-theme .context-card,.dorm-admin-theme .dorm-admin-card,.dorm-admin-theme .dorm-admin-rail,.dorm-admin-theme .dorm-admin-shell,.dorm-admin-theme .import-card,.dorm-admin-theme .lookup-card,.dorm-admin-theme .manager-detail-card,.dorm-admin-theme .modal-box,.dorm-admin-theme .module-card,.dorm-admin-theme .rail-card,.dorm-admin-theme .residents-card,.dorm-admin-theme .room-card,.dorm-admin-theme .section-card{background:var(--dorm-admin-bg)!important;border:1px solid var(--dorm-admin-line)!important;box-shadow:none!important;color:var(--dorm-admin-text)}.dorm-admin-theme .board-card__actions,.dorm-admin-theme .board-card__header,.dorm-admin-theme .card-head,.dorm-admin-theme .control-modal__header,.dorm-admin-theme .dorm-admin-panel-head,.dorm-admin-theme .dorm-admin-shell__stats,.dorm-admin-theme .dorm-admin-shell__toolbar,.dorm-admin-theme .import-table,.dorm-admin-theme .import-table__row,.dorm-admin-theme .modal-actions,.dorm-admin-theme .panel-head,.dorm-admin-theme .panel-subhead,.dorm-admin-theme .resident-list__head,.dorm-admin-theme .room-list__head,.dorm-admin-theme .section-head,.dorm-admin-theme .sign-list__head{border-color:var(--dorm-admin-line)!important}.dorm-admin-theme .card-head h3,.dorm-admin-theme .dorm-admin-panel-head h3,.dorm-admin-theme .dorm-admin-panel-head h4,.dorm-admin-theme .dorm-admin-shell h1,.dorm-admin-theme .history-entry__main strong,.dorm-admin-theme .history-item__top strong,.dorm-admin-theme .item-top strong,.dorm-admin-theme .lookup-result__main strong,.dorm-admin-theme .manager-card__name strong,.dorm-admin-theme .panel-head h3,.dorm-admin-theme .panel-subhead h4,.dorm-admin-theme .queue-item__main strong,.dorm-admin-theme .relation-card__cell strong,.dorm-admin-theme .relation-card__head strong,.dorm-admin-theme .resident-item__top strong,.dorm-admin-theme .room-row__primary,.dorm-admin-theme .section-head h3,.dorm-admin-theme .student-card__main strong,.dorm-admin-theme .teacher-info__row strong,.dorm-admin-theme h1,.dorm-admin-theme h2,.dorm-admin-theme h3,.dorm-admin-theme h4{color:#000!important}.dorm-admin-theme .card-eyebrow,.dorm-admin-theme .dorm-admin-empty,.dorm-admin-theme .dorm-admin-muted,.dorm-admin-theme .dorm-admin-panel-head p,.dorm-admin-theme .dorm-admin-shell__eyebrow,.dorm-admin-theme .dorm-admin-shell__stat p,.dorm-admin-theme .dorm-admin-shell__stat span,.dorm-admin-theme .empty-hint,.dorm-admin-theme .history-entry p,.dorm-admin-theme .history-item p,.dorm-admin-theme .lookup-result__meta,.dorm-admin-theme .modal-desc,.dorm-admin-theme .modal-lead,.dorm-admin-theme .panel-desc,.dorm-admin-theme .plain-field,.dorm-admin-theme .plain-field span,.dorm-admin-theme .queue-item p,.dorm-admin-theme .resident-item__main p,.dorm-admin-theme .room-row>span,.dorm-admin-theme .room-row__desc,.dorm-admin-theme .student-card p,.dorm-admin-theme .student-card__main p,.dorm-admin-theme .teacher-info__row span{color:var(--dorm-admin-muted)!important}.dorm-admin-theme .advanced-box,.dorm-admin-theme .batch-assign-row,.dorm-admin-theme .compact-info-list span,.dorm-admin-theme .compact-section,.dorm-admin-theme .config-item,.dorm-admin-theme .dorm-admin-info,.dorm-admin-theme .dorm-admin-shell__stat,.dorm-admin-theme .form-readonly__value,.dorm-admin-theme .history-entry,.dorm-admin-theme .history-item,.dorm-admin-theme .import-panel,.dorm-admin-theme .import-result,.dorm-admin-theme .import-summary-item,.dorm-admin-theme .import-tips,.dorm-admin-theme .lookup-result,.dorm-admin-theme .manager-card,.dorm-admin-theme .manager-card__stats>div,.dorm-admin-theme .manager-inline-meta span,.dorm-admin-theme .moral-item,.dorm-admin-theme .notification-box,.dorm-admin-theme .period-item,.dorm-admin-theme .queue-item,.dorm-admin-theme .relation-card,.dorm-admin-theme .resident-item,.dorm-admin-theme .room-row,.dorm-admin-theme .stats-inline__item,.dorm-admin-theme .stats-tile,.dorm-admin-theme .student-card,.dorm-admin-theme .teacher-info__row,.dorm-admin-theme .template-field-item,.dorm-admin-theme .template-list__item,.dorm-admin-theme .warn-box,.dorm-admin-theme .weekday-box{background:var(--dorm-admin-panel)!important;border-color:var(--dorm-admin-line-soft)!important;box-shadow:none!important}.dorm-admin-theme .advanced-box,.dorm-admin-theme .dorm-admin-info,.dorm-admin-theme .dorm-admin-shell__stat,.dorm-admin-theme .lookup-result,.dorm-admin-theme .notification-box,.dorm-admin-theme .stats-inline__item,.dorm-admin-theme .stats-tile,.dorm-admin-theme .teacher-info__row,.dorm-admin-theme .weekday-box{background:var(--dorm-admin-panel-blue)!important;border:1px solid var(--dorm-admin-line)!important}.dorm-admin-theme .active,.dorm-admin-theme .config-item.active,.dorm-admin-theme .manager-card.active,.dorm-admin-theme .period-item.active,.dorm-admin-theme .relation-card--primary,.dorm-admin-theme .resident-item.absent{background:var(--dorm-admin-panel-blue)!important;border-color:var(--dorm-admin-blue-strong)!important;box-shadow:none!important}.dorm-admin-theme .console-status__item strong,.dorm-admin-theme .context-stat strong,.dorm-admin-theme .dorm-admin-info strong,.dorm-admin-theme .dorm-admin-shell__stat strong,.dorm-admin-theme .import-summary-item strong,.dorm-admin-theme .stats-inline__item strong,.dorm-admin-theme .stats-tile strong{color:var(--dorm-admin-blue)!important}.dorm-admin-theme .dorm-admin-shell__stat.is-ok strong,.dorm-admin-theme .ui-badge.ok,.dorm-admin-theme .ui-badge.success{color:var(--dorm-admin-success)!important}.dorm-admin-theme .dorm-admin-shell__stat.is-warn strong,.dorm-admin-theme .ui-badge.warn,.dorm-admin-theme .ui-badge.warning{color:var(--dorm-admin-warn)!important}.dorm-admin-theme .dorm-admin-shell__stat.is-danger strong,.dorm-admin-theme .import-error,.dorm-admin-theme .negative,.dorm-admin-theme .ui-badge.danger{color:var(--dorm-admin-danger)!important}.dorm-admin-theme .dorm-admin-shell__stat.is-info strong,.dorm-admin-theme .ui-badge.info{color:var(--dorm-admin-blue-strong)!important}.dorm-admin-theme .ui-badge.ok,.dorm-admin-theme .ui-badge.success{background:var(--dorm-admin-success-bg)!important}.dorm-admin-theme .ui-badge.warn,.dorm-admin-theme .ui-badge.warning{background:var(--dorm-admin-warn-bg)!important}.dorm-admin-theme .ui-badge.danger{background:var(--dorm-admin-danger-bg)!important}.dorm-admin-theme .ui-badge.info,.dorm-admin-theme .ui-badge.neutral{background:var(--dorm-admin-panel-blue)!important}.dorm-admin-theme .ui-input,.dorm-admin-theme .ui-select,.dorm-admin-theme textarea{background-color:#fff!important;border-color:var(--dorm-admin-line)!important;color:var(--dorm-admin-text)!important;box-shadow:none!important}.dorm-admin-theme .ui-input:focus,.dorm-admin-theme .ui-select:focus,.dorm-admin-theme textarea:focus{border-color:var(--dorm-admin-blue)!important;outline:none}.dorm-admin-theme .ui-button{box-shadow:none!important}.dorm-admin-theme .ui-button:hover{transform:none!important;box-shadow:none!important}.dorm-admin-theme .ui-button.accent,.dorm-admin-theme .ui-button.primary{background:var(--dorm-admin-blue-strong)!important;color:#fff!important}.dorm-admin-theme .ui-button.ghost{background:var(--dorm-admin-panel-blue)!important;color:var(--dorm-admin-blue)!important;border:1px solid var(--dorm-admin-line)!important}.dorm-admin-theme .ui-button.danger{background:var(--dorm-admin-danger)!important;color:#fff!important;border:1px solid var(--dorm-admin-danger)!important}.dorm-admin-theme .modal-overlay{background:#24304a!important}.dorm-admin-theme .modal-box h3,.dorm-admin-theme .modal-box h4{color:#000!important}.dorm-admin-theme .weekday-chip{background:#fff!important;border-color:var(--dorm-admin-line)!important;color:var(--dorm-admin-blue-strong)!important}.dorm-admin-theme .weekday-chip.active{background:var(--dorm-admin-blue-strong)!important;border-color:var(--dorm-admin-blue-strong)!important;color:#fff!important}.dorm-admin-theme .manager-card__avatar,.dorm-admin-theme .profile-hero__avatar,.dorm-admin-theme .resident-item__avatar{background:var(--dorm-admin-blue-strong)!important;box-shadow:none!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) *{box-shadow:none!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .assign-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .console-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .context-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .detail-group,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .dorm-admin-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .dorm-admin-shell,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .empty-panel,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .history-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .import-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .manager-detail-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .modal-box,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .module-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .page-header-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .panel-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .rail-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .residents-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .room-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .section-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .workbench-card{background:var(--dorm-admin-bg)!important;border:1px solid var(--dorm-admin-line)!important;color:var(--dorm-admin-text)!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .advanced-box,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .batch-assign-row,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .config-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .console-status__item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .context-stat,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .detail-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .dorm-admin-info,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .dorm-admin-shell__stat,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .fact-pill,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .form-readonly__value,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .history-entry,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .history-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .import-panel,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .import-result,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .import-summary-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .import-table,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .import-table__row,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .import-tips,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .issue-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .lookup-result,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .manager-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .manager-card__stats>div,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .moral-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .notification-box,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .period-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .profile-strip__item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .queue-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .relation-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .resident-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .room-row,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .stats-inline__item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .stats-tile,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .student-card,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .teacher-info__row,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .template-field-item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .template-list__item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .template-list__item span,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .weekday-box,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .workbench-stat{background:var(--dorm-admin-panel)!important;border-color:var(--dorm-admin-line-soft)!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .console-status__item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .context-stat,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .dorm-admin-info,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .dorm-admin-shell__stat,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .section-index,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .stats-inline__item,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .stats-tile,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .workbench-stat{background:var(--dorm-admin-panel-blue)!important;border:1px solid var(--dorm-admin-line)!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .dorm-admin-shell__stat.is-ok,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-badge.ok,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-badge.success{background:var(--dorm-admin-success-bg)!important;border-color:var(--dorm-admin-success)!important;color:var(--dorm-admin-success)!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .dorm-admin-shell__stat.is-warn,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-badge.warn,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-badge.warning,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .warn-box{background:var(--dorm-admin-warn-bg)!important;border-color:var(--dorm-admin-warn)!important;color:var(--dorm-admin-warn)!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .dorm-admin-shell__stat.is-danger,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .resident-item.absent,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-badge.danger{background:var(--dorm-admin-danger-bg)!important;border-color:var(--dorm-admin-danger)!important;color:var(--dorm-admin-danger)!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .active:not(.ui-badge),.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .config-item.active,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .manager-card.active,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .period-item.active,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .relation-card--primary{background:var(--dorm-admin-panel-blue)!important;border-color:var(--dorm-admin-blue-strong)!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .config-item:hover,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .manager-card:hover,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .period-item:hover,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .resident-item:hover,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-button:hover{transform:none!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-button.accent,.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-button.primary{background:var(--dorm-admin-blue-strong)!important;border-color:var(--dorm-admin-blue-strong)!important;color:#fff!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-button.ghost{background:var(--dorm-admin-panel-blue)!important;border:1px solid var(--dorm-admin-line)!important;color:var(--dorm-admin-blue)!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .ui-button.danger{background:var(--dorm-admin-danger)!important;border-color:var(--dorm-admin-danger)!important;color:#fff!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .modal-overlay{background:#24304a!important}.page.dorm-admin-theme:is(.dorm-building-page,.dorm-manager-page,.dorm-assignment-page,.dorm-sign-page,.dorm-inspection-page,.dorm-attendance-config-page) .template-code-list code{background:#111827!important;color:#fff!important}@media(max-width:768px){.dorm-admin-theme:before{background-size:100% 100%}}@media(max-width:1180px){.dorm-admin-layout--rail,.dorm-admin-layout--split,.dorm-admin-layout--triple{grid-template-columns:1fr}}@media(max-width:768px){.dorm-admin-actions-row,.dorm-admin-panel-head{flex-direction:column;align-items:stretch}.dorm-admin-info-grid,.dorm-admin-toolbar-grid{grid-template-columns:1fr}.dorm-admin-scroll,.dorm-admin-scroll--medium,.dorm-admin-scroll--short{max-height:none;overflow:visible;padding-right:0}}.page.admin-config-theme{--admin-config-blue:#003bff;--admin-config-blue-strong:#1d66c6;--admin-config-bg:#f4f8fb;--admin-config-panel:#fff;--admin-config-panel-blue:#d5eeff;--admin-config-line:#a7c6f8;--admin-config-line-soft:#cee0fd;--admin-config-text:#0f172a;--admin-config-muted:#5f6b7a;--admin-config-success:#1b8f55;--admin-config-success-bg:#e9f8ef;--admin-config-warn:#d88418;--admin-config-warn-bg:#fef1d6;--admin-config-danger:#c5403e;--admin-config-danger-bg:#fde9ea;--admin-config-neutral-bg:#eef2f7;position:relative;isolation:isolate;color:var(--admin-config-text)}.page.admin-config-theme:before{content:"";position:fixed;inset:0;z-index:-1;background:url(/dzbp_demo/img/bg.d029cbca.png) top/cover no-repeat;pointer-events:none}.page.admin-config-theme *{box-shadow:none!important}.page.admin-config-theme :is(.ui-card,.module-card,.filter-card,.tree-panel,.detail-panel,.column-card,.face-column,.preview-card,.edit-modal,.modal-box,.modal-card,.face-modal-card){background:var(--admin-config-bg)!important;border-color:var(--admin-config-line)!important;color:var(--admin-config-text)!important}.page.admin-config-theme :is(.page-header__title,h1,h2,h3,h4,.panel-header h3,.panel-head h3,.section-header h3,.template-card__title,.template-card__section strong,.tree-group__title,.tree-item__main .primary-text,.primary-text,.secondary-text,.config-item__head strong,.period-card__title,.semester-mobile-card__item strong,.plan-mobile-card__item strong,.preview-mobile-card__head strong,.period-name,.class-item__title,.student-item__name,.slot-card__title,.slot-card__meta-row strong,.upload-card__name,.device-select-item__body strong,.sync-result__header strong,.sync-result__item strong,.leaf-item__name,.tree-node__name){color:#000!important}.page.admin-config-theme :is(.page-header__subtitle,.section-meta,.empty-hint,.loading-hint,.empty-state,.panel-state,.panel-header p,.template-card__meta,.template-card__section span,.template-card__section p,.tree-group__desc,.tree-item__desc,.config-item__meta,.field-tip,.field-item label,.semester-mobile-card__label,.plan-mobile-card__label,.period-time-text,.class-item__meta,.student-item__meta,.slot-card__subtitle,.slot-card__meta-row span,.mobile-panel-switcher__summary,.upload-card__hint,.device-select-item__body span,.device-select-item__body code,.device-select-empty,.tree-node__state){color:var(--admin-config-muted)!important}.page.admin-config-theme :is(.ui-stat,.filter-row,.admin-inline-tools,.mobile-panel-switcher,.panel-state,.config-hint,.tree-root-tip,.sync-tip,.sync-result,.sync-result__item,.leaf-item,.template-card,.template-card__section,.tree-group,.tree-group__head,.tree-group__toggle,.tree-empty,.tree-item,.score-range,.config-item,.period-card,.weekday-picker,.semester-mobile-card,.plan-mobile-card,.period-row,.period-type-tag,.preview-table,.preview-header,.preview-row,.preview-mobile-card,.class-item,.student-item,.student-item__avatar,.slot-card,.slot-card__preview,.slot-card__meta-row,.status-banner,.empty-state,.upload-card,.upload-card__preview,.device-select-card,.device-select-item,.face-remark,.modal-form,.form-readonly__value){background:var(--admin-config-panel)!important;border-color:var(--admin-config-line-soft)!important}.page.admin-config-theme :is(.ui-stat,.mobile-panel-switcher,.panel-state,.config-hint,.tree-root-tip,.sync-tip,.sync-result__item,.template-card__section,.tree-group__count,.score-range,.weekday-picker,.period-type-tag,.preview-header,.slot-card__meta-row,.device-select-card){background:var(--admin-config-panel-blue)!important;border-color:var(--admin-config-line)!important}.page.admin-config-theme :is(.active,.is-selected .tree-node__label,.tree-node__row.is-selected .tree-node__label,.tree-group__head.active,.tree-group__toggle.active,.config-item.active,.period-row--editing,.mobile-panel-switcher__tab.active,.class-item.active,.student-item.active,.device-select-item.active):not(.ui-badge){background:var(--admin-config-panel-blue)!important;border-color:var(--admin-config-blue-strong)!important;color:var(--admin-config-blue)!important}.page.admin-config-theme :is(.config-item:hover,.class-item:hover,.student-item:hover,.tree-node__label:hover,.ui-button:hover){transform:none!important}.page.admin-config-theme :is(.ui-input,.ui-select,.form-input,.form-select,.form-textarea,.period-name-input,.time-input,textarea,input,select){background-color:var(--admin-config-panel)!important;border-color:var(--admin-config-line)!important;color:var(--admin-config-text)!important}.page.admin-config-theme :is(.form-input:disabled,.form-select:disabled,.ui-input:disabled,.ui-select:disabled,input:disabled,select:disabled,textarea:disabled){background-color:var(--admin-config-neutral-bg)!important;color:var(--admin-config-muted)!important}.page.admin-config-theme :is(.ui-input:focus,.ui-select:focus,.form-input:focus,.form-select:focus,.form-textarea:focus,.period-name-input:focus,.time-input:focus,textarea:focus,input:focus,select:focus){border-color:var(--admin-config-blue)!important;outline:none!important}.page.admin-config-theme :is(.ui-button.primary,.ui-button.accent,.sync-all-button,.act-btn,.btn-save,.btn-add,.btn-edit,.btn-done,.face-upload-action-btn,.upload-trigger){background:var(--admin-config-blue-strong)!important;border-color:var(--admin-config-blue-strong)!important;color:#fff!important}.page.admin-config-theme :is(.ui-button.ghost,.ui-button.outline,.page-header__back,.modal-close,.mobile-panel-switcher__tab,.weekday-chip,.text-action-btn,.face-upload-action-btn--secondary){background:var(--admin-config-panel-blue)!important;border-color:var(--admin-config-line)!important;color:var(--admin-config-blue)!important}.page.admin-config-theme :is(.ui-button.danger,.act-btn-danger,.btn-del){background:var(--admin-config-danger)!important;border-color:var(--admin-config-danger)!important;color:#fff!important}.page.admin-config-theme :is(.ui-badge,.ui-badge.info,.ui-badge.neutral){background:var(--admin-config-panel-blue)!important;border:1px solid var(--admin-config-line)!important;color:var(--admin-config-blue)!important}.page.admin-config-theme :is(.ui-badge.ok,.ui-badge.success,.stat-success,.status-banner--success,.slot-card--configured,.slot-card--configured .slot-card__preview,.slot-card--configured .slot-card__placeholder){background:var(--admin-config-success-bg)!important;border-color:var(--admin-config-success)!important;color:var(--admin-config-success)!important}.page.admin-config-theme :is(.ui-badge.warn,.ui-badge.warning,.stat-warning,.status-banner--warning,.slot-card--unconfigured,.slot-card--unconfigured .slot-card__preview,.slot-card--unconfigured .slot-card__placeholder){background:var(--admin-config-warn-bg)!important;border-color:var(--admin-config-warn)!important;color:var(--admin-config-warn)!important}.page.admin-config-theme :is(.ui-badge.danger,.stat-danger,.panel-state--error,.error-hint,.upload-card__error){background:var(--admin-config-danger-bg)!important;border-color:var(--admin-config-danger)!important;color:var(--admin-config-danger)!important}.page.admin-config-theme :is(.stat-info,.stat-primary){background:var(--admin-config-panel-blue)!important;border-color:var(--admin-config-blue-strong)!important}.page.admin-config-theme :is(.ui-stat strong,.stat-info strong,.stat-primary strong,.context-stat strong,.tree-group__count,.period-type-tag,.score-range){color:var(--admin-config-blue)!important}.page.admin-config-theme :is(.stat-success strong){color:var(--admin-config-success)!important}.page.admin-config-theme :is(.stat-warning strong){color:var(--admin-config-warn)!important}.page.admin-config-theme :is(.stat-danger strong,.negative){color:var(--admin-config-danger)!important}.page.admin-config-theme :is(.manage-table th,.import-table__row--head){background:var(--admin-config-panel-blue)!important;border-color:var(--admin-config-line)!important;color:var(--admin-config-blue)!important}.page.admin-config-theme :is(.manage-table td,.manage-table tbody tr,.manage-table tbody tr:hover){background:var(--admin-config-panel)!important;border-color:var(--admin-config-line-soft)!important}.page.admin-config-theme :is(.modal-overlay){background:#24304a!important}.page.admin-config-theme :is(.tree-node__toggle,.tree-node__toggle.is-placeholder,.tree-group__toggle,.slot-card--board,.slot-card--attendance){background:var(--admin-config-panel)!important}.page.admin-config-theme :is(.student-item__avatar-fallback,.slot-card__placeholder,.upload-card__placeholder){background:var(--admin-config-panel-blue)!important;color:var(--admin-config-blue)!important}@media(max-width:768px){.page.admin-config-theme:before{background-size:100% 100%}}