.header[data-v-d4137d17]{justify-content:space-between;align-items:center;gap:20px;height:100%;padding:0 28px;display:flex}.header__eyebrow[data-v-d4137d17]{color:var(--app-muted);font-size:12px;font-weight:600}.header__title[data-v-d4137d17]{color:var(--app-text);margin:2px 0 0;font-size:20px;font-weight:800}.header__actions[data-v-d4137d17]{align-items:center;gap:12px;display:flex}.header__search[data-v-d4137d17]{min-width:260px;height:42px;color:var(--app-muted);border:1px solid var(--app-border);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.header__icon-button[data-v-d4137d17]{width:42px;height:42px;color:var(--app-text);border:1px solid var(--app-border);cursor:pointer;background:#fff;border-radius:50%;place-items:center;display:inline-grid;position:relative}.header__badge[data-v-d4137d17]{background:#ef4444;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:9px}.header__user[data-v-d4137d17]{min-height:42px;color:var(--app-text);border:1px solid var(--app-border);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:inline-flex}.header__avatar[data-v-d4137d17]{color:#fff;background:linear-gradient(135deg, var(--app-primary), var(--app-accent));border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.header__search[data-v-d4137d17]:hover,.header__icon-button[data-v-d4137d17]:hover,.header__user[data-v-d4137d17]:hover{border-color:#2563eb57;box-shadow:0 10px 24px #0f172a0f}@media (width<=900px){.header[data-v-d4137d17]{padding:0 18px}.header__search[data-v-d4137d17]{display:none}}.sidebar[data-v-e80a9dee]{flex-direction:column;height:100%;padding:22px 14px 16px;display:flex;overflow-y:auto}.sidebar__brand[data-v-e80a9dee]{color:#fff;align-items:center;gap:12px;padding:0 8px 28px;display:flex}.sidebar__logo[data-v-e80a9dee]{letter-spacing:.04em;background:linear-gradient(135deg,#14b8a6eb,#2563ebf0),#2563eb;border:1px solid #fff3;border-radius:16px;place-items:center;width:42px;height:42px;font-weight:800;display:grid;box-shadow:0 16px 32px #2563eb38}.sidebar__title[data-v-e80a9dee]{font-size:16px;font-weight:700}.sidebar__subtitle[data-v-e80a9dee]{color:#8290a9;margin-top:2px;font-size:12px}.sidebar__section-label[data-v-e80a9dee]{color:#64748b;letter-spacing:.14em;padding:0 10px 10px;font-size:11px;font-weight:800}.sidebar__menu[data-v-e80a9dee]{border-right:0;flex:1}[data-v-e80a9dee] .el-menu-item,[data-v-e80a9dee] .el-sub-menu__title{color:#a8b3c7;border-radius:12px;height:44px;margin:4px 0;transition:background-color .18s,color .18s,transform .18s}[data-v-e80a9dee] .el-menu-item:hover,[data-v-e80a9dee] .el-sub-menu__title:hover{color:#fff;background:#ffffff14}[data-v-e80a9dee] .el-menu-item.is-active{color:#fff;background:linear-gradient(135deg,#2563ebf2,#14b8a6d1);box-shadow:0 12px 28px #2563eb3d}[data-v-e80a9dee] .el-sub-menu .el-menu-item{height:40px;margin-left:8px;font-size:13px;padding-left:42px!important}.sidebar__status[data-v-e80a9dee]{color:#dbeafe;background:#0f172ab3;border:1px solid #94a3b82e;border-radius:16px;align-items:center;gap:12px;margin-top:18px;padding:14px;display:flex}.sidebar__status-dot[data-v-e80a9dee]{background:#22c55e;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 6px #22c55e24}.sidebar__status strong[data-v-e80a9dee]{font-size:13px;display:block}.sidebar__status p[data-v-e80a9dee]{color:#94a3b8;margin:2px 0 0;font-size:12px}.admin-layout[data-v-6adaa6a9]{background:radial-gradient(circle at 70% 8%, #2563eb1a, transparent 30%), var(--app-bg);min-height:100vh}.admin-layout__aside[data-v-6adaa6a9]{background:linear-gradient(#0f172afa,#020617fa),#0f172a;border-right:1px solid #ffffff14;height:100vh;position:sticky;top:0}.admin-layout__header[data-v-6adaa6a9]{z-index:10;border-bottom:1px solid var(--app-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f8fcdb;padding:0;position:sticky;top:0}.admin-layout__main[data-v-6adaa6a9]{padding:24px 28px 32px}@media (width<=900px){.admin-layout[data-v-6adaa6a9]{display:block}.admin-layout__aside[data-v-6adaa6a9]{height:auto;position:static;width:100%!important}.admin-layout__main[data-v-6adaa6a9]{padding:18px}}:root{--app-bg:#f6f8fc;--app-text:#111827;--app-muted:#6b7280;--app-border:#e5e7eb;--app-primary:#2563eb;--app-primary-soft:#dbeafe;--app-accent:#14b8a6;--app-surface:#fff;--app-warning:#f59e0b;--app-success:#16a34a;--app-danger:#ef4444;--app-radius-control:12px;--app-radius-card:22px;--app-radius-dialog:24px;--app-shadow-card:0 16px 30px #0f172a14;--app-shadow-dialog:0 28px 80px #0f172a2e;--el-color-primary:var(--app-primary);--el-color-primary-light-3:#60a5fa;--el-color-primary-light-5:#93c5fd;--el-color-primary-light-7:#bfdbfe;--el-color-primary-light-8:#dbeafe;--el-color-primary-light-9:#eff6ff;--el-color-primary-dark-2:#1d4ed8;--el-color-success:var(--app-success);--el-color-warning:var(--app-warning);--el-color-danger:var(--app-danger);--el-text-color-primary:var(--app-text);--el-text-color-regular:var(--app-muted);--el-text-color-secondary:#94a3b8;--el-border-color:var(--app-border);--el-border-color-light:#edf1f7;--el-border-radius-base:var(--app-radius-control);--el-border-radius-round:999px;--el-fill-color-blank:var(--app-surface);--el-bg-color:var(--app-surface);--el-box-shadow-light:var(--app-shadow-card)}*{box-sizing:border-box}html,body,#app{min-height:100dvh}body{color:var(--app-text);background:var(--app-bg);margin:0;font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,sans-serif}::selection{color:#fff;background:var(--app-primary)}:focus-visible{outline-offset:2px;outline:3px solid #2563eb47}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.el-card{border-color:var(--app-border);border-radius:var(--app-radius-card)}.el-button{font-weight:700}.el-dropdown-menu{border:1px solid #e2e8f0eb;border-radius:16px;padding:8px;box-shadow:0 18px 42px #0f172a1f}.el-dropdown-menu__item{border-radius:10px;font-weight:700}.el-dropdown-menu__item:not(.is-disabled):focus,.el-dropdown-menu__item:not(.is-disabled):hover{color:var(--app-primary);background:var(--app-primary-soft)}.el-input__wrapper,.el-select__wrapper{background:var(--app-surface);min-height:42px;box-shadow:none;border:1px solid #e2e8f0eb;border-radius:14px;transition:background-color .18s,border-color .18s,box-shadow .18s}.el-input__wrapper:hover,.el-select__wrapper:hover{background:#fff;border-color:#2563eb52}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused{background:#fff;border-color:#14b8a6ad;box-shadow:0 0 0 4px #14b8a61a}.el-input__inner,.el-select__placeholder,.el-select__selected-item{font-weight:650}.el-select__popper.el-popper,.el-picker__popper.el-popper{border:1px solid #e2e8f0eb;border-radius:18px;overflow:hidden;box-shadow:0 22px 54px #0f172a24}.el-select-dropdown{padding:6px}.el-select-dropdown__item{border-radius:10px;height:36px;margin:3px 0;font-weight:700}.el-select-dropdown__item:hover,.el-select-dropdown__item.is-hovering{color:var(--app-primary);background:linear-gradient(135deg,#eff6ff,#f0fdfa)}.el-select-dropdown__item.is-selected{color:var(--app-primary);background:var(--app-primary-soft);font-weight:900}.el-table{--el-table-header-bg-color:#f8fafc;--el-table-row-hover-bg-color:#f8fbff;border:1px solid var(--app-border);border-radius:18px;overflow:hidden}.el-table th.el-table__cell{color:#475569;background:#f8fafc;font-weight:900}.el-table .el-table__cell{border-bottom-color:#edf1f7}.el-pagination{--el-pagination-button-width:34px;--el-pagination-button-height:34px;gap:6px;font-weight:700}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{background:#f8fafc;border:1px solid #edf1f7;border-radius:10px}.el-pagination.is-background .btn-next:hover,.el-pagination.is-background .btn-prev:hover,.el-pagination.is-background .el-pager li:hover{color:var(--app-primary);border-color:#2563eb47}.el-pagination.is-background .el-pager li.is-active{color:#fff;background:linear-gradient(135deg, var(--app-primary), var(--app-accent));border-color:#0000;box-shadow:0 10px 20px #2563eb33}.el-tabs__item{color:var(--app-muted);font-weight:800}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--app-primary)}.el-tabs__active-bar{background:linear-gradient(135deg, var(--app-primary), var(--app-accent));border-radius:999px;height:3px}.el-drawer{background:radial-gradient(circle at 92% 0,#14b8a61f,#0000 32%),linear-gradient(#fff,#f8fafc)}.el-drawer__body{padding:28px}.app-dialog{border-radius:var(--app-radius-dialog);background:linear-gradient(145deg, #dbeafeb8, #fff0 42%), var(--app-surface);width:min(420px,100vw - 32px);box-shadow:var(--app-shadow-dialog);border:1px solid #e2e8f0eb;overflow:hidden}.app-dialog .el-dialog__header{margin:0;padding:24px 26px 14px}.app-dialog .el-dialog__body{padding:0 26px 8px}.app-dialog .el-dialog__footer{padding:10px 26px 24px}.app-dialog .el-form-item{margin-bottom:18px}.app-dialog .el-form-item__label{color:var(--app-text);font-weight:700}.app-dialog .el-input__wrapper,.app-dialog .el-select__wrapper{background:var(--app-surface);min-height:46px;box-shadow:none;border:1px solid #e2e8f0eb;border-radius:14px;transition:border-color .18s,box-shadow .18s,background-color .18s}.app-dialog .el-input__wrapper:hover,.app-dialog .el-input__wrapper.is-focus,.app-dialog .el-select__wrapper:hover,.app-dialog .el-select__wrapper.is-focused{background:#fff;border-color:#14b8a6a6;box-shadow:0 0 0 4px #14b8a61a}.app-dialog-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a47}.app-security-dialog__header{align-items:center;gap:14px;display:flex}.app-security-dialog__icon{color:#fff;background:linear-gradient(135deg, var(--app-primary), var(--app-accent));border-radius:16px;flex:none;place-items:center;width:48px;height:48px;font-size:22px;display:grid;box-shadow:0 14px 30px #2563eb3d}.app-security-dialog__header h2{color:var(--app-text);margin:0;font-size:20px;line-height:1.2}.app-security-dialog__header p{color:var(--app-muted);margin:6px 0 0;font-size:13px;line-height:1.5}.app-security-dialog__content{gap:2px;display:grid}.app-security-dialog__notice{color:#1d4ed8;background:linear-gradient(135deg,#dbeafee6,#ccfbf1c2);border:1px solid #93c5fd61;border-radius:16px;padding:12px 14px;font-size:13px;line-height:1.6}.app-dialog__footer{justify-content:flex-end;gap:10px;display:flex}.app-dialog__cancel,.app-dialog__submit{border-radius:var(--app-radius-control);min-width:96px;min-height:42px;font-weight:800}.app-dialog__cancel{color:var(--app-muted);border-color:var(--app-border)}.app-dialog__submit{background:linear-gradient(135deg, var(--app-primary), var(--app-accent));border:0;box-shadow:0 14px 28px #2563eb33}.app-dialog__submit:hover,.app-dialog__submit:focus{background:linear-gradient(135deg,#1d4ed8,#0d9488)}.el-message-box{border-radius:var(--app-radius-dialog);background:linear-gradient(145deg, #dbeafeb8, #fff0 42%), var(--app-surface);box-shadow:var(--app-shadow-dialog);border:1px solid #e2e8f0eb;padding:0;overflow:hidden}.el-message-box__header{padding:24px 26px 10px}.el-message-box__title{color:var(--app-text);font-size:18px;font-weight:800}.el-message-box__headerbtn{top:18px;right:18px}.el-message-box__content{color:var(--app-muted);padding:8px 26px 18px;font-size:14px;line-height:1.7}.el-message-box__status{font-size:22px}.el-message-box__btns{justify-content:flex-end;gap:10px;padding:10px 26px 24px;display:flex}.el-message-box__btns .el-button{border-radius:var(--app-radius-control);min-width:96px;min-height:42px;font-weight:800}.el-message-box__btns .el-button--default{color:var(--app-muted);border-color:var(--app-border);background:#fff}.el-message-box__btns .el-button--default:hover{color:var(--app-primary);background:#eff6ff;border-color:#2563eb57}.el-message-box__btns .el-button--primary{color:#fff;background:linear-gradient(135deg, var(--app-primary), var(--app-accent));border:0;box-shadow:0 14px 28px #2563eb33}.el-message-box__btns .el-button--primary:hover,.el-message-box__btns .el-button--primary:focus{background:linear-gradient(135deg,#1d4ed8,#0d9488)}.el-overlay.is-message-box{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a47}
