*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-direction:column;min-height:100vh;display:flex}.login-header{color:#fff;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.login-logo{align-items:center;gap:12px;font-size:20px;font-weight:700;display:flex}.login-header-right{align-items:center;gap:24px;display:flex}.login-main{flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.login-box{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-title{text-align:center;margin-bottom:32px}.login-title h1{color:#1890ff;margin-bottom:8px;font-size:28px}.login-title p{color:#666;font-size:14px}.login-footer{text-align:center;color:#fffc;padding:16px;font-size:12px}.main-layout{min-height:100vh}.main-header{z-index:100;background:#fff;justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 24px;display:flex;box-shadow:0 1px 4px #0000001a}.header-left{align-items:center;gap:16px;display:flex}.header-logo{color:#1890ff;align-items:center;gap:12px;font-size:18px;font-weight:700;display:flex}.header-right{align-items:center;gap:24px;display:flex}.header-center{flex:1;min-width:300px;margin:0 24px}.announcement-scroll{background:#f0f7ff;border-radius:4px;align-items:center;height:32px;padding:8px 16px;display:flex;overflow:hidden}.announcement-content{white-space:nowrap;animation:20s linear infinite scroll-left;display:flex}.announcement-item{color:#1890ff;padding:0 24px;font-size:14px}@keyframes scroll-left{0%{transform:translate(100%)}to{transform:translate(-100%)}}.announcement-content:hover{animation-play-state:paused}.main-sider{z-index:100;background:#001529;flex-direction:column;height:100vh;transition:all .2s;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.main-sider .ant-menu{flex:1;overflow-y:auto;height:auto!important;margin:0!important;padding:0!important}.main-sider .ant-btn{background:#ffffff1a;border-radius:0;width:100%;height:40px;transition:all .2s;margin:0!important}.main-sider .ant-btn:hover{color:#fff!important;background:#fff3!important}.main-content-wrapper{background:#f0f2f5;width:100%;min-height:100vh;margin-left:220px;transition:margin-left .2s;display:flex}.main-layout .ant-layout-sider-collapsed+.main-content-wrapper{margin-left:80px}.main-content{flex:1;min-width:0;padding:24px;overflow:auto}.right-sidebar{background:#fff;border-left:1px solid #e8e8e8;flex-shrink:0;width:200px;padding:12px}.top-sidebar{background:#fff;border-radius:8px;margin-bottom:12px;padding:8px;box-shadow:0 1px 4px #0000000d}.top-sidebar-content{width:100%;max-width:1200px;margin:0 auto}.top-sidebar-section{margin-bottom:8px}.top-sidebar-section h4{color:#333;border-left:3px solid #1890ff;margin-bottom:4px;padding-left:6px;font-size:13px;line-height:1}.quick-entry-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.quick-entry-actions{text-align:right;flex:1;min-width:240px}.quick-entry-item{cursor:pointer;text-align:center;border-radius:4px;flex-direction:column;align-items:center;gap:2px;width:70px;padding:6px;transition:all .3s;display:flex}.quick-entry-item span{color:#333;font-size:11px;line-height:1}.top-sidebar-row{flex-wrap:wrap;gap:24px;display:flex}.weather-section{flex:0 0 200px}.notice-section{flex:0 0 300px}.top-sidebar-section:nth-child(3){flex:1;min-width:300px}.top-sidebar .weather-widget{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;align-items:center;gap:12px;padding:16px;display:flex}.top-sidebar .weather-icon{font-size:32px}.top-sidebar .weather-info h5{margin:0 0 4px;font-size:14px}.top-sidebar .weather-info p{margin:0;font-size:20px;font-weight:700}.top-sidebar .notice-list{max-height:100px;overflow-y:auto}.top-sidebar .notice-item{border-bottom:1px solid #f0f0f0;padding:8px 0;font-size:12px}.top-sidebar .notice-item:last-child{border-bottom:none}.top-sidebar .notice-item .title{color:#333;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;overflow:hidden}.top-sidebar .notice-item .time{color:#999;font-size:11px}.sidebar-section{margin-bottom:24px}.sidebar-section h4{color:#333;border-left:3px solid #1890ff;margin-bottom:12px;padding-left:8px;font-size:14px}.page-header{margin-bottom:24px}.page-header h2{color:#333;margin:0}.page-content{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 4px #0000000d}.table-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.table-toolbar-left,.table-toolbar-right{gap:8px;display:flex}.status-tag{align-items:center;gap:4px;display:inline-flex}.quick-entry-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;transition:all .3s;display:flex}.quick-entry-item:hover{background:#f0f7ff}.quick-entry-item .icon{border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.notice-list{max-height:200px;overflow-y:auto}.notice-item{border-bottom:1px solid #f0f0f0;padding:8px 0;font-size:13px}.notice-item:last-child{border-bottom:none}.notice-item .title{color:#333;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;overflow:hidden}.notice-item .time{color:#999;font-size:12px}.weather-widget{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;align-items:center;gap:12px;padding:16px;display:flex}.weather-icon{font-size:40px}.weather-info h5{margin:0 0 4px;font-size:16px}.weather-info p{margin:0;font-size:24px;font-weight:700}.sample-status{border-radius:12px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.sample-status.pending{color:#fa8c16;background:#fff7e6}.sample-status.testing{color:#1890ff;background:#e6f7ff}.sample-status.completed{color:#52c41a;background:#f6ffed}.sample-status.abnormal{color:#f5222d;background:#fff1f0}.e-signature{color:#1890ff;align-items:center;gap:4px;font-size:12px;display:inline-flex}@media (width<=1200px){.right-sidebar{display:none}}
