.app[data-v-03c05f04]{display:flex;min-height:100vh}.sidebar[data-v-03c05f04]{width:248px;background:var(--c-ink);color:#e2e8f0;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;transition:width var(--dur-base) var(--ease);overflow:hidden}.app.is-collapsed .sidebar[data-v-03c05f04]{width:60px}.app.is-collapsed .sidebar-brand .brand-text[data-v-03c05f04],.app.is-collapsed .sidebar-section-label[data-v-03c05f04],.app.is-collapsed .nav-item[data-v-03c05f04]{font-size:0}.app.is-collapsed .nav-item[data-v-03c05f04]{justify-content:center;padding:9px 0}.app.is-collapsed .nav-item .vue-tag[data-v-03c05f04],.app.is-collapsed .sidebar-footer .pilot-badge[data-v-03c05f04]{display:none}.sidebar-brand[data-v-03c05f04]{padding:22px 24px 18px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:12px;position:relative}.brand-mark[data-v-03c05f04]{width:36px;height:36px;background:linear-gradient(135deg,var(--c-primary) 0%,#3B82F6 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;letter-spacing:-.5px;flex-shrink:0}.brand-name[data-v-03c05f04]{font-size:15px;font-weight:700;color:#fff;white-space:nowrap}.brand-tagline[data-v-03c05f04]{font-size:11px;color:var(--c-faint);margin-top:2px;white-space:nowrap}.collapse-btn[data-v-03c05f04]{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;border-radius:6px;background:#ffffff0f;color:#cbd5e1;display:flex;align-items:center;justify-content:center;cursor:pointer}.collapse-btn svg[data-v-03c05f04]{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.collapse-btn[data-v-03c05f04]:hover{background:#ffffff24;color:#fff}.sidebar-sections[data-v-03c05f04]{flex:1;overflow-y:auto;padding-bottom:12px}.sidebar-section[data-v-03c05f04]{padding:16px 12px 0}.sidebar-section-label[data-v-03c05f04]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--c-faint);padding:0 12px 8px;white-space:nowrap}.nav-item[data-v-03c05f04]{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:#cbd5e1;cursor:pointer;font-size:13.5px;font-weight:500;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);margin-bottom:2px;-webkit-user-select:none;user-select:none;white-space:nowrap}.nav-item[data-v-03c05f04]:hover{background:#ffffff0f;color:#fff}.nav-item.active[data-v-03c05f04]{background:linear-gradient(180deg,#1e40aff2,#1d3a8af2);color:#fff}.nav-icon[data-v-03c05f04]{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-icon[data-v-03c05f04] svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vue-tag[data-v-03c05f04]{margin-left:auto;font-size:9.5px;font-weight:700;letter-spacing:.4px;padding:1px 6px;border-radius:999px;background:#34d39929;color:#34d399;border:1px solid rgba(52,211,153,.28)}.nav-badge[data-v-03c05f04]{margin-left:auto;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ef4444;color:#fff;font-size:10.5px;font-weight:700;line-height:1}.nav-item.active .nav-badge[data-v-03c05f04]{background:#fff;color:#dc2626}.app.is-collapsed .nav-badge[data-v-03c05f04]{display:none}.sidebar-footer[data-v-03c05f04]{padding:14px 16px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:10px}.pilot-badge[data-v-03c05f04]{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:#ffffff14;color:#cbd5e1;white-space:nowrap}.icon-btn[data-v-03c05f04]{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#cbd5e1}.icon-btn[data-v-03c05f04]:hover{background:#ffffff14;color:#fff}.icon-btn svg[data-v-03c05f04]{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.logout-btn[data-v-03c05f04]{box-sizing:border-box;background:transparent;color:#ffffffb3;border:1px solid rgba(255,255,255,.1)}.logout-btn[data-v-03c05f04]:hover{background:#ffffff1a;color:#fff}.main[data-v-03c05f04]{flex:1;min-width:0;padding:24px 28px}.mobile-topbar[data-v-03c05f04],.overlay[data-v-03c05f04]{display:none}@media (max-width: 900px){.app[data-v-03c05f04]{flex-wrap:wrap}.mobile-topbar[data-v-03c05f04]{display:flex;align-items:center;gap:8px;flex:0 0 100%;height:52px;padding:0 12px;background:var(--c-surface);border-bottom:1px solid var(--c-line);position:sticky;top:0;z-index:60}.mobile-topbar-title[data-v-03c05f04]{font-size:14px;font-weight:700;color:var(--c-ink)}.mobile-topbar .hamburger[data-v-03c05f04]{width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--c-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.mobile-topbar .hamburger[data-v-03c05f04]:hover{background:#0f172a0f}.mobile-topbar .hamburger svg[data-v-03c05f04]{width:20px;height:20px}.mobile-topbar .icon-btn[data-v-03c05f04]{width:36px;height:36px;color:var(--c-ink)}.mobile-topbar .icon-btn[data-v-03c05f04]:hover{background:#0f172a0f}.sidebar[data-v-03c05f04]{position:fixed;left:0;top:0;bottom:0;width:280px;z-index:160;transform:translate(-100%);transition:transform var(--dur-slow) var(--ease);box-shadow:4px 0 24px #00000040}.sidebar.sidebar-open[data-v-03c05f04]{transform:translate(0)}.sidebar .collapse-btn[data-v-03c05f04]{display:none}.app.is-collapsed .sidebar[data-v-03c05f04]{width:280px}.app.is-collapsed .sidebar-brand .brand-text[data-v-03c05f04]{font-size:15px}.app.is-collapsed .sidebar-brand .brand-tagline[data-v-03c05f04]{font-size:11px}.app.is-collapsed .sidebar-section-label[data-v-03c05f04]{font-size:10px}.app.is-collapsed .nav-item[data-v-03c05f04]{font-size:13.5px;justify-content:flex-start;padding:9px 12px}.app.is-collapsed .nav-item .vue-tag[data-v-03c05f04],.app.is-collapsed .sidebar-footer .pilot-badge[data-v-03c05f04]{display:inline-block}.app.is-collapsed .nav-badge[data-v-03c05f04]{display:inline-flex}.overlay[data-v-03c05f04]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:150}.main[data-v-03c05f04]{padding:16px}}:root{--c-primary: #2563EB;--c-primary-hover: #1D4ED8;--c-primary-active: #1E40AF;--c-primary-soft: #DBEAFE;--c-primary-soft-bg: #EFF6FF;--c-accent: #92400E;--c-accent-soft: #FEF3C7;--c-status-pending: #B45309;--c-status-pending-bg: #FFFBEB;--c-status-waiting: #15803D;--c-status-waiting-bg: #F0FDF4;--c-status-shortage: #B91C1C;--c-status-shortage-bg: #FEF2F2;--c-status-shipped: #475569;--c-status-shipped-bg: #F1F5F9;--c-status-exchange: #1D4ED8;--c-status-exchange-bg: #EFF6FF;--c-status-special: #1D4ED8;--c-status-special-bg: #EFF6FF;--c-ink: #0F172A;--c-text: #334155;--c-muted: #64748B;--c-faint: #94A3B8;--c-line: #E2E8F0;--c-line-strong: #CBD5E1;--c-bg: #F8FAFC;--c-surface: #FFFFFF;--c-surface-2: #F1F5F9;--c-success: #059669;--c-danger: #DC2626;--c-warning: #D97706;--r-xs: 8px;--r-sm: 8px;--r-md: 8px;--r-lg: 12px;--r-xl: 12px;--r-pill: 999px;--sh-xs: 0 1px 2px rgba(15, 23, 42, .04);--sh-sm: 0 1px 2px rgba(15, 23, 42, .04);--sh-md: 0 4px 12px rgba(15, 23, 42, .08);--sh-lg: 0 4px 12px rgba(15, 23, 42, .08);--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 28px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--ease: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .28s}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--c-bg);color:var(--c-text);font-size:var(--fs-md);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}
