*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f0f4f8;color:#1a1a2e;min-height:100vh}#root{min-height:100vh}.app-sider{background:linear-gradient(195deg,#1e3a5f,#0d2137,#0a1a2e)!important;box-shadow:4px 0 20px #0000004d;height:100vh!important;flex:0 0 240px!important;position:fixed!important;left:0;top:0;z-index:100}.app-sider:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899,#f59e0b);z-index:10}.app-logo{height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:12px 12px 8px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.app-logo-text{color:#fff;font-size:15px;font-weight:700;letter-spacing:1.5px}.app-logo-sub{font-size:9px;color:#ffffff80;letter-spacing:3px;margin-top:4px;text-transform:uppercase}.app-menu .ant-menu-item{color:#ffffffbf;margin:2px 12px;border-radius:10px;height:46px;line-height:46px;font-size:14px;font-weight:500;transition:all .25s}.app-menu .ant-menu-item:hover{background:#ffffff1a!important;color:#fff;transform:translate(4px)}.app-menu .ant-menu-item-selected{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;font-weight:600;box-shadow:0 4px 15px #3b82f666}.app-menu .ant-menu-item-selected:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:4px;height:24px;background:#fff;border-radius:0 4px 4px 0}.app-layout{min-height:100vh;margin-left:240px}.app-header{background:#fffffff2!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:0 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px #0000000d;position:sticky;top:0;z-index:99;height:64px;border-bottom:1px solid rgba(0,0,0,.05)}.app-header .header-title{font-size:18px;font-weight:700;color:#1e3a5f;display:flex;align-items:center;gap:8px}.app-header .header-title:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,#3b82f6,#2563eb);border-radius:2px}.app-header .header-user{font-size:14px;color:#64748b;font-weight:500;padding:6px 14px;background:#f1f5f9;border-radius:20px}.ant-layout-content{background:#f0f4f8!important;min-height:calc(100vh - 64px)}.page{padding:24px}.page-title{font-size:24px;font-weight:700;color:#1a1a2e;margin-bottom:24px;padding-bottom:16px;border-bottom:3px solid #3b82f6;display:flex;align-items:center;gap:12px}.page-title:before{content:"";width:5px;height:28px;background:linear-gradient(180deg,#3b82f6,#8b5cf6);border-radius:3px}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(255,255,255,.8);transition:all .3s;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);opacity:0;transition:opacity .3s}.stat-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.stat-card:hover:before{opacity:1}.stat-card .stat-label{font-size:12px;color:#64748b;margin-bottom:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.stat-card .stat-value{font-size:34px;font-weight:800;color:#1a1a2e;line-height:1.1}.stat-card .stat-sub{font-size:12px;color:#94a3b8;margin-top:8px}.stat-card.success .stat-value{color:#059669}.stat-card.warning .stat-value{color:#d97706}.stat-card.danger .stat-value{color:#dc2626}.stat-card.info .stat-value{color:#2563eb}.ant-table{background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(255,255,255,.8)}.ant-table-thead>tr>th{background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;color:#475569;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.8px;border-bottom:2px solid #e2e8f0;padding:16px}.ant-table-tbody>tr>td{color:#1a1a2e;font-weight:500;padding:16px;border-bottom:1px solid #f1f5f9}.ant-table-tbody>tr:hover>td{background:#f8fafc!important}.ant-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;border:none!important;font-weight:600;box-shadow:0 4px 15px #2563eb4d;transition:all .25s}.ant-btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;box-shadow:0 6px 20px #2563eb66;transform:translateY(-2px)}.ant-tabs-tab{font-weight:600;color:#64748b;padding:14px 0}.ant-tabs-tab:hover{color:#2563eb}.ant-tabs-tab-active{color:#2563eb!important}.ant-tabs-ink-bar{background:linear-gradient(90deg,#3b82f6,#2563eb)!important;height:3px!important;border-radius:3px 3px 0 0}@media (max-width: 767px){.app-sider{flex:0 0 200px!important}.app-layout{margin-left:0}body .ant-drawer .ant-drawer-header{background:linear-gradient(135deg,#1e3a5f,#0d2137)!important;border-bottom:1px solid rgba(255,255,255,.1)!important}body .ant-drawer .ant-drawer-title{color:#fff!important;font-weight:700;font-size:16px}body .ant-drawer .ant-drawer-close{color:#ffffffe6!important;font-size:20px;line-height:1}body .ant-drawer .ant-drawer-content-wrapper{background:#0d2137!important;width:280px!important}body .ant-drawer .ant-drawer-body{background:linear-gradient(180deg,#0d2137,#0a1929)!important;padding:12px 0!important}body .ant-drawer .ant-menu-inline{background:transparent!important}body .ant-drawer .ant-menu-item{color:#ffffffd9!important;height:52px!important;line-height:52px!important;font-size:15px!important;font-weight:500!important;margin:2px 12px!important;padding:0 16px!important;border-radius:10px!important;border-bottom:none!important;width:calc(100% - 24px)!important}body .ant-drawer .ant-menu-item:hover{background:#ffffff14!important;color:#fff!important}body .ant-drawer .ant-menu-item-selected{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;font-weight:700!important;box-shadow:0 4px 15px #3b82f666!important}body .ant-drawer .ant-menu-item .anticon,body .ant-drawer .ant-menu-item .ant-menu-item-icon{color:#ffffffb3!important;font-size:16px!important}body .ant-drawer .ant-menu-item-selected .anticon,body .ant-drawer .ant-menu-item-selected .ant-menu-item-icon{color:#fff!important}.page{padding:12px}.stat-cards{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card .stat-value{font-size:26px}}.series-group{background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;margin-bottom:20px;overflow:hidden;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(255,255,255,.8)}.series-header{background:linear-gradient(135deg,#1e3a5f,#0d2137);color:#fff;padding:16px 20px;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.series-stats{display:flex;gap:20px;font-size:13px;font-weight:500}.series-stats .QX{color:#60a5fa}.series-stats .MX{color:#f97316}.series-table{width:100%}.series-table .ant-table{border-radius:0;box-shadow:none}.ocr-upload-area{border:2px dashed #d1d5db;border-radius:16px;padding:48px;text-align:center;background:#ffffff80;transition:all .3s;cursor:pointer}.ocr-upload-area:hover{border-color:#3b82f6;background:#3b82f60d}.ocr-upload-area .upload-icon{font-size:48px;color:#94a3b8;margin-bottom:16px}.ocr-preview{border-radius:12px;overflow:hidden;margin:20px 0;box-shadow:0 4px 20px #0000001a}.ocr-result-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 12px #0000000f;border:1px solid #e5e7eb}.ocr-item-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.ocr-item-tag.in{background:#dcfce7;color:#166534}.ocr-item-tag.out{background:#fef3c7;color:#92400e}.ocr-item-tag.unknown{background:#fee2e2;color:#991b1b}.form-card{background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(255,255,255,.8)}.form-title{font-size:16px;font-weight:700;color:#1a1a2e;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid #e5e7eb}.warehouse-qty{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.warehouse-qty.QXC{background:#dbeafe;color:#1e40af}.warehouse-qty.MXC{background:#ffedd5;color:#9a3412}.warehouse-qty.PJC{background:#f3f4f6;color:#374151}.warehouse-qty.zero{background:#f3f4f6;color:#9ca3af}
