#root,body,html{height:100%;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:root{--brand-navy:#0f1b34;--brand-blue:#2563eb;--brand-red:#ef4444;--bg-page:#f8fafc;--bg-card:#ffffff;--bg-topbar:#ffffff;--bg-subtle:#f1f5f9;--text-primary:#020817;--text-secondary:#64748b;--border-subtle:#e2e8f0;--card-shadow:0 1px 2px rgba(2,8,23,0.04),0 1px 3px rgba(2,8,23,0.06);--card-shadow-hover:0 8px 24px rgba(2,8,23,0.10);--auth-card-shadow:0 12px 40px rgba(2,8,23,0.12);--ledger-row-bg:#f1f5f9;--sidebar-bg:#ffffff}body{background:var(--bg-page);color:var(--text-primary)}*{scrollbar-width:thin;scrollbar-color:rgba(120,130,150,.45) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:rgba(120,130,150,.4);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:rgba(120,130,150,.65)}.app-shell{min-height:100vh}.app-sidebar{background:var(--sidebar-bg)!important;-webkit-border-end:1px solid var(--border-subtle);border-inline-end:1px solid var(--border-subtle)}.sider-resize-handle{transition:background .15s ease}.sider-resize-handle:hover{background:rgba(59,130,246,.4)}.app-mobile-drawer .ant-menu,.app-sidebar .ant-menu{background:transparent;-webkit-border-end:none!important;border-inline-end:none!important}.app-mobile-drawer .ant-menu-item-group-title,.app-sidebar .ant-menu-item-group-title{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding-inline:22px;margin-top:8px}.app-mobile-drawer .ant-menu-item,.app-sidebar .ant-menu-item{font-weight:500}.app-mobile-drawer .ant-menu-submenu-title,.app-sidebar .ant-menu-submenu-title{font-weight:600}.app-mobile-drawer .ant-drawer-body{background:var(--sidebar-bg)}.app-mobile-drawer .brand-logo,.brand-logo{border-bottom:1px solid var(--border-subtle)}.brand-logo{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:2px 9px;min-height:64px;padding:10px 18px;line-height:normal}.brand-logo img{height:26px;width:auto;display:block;flex:0 0 auto}.brand-logo .brand-suffix{color:var(--text-secondary);font-size:18px;font-weight:600;letter-spacing:.01em}.brand-logo.collapsed{align-items:center;justify-content:center;padding:0}.brand-logo.collapsed img{height:auto;width:auto;max-width:62px;max-height:26px}.brand-mark{color:#2563eb;font-weight:800;font-size:20px;letter-spacing:.02em}.app-topbar{background:var(--bg-topbar)!important;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:saturate(1.2);backdrop-filter:saturate(1.2);line-height:normal}.topbar-title{font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.25}.topbar-sub{font-size:12px;color:var(--text-secondary);line-height:1.25;margin-top:1px}.app-content{padding:24px;background:var(--bg-page)}.page-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:22px;box-shadow:var(--card-shadow)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-header__title{font-size:22px;font-weight:700;margin:0;color:var(--text-primary);letter-spacing:-.01em}.page-header__sub{font-size:13px;color:var(--text-secondary);margin-top:2px}.kpi-card{background:var(--bg-card);border-radius:12px;padding:20px;border:1px solid var(--border-subtle)}.kpi-card .kpi-label{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.kpi-card .kpi-value{font-size:28px;font-weight:600;line-height:1.1}.qa-section{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 10px 2px}.qa-tile{height:100%;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.qa-tile:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover)!important;border-color:var(--brand-blue)}.qa-icon{width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 auto}.qa-title{font-weight:600;font-size:15px;color:var(--text-primary);line-height:1.3}.qa-desc{font-size:12.5px;line-height:1.35;margin-top:2px}.qa-arrow,.qa-desc{color:var(--text-secondary)}.qa-arrow{opacity:0;transform:translateX(-4px);transition:opacity .15s ease,transform .15s ease;font-size:12px;flex:0 0 auto}.qa-tile:hover .qa-arrow{opacity:.55;transform:translateX(0)}.auth-shell{min-height:100vh;display:flex}.auth-brand-panel{flex:1 1 46%;background:radial-gradient(1100px 480px at 18% 12%,rgba(255,255,255,.16),transparent 60%),linear-gradient(155deg,#3b82f6,#2563eb 52%,#1d4ed8);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand-panel:after{content:"";position:absolute;right:-140px;bottom:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%)}.auth-brand-panel .auth-logo{height:120px;width:auto;filter:brightness(0) invert(1)}.auth-brand-panel h2{font-size:30px;line-height:1.2;font-weight:700;margin:0 0 14px;letter-spacing:-.01em}.auth-brand-panel p.lead{font-size:15px;color:rgba(255,255,255,.72);margin:0;max-width:460px}.auth-feature{display:flex;gap:12px;align-items:flex-start;margin-top:18px}.auth-feature .dot{margin-top:3px;color:#ffffff;font-size:16px}.auth-feature .ft-title{font-weight:600;font-size:14px}.auth-feature .ft-sub{font-size:13px;color:rgba(255,255,255,.6)}.auth-foot{font-size:12px;color:rgba(255,255,255,.45)}.auth-form-panel{flex:1 1 54%;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg-card)}.auth-form-inner{width:100%;max-width:400px}.auth-form-inner .auth-eyebrow{color:var(--text-secondary);font-size:13px}.auth-form-inner h1{font-size:26px;font-weight:700;margin:4px 0 24px;color:var(--text-primary)}.auth-mobile-logo{display:none}@media (max-width:860px){.auth-brand-panel{display:none}.auth-mobile-logo{display:block;text-align:center;margin-bottom:8px}.auth-mobile-logo img{height:48px}}.ledger-balance-row>td{background:var(--ledger-row-bg)!important;font-weight:600}.cat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;background:linear-gradient(180deg,#2563eb,#1d4ed8);color:#fff;border-radius:8px 8px 0 0}.cat-header__title{display:flex;align-items:baseline;gap:10px;min-width:0}.cat-header__name{font-size:15px;font-weight:700;letter-spacing:.01em}.cat-header__count{font-size:12px;font-weight:600;background:rgba(255,255,255,.22);border-radius:999px;padding:0 8px;line-height:18px}.cat-header__desc{font-size:12px;color:rgba(255,255,255,.78);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-header__btn.ant-btn{color:#fff}.cat-header__btn.ant-btn:hover{color:#fff;background:rgba(255,255,255,.18)}.cat-table .ant-table{border-radius:0 0 8px 8px}.cat-table .ant-table-container{border-start-start-radius:0;border-start-end-radius:0}.inv-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.inv-toolbar .inv-count{color:var(--text-secondary);font-size:13px}.inv-group,.inv-list{display:flex;flex-direction:column;gap:10px}.inv-cat-sep{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding:9px 14px;background:linear-gradient(180deg,#2563eb,#1d4ed8);border-radius:8px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em}.inv-cat-sep .inv-cat-count{font-weight:600;font-size:12px;color:#fff;letter-spacing:0;background:rgba(255,255,255,.22);border-radius:999px;padding:0 8px;line-height:18px}.inv-row{display:grid;grid-template-columns:minmax(160px,1.6fr) auto minmax(150px,1fr) 44px;grid-gap:16px;gap:16px;align-items:center;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-card);transition:border-color .15s ease,box-shadow .15s ease}.inv-row--active{border-color:var(--brand-blue);box-shadow:0 0 0 1px var(--brand-blue) inset}.inv-row__code{display:block;color:var(--text-secondary);font-size:12px;margin-top:1px}.inv-row__ctrl{flex-direction:column;gap:4px}.inv-ctrl,.inv-row__ctrl{display:flex;align-items:center}.inv-ctrl{gap:8px}.inv-ctrl__below{font-size:12px;color:var(--text-secondary);white-space:nowrap;text-align:center}.inv-row__undo{display:flex;justify-content:center}.inv-qty.ant-input-number{width:96px}.inv-qty .ant-input-number-input{text-align:center}.inv-qty--in.ant-input-number{border-color:#16a34a;background:#f0fdf4}.inv-qty--in.ant-input-number .ant-input-number-input{color:#15803d;font-weight:600}.inv-qty--out.ant-input-number{border-color:#dc2626;background:#fef2f2}.inv-qty--out.ant-input-number .ant-input-number-input{color:#b91c1c;font-weight:600}.inv-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 -2px 12px rgba(2,8,23,.06)}.inv-footer__summary{color:var(--text-secondary);font-size:13px}.sg-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:7px;font-size:12px;color:var(--text-secondary)}.sg-chip b{color:var(--text-primary)}.inv-footer__actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:240px}@media (max-width:768px){.app-content{padding:14px}.page-card{padding:16px;border-radius:10px}.page-header__title{font-size:19px}.page-header{flex-direction:column;align-items:stretch}.page-header__actions,.page-header__actions .ant-space{width:100%}.topbar-heading{min-width:0}.topbar-sub,.topbar-title{max-width:50vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-confirm-btn{width:100%}.kpi-card{padding:16px}.kpi-card .kpi-value{font-size:23px}.dash-kpi .ant-card-body{padding:14px}.dash-kpi .ant-statistic-title{font-size:11px;margin-bottom:4px;white-space:normal;line-height:1.3}.dash-kpi .ant-statistic-content{font-size:19px}.dash-kpi .ant-statistic-content-prefix{-webkit-margin-end:4px;margin-inline-end:4px}.ant-table-wrapper{max-width:100%}.inv-row{grid-template-columns:1fr auto;grid-template-areas:"mat undo" "ctrl ctrl" "reason reason";gap:10px}.inv-row__mat{grid-area:mat}.inv-row__undo{grid-area:undo;justify-content:flex-end}.inv-row__ctrl{grid-area:ctrl;align-items:stretch}.inv-ctrl{width:100%;justify-content:space-between}.inv-qty.ant-input-number{flex:1 1;width:auto}.inv-ctrl__below{text-align:left}.inv-row__reason{grid-area:reason}.inv-footer{flex-direction:column;align-items:stretch}.inv-footer__actions{width:100%}}