:root{--ink:#10243e;--muted:#64758a;--line:#d9e4ef;--canvas:#f2f6fb;--panel:#fff;--forest:#123f73;--green:#155fa8;--green-soft:#e8f1fb;--navy:#071d38;--xjtu-blue:#005bac;--amber:#9c640b;--amber-soft:#fff2d8;--red:#ae4339;--red-soft:#fbe9e7;--attention:#7f1d2d;--attention-soft:#f7e8eb;--attention-border:#d8a0aa;--blue:#2d6fae;--blue-soft:#e8f2fb;--purple:#76589b;--purple-soft:#f0ebf7;--shadow:0 14px 40px #10366014}*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}body{min-width:320px;margin:0}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #155fa838}.app-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.app-loading h1{margin:22px 0 8px;font-size:clamp(25px,4vw,36px)}.app-loading p{color:var(--muted);margin:0 0 24px}.login-page{grid-template-columns:minmax(0,1.52fr) minmax(390px,.68fr);min-height:100vh;display:grid}.login-intro{color:#fff;isolation:isolate;flex-direction:column;min-height:100vh;padding:clamp(28px,3.8vw,58px);display:flex;position:relative;overflow:hidden}.login-intro:before{content:"";z-index:-2;background:linear-gradient(90deg,#041426f5 0%,#041b2eba 48%,#03223642 100%),linear-gradient(#0000 48%,#031625b8 100%),url(/zhang-lab-innovation-cell-death.png) 50%/cover no-repeat;position:absolute;inset:0}.login-intro:after{content:"";opacity:.55;z-index:-1;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#00000080,#0000 72%);mask-image:linear-gradient(#00000080,#0000 72%)}.login-institution{align-items:center;gap:18px;width:fit-content;display:flex}.innovation-lockup{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #ffffffb8;border-radius:12px;align-items:center;height:54px;padding:8px 12px;display:flex}.innovation-lockup img{object-fit:contain;width:auto;height:38px;display:block}.school-lockup{border-left:1px solid #ffffff57;padding-left:18px}.school-lockup span,.school-lockup strong,.school-lockup small{display:block}.school-lockup span{color:#ffffffad;letter-spacing:.16em;font-size:9px}.school-lockup strong{letter-spacing:.08em;margin:2px 0;font-family:Georgia,Songti SC,serif;font-size:18px}.school-lockup small{color:#ffffff8c;letter-spacing:.09em;font-size:7px}.login-copy{max-width:710px;margin:auto 0;padding:80px 0 58px}.login-copy .eyebrow{color:#8cc8ff;letter-spacing:.23em;font-size:10px}.login-copy h1{letter-spacing:-.075em;margin:22px 0 20px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(58px,7.5vw,112px);font-weight:260;line-height:.9}.login-copy h1 span{font-weight:760}.login-copy h2{letter-spacing:.04em;margin:0 0 18px;font-family:Georgia,Songti SC,serif;font-size:clamp(23px,2.4vw,34px);font-weight:500}.login-copy p{color:#e7f2f6bd;max-width:570px;margin:0;font-size:14px;line-height:1.85}.login-feature-grid{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#051b2d47;border:1px solid #ffffff24;border-radius:14px;grid-template-columns:repeat(3,1fr);max-width:610px;display:grid;overflow:hidden}.login-feature-grid div{border-left:1px solid #ffffff1f;padding:14px 18px}.login-feature-grid div:first-child{border-left:0}.login-feature-grid span,.login-feature-grid strong{display:block}.login-feature-grid span{color:#82c1fb;letter-spacing:.18em;margin-bottom:5px;font-size:8px}.login-feature-grid strong{letter-spacing:.04em;font-size:11px}.login-panel{background:radial-gradient(circle at 100% 0,#005bac14,#0000 28%),#f7f9fa;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:clamp(24px,4.3vw,64px);display:flex}.login-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:100%;max-width:430px;padding:clamp(26px,3.5vw,40px);box-shadow:0 30px 80px #162e421f}.login-card-heading{margin-bottom:26px}.login-card-brand{align-items:center;gap:11px;margin-bottom:30px;display:flex}.login-card-brand>span:last-child,.login-card-brand strong,.login-card-brand small{display:block}.login-card-brand strong{color:var(--navy);letter-spacing:.05em;font-size:14px}.login-card-brand small{color:#87939d;letter-spacing:.1em;margin-top:2px;font-size:8px}.login-card-heading h2{margin:7px 0 9px;font-family:Georgia,Songti SC,serif;font-size:31px;font-weight:600}.login-card-heading p,.login-help{color:var(--muted);margin:0;font-size:11px}.password-field{display:block;position:relative}.password-field input{width:100%;padding-right:62px}.password-field button{color:var(--green);background:0 0;border:0;padding:7px;font-size:11px;font-weight:750;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.login-error{background:var(--red-soft);color:var(--red);border:1px solid #efcbc7;border-radius:10px;margin:4px 0 14px;padding:10px 12px;font-size:12px}.login-submit{margin-top:6px}.login-help{text-align:center;margin-top:18px;line-height:1.6}.login-panel-footnote{color:#8e99a3;letter-spacing:.16em;text-transform:uppercase;margin:20px 0 0;font-size:8px}.loading-mark,.brand-mark{color:#fff;background:radial-gradient(circle at 68% 30%,#ffffff3d 0 7%,#0000 8%),linear-gradient(145deg,#1976c7,#0a3564);border:1px solid #ffffff2e;border-radius:16px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-family:Georgia,Songti SC,serif;font-size:23px;display:flex;position:relative}.loading-mark{border-radius:22px;width:72px;height:72px;font-size:33px;box-shadow:0 16px 40px #12477d40}.brand-mark.small{border-radius:12px;width:40px;height:40px;font-size:18px}.zhang-logo{isolation:isolate;overflow:hidden}.zhang-logo-z{letter-spacing:-.12em;font-family:Georgia,Times New Roman,serif;font-size:27px;font-style:italic;font-weight:650;line-height:1;transform:translate(-2px,-1px)}.zhang-logo-y{color:#bfe3ff;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:850;line-height:1;position:absolute;bottom:8px;right:7px}.zhang-logo i{border:1.5px solid #c1e3ffd1;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.zhang-logo.small .zhang-logo-z{font-size:23px}.zhang-logo.small .zhang-logo-y{font-size:8px;bottom:7px;right:6px}.zhang-logo.small i{width:6px;height:6px;top:5px;right:5px}.app-shell{min-height:100vh}.sidebar{color:#fff;z-index:30;background:radial-gradient(circle at 12% 1%,#287cca4d,#0000 27%),linear-gradient(#0a315e 0%,#071d38 100%);flex-direction:column;width:232px;padding:25px 16px 20px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{align-items:center;gap:13px;padding:0 7px 25px;display:flex}.brand strong,.mobile-brand strong{letter-spacing:.03em;font-size:16px;display:block}.brand strong{white-space:nowrap;font-size:14px}.mobile-brand strong{white-space:nowrap;font-size:13px}.brand>div>span,.mobile-brand>div>span{color:#98b0bd;margin-top:3px;font-size:11px;display:block}.desktop-nav{gap:5px;display:grid}.nav-button{color:#b8c9d2;text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex;position:relative}.nav-button:hover,.nav-button.active{color:#fff;background:#ffffff16}.nav-button.active:before{content:"";background:#7bc0ff;border-radius:999px;width:4px;height:22px;position:absolute;left:-16px}.nav-mark{border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:27px;height:27px;font-size:12px;display:flex}.nav-badge{color:#1f342b;text-align:center;background:#e7aa4a;border-radius:999px;min-width:22px;margin-left:auto;padding:3px 7px;font-size:10px;font-weight:750}.nav-badge.danger{background:var(--attention);color:#fff}.sidebar-note{background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;align-items:flex-start;gap:10px;margin-top:auto;padding:12px;display:flex}.sidebar-note strong{font-size:12px;display:block}.sidebar-note p{color:#9fb7d0;margin:4px 0 0;font-size:10px}.live-dot{background:#78c4ff;border:3px solid #78c4ff2e;border-radius:50%;width:11px;height:11px;margin-top:2px}.main-column{min-height:100vh;margin-left:232px}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#f2f6fbe6;border-bottom:1px solid #d2e0efe6;align-items:center;height:68px;padding:0 32px;display:flex;position:sticky;top:0}.mobile-brand{align-items:center;gap:10px;display:none}.topbar-spacer{flex:1}.notice-button{border:1px solid var(--line);color:#4c5d54;background:#fff;border-radius:12px;margin-right:13px;padding:10px 13px;position:relative}.notice-button span{background:var(--attention);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;font-size:9px;font-weight:750;display:flex;position:absolute;top:-7px;right:-7px}.identity-picker{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:6px 9px;display:flex;position:relative}.identity-profile{text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.identity-profile:hover .identity-copy strong{color:var(--green)}.avatar{background:var(--green-soft);color:var(--green);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:750;display:flex}.identity-copy strong,.identity-copy small{display:block}.identity-copy strong{font-size:12px}.identity-copy small{color:var(--muted);margin-top:2px;font-size:9px}.logout-button{color:#627168;background:#f2f5f3;border:0;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:700}.logout-button:hover{background:var(--red-soft);color:var(--red)}.content{max-width:1480px;margin:0 auto;padding:34px 36px 64px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.eyebrow,.section-kicker{color:#547392;letter-spacing:.18em;font-size:10px;font-weight:800;display:block}.page-heading h1{letter-spacing:-.035em;margin:6px 0;font-family:Georgia,Songti SC,serif;font-size:clamp(29px,2.8vw,41px);font-weight:600}.page-heading p{color:var(--muted);margin:0;font-size:14px}.button{border:1px solid var(--line);background:#fff;border-radius:11px;min-height:42px;padding:10px 18px;font-size:13px;font-weight:700}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{color:#fff;background:linear-gradient(135deg,#176ab5,#0a4a8a);border-color:#155fa8;box-shadow:0 8px 20px #155fa833}.button.secondary{background:var(--green-soft);color:var(--forest);border-color:#c7dfd3}.button.ghost{color:#506057;background:#f2f5f3}.button.danger{background:var(--red-soft);color:var(--red);border-color:#efcbc7}.button.full{width:100%}.button:disabled{cursor:wait;opacity:.6}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title-row h2{margin:4px 0 0;font-family:Georgia,Songti SC,serif;font-size:22px;font-weight:600}.workflow-section{color:#fff;background:linear-gradient(105deg,#0d4984fa,#1463aae8),linear-gradient(90deg,#0b3f76,#176db7);border:1px solid #0f508f4d;border-radius:18px;margin-bottom:18px;padding:20px;position:relative;overflow:hidden;box-shadow:0 16px 38px #0c396829}.workflow-section:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.workflow-section .section-title-row,.workflow-grid{z-index:1;position:relative}.workflow-section .section-kicker{color:#9ed1ff}.workflow-section h2{color:#fff}.workflow-section .text-button{color:#d8ecff}.workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.workflow-card{color:#fff;text-align:left;background:#ffffff1a;border:1px solid #ffffff29;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:86px;padding:14px;display:grid}.workflow-card:hover{background:#ffffff29;transform:translateY(-1px)}.workflow-card.attention{background:linear-gradient(135deg,#7f1d2df5,#5c1422f0);border-color:#eeb2bcbf;box-shadow:0 8px 24px #460c1842}.workflow-card.attention:hover{background:linear-gradient(135deg,#8c2437,#681727)}.workflow-card.attention .workflow-icon{background:#ffffff1f;border-color:#ffdee44d}.workflow-card.attention span:nth-child(2) small{color:#f3cdd4}.workflow-icon{background:#ffffff24;border:1px solid #ffffff29;border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:800;display:flex}.workflow-card span:nth-child(2) small,.workflow-card span:nth-child(2) strong{display:block}.workflow-card span:nth-child(2) small{color:#e1effcb8;margin-bottom:5px;font-size:9px}.workflow-card span:nth-child(2) strong{font-size:16px}.workflow-card>b{font-family:Georgia,serif;font-size:32px;font-weight:500}.dashboard-announcements{margin-bottom:20px}.announcement-preview-list{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.announcement-preview{border:0;border-left:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:8px 16px;display:grid}.announcement-preview:first-child{border-left:0;padding-left:0}.announcement-preview:last-child{padding-right:0}.announcement-preview:hover strong{color:var(--green)}.announcement-preview-mark{background:var(--blue-soft);color:var(--blue);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:flex}.announcement-preview.important .announcement-preview-mark{background:var(--red-soft);color:var(--red)}.announcement-preview strong,.announcement-preview small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.announcement-preview strong{font-size:12px}.announcement-preview small{color:var(--muted);margin-top:4px;font-size:9px}.announcement-preview b{background:var(--red-soft);color:var(--red);border-radius:999px;padding:4px 7px;font-size:9px}.data-title{margin-top:4px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:15px;min-height:132px;padding:18px;display:grid;position:relative;box-shadow:0 5px 18px #102a3d09}.stat-card:before{background:var(--green);content:"";border-radius:999px;width:42px;height:5px;position:absolute;top:0;left:18px}.stat-card.amber:before{background:#df9d32}.stat-card.red:before{background:var(--attention)}.stat-card.blue:before{background:#5289ba}.stat-card.purple:before{background:#8b6ab1}.stat-label{color:#596a61;font-size:12px;font-weight:650}.stat-card>strong{margin:8px 0 6px;font-family:Georgia,serif;font-size:36px;font-weight:600;line-height:1}.stat-card small{color:#8a958f;font-size:10px}.stat-arrow{color:#a5afa9;font-size:18px;position:absolute;top:17px;right:18px}.quick-actions{grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0 18px;display:grid}.quick-actions>button{border:1px solid var(--line);text-align:left;background:#ffffffb8;border-radius:13px;align-items:center;gap:13px;padding:11px 12px;display:flex}.quick-actions>button:hover{background:#fff;box-shadow:0 9px 24px #19392a0f}.quick-mark{border-radius:12px;flex:none;justify-content:center;align-items:center;width:39px;height:39px;font-weight:800;display:flex}.quick-mark.blue{background:var(--blue-soft);color:var(--blue)}.quick-mark.green{background:var(--green-soft);color:var(--green)}.quick-mark.amber{background:var(--amber-soft);color:var(--amber)}.quick-mark.purple{background:var(--purple-soft);color:var(--purple)}.quick-mark.coral{color:#b6533f;background:#fbece6}.quick-actions strong,.quick-actions small{display:block}.quick-actions strong{font-size:12px}.quick-actions small{color:var(--muted);margin-top:3px;font-size:9px}.dashboard-columns{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:20px;margin-bottom:20px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 5px 18px #102a3d09}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.panel-heading h2,.panel-heading h3{margin:4px 0 0;font-family:Georgia,Songti SC,serif;font-size:22px;font-weight:600}.panel-heading.compact{margin-top:26px}.panel-heading.compact h3{font-family:inherit;font-size:15px}.text-button{color:var(--green);background:0 0;border:0;padding:8px 0;font-size:11px;font-weight:700}.announcement-summary{color:#fff;background:radial-gradient(circle at 88% 20%,#6ab2f02e,#0000 28%),linear-gradient(110deg,#0a3b70,#155e9f);border-radius:17px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:18px 20px;display:flex}.announcement-summary>div{align-items:center;gap:12px;display:flex}.announcement-summary-mark{background:#ffffff21;border:1px solid #ffffff2e;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:800;display:flex}.announcement-summary strong,.announcement-summary small{display:block}.announcement-summary strong{font-size:15px}.announcement-summary small{color:#e1effcb3;margin-top:4px;font-size:9px}.announcement-summary p{color:#e6f1fbbf;max-width:510px;margin:0;font-size:11px;line-height:1.7}.announcement-list{gap:12px;display:grid}.announcement-card{border:1px solid var(--line);border-left:4px solid var(--blue);background:#fff;border-radius:15px;padding:20px;box-shadow:0 6px 20px #1036600b}.announcement-card.important{border-left-color:var(--red)}.announcement-card.inactive{opacity:.7;background:#f7f9fb}.announcement-card-top,.announcement-card footer{justify-content:space-between;align-items:center;display:flex}.announcement-card-top time,.announcement-card footer{color:var(--muted);font-size:10px}.announcement-tags{gap:6px;display:flex}.announcement-tags span{border-radius:999px;padding:4px 8px;font-size:9px;font-weight:750}.pin-tag{background:var(--blue-soft);color:var(--blue)}.important-tag{background:var(--red-soft);color:var(--red)}.inactive-tag{color:#667789;background:#e9edf2}.announcement-card h2{margin:14px 0 8px;font-family:Georgia,Songti SC,serif;font-size:22px}.announcement-card>p{color:#40546b;white-space:pre-wrap;margin:0 0 16px;font-size:13px;line-height:1.85}.announcement-card footer{border-top:1px solid #edf2f7;padding-top:13px}.announcement-actions{gap:8px;display:flex}.announcement-actions button{color:var(--green);background:#eff4f9;border:0;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:700}.announcement-actions button.danger-text{background:var(--red-soft);color:var(--red)}.announcement-pin-field{align-self:end}.personal-layout{grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr);align-items:start;gap:20px;display:grid}.personal-profile-card{color:#fff;background:radial-gradient(circle at 100% 0,#64b1f338,#0000 32%),linear-gradient(145deg,#0a3768,#0d4f8c);border-radius:18px;padding:24px;position:relative;overflow:hidden;box-shadow:0 16px 36px #0b366329}.personal-profile-card:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#0000,#000);mask-image:linear-gradient(135deg,#0000,#000)}.personal-profile-card>*{z-index:1;position:relative}.personal-avatar{background:#ffffff24;border:1px solid #ffffff2e;border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:18px;font-family:Georgia,Songti SC,serif;font-size:28px;display:flex}.personal-profile-card .section-kicker{color:#9ed1ff}.personal-profile-card h2{margin:6px 0 4px;font-family:Georgia,Songti SC,serif;font-size:28px}.personal-profile-card>div:nth-child(2)>p{color:#e4f0fbb8;margin:0;font-size:12px}.personal-profile-card dl{border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;margin:22px 0 15px;padding:8px 0}.personal-profile-card dl>div{justify-content:space-between;align-items:center;padding:9px 0;display:flex}.personal-profile-card dt{color:#e0effca8;font-size:10px}.personal-profile-card dd{margin:0;font-size:11px;font-weight:700}.personal-profile-card .account-status.active{color:#c7e8ff;background:#8fd2ff29}.personal-profile-note{color:#dfeefaa6;margin:0;font-size:10px;line-height:1.7}.password-settings{padding:24px}.password-intro{color:var(--muted);margin:-4px 0 20px;font-size:12px;line-height:1.75}.password-visibility{color:var(--muted);align-items:center;gap:7px;margin:0 0 15px;font-size:10px;display:flex}.password-visibility input{width:15px;height:15px}.password-success{color:#175f9e;background:#e7f3ff;border:1px solid #c5def5;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:11px}.password-security-note{color:var(--muted);border-top:1px solid #edf2f7;margin:18px 0 0;padding-top:13px;font-size:10px;line-height:1.65}.alert-list,.order-compact-list,.activity-list{display:grid}.alert-row,.order-compact{text-align:left;background:0 0;border:0;border-top:1px solid #edf1ee;align-items:center;gap:12px;width:100%;padding:13px 0;display:flex}.category-icon{background:var(--green-soft);color:var(--green);border-radius:11px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:flex}.category-icon.抗体{background:var(--purple-soft);color:var(--purple)}.category-icon.培养基{background:var(--blue-soft);color:var(--blue)}.category-icon.血清{background:var(--red-soft);color:var(--red)}.category-icon.实验耗材{background:var(--amber-soft);color:var(--amber)}.alert-main,.order-compact-main,.activity-main{flex:1;min-width:0}.alert-main strong,.alert-main small,.order-compact-main strong,.order-compact-main small,.activity-main strong,.activity-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.alert-main strong,.order-compact-main strong{font-size:12px}.alert-main small,.order-compact-main small,.activity-main small{color:var(--muted);margin-top:4px;font-size:9px}.status,.purchase-status,.category-pill{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:750;display:inline-flex}.status.normal,.purchase-status.received{background:var(--green-soft);color:var(--green)}.purchase-status.approved,.purchase-status.ordered{background:var(--amber-soft);color:var(--amber)}.status.low,.purchase-status.pending_review{background:var(--attention-soft);color:var(--attention)}.status.out,.purchase-status.rejected,.purchase-status.cancelled{background:var(--red-soft);color:var(--red)}.status.unverified,.purchase-status.approved{background:var(--blue-soft);color:var(--blue)}.purchase-status.ordered{background:var(--purple-soft);color:var(--purple)}.category-pill{color:#526158;background:#edf2ef}.category-pill.light{color:#d9eee5;background:#ffffff24}.stock-number{color:#394a42;text-align:right;min-width:50px;font-size:16px;font-weight:750}.stock-number small{color:var(--muted);margin-left:3px;font-size:9px}.order-compact{position:relative}.order-line{background:var(--attention);border-radius:999px;width:3px;height:30px}.activity-row{border-top:1px solid #edf1ee;grid-template-columns:34px minmax(0,1fr) auto 60px;align-items:center;gap:12px;min-height:56px;padding:10px 0;display:grid}.activity-row.detailed{grid-template-columns:34px minmax(0,1fr) auto auto 70px}.activity-icon{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:flex}.activity-icon.positive{background:var(--green-soft);color:var(--green)}.activity-icon.negative{background:var(--red-soft);color:var(--red)}.activity-main strong{font-size:11px}.activity-delta{font-size:12px;font-weight:800}.activity-delta.positive{color:var(--green)}.activity-delta.negative{color:var(--red)}.activity-balance{color:var(--muted);font-size:10px}.activity-row time{color:#97a19b;text-align:right;font-size:9px}.toolbar{align-items:center;gap:20px;padding:12px;display:flex}.search-field{background:#f5f8f6;border:1px solid #e2e9e5;border-radius:11px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field span{color:#728078;font-size:22px}.search-field input{background:0 0;border:0;outline:0;width:100%;height:42px}.filter-tabs,.filter-bar,.category-tabs,.segmented{gap:5px;display:flex}.filter-tabs,.segmented{background:#f0f4f2;border-radius:10px;padding:4px}.filter-tabs button,.filter-bar button,.category-tabs button,.segmented button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:700}.filter-tabs button.active,.segmented button.active{color:var(--forest);background:#fff;box-shadow:0 3px 10px #19392a14}.category-tabs,.filter-bar{flex-wrap:wrap;margin:14px 0}.category-tabs button,.filter-bar button{background:#e8eeeb;border-radius:999px;padding:8px 14px}.category-tabs button.active,.filter-bar button.active{background:var(--forest);color:#fff}.inventory-panel{padding:0;overflow:hidden}.inventory-head,.inventory-row{grid-template-columns:minmax(260px,1.7fr) .55fr minmax(150px,1fr) .55fr .65fr;align-items:center;gap:16px;padding:0 20px;display:grid}.inventory-head{color:#7f8b84;letter-spacing:.06em;text-transform:uppercase;background:#f7f9f8;height:44px;font-size:9px;font-weight:750}.inventory-row{text-align:left;background:#fff;border:0;border-top:1px solid #edf1ee;width:100%;min-height:68px}.inventory-row:hover{background:#fbfdfc}.inventory-name{align-items:center;gap:12px;min-width:0;display:flex}.inventory-name>span:last-child{min-width:0}.inventory-name strong,.inventory-name small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inventory-name strong{font-size:12px}.inventory-name small,.inventory-location{color:var(--muted);margin-top:4px;font-size:9px}.stock-table-value{font-size:16px;font-weight:750}.stock-table-value small{color:var(--muted);margin-left:4px;font-size:9px}.stock-table-value.unverified small{color:var(--blue);font-size:10px;font-weight:750}.order-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.order-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:17px;padding:20px;box-shadow:0 5px 18px #19392a09}.order-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.order-card-top{justify-content:space-between;align-items:center;display:flex}.order-card h3{margin:18px 0 5px;font-size:15px}.order-card>p{color:var(--muted);margin:0 0 18px;font-size:10px}.order-card dl{grid-template-columns:repeat(2,1fr);gap:10px;margin:0;display:grid}.order-card dl div{background:#f7f9f8;border-radius:10px;padding:10px}.order-card dt{color:var(--muted);font-size:8px}.order-card dd{margin:4px 0 0;font-size:10px;font-weight:700}.order-card-footer{border-top:1px solid #edf1ee;justify-content:space-between;margin-top:16px;padding-top:13px;font-size:9px;display:flex}.order-card-footer span{color:var(--muted)}.order-card-footer strong{color:var(--green)}.activity-page{padding-top:8px;padding-bottom:8px}.permission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.permission-grid>div{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:132px;padding:18px}.permission-grid strong{margin:12px 0 5px;font-size:13px;display:block}.permission-grid p{color:var(--muted);margin:0;font-size:10px;line-height:1.65}.permission-mark{background:var(--green-soft);color:var(--green);border-radius:8px;padding:6px 9px;font-size:9px;font-weight:800;display:inline-flex}.permission-mark.reviewer{background:var(--blue-soft);color:var(--blue)}.permission-mark.member{color:#65736b;background:#edf1ef}.members-panel{padding:0;overflow:hidden}.member-filter-bar{color:var(--muted);background:#eef4f1;border:1px solid #dce7e1;border-radius:12px;justify-content:space-between;align-items:center;margin:0 0 12px;padding:9px 12px;font-size:9px;display:flex}.member-filter-bar button{color:var(--green);background:#fff;border:1px solid #d8e2dd;border-radius:8px;padding:6px 9px;font-size:9px;font-weight:750}.members-head,.member-row{grid-template-columns:minmax(190px,1.45fr) minmax(120px,.9fr) minmax(110px,.8fr) minmax(100px,.7fr) minmax(90px,.65fr) minmax(210px,1.25fr);align-items:center;gap:14px;padding:0 18px;display:grid}.members-head{color:#7f8b84;background:#f7f9f8;height:44px;font-size:9px;font-weight:750}.member-row{border-top:1px solid #edf1ee;min-height:72px}.member-row.disabled{color:#87928c;background:#fafbfa}.member-name-cell{align-items:center;gap:10px;min-width:0;display:flex}.member-avatar{background:var(--green-soft);color:var(--green);border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:flex}.member-name-cell strong,.member-name-cell small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.member-name-cell strong{font-size:11px}.member-name-cell strong em{background:var(--green-soft);color:var(--green);border-radius:999px;margin-left:6px;padding:3px 6px;font-size:8px;font-style:normal}.member-name-cell small,.member-title,.member-login{color:var(--muted);font-size:9px}.member-name-cell small{margin-top:4px}.role-pill,.account-status{border-radius:999px;padding:5px 8px;font-size:8px;font-weight:750;display:inline-flex}.role-pill.admin{background:var(--green-soft);color:var(--green)}.role-pill.reviewer{background:var(--blue-soft);color:var(--blue)}.role-pill.member{color:#65736b;background:#edf1ef}.account-status.active{background:var(--green-soft);color:var(--green)}.account-status.inactive{background:var(--red-soft);color:var(--red)}.member-actions{flex-wrap:wrap;gap:5px;display:flex}.member-actions button{color:#53645b;background:#f0f4f2;border:0;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:700}.member-actions button:hover{background:var(--green-soft);color:var(--green)}.member-actions button.danger-text:hover{background:var(--red-soft);color:var(--red)}.form-note{background:#f2f7f4;border:1px solid #dce9e2;border-radius:11px;margin:2px 0 17px;padding:12px 14px}.form-note strong{font-size:10px}.form-note p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.6}.credential-card{background:#f4f8f6;border:1px solid #dce8e2;border-radius:14px;gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.credential-card>div{background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}.credential-card span{color:var(--muted);font-size:9px}.credential-card strong{text-align:right;word-break:break-all;font-size:13px}.credential-password{color:var(--forest);letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.credential-warning{color:var(--red);text-align:center;margin:12px 0 0;font-size:9px;line-height:1.6}.empty-state{color:var(--muted);text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;width:100%;min-height:180px;padding:24px;display:flex}.empty-state>span{background:var(--green-soft);color:var(--green);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:10px;display:flex}.empty-state strong{color:#506057;font-size:13px}.empty-state p{margin:5px 0 0;font-size:10px}.modal-backdrop{z-index:100;background:#091c1594;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.modal-sheet{background:#fff;border-radius:22px;width:100%;max-width:720px;max-height:calc(100vh - 56px);padding:28px;position:relative;overflow:auto;box-shadow:0 30px 90px #051c1352}.modal-close{color:#5c6862;z-index:2;background:#eff3f1;border:0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:flex;position:absolute;top:18px;right:18px}.modal-heading{border-bottom:1px solid #edf1ee;margin:-2px 0 22px;padding:0 48px 18px 0}.modal-heading h2{margin:5px 0;font-family:Georgia,Songti SC,serif;font-size:27px;font-weight:600}.modal-heading p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.segmented{margin-bottom:20px;overflow-x:auto}.form-grid{gap:14px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field{margin-bottom:14px;display:block}.form-field>span{color:#4e5d55;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.form-field input,.form-field select,.form-field textarea{background:#f7f9f8;border:1px solid #dce5e0;border-radius:10px;width:100%;padding:10px 12px}.form-field input,.form-field select{height:42px}.form-field textarea{resize:vertical;line-height:1.55}.selected-summary{background:#f0f6f3;border:1px solid #d9e8e1;border-radius:13px;align-items:center;gap:12px;margin:0 0 16px;padding:12px;display:flex}.selected-summary>span:nth-child(2){flex:1;min-width:0}.selected-summary strong,.selected-summary small{display:block}.selected-summary strong{font-size:12px}.selected-summary small{color:var(--muted);margin-top:4px;font-size:9px}.selected-summary b{font-size:16px}.detail-hero{color:#fff;background:radial-gradient(circle at 90% 5%,#ffffff21,#0000 25%),linear-gradient(140deg,#153f31,#1f7153);border-radius:17px;justify-content:space-between;align-items:flex-end;gap:20px;padding:24px;display:flex}.detail-hero h2{margin:12px 0 5px;font-family:Georgia,Songti SC,serif;font-size:27px}.detail-hero p{color:#c7ded4;margin:0;font-size:10px}.detail-stock{text-align:right}.detail-stock>small{color:#b9d4c8;font-size:9px;display:block}.detail-stock>strong{margin:3px 0 8px;font-family:Georgia,serif;font-size:37px;display:block}.detail-stock>strong span{margin-left:3px;font-family:inherit;font-size:11px}.detail-actions,.button-row{flex-wrap:wrap;gap:9px;margin:14px 0;display:flex}.detail-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;display:grid}.detail-grid>div{background:#f5f8f6;border:1px solid #e5ebe7;border-radius:12px;padding:12px}.detail-grid small,.detail-grid strong{display:block}.detail-grid small{color:var(--muted);font-size:8px}.detail-grid strong{margin-top:5px;font-size:10px}.detail-note{background:#fbf8ef;border-left:3px solid #d5a551;border-radius:8px;padding:12px 14px}.detail-note strong{font-size:10px}.detail-note p{color:#665e4b;margin:5px 0 0;font-size:10px;line-height:1.65}.order-detail-status{align-items:center;gap:8px;margin-bottom:15px;display:flex}.review-line,.action-hint{color:var(--muted);margin:12px 0;font-size:9px}.manager-actions{border-top:1px solid #edf1ee;margin-top:20px;padding-top:18px}.button-row .button{flex:1}.notice-list{max-height:52vh;margin-bottom:18px;display:grid;overflow:auto}.notice-row{border-bottom:1px solid #edf1ee;align-items:flex-start;gap:12px;padding:14px 4px;display:flex}.notice-row.unread{background:linear-gradient(90deg,#e7f3ed99,#0000)}.notice-dot{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px}.notice-dot.low_stock{background:#dca348}.notice-dot.out_of_stock{background:#ce5a50}.notice-row strong{font-size:11px;display:block}.notice-row p{color:#58675f;margin:5px 0;font-size:10px;line-height:1.55}.notice-row small{color:#99a39d;font-size:8px}.toast{color:#fff;z-index:200;background:#173f31;border:1px solid #ffffff24;border-radius:12px;max-width:calc(100vw - 40px);padding:12px 18px;font-size:12px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 14px 45px #081f1647}.button.compact{min-height:32px;padding:7px 10px;font-size:10px}.antibody-toolbar select,.history-toolbar select{background:#f5f8f6;border:1px solid #e2e9e5;border-radius:10px;min-height:42px;padding:0 12px}.antibody-panel,.history-panel{padding:0;overflow:hidden}.antibody-head,.antibody-row{grid-template-columns:minmax(290px,1.8fr) .55fr .7fr .55fr .6fr;align-items:center;gap:16px;padding:0 20px;display:grid}.antibody-head{color:#7f8b84;letter-spacing:.06em;background:#f7f9f8;height:44px;font-size:9px;font-weight:750}.antibody-row{text-align:left;background:#fff;border:0;border-top:1px solid #edf1ee;width:100%;min-height:70px}.antibody-row:hover{background:#fbfdfc}.antibody-name{align-items:center;gap:12px;min-width:0;display:flex}.antibody-name>span:last-child,.history-row>span{min-width:0}.antibody-name strong,.antibody-name small,.history-row strong,.history-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.antibody-name strong,.history-row strong{font-size:11px}.antibody-name small,.history-row small{color:var(--muted);margin-top:4px;font-size:9px}.antibody-volume strong{font-size:16px}.history-toolbar{grid-template-columns:minmax(260px,1fr) 170px 190px;align-items:center;gap:12px;padding:12px;display:grid}.history-summary{border-bottom:1px solid var(--line);background:#f7f9f8;justify-content:space-between;align-items:center;padding:13px 20px;display:flex}.history-summary span{font-size:11px;font-weight:750}.history-summary small{color:var(--muted);font-size:9px}.history-table-wrap{overflow-x:auto}.history-head,.history-row{grid-template-columns:145px minmax(230px,1.5fr) minmax(145px,.8fr) minmax(170px,1fr) 125px 90px;align-items:center;gap:14px;min-width:1050px;padding:0 20px;display:grid}.history-head{color:#7f8b84;background:#fbfcfb;height:42px;font-size:9px;font-weight:750}.history-row{border-top:1px solid #edf1ee;min-height:72px}.pagination{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:12px;padding:14px;display:flex}.pagination button{border:1px solid var(--line);background:#f1f5f3;border-radius:8px;padding:7px 12px;font-size:10px}.pagination button:disabled{cursor:default;opacity:.45}.pagination span{color:var(--muted);font-size:10px}.suggestion-anchor{position:relative}.matching-hint{color:var(--green);margin-top:5px;font-size:9px}.suggestion-panel{background:#f7faf8;border:1px solid #cfe0d7;border-radius:13px;margin:2px 0 16px;overflow:hidden}.suggestion-heading{background:#e8f3ed;justify-content:space-between;padding:11px 13px;display:flex}.suggestion-heading strong{font-size:10px}.suggestion-heading small{color:var(--muted);font-size:8px}.suggestion-item{text-align:left;background:#fff;border:0;border-top:1px solid #e4ece7;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:11px 13px;display:flex}.suggestion-item:hover{background:#fbfdfc}.suggestion-item span:first-child{min-width:0}.suggestion-item span:last-child{text-align:right;flex:0 0 155px}.suggestion-item strong,.suggestion-item small,.suggestion-item b{display:block}.suggestion-item strong,.suggestion-item b{font-size:10px}.suggestion-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;overflow:hidden}.suggestion-new{color:var(--green);background:0 0;border:0;border-top:1px solid #dce7e1;width:100%;padding:10px;font-size:9px;font-weight:700}.matched-record{background:var(--green-soft);color:var(--forest);border-radius:9px;justify-content:space-between;align-items:center;margin:2px 0 14px;padding:9px 11px;font-size:9px;display:flex}.matched-record button{color:var(--green);background:0 0;border:0;font-size:9px}.checkbox-field{background:#f5f8f6;border-radius:10px;flex-direction:row;align-items:center;gap:8px;min-height:46px;padding:0 12px;display:flex}.checkbox-field input{width:16px;height:16px}.mobile-nav,.mobile-more-backdrop,.mobile-more-panel{display:none}@media (max-width:1100px){.sidebar{width:210px}.main-column{margin-left:210px}.content{padding-left:26px;padding-right:26px}.stat-grid,.quick-actions{grid-template-columns:repeat(2,1fr)}.announcement-preview-list{grid-template-columns:1fr}.announcement-preview{border-left:0;border-top:1px solid var(--line);padding:11px 0}.announcement-preview:first-child{border-top:0}.dashboard-columns{grid-template-columns:1fr}.order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.members-panel{overflow-x:auto}.member-filter-bar{flex-direction:column;align-items:flex-start;gap:8px}.members-head,.member-row{min-width:1040px}.inventory-head,.inventory-row{grid-template-columns:minmax(230px,1.7fr) .6fr minmax(120px,1fr) .55fr}.inventory-head span:nth-child(2),.inventory-row>span:nth-child(2){display:none}.login-page{grid-template-columns:minmax(0,1fr) minmax(380px,.72fr)}.login-intro{padding:30px}.login-copy h1{font-size:clamp(54px,7vw,80px)}}@media (max-width:780px){.login-page{display:block}.login-intro{min-height:auto;padding:20px 18px 26px}.login-intro:before{background:linear-gradient(90deg,#041426f0,#041b2e85),linear-gradient(#0000 45%,#031625db),url(/zhang-lab-innovation-cell-death.png) 45%/cover no-repeat}.login-institution{gap:10px}.innovation-lockup{border-radius:10px;height:43px;padding:6px 9px}.innovation-lockup img{height:29px}.school-lockup{padding-left:10px}.school-lockup span,.school-lockup small{display:none}.school-lockup strong{font-size:15px}.login-copy{padding:56px 0 34px}.login-copy h1{margin:18px 0 14px;font-size:clamp(47px,15vw,66px)}.login-copy h2{font-size:21px}.login-copy p{font-size:12px;line-height:1.75}.login-feature-grid{border-radius:12px}.login-feature-grid div{padding:11px 10px}.login-feature-grid strong{font-size:10px}.login-panel{min-height:auto;padding:22px 14px 26px}.login-card{border-radius:20px;padding:24px 22px}.login-card-brand{margin-bottom:23px}.sidebar{display:none}.main-column{margin-left:0}.topbar{height:67px;padding:0 16px}.mobile-brand{display:flex}.identity-copy,.notice-button{display:none}.identity-picker{background:0 0;border:0;gap:7px;padding:0}.identity-profile{gap:0}.logout-button{border:1px solid var(--line);background:#fff}.content{padding:24px 16px 100px}.page-heading{flex-direction:column;align-items:flex-start;margin-bottom:20px}.page-heading h1{font-size:30px}.page-heading .button{width:100%}.stat-grid{gap:10px}.workflow-grid{grid-template-columns:1fr}.workflow-card{min-height:76px}.workflow-card>b{font-size:29px}.announcement-summary{flex-direction:column;align-items:flex-start;gap:14px}.announcement-summary p{max-width:none}.personal-layout{grid-template-columns:1fr}.stat-card{min-height:125px;padding:16px}.stat-card:before{left:16px}.stat-card>strong{font-size:32px}.quick-actions{gap:9px}.permission-grid{grid-template-columns:1fr}.permission-grid>div{min-height:0}.members-panel{box-shadow:none;background:0 0;border:0;overflow:visible}.members-head{display:none}.member-row{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:1fr auto;gap:10px;min-width:0;margin-bottom:10px;padding:14px}.member-name-cell,.member-actions{grid-column:1/-1}.member-title:before{color:#98a29c;content:"身份 · "}.member-login{text-align:right}.member-login:before{color:#98a29c;content:"登录 · "}.member-actions button{flex:1;min-height:34px}.quick-actions>button{gap:9px;padding:10px}.quick-mark{border-radius:10px;width:36px;height:36px}.panel{border-radius:15px;padding:16px}.toolbar{flex-direction:column;align-items:stretch}.history-toolbar{grid-template-columns:1fr}.antibody-panel{box-shadow:none;background:0 0;border:0;overflow:visible}.antibody-head{display:none}.antibody-row{border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:0;margin-bottom:10px;padding:14px}.antibody-name{grid-column:1/-1}.antibody-row>span:nth-child(2):before{color:#98a29c;content:"抗性/宿主 · "}.antibody-row>span:nth-child(3){text-align:right}.antibody-volume{grid-column:1}.antibody-row>span:last-child{text-align:right;grid-column:2}.history-summary{flex-direction:column;align-items:flex-start;gap:4px}.suggestion-heading,.suggestion-item{flex-direction:column;align-items:flex-start}.suggestion-item span:last-child{text-align:left;flex:auto}.category-tabs,.filter-bar{flex-wrap:nowrap;margin-left:-16px;margin-right:-16px;padding:0 16px 5px;overflow-x:auto}.category-tabs button,.filter-bar button{flex:none}.inventory-panel{box-shadow:none;background:0 0;border:0;overflow:visible}.inventory-head{display:none}.inventory-row{border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:0;margin-bottom:10px;padding:14px;display:grid}.inventory-row>span:nth-child(2){display:none}.inventory-location{grid-column:1/2;padding-left:50px}.stock-table-value{text-align:right;grid-area:1/2}.inventory-row>span:last-child{text-align:right;grid-area:2/2}.order-grid{grid-template-columns:1fr}.activity-row,.activity-row.detailed{grid-template-columns:30px minmax(0,1fr) auto;gap:9px}.activity-balance,.activity-row time{display:none}.mobile-nav{border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));z-index:40;background:#fffffff5;grid-template-columns:repeat(7,minmax(44px,1fr));align-items:flex-end;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.mobile-nav .nav-button{color:#75827b;text-align:center;flex-direction:column;gap:3px;padding:4px;font-size:9px}.mobile-nav .nav-button.active{color:var(--green);background:0 0}.mobile-nav .nav-button.active:before{display:none}.mobile-nav .nav-mark{border:0;font-size:12px}.mobile-nav .nav-badge{min-width:16px;padding:2px 4px;font-size:7px;position:absolute;top:0;right:7px}.mobile-create{background:var(--green);border:4px solid var(--canvas);color:#fff;border-radius:50%;justify-content:center;align-self:center;align-items:center;width:48px;height:48px;margin:-24px auto 0;font-size:25px;display:flex;box-shadow:0 8px 20px #155fa84d}.mobile-more-backdrop{bottom:0;z-index:35;background:#06182b3d;border:0;display:block;position:fixed;inset:0}.mobile-more-panel{border:1px solid var(--line);bottom:calc(76px + env(safe-area-inset-bottom));z-index:39;background:#fff;border-radius:18px;padding:15px;display:block;position:fixed;left:14px;right:14px;box-shadow:0 18px 48px #07254738}.mobile-more-panel>strong{margin-bottom:12px;font-family:Georgia,Songti SC,serif;font-size:17px;display:block}.mobile-more-panel>div{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.mobile-more-panel button{text-align:left;background:#f3f7fb;border:1px solid #e2ebf4;border-radius:11px;align-items:center;gap:9px;padding:10px;font-size:11px;font-weight:700;display:flex}.mobile-more-panel button span{background:var(--blue-soft);color:var(--blue);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.modal-backdrop{align-items:flex-end;padding:0}.modal-sheet{max-width:none;max-height:92vh;padding:22px 16px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.form-grid.two{grid-template-columns:1fr}.detail-hero{flex-direction:column;align-items:flex-start}.detail-stock{text-align:left;align-items:center;gap:10px;display:flex}.detail-stock>small{display:none}.detail-stock>strong{margin:0}.detail-grid{grid-template-columns:repeat(2,1fr)}.order-detail-grid{grid-template-columns:1fr 1fr}}@media (max-width:430px){.quick-actions{grid-template-columns:1fr 1fr}.quick-actions small,.alert-row .status{display:none}.stock-number{min-width:38px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
