@charset "UTF-8";:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645,.045,.355,1);--el-transition-function-fast-bezier:cubic-bezier(.23,1,.32,1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:rgb(121,187,255);--el-color-primary-light-5:rgb(160,207,255);--el-color-primary-light-7:rgb(198,226,255);--el-color-primary-light-8:rgb(217,236,255);--el-color-primary-light-9:rgb(236,245,255);--el-color-primary-dark-2:rgb(51,126,204);--el-color-success:#67c23a;--el-color-success-light-3:rgb(149,212,117);--el-color-success-light-5:rgb(179,225,157);--el-color-success-light-7:rgb(209,237,196);--el-color-success-light-8:rgb(225,243,216);--el-color-success-light-9:rgb(240,249,235);--el-color-success-dark-2:rgb(82,155,46);--el-color-warning:#e6a23c;--el-color-warning-light-3:rgb(238,190,119);--el-color-warning-light-5:rgb(243,209,158);--el-color-warning-light-7:rgb(248,227,197);--el-color-warning-light-8:rgb(250,236,216);--el-color-warning-light-9:rgb(253,246,236);--el-color-warning-dark-2:rgb(184,130,48);--el-color-danger:#f56c6c;--el-color-danger-light-3:rgb(248,152,152);--el-color-danger-light-5:rgb(250,182,182);--el-color-danger-light-7:rgb(252,211,211);--el-color-danger-light-8:rgb(253,226,226);--el-color-danger-light-9:rgb(254,240,240);--el-color-danger-dark-2:rgb(196,86,86);--el-color-error:#f56c6c;--el-color-error-light-3:rgb(248,152,152);--el-color-error-light-5:rgb(250,182,182);--el-color-error-light-7:rgb(252,211,211);--el-color-error-light-8:rgb(253,226,226);--el-color-error-light-9:rgb(254,240,240);--el-color-error-dark-2:rgb(196,86,86);--el-color-info:#909399;--el-color-info-light-3:rgb(177,179,184);--el-color-info-light-5:rgb(200,201,204);--el-color-info-light-7:rgb(222,223,224);--el-color-info-light-8:rgb(233,233,235);--el-color-info-light-9:rgb(244,244,245);--el-color-info-dark-2:rgb(115,118,122);--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0,0,0,.04),0px 8px 20px rgba(0,0,0,.08);--el-box-shadow-light:0px 0px 12px rgba(0,0,0,.12);--el-box-shadow-lighter:0px 0px 6px rgba(0,0,0,.12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0,0,0,.08),0px 12px 32px rgba(0,0,0,.12),0px 8px 16px -8px rgba(0,0,0,.16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0,0,0,.8);--el-overlay-color-light:rgba(0,0,0,.7);--el-overlay-color-lighter:rgba(0,0,0,.5);--el-mask-color:rgba(255,255,255,.9);--el-mask-color-extra-light:rgba(255,255,255,.3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.el-icon{--color:inherit;align-items:center;display:inline-flex;height:1em;justify-content:center;line-height:1em;position:relative;width:1em;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.compact-message[data-v-37147312]{margin-bottom:12px;padding:10px 12px;border-radius:6px;background:#e9fbf3;text-align:left}.inline-status[data-v-37147312]{margin-left:8px}.inline-code[data-v-37147312]{display:inline-block;max-width:220px;overflow:hidden;color:#17233c;font-size:12px;text-overflow:ellipsis;vertical-align:middle}.check-list[data-v-37147312]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-item[data-v-37147312]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:0 12px;border:1px solid rgba(245,158,11,.34);border-radius:6px;background:#fff7e6;color:#92400e}.check-item.passed[data-v-37147312]{border-color:#10b9815c;background:#e9fbf3;color:#047857}.check-item span[data-v-37147312],.check-item strong[data-v-37147312]{font-size:13px;line-height:1.25}.check-item span[data-v-37147312]{flex:0 0 auto;font-weight:800}.check-item strong[data-v-37147312]{min-width:0;overflow-wrap:anywhere}@media (max-width: 760px){.check-list[data-v-37147312]{grid-template-columns:1fr}}.sort-input[data-v-b4e7d98e]{width:80px;height:32px;border:1px solid #cbd8e8;border-radius:6px;padding:0 10px;color:#1f2d44;font-size:14px;outline:none}.sort-input[data-v-b4e7d98e]:focus{border-color:#2e7bff;box-shadow:0 0 0 3px #2e7bff1f}.sort-input[data-v-b4e7d98e]:disabled{cursor:not-allowed;opacity:.6}.runtime-select[data-v-b4e7d98e]{min-width:104px;height:32px;border:1px solid #cbd8e8;border-radius:6px;padding:0 8px;color:#1f2d44;font-size:14px;outline:none}.runtime-select[data-v-b4e7d98e]:focus{border-color:#2e7bff;box-shadow:0 0 0 3px #2e7bff1f}.runtime-select[data-v-b4e7d98e]:disabled{cursor:not-allowed;opacity:.6}*{box-sizing:border-box}body{margin:0;color:#172033;background:#eef4fb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease,opacity .18s ease}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(14,165,233,.42);outline-offset:2px}.app-shell{display:grid;place-items:center;min-height:100vh;padding:32px}.app-shell:has(.login-page){padding:0}.app-shell:has(.admin-layout){display:block;padding:0}.login-page{position:relative;display:grid;place-items:center;width:100%;min-height:100vh;overflow:hidden;background:linear-gradient(110deg,#04122be0,#072249b8 48%,#04122be6),url(/assets/header-tech-Cwz73bhH.jpg) center / cover no-repeat}.login-page:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:radial-gradient(circle at 28% 24%,rgba(14,165,233,.24),transparent 24%),radial-gradient(circle at 72% 78%,rgba(45,212,191,.16),transparent 28%),repeating-linear-gradient(90deg,rgba(125,211,252,.06) 0 1px,transparent 1px 42px),repeating-linear-gradient(0deg,rgba(125,211,252,.05) 0 1px,transparent 1px 42px)}.login-matrix{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;opacity:.28}.login-matrix span{position:absolute;top:-260px;width:20px;color:#67e8f9;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45;text-shadow:0 0 12px rgba(103,232,249,.58);writing-mode:vertical-rl;animation:login-matrix-fall 16s linear infinite}.login-matrix span:nth-child(1){left:12%;animation-delay:-5s}.login-matrix span:nth-child(2){left:28%;animation-delay:-11s;animation-duration:20s}.login-matrix span:nth-child(3){left:49%;animation-delay:-2s;animation-duration:18s}.login-matrix span:nth-child(4){left:68%;animation-delay:-14s;animation-duration:22s}.login-matrix span:nth-child(5){left:84%;animation-delay:-7s;animation-duration:19s}@keyframes login-matrix-fall{0%{transform:translateY(-240px)}to{transform:translateY(calc(100vh + 320px))}}.login-card{position:relative;z-index:1;width:min(420px,calc(100vw - 48px));padding:34px 36px 36px;border:1px solid rgba(148,216,255,.28);border-radius:8px;background:#ffffffed;box-shadow:0 22px 60px #000d225c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-card h1,.content-panel h2,.admin-header h1{margin:0}.login-card h1{color:#0f2f68;font-size:26px;font-weight:800;line-height:1.18}.login-card p{margin:6px 0 0;color:#64748b;font-size:15px;line-height:1.4}.login-brand{display:flex;align-items:center;gap:16px;margin-bottom:30px}.login-logo{width:54px;height:54px;border-radius:10px;object-fit:cover;box-shadow:0 0 26px #2563eb33}.login-form{display:grid;gap:17px}.login-form label{display:grid;gap:8px;color:#334155;font-size:14px;font-weight:700}.login-form input{height:46px;padding:0 14px;border:1px solid #cbd5e1;border-radius:6px;color:#0f172a;font-size:15px;outline:none}.login-form input:focus{border-color:#027a48;box-shadow:0 0 0 3px #027a481f}.primary-button,.admin-profile button:not(.notification-button){border:0;cursor:pointer}.primary-button{height:46px;border-radius:6px;color:#fff;background:linear-gradient(135deg,#059669,#0f8fcf);box-shadow:0 10px 22px #05966933;font-size:16px;font-weight:700}.primary-button:hover:not(:disabled){box-shadow:0 12px 26px #0ea5e938}.primary-button:disabled{cursor:not-allowed;opacity:.72}.error-message{color:#dc2626;font-size:13px;line-height:1.45}.admin-layout{min-height:100vh;padding-top:78px;background:radial-gradient(circle at 80% 4%,rgba(0,184,217,.14),transparent 28%),linear-gradient(180deg,#f5f9fd,#edf4fb)}.admin-header{position:fixed;top:0;left:0;z-index:20;display:flex;align-items:center;justify-content:space-between;width:100%;height:78px;padding:0 32px;border-bottom:1px solid rgba(75,180,255,.18);color:#fff;background:linear-gradient(90deg,#04122be6,#06193885 38%,#04122bad),url(/assets/header-tech-Cwz73bhH.jpg) 72% 54% / 118% auto no-repeat;overflow:hidden}.header-tech-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.24;background:radial-gradient(circle at 75% 36%,rgba(0,214,255,.22),transparent 18%),linear-gradient(135deg,transparent 0 18%,rgba(0,170,255,.22) 18.2% 18.5%,transparent 18.7% 48%,rgba(0,170,255,.16) 48.2% 48.5%,transparent 48.7%),repeating-linear-gradient(0deg,rgba(0,224,255,.08) 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,rgba(0,224,255,.06) 0 1px,transparent 1px 36px);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 78%,transparent 100%)}.admin-brand{position:relative;z-index:2;display:flex;align-items:center;gap:14px}.brand-logo{width:42px;height:42px;border-radius:8px;object-fit:cover;box-shadow:0 0 24px #60a5fa47}.admin-header h1{color:#fff;font-size:22px;font-weight:800;line-height:1.2;letter-spacing:0}.admin-header p{margin:0;padding-left:12px;border-left:1px solid rgba(255,255,255,.28);color:#e2f2ffd1;font-size:14px;line-height:1}.admin-profile{position:relative;z-index:2;display:flex;align-items:center;gap:14px;color:#eef7ff;font-size:14px;font-weight:650}.notification-button{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:6px;color:#e5f5ff;background:#ffffff14;cursor:pointer}.notification-button:hover{background:#ffffff24}.notification-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.notification-badge{position:absolute;top:-6px;right:-7px;min-width:18px;height:18px;padding:0 5px;border:1px solid rgba(4,18,43,.92);border-radius:999px;color:#fff;background:#ef4444;box-shadow:0 0 12px #ef44448c;font-size:11px;line-height:16px;font-weight:800;text-align:center}.profile-dot{width:9px;height:9px;border-radius:50%;background:#34d399;box-shadow:0 0 14px #34d399c2}.admin-profile button:not(.notification-button){height:36px;padding:0 16px;border:1px solid rgba(255,255,255,.16);border-radius:6px;color:#e5f5ff;background:#ffffff14;font-size:14px;font-weight:650}.admin-profile button:not(.notification-button):hover{background:#ffffff24}.admin-sidebar{position:fixed;top:78px;bottom:0;left:0;width:236px;padding:24px 14px;border-right:1px solid rgba(42,88,135,.42);background:linear-gradient(180deg,#102038e0,#081425b8 48%,#08142533),linear-gradient(90deg,#081425fa,#0814259e,#081425fa),url(/assets/sidebar-core-CQTsM8s4.jpg) 50% 100% / 240px auto no-repeat,linear-gradient(180deg,#102038,#081425);overflow-y:auto}.admin-sidebar:after{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";background:linear-gradient(180deg,#0814251a,#0814259e)}.matrix-rain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;opacity:.2}.matrix-rain span{position:absolute;top:-180px;width:18px;color:#67e8f9;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.45;text-shadow:0 0 10px rgba(103,232,249,.56);writing-mode:vertical-rl;animation:matrix-fall 13s linear infinite}.matrix-rain span:nth-child(1){left:28px;animation-delay:-4s}.matrix-rain span:nth-child(2){left:82px;animation-delay:-9s;animation-duration:16s}.matrix-rain span:nth-child(3){left:138px;animation-delay:-2s;animation-duration:18s}.matrix-rain span:nth-child(4){left:192px;animation-delay:-12s;animation-duration:15s}@keyframes matrix-fall{0%{transform:translateY(-160px)}to{transform:translateY(calc(100vh + 220px))}}.menu-group+.menu-group{margin-top:26px}.menu-group{position:relative;z-index:1}.menu-group h2{margin:0 0 12px;padding:0 12px;color:#cbd5e1b8;font-size:13px;font-weight:700;line-height:1.2}.menu-item{display:flex;align-items:center;width:100%;height:44px;margin:4px 0;padding:0 12px;border:0;border-radius:6px;color:#e2e8f0db;background:transparent;cursor:pointer;font-size:14px;font-weight:700;line-height:1;text-align:left}.menu-item:hover{background:#94a3b81f}.menu-item.active{color:#fff;background:linear-gradient(90deg,#2dd4bf2e,#3b82f61a);box-shadow:inset 3px 0 #2dd4bf}.menu-icon{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:10px;border:1px solid rgba(148,163,184,.34);border-radius:6px;color:#67e8f9;font-size:11px;font-weight:800}.admin-content{width:calc(100vw - 236px);min-height:calc(100vh - 78px);margin-left:236px;padding:28px 32px}.notification-mask{position:fixed;top:78px;right:0;bottom:0;left:0;z-index:30;background:#0814252e;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.notification-drawer{position:fixed;top:78px;right:0;z-index:31;display:grid;grid-template-rows:auto auto 1fr;width:min(440px,calc(100vw - 24px));height:calc(100vh - 78px);border-left:1px solid rgba(148,197,232,.5);background:linear-gradient(180deg,#fffffffa,#f5fafffa),radial-gradient(circle at 16% 0%,rgba(14,165,233,.1),transparent 34%);box-shadow:-18px 0 46px #0f172a33;transform:translate(105%);transition:transform .18s ease}.notification-drawer.open{transform:translate(0)}.notification-drawer-header{display:flex;align-items:center;justify-content:space-between;height:66px;padding:0 18px 0 20px;border-bottom:1px solid #dbe6f1}.notification-drawer-header div{display:grid;gap:2px}.notification-drawer-header strong{color:#0b2b5c;font-size:18px;line-height:1.2;font-weight:800}.notification-drawer-header span{color:#64748b;font-size:12px;line-height:1.2;font-weight:700}.notification-toolbar{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:14px 16px;border-bottom:1px solid #e4edf6}.notification-toolbar select,.notification-toolbar button{height:34px;border:1px solid #cbd8e6;border-radius:6px;background:#fff;color:#172033;font-size:13px;font-weight:700}.notification-toolbar select{padding:0 10px}.notification-toolbar button{padding:0 12px;cursor:pointer}.notification-toolbar button:disabled{cursor:not-allowed;opacity:.55}.notification-list{display:grid;align-content:start;gap:10px;padding:14px 16px 22px;overflow-y:auto}.notification-item{position:relative;display:grid;gap:8px;padding:14px 14px 13px;border:1px solid #dbe6f1;border-radius:8px;background:#fffffff0;cursor:pointer;box-shadow:0 8px 22px #0f172a0a}.notification-item.unread{border-color:#0ea5e961;background:linear-gradient(180deg,#eef9fffa,#fffffffa)}.notification-item.unread:before{position:absolute;top:18px;left:8px;width:6px;height:6px;border-radius:50%;background:#0ea5e9;content:""}.notification-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-left:8px}.notification-item-head span{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;color:#075985;background:#e0f2fe;font-size:12px;line-height:1;font-weight:800}.notification-item-head time{flex-shrink:0;color:#94a3b8;font-size:12px;line-height:1;font-weight:650}.notification-item h3{margin:0;padding-left:8px;color:#0b2b5c;font-size:15px;line-height:1.35;font-weight:800}.notification-item p{display:-webkit-box;margin:0;padding-left:8px;color:#475569;font-size:13px;line-height:1.6;font-weight:600;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notification-item.expanded p{display:block;overflow:visible}.notification-empty{display:grid;place-items:center;min-height:140px;color:#64748b;font-size:14px;font-weight:700}.content-panel{width:100%;min-height:calc(100vh - 134px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.content-panel h2{color:#0b2b5c;font-size:22px}.content-panel p{margin:12px 0 0;color:#64748b}.filter-panel{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 180px 96px 96px;gap:16px;align-items:end;padding:18px 20px;border:1px solid #d8e3ee;border-radius:8px;background:#fff}.filter-panel label{display:grid;gap:8px;color:#334155;font-size:13px;font-weight:700;line-height:1.25}.filter-panel input,.filter-panel select{height:40px;padding:0 12px;border:1px solid #cbd8e6;border-radius:6px;color:#172033;background:#fbfdff;font-size:14px;line-height:40px;outline:none}.filter-panel input:focus,.filter-panel select:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.search-button,.reset-button{height:40px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;line-height:1}.search-button{border:0;color:#fff;background:linear-gradient(135deg,#059669,#0ea5e9);box-shadow:0 8px 18px #0596692e}.reset-button{border:1px solid #cbd8e6;color:#334155;background:#fff}.table-panel{margin-top:18px;padding:18px 20px 20px;border:1px solid #d8e3ee;border-radius:8px;background:#fff;overflow-x:auto}.table-title{margin-bottom:14px;color:#0b2b5c;font-size:17px;line-height:1.3;font-weight:800}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-title-row .table-title{margin-bottom:0}.compact-button{width:auto;min-width:96px;padding:0 16px}.full-field{grid-column:span 2}.table-panel table{width:100%;min-width:980px;border-collapse:collapse;border:1px solid #d8e3ee;border-radius:6px;overflow:hidden}.table-message,.empty-table{padding:28px;color:#64748b;font-size:14px;text-align:center}.table-panel th,.table-panel td{height:48px;padding:0 16px;border-bottom:1px solid #e3ebf3;color:#263b56;font-size:14px;line-height:1.35;text-align:left;white-space:nowrap}.muted-line{display:block;margin-top:4px;color:#64748b;font-size:12px;font-weight:500}.table-panel th{color:#334155;background:#f6f9fc;font-weight:800}.table-panel tbody tr:hover td{background:#f8fbff}.table-panel tr:last-child td{border-bottom:0}.status-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border:1px solid rgba(16,185,129,.36);border-radius:6px;color:#059669;background:#e9fbf3;font-size:12px;font-weight:800;line-height:1}.status-tag.disabled{border-color:#ef444447;color:#ef4444;background:#fff0f0}.status-tag.listed,.status-tag.operating,.status-tag.approved,.status-tag.admin{border-color:#10b9815c;color:#059669;background:#e9fbf3}.status-tag.unlisted,.status-tag.pending,.status-tag.project-admin{border-color:#f59e0b57;color:#d97706;background:#fff7e6}.status-tag.delisted,.status-tag.maintenance,.status-tag.rejected{border-color:#ef444447;color:#ef4444;background:#fff0f0}.link-button{margin-right:12px;padding:0;border:0;color:#2563eb;background:transparent;cursor:pointer;font-size:13px;font-weight:700;line-height:1}.link-button:hover{color:#0f4fd6}.link-button:disabled{cursor:not-allowed;opacity:.48}.link-button.danger{color:#ef4444}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;color:#475569;font-size:13px;line-height:1}.card-list-tip{margin-top:10px;color:#94a3b8;font-size:13px;line-height:1.5}.table-footer-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.table-footer select,.page-jump input{height:32px;border:1px solid #d5e0ec;border-radius:6px;color:#334155;background:#fff;font-size:13px;line-height:32px;outline:none}.table-footer select{min-width:104px;padding:0 10px}.table-footer select:focus,.page-jump input:focus{border-color:#8db7ff;box-shadow:0 0 0 3px #2563eb1a}.pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.pagination button,.pagination-ellipsis{display:inline-grid;place-items:center;min-width:34px;height:32px;padding:0 10px;border:1px solid #d5e0ec;border-radius:6px;color:#334155;background:#fff;font-size:13px;line-height:1}.pagination button{cursor:pointer}.pagination button:hover:not(:disabled):not(.active){border-color:#a8c3e2;background:#f8fbff}.pagination button:disabled,.search-button:disabled,.reset-button:disabled{cursor:not-allowed;opacity:.58}.pagination button.active{color:#0b5fff;border-color:#8db7ff;background:#eef5ff;font-weight:800}.pagination-ellipsis{border-color:transparent;color:#94a3b8;background:transparent}.page-jump{display:inline-flex;align-items:center;gap:6px;color:#64748b;white-space:nowrap}.page-jump input{width:54px;padding:0 8px;text-align:center}.empty-state{display:grid;gap:8px;padding:24px;border:1px dashed #b8c7d9;border-radius:8px;background:#f8fbff}.empty-state strong{color:#0b2b5c;font-size:16px;line-height:1.35}.modal-mask{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;background:#0814256b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-panel{width:min(560px,calc(100vw - 64px));border:1px solid rgba(148,216,255,.36);border-radius:8px;background:#fff;box-shadow:0 22px 70px #05142c52}.large-modal{width:min(960px,calc(100vw - 64px));max-height:calc(100vh - 64px);overflow:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px;border-bottom:1px solid #e3ebf3}.modal-header strong{color:#0b2b5c;font-size:17px}.modal-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:6px;color:#64748b;background:transparent;cursor:pointer;font-size:22px;line-height:1}.modal-close:hover{background:#f1f5f9}.modal-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.form-sections{display:grid;grid-template-columns:1fr;gap:14px;padding:18px 20px}.modal-section{padding:16px;border:1px solid #d8e3ee;border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff)}.modal-section h3{margin:0 0 14px;padding-left:10px;border-left:3px solid #0ea5e9;color:#0b2b5c;font-size:15px;line-height:1.3;font-weight:800}.readonly-sections{gap:18px}.section-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.detail-item{display:grid;min-width:0;gap:6px;padding:12px;border:1px solid #d8e3ee;border-radius:8px;background:#f8fbff}.detail-item span{color:#64748b;font-size:12px;line-height:1.3;font-weight:700}.detail-item strong,.detail-item p{margin:0;color:#17233c;font-size:14px;line-height:1.5;font-weight:700;overflow-wrap:anywhere}.detail-item p{color:#334155;font-weight:600}.single-column-form{grid-template-columns:1fr}.modal-inline-actions{display:flex;gap:12px;margin-top:16px}.modal-form label{display:grid;gap:8px;color:#334155;font-size:13px;font-weight:700;line-height:1.25}.modal-form input,.modal-form select,.modal-form textarea{width:100%;padding:0 12px;border:1px solid #cbd8e6;border-radius:6px;color:#172033;background:#fbfdff;font-size:14px;outline:none}.modal-form input,.modal-form select{height:40px}.modal-form textarea{min-height:86px;padding-top:10px;resize:vertical}.modal-form input:disabled{color:#64748b;background:#f6f9fc}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 20px 20px}.modal-error-message{flex:1;color:#dc2626;font-size:14px;line-height:1.45}.modal-actions button{min-width:96px}.asset-upload-field{display:grid;gap:8px;color:#334155;font-size:13px;font-weight:700;line-height:1.25}.asset-upload-control{display:flex;align-items:center;gap:10px}.asset-upload-control input{display:none}.asset-upload-control .reset-button{width:auto;min-width:96px;padding:0 14px}.asset-upload-tip{color:#64748b;font-size:12px;font-weight:500}.asset-preview-list{display:flex;flex-wrap:wrap;gap:10px}.asset-preview{position:relative;width:96px;height:72px;margin:0;overflow:hidden;border:1px solid #d8e3ee;border-radius:6px;background:#f8fbff}.asset-preview img{width:100%;height:100%;object-fit:cover}.asset-preview button{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;color:#fff;background:#0f172ab8;cursor:pointer}.card-cell{display:flex;align-items:center;gap:12px}.card-cell img{width:46px;height:46px;border:1px solid #d9e5f2;border-radius:6px;object-fit:cover;background:#eef5ff}.card-id-cell{max-width:360px;color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.binding-card-list,.holding-card-list{display:grid;overflow:hidden;border:1px solid #d8e3ee;border-radius:8px;background:#fff}.binding-card-head{display:grid;grid-template-columns:minmax(300px,1fr) 120px 100px 72px;align-items:center;gap:16px;min-height:42px;padding:0 16px;color:#64748b;background:#f3f7fc;border-bottom:1px solid #d8e3ee;font-size:12px;line-height:1.2;font-weight:800}.holding-card-head{display:grid;grid-template-columns:minmax(300px,1fr) 90px 100px 180px 120px;align-items:center;gap:16px;min-height:42px;padding:0 16px;color:#64748b;background:#f3f7fc;border-bottom:1px solid #d8e3ee;font-size:12px;line-height:1.2;font-weight:800}.binding-card-item{display:grid;grid-template-columns:minmax(300px,1fr) 120px 100px 72px;align-items:center;gap:16px;min-height:78px;padding:12px 16px;border-bottom:1px solid #e2eaf3;background:#fff;transition:background-color .18s ease,box-shadow .18s ease}.holding-card-item{display:grid;grid-template-columns:minmax(300px,1fr) 90px 100px 180px 120px;align-items:center;gap:16px;min-height:78px;padding:12px 16px;border-bottom:1px solid #e2eaf3;background:#fff;transition:background-color .18s ease,box-shadow .18s ease}.binding-card-item:last-of-type{border-bottom:0}.holding-card-item:last-of-type{border-bottom:0}.binding-card-item:hover,.holding-card-item:hover{background:#f8fbff;box-shadow:inset 3px 0 #0ea5e9}.binding-card-main{display:flex;align-items:center;min-width:0;gap:12px}.binding-card-main img{width:54px;height:54px;flex:0 0 auto;border:1px solid #d9e5f2;border-radius:6px;object-fit:cover;background:#eef5ff}.binding-card-main div,.binding-card-meta div{display:grid;min-width:0;gap:5px}.binding-card-main strong{color:#17233c;font-size:15px;line-height:1.25;font-weight:800}.binding-card-main span,.binding-card-meta span{color:#64748b;font-size:12px;line-height:1.2;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.binding-card-meta{display:contents}.binding-card-meta strong{color:#17233c;font-size:16px;line-height:1.25;font-weight:800}.binding-card-meta div{align-items:center}.binding-card-action{display:flex;align-items:center;gap:12px;justify-self:start;white-space:nowrap}.holding-card-actions{display:flex;align-items:center;gap:12px}.time-value{font-size:13px;font-weight:700;white-space:nowrap}.readonly-assets{display:flex;flex-wrap:wrap;gap:12px}.readonly-assets figure{display:grid;width:120px;gap:8px;margin:0}.readonly-assets img{width:120px;height:90px;border:1px solid #d8e3ee;border-radius:8px;background:#f8fbff;object-fit:cover}.readonly-assets figcaption{color:#334155;font-size:12px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}.compact-assets figure{width:96px}.compact-assets img{width:96px;height:126px}.activation-card-list{display:grid;gap:14px}.activation-card-item{display:grid;gap:12px;padding:14px;border:1px solid #d8e3ee;border-radius:8px;background:#f8fbffe0}.activation-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#0f2f64;font-size:13px}@media (max-width: 960px){.filter-panel,.section-grid,.detail-grid{grid-template-columns:1fr 1fr}.full-field{grid-column:span 2}.search-button,.reset-button{width:100%}.table-footer{align-items:flex-start;flex-direction:column}.pagination{justify-content:flex-start}}@media (max-width: 640px){.section-grid,.detail-grid{grid-template-columns:1fr}.full-field{grid-column:span 1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
