:root{font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400}.app-root{--app-page-bg: linear-gradient(180deg, #f4fbf6 0%, #f8fbff 100%);--app-surface-bg: rgba(255, 255, 255, .97);--app-surface-border: rgba(20, 59, 37, .08);--app-surface-shadow: 0 22px 44px -30px rgba(20, 58, 39, .16);--app-title-color: #143524;--app-text-color: #1f3d2b;--app-text-muted: #5d7567;--app-table-head-bg: #f4faf6;height:100%;background:var(--app-page-bg)}.app-root.theme-dark{--app-page-bg: linear-gradient(180deg, #0c131a 0%, #111b24 100%);--app-surface-bg: rgba(18, 28, 36, .97);--app-surface-border: rgba(129, 183, 153, .14);--app-surface-shadow: 0 22px 46px -30px rgba(0, 0, 0, .52);--app-title-color: #f2f8f5;--app-text-color: #dfe9e4;--app-text-muted: rgba(223, 233, 228, .72);--app-table-head-bg: rgba(255, 255, 255, .055)}body{margin:0;min-width:320px;min-height:100vh;background:#f8fbff}.main-content .n-card{border-radius:16px;box-shadow:var(--app-surface-shadow);border:1px solid var(--app-surface-border);background:var(--app-surface-bg)}.main-content .n-tag{font-weight:600}.main-content .n-card>.n-card-header{padding:16px 18px 10px}.main-content .n-card>.n-card__content{padding:12px 18px 18px}.main-content .n-card>.n-card__footer{padding:10px 18px 16px}.main-content .n-card>.n-card-header .n-card-header__main{font-size:16px;font-weight:700;color:var(--app-title-color)}.main-content .list-page{height:100%;min-height:0;display:flex;flex-direction:column}.main-content .list-page-card{flex:1;min-height:0;display:flex;flex-direction:column}.main-content .list-page-card>.n-card__content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.main-content .list-page-toolbar{flex-shrink:0}.main-content .list-page-table{flex:1;min-height:0}.main-content .page-view-shell:has(.list-page){overflow:hidden}.main-content .page-view-shell:not(:has(.list-page)):not(.page-view-shell--bleed){overflow-y:auto;overflow-x:hidden;min-height:0}.main-content .list-page>.n-layout{flex:1 1 auto;min-height:0;height:100%}.main-content .list-page>.n-layout .n-layout-content{min-height:0;flex:1 1 auto;height:100%;overflow:hidden;display:flex;flex-direction:column}.main-content .list-page-card>.n-card__content>.n-tabs:not(:last-child),.main-content .list-page>.n-layout .n-tabs:not(:last-child){flex:0 0 auto;min-height:0;display:flex;flex-direction:column}.main-content .list-page-card>.n-card__content>.n-tabs:last-child,.main-content .list-page>.n-layout .n-tabs:last-child{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.main-content .list-page-card>.n-card__content>.n-tabs>.n-tabs-nav,.main-content .list-page>.n-layout .n-tabs>.n-tabs-nav{flex-shrink:0}.main-content .list-page-card>.n-card__content>.n-tabs .n-tabs-pane-wrapper,.main-content .list-page>.n-layout .n-tabs .n-tabs-pane-wrapper{flex:1 1 auto;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.main-content .list-page-card>.n-card__content>.n-tabs .n-tab-pane,.main-content .list-page>.n-layout .n-tabs .n-tab-pane{flex:1 1 auto;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.main-content .list-page-tab-pane{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden;gap:0}.main-content .list-page-tab-pane>.list-page-toolbar{flex-shrink:0}.main-content .list-page-tab-pane>.list-page-table-wrap{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.main-content .list-page-tab-pane>.list-page-table-wrap>.n-data-table{flex:1 1 auto;min-height:0;height:100%}.main-content .list-page-nested-tabs{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.main-content .list-page-nested-tabs>.n-tabs{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.main-content .list-page-nested-tabs>.n-tabs>.n-tabs-nav{flex-shrink:0}.main-content .list-page-nested-tabs>.n-tabs .n-tabs-pane-wrapper{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.main-content .list-page-nested-tabs>.n-tabs .n-tab-pane{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.main-content .list-page-my-reagent-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin-top:16px}.main-content .list-page-my-reagent-body>.n-tabs{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.main-content .list-page-my-reagent-body>.n-tabs>.n-tabs-nav{flex-shrink:0}.main-content .list-page-my-reagent-body>.n-tabs .n-tabs-pane-wrapper{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.main-content .list-page-my-reagent-body>.n-tabs .n-tab-pane{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.main-content .list-page-my-reagent-body .apply-container{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.main-content .list-page-my-reagent-body .apply-container>.n-data-table{flex:1 1 auto;min-height:0}.main-content .list-page .detail-container--scroll-tabs{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.main-content .list-page .detail-container--scroll-tabs>.detail-header{flex-shrink:0}.main-content .list-page .detail-container--scroll-tabs>.n-tabs{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.main-content .list-page .detail-container--scroll-tabs>.n-tabs>.n-tabs-nav{flex-shrink:0}.main-content .list-page .detail-container--scroll-tabs>.n-tabs .n-tabs-pane-wrapper{flex:1 1 auto;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.main-content .list-page .detail-container--scroll-tabs>.n-tabs .n-tab-pane{flex:1 1 auto;min-height:0;height:100%;overflow:hidden auto;display:flex;flex-direction:column}.main-content .list-page .detail-container--table-only{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.main-content .list-page .detail-container--table-only>.detail-header{flex-shrink:0}.main-content .list-page .detail-container--table-only>.list-page-toolbar{flex-shrink:0}.main-content .list-page .detail-container--table-only>.list-page-table-wrap{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.main-content .list-page .detail-container--table-only>.list-page-table-wrap>.n-data-table{flex:1 1 auto;min-height:0;height:100%}.main-content .p-4,.main-content [class~=p-4]{padding:0!important}.main-content .n-card .n-space{row-gap:10px!important}.main-content .n-card .n-data-table{border-radius:12px;overflow:hidden}.main-content .n-card .n-data-table th{background:var(--app-table-head-bg)}.main-content .project-manage,.main-content .my-tasks,.main-content .sample-receive,.main-content .sample-handover,.main-content .sample-test,.main-content .sample-test-order-entry,.main-content .depute-order-form,.main-content .settlement-manage,.main-content .user-manage,.main-content .reagent-manage,.main-content .container-manage,.main-content .vehicle-manage,.main-content .device-manage,.main-content .printer-config,.main-content .file-manage,.main-content .operation-log-manage,.main-content .test-item-manage,.main-content .standard-limit-manage,.main-content .list-page,.main-content .p-4{padding:0!important}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;overscroll-behavior:none;font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}#app,.app-root{height:100%;width:100%}.login-container[data-v-0e38c18a]{min-height:100vh;position:relative;overflow:hidden;background:#edf2ef url(/lims-login-bg.png) center center / cover no-repeat;color:var(--v10bad9fe)}.login-backdrop[data-v-0e38c18a]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--v11f24466)}.theme-switch-wrapper[data-v-0e38c18a]{position:absolute;top:24px;right:28px;z-index:3}.login-shell[data-v-0e38c18a]{position:relative;z-index:2;width:min(1120px,calc(100% - 64px));min-height:100vh;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 420px;align-items:center;column-gap:72px;padding:48px 0}.login-intro[data-v-0e38c18a]{max-width:560px}.brand-lockup[data-v-0e38c18a]{display:flex;align-items:center}.logo-icon[data-v-0e38c18a]{flex-shrink:0;width:76px;height:76px;margin-right:18px;padding:10px;display:flex;justify-content:center;align-items:center;border-radius:8px;background:#fffffff0;border:1px solid rgba(221,229,229,.86);box-shadow:0 16px 34px #10313a1f}.logo-icon__image[data-v-0e38c18a]{width:100%;height:100%;object-fit:contain}.brand-kicker[data-v-0e38c18a],.panel-kicker[data-v-0e38c18a]{color:var(--v45d9e8b1);font-size:13px;line-height:1.4;font-weight:800}.brand-lockup h1[data-v-0e38c18a]{margin:4px 0 0;color:var(--v163ce048);font-size:40px;line-height:1.16;font-weight:900}.brand-summary[data-v-0e38c18a]{margin:24px 0 0;max-width:500px;color:var(--da20ab8a);font-size:17px;line-height:1.8}.intro-metrics[data-v-0e38c18a]{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:14px}.metric-item[data-v-0e38c18a]{min-height:96px;padding:18px 16px;border-radius:8px;background:var(--v7d80a4c2);border:1px solid var(--v267a55c4);box-shadow:0 12px 28px #10313a14}.metric-value[data-v-0e38c18a]{display:block;color:var(--v10bad9fe);font-size:20px;line-height:1.2;font-weight:900}.metric-label[data-v-0e38c18a]{display:block;margin-top:10px;color:var(--v515964eb);font-size:13px;line-height:1.5}.login-panel[data-v-0e38c18a]{padding:34px;border-radius:8px;background:var(--v49afe8d0);border:1px solid var(--a8d006ae);box-shadow:var(--v5d39557f)}.panel-heading[data-v-0e38c18a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.panel-heading h2[data-v-0e38c18a]{margin:4px 0 0;color:var(--v163ce048);font-size:26px;line-height:1.25;font-weight:900}.panel-heading__icon[data-v-0e38c18a]{color:var(--v45d9e8b1)}.login-mode[data-v-0e38c18a]{display:grid;grid-template-columns:1fr 1fr;column-gap:8px;padding:6px;border-radius:8px;background:var(--v662b366a);border:1px solid var(--v75ce0fa0);margin-bottom:24px}.login-mode__button[data-v-0e38c18a]{height:42px;border:none;border-radius:6px;background:transparent;color:var(--v653da880);font:inherit;font-size:14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.login-mode__button span[data-v-0e38c18a]{margin-left:8px}.login-mode__button--active[data-v-0e38c18a]{background:var(--v1da88624);color:var(--v45d9e8b1);box-shadow:0 8px 18px #10313a14}.login-form[data-v-0e38c18a]{min-height:258px}.submit-btn[data-v-0e38c18a]{height:46px;margin-top:14px;border-radius:8px;font-size:16px;font-weight:800;box-shadow:0 12px 22px #2f6f4e2e}.qr-login[data-v-0e38c18a]{min-height:258px;display:flex;flex-direction:column;align-items:center;text-align:center}.qr-box[data-v-0e38c18a]{width:220px;height:220px;padding:12px;border-radius:8px;background:#fff;border:1px solid #dde5e5;display:flex;align-items:center;justify-content:center}.qr-image[data-v-0e38c18a]{width:100%;height:100%;display:block}.qr-placeholder[data-v-0e38c18a]{width:100%;height:100%;border-radius:6px;color:#65757d;background:#f3f7f7;display:flex;flex-direction:column;align-items:center;justify-content:center}.qr-placeholder span[data-v-0e38c18a]{margin-top:10px;font-size:14px}.qr-status[data-v-0e38c18a]{margin-top:18px;color:var(--v10bad9fe);font-size:15px;line-height:1.5;font-weight:800}.qr-subtitle[data-v-0e38c18a]{margin-top:6px;max-width:280px;color:var(--c4badf2e);font-size:13px;line-height:1.6}.qr-actions[data-v-0e38c18a]{margin-top:18px}[data-v-0e38c18a] .n-input{border-radius:8px}[data-v-0e38c18a] .n-input .n-input-wrapper{min-height:46px}@media (max-width: 980px){.login-shell[data-v-0e38c18a]{width:min(520px,calc(100% - 32px));grid-template-columns:1fr;row-gap:28px;padding:72px 0 36px}.login-intro[data-v-0e38c18a]{max-width:none}.intro-metrics[data-v-0e38c18a]{margin-top:28px}}@media (max-width: 640px){.login-container[data-v-0e38c18a]{overflow-y:auto}.theme-switch-wrapper[data-v-0e38c18a]{top:16px;right:16px}.brand-lockup[data-v-0e38c18a]{align-items:flex-start}.logo-icon[data-v-0e38c18a]{width:58px;height:58px;border-radius:8px}.intro-metrics[data-v-0e38c18a]{grid-template-columns:1fr;row-gap:10px}.metric-item[data-v-0e38c18a]{min-height:76px}.login-panel[data-v-0e38c18a]{padding:24px}.brand-lockup h1[data-v-0e38c18a]{font-size:30px}}.notification-badge[data-v-8e23e859]{display:flex;align-items:center;cursor:pointer}.notification-panel[data-v-8e23e859]{display:flex;flex-direction:column}.panel-header[data-v-8e23e859]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--n-border-color)}.title[data-v-8e23e859]{font-weight:600;font-size:16px}.notification-tabs[data-v-8e23e859]{padding:8px 12px 0}.notif-item[data-v-8e23e859]{padding:8px 16px;cursor:pointer;transition:background-color .2s}.notif-item[data-v-8e23e859]:hover{background-color:#00000005}.icon-wrapper[data-v-8e23e859]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px}.bg-info[data-v-8e23e859]{background-color:#eaf6ff;color:#2080f0}.bg-warn[data-v-8e23e859]{background-color:#fff7e6;color:#faad14}.bg-error[data-v-8e23e859]{background-color:#ffeef0;color:#d03050}.bg-success[data-v-8e23e859]{background-color:#e6fffb;color:#5cdbd3}.read-icon[data-v-8e23e859]{background-color:#f5f5f5}.content-text[data-v-8e23e859]{font-size:13px;color:#333}.read-text[data-v-8e23e859]{color:#999}.read-dot[data-v-8e23e859]{position:absolute;top:16px;right:16px;width:6px;height:6px;border-radius:50%;background-color:#d03050}.empty-state[data-v-8e23e859]{padding:40px 0;display:flex;justify-content:center}.panel-footer[data-v-8e23e859]{border-top:1px solid var(--n-border-color);padding:8px 0;text-align:center}.multi-tabs-container[data-v-52b1d913]{height:40px;background:var(--v321f3de8);border-bottom:1px solid var(--a6e78628);position:sticky;top:0;z-index:99;display:flex;align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tabs-scroll-wrapper[data-v-52b1d913]{flex:1;overflow:hidden;padding:4px 14px 2px}[data-v-52b1d913] .n-tabs .n-tabs-tab{border-bottom:none!important;-webkit-user-select:none;user-select:none;border-radius:10px!important;padding:0 12px!important;height:30px!important;line-height:30px!important;font-size:12px;background:var(--v13bedaee);border:1px solid var(--e85fac0c);margin-right:6px;transition:all .2s ease}[data-v-52b1d913] .n-tabs .n-tabs-tab:hover{background:var(--v69a35c84);transform:translateY(-1px)}[data-v-52b1d913] .n-tabs.n-tabs--card-type .n-tabs-tab.n-tabs-tab--active{background:var(--e6b12100)!important;color:var(--v7250d79a)!important;border-color:var(--v6e825c40)!important;box-shadow:var(--v194b3071)}[data-v-52b1d913] .n-tabs .n-tabs-tab .n-tabs-tab__close{opacity:.62}.app-shell[data-v-c62880ef]{background:var(--v7f69cd76)}.custom-sider[data-v-c62880ef]{box-shadow:none;z-index:100;background:var(--v7a766dac)}.sider-shell[data-v-c62880ef]{height:100%;display:flex;flex-direction:column;min-height:0}.menu-scroll[data-v-c62880ef]{flex:1;min-height:0;padding-bottom:14px}.main-header[data-v-c62880ef]{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--v08aafe5f);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:100}.header-left[data-v-c62880ef]{display:flex;align-items:center;gap:12px;min-width:0}.header-right[data-v-c62880ef]{display:flex;align-items:center}.header-tools[data-v-c62880ef]{padding:6px 8px;border-radius:999px;background:var(--v900e0c2e);border:1px solid var(--v7683814a);box-shadow:var(--v45d4bb71)}.collapse-btn[data-v-c62880ef]{width:38px;height:38px;border-radius:12px;background:var(--v8eb570a2);border:1px solid var(--v7683814a)}.collapse-btn[data-v-c62880ef]:hover{color:var(--d5cdcf94);background:var(--v56294874)}.header-tool-btn[data-v-c62880ef]{color:var(--b3911b8a)}.app-download-btn[data-v-c62880ef]{min-width:88px;height:32px;border-radius:999px;color:var(--b3911b8a);font-weight:500}.app-download-btn[data-v-c62880ef]:hover{color:var(--v5f582dd9);background:var(--v56294874)}.app-download-label[data-v-c62880ef]{line-height:1;white-space:nowrap}.page-breadcrumb[data-v-c62880ef]{min-width:0}.page-breadcrumb[data-v-c62880ef] .n-breadcrumb-item__link,.page-breadcrumb[data-v-c62880ef] .n-breadcrumb-item__separator{font-size:13px;color:var(--v1acd2380)}.user-info[data-v-c62880ef]{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 8px 4px 6px;border-radius:999px;transition:all .3s ease}.user-info[data-v-c62880ef]:hover{background:var(--v492b9908)}.user-copy[data-v-c62880ef]{display:flex;flex-direction:column;min-width:0;line-height:1.1}.nickname[data-v-c62880ef]{font-weight:500;color:var(--v5c7a3b4c)}.user-caption[data-v-c62880ef]{margin-top:2px;font-size:11px;color:var(--v1acd2380)}.logo[data-v-c62880ef]{min-height:78px;display:flex;align-items:center;padding:16px 16px 12px;gap:12px}.logo--collapsed[data-v-c62880ef]{justify-content:center;padding-inline:0}.logo-mark[data-v-c62880ef]{width:40px;height:40px;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--ba267400);border:1px solid var(--v77302ce9);box-shadow:0 10px 20px #2f9e652e}.logo-mark__image[data-v-c62880ef]{width:100%;height:100%;object-fit:contain;display:block}.logo-copy[data-v-c62880ef]{display:flex;flex-direction:column;min-width:0;gap:2px}.logo-text[data-v-c62880ef]{font-size:15px;font-weight:700;line-height:1.25;color:var(--v5c7a3b4c);letter-spacing:.01em}.logo-subtext[data-v-c62880ef]{font-size:11px;line-height:1.3;color:var(--v03768ea0)}.menu-section-title[data-v-c62880ef]{padding:0 18px 8px;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--v48aae6c8)}.custom-sider[data-v-c62880ef] .n-menu{padding:0 10px}.custom-sider[data-v-c62880ef] .n-menu-item-content,.custom-sider[data-v-c62880ef] .n-submenu .n-menu-item-content-header{margin:4px 0;border-radius:14px;transition:all .22s ease}.custom-sider[data-v-c62880ef] .n-menu-item-content:before,.custom-sider[data-v-c62880ef] .n-submenu .n-menu-item-content-header:before{left:0;right:0;border-radius:14px}.custom-sider[data-v-c62880ef] .n-menu-item-content:hover,.custom-sider[data-v-c62880ef] .n-submenu .n-menu-item-content-header:hover{transform:translate(2px)}.custom-sider[data-v-c62880ef] .n-menu-item-content.n-menu-item-content--selected{color:var(--v5f582dd9);font-weight:600;box-shadow:var(--v03ee37b8)}.custom-sider[data-v-c62880ef] .n-menu-item-content.n-menu-item-content--selected:before{background:var(--v6cc6a68b)}.custom-sider[data-v-c62880ef] .n-menu-item-content__icon{color:var(--v32a1236f)}.custom-sider[data-v-c62880ef] .n-menu-item-content.n-menu-item-content--selected .n-menu-item-content__icon,.custom-sider[data-v-c62880ef] .n-menu-item-content.n-menu-item-content--selected .n-menu-item-content-header{color:var(--v5f582dd9)}.custom-sider[data-v-c62880ef] .n-menu-item-content-header a{color:inherit;text-decoration:none}.custom-sider[data-v-c62880ef] .n-badge{margin-right:8px}.custom-header[data-v-c62880ef]{height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#fff}.user-name[data-v-c62880ef]{font-weight:500;color:#333}.main-content[data-v-c62880ef]{background:var(--v64285a18)}.page-view-shell[data-v-c62880ef]{width:100%;max-width:none;margin:0;box-sizing:border-box;flex:1;height:100%;min-height:0;display:flex;flex-direction:column}.page-view-shell--bleed[data-v-c62880ef]{overflow:hidden;flex:1;min-height:0}.header-right[data-v-c62880ef] .notification-badge .n-button{color:var(--b3911b8a)}.main-content--full-bleed[data-v-c62880ef]{overflow:hidden!important}.fade-enter-active[data-v-c62880ef],.fade-leave-active[data-v-c62880ef]{transition:opacity .3s ease}.fade-enter-from[data-v-c62880ef],.fade-leave-to[data-v-c62880ef]{opacity:0}.fade-slide-enter-active[data-v-c62880ef],.fade-slide-leave-active[data-v-c62880ef]{transition:all .3s ease}.fade-slide-enter-from[data-v-c62880ef]{opacity:0;transform:translate(10px)}.fade-slide-leave-to[data-v-c62880ef]{opacity:0;transform:translate(-10px)}@media (max-width: 960px){.page-breadcrumb[data-v-c62880ef],.user-copy[data-v-c62880ef]{display:none}}@media (max-width: 720px){.app-download-btn[data-v-c62880ef]{min-width:32px;width:32px;padding:0}.app-download-label[data-v-c62880ef]{display:none}}.home-container[data-v-9e377871]{max-width:800px}
