body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5}html,body,#root{height:100%;min-height:100vh;width:100%;overflow-x:hidden}:root{--primary-color: #1890ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #ff4d4f;--text-primary: #262626;--text-secondary: #8c8c8c;--border-color: #d9d9d9;--background-color: #f5f5f5;--layout-header-height: 64px;--content-padding: 24px;--content-max-width: 1280px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-primary);background-color:#fff;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.ant-layout{min-height:100vh}.ant-layout-header{padding:0 var(--content-padding);box-shadow:0 2px 8px #0000000f}.ant-layout-sider{box-shadow:2px 0 8px #0000000f}.ant-layout-content{padding:var(--content-padding);background:var(--background-color)}.page-container{width:100%;max-width:var(--content-max-width);margin:0 auto}.ant-spin-container{transition:opacity .2s ease}.ant-spin-blur{opacity:1!important;filter:none!important;pointer-events:auto!important;-webkit-user-select:auto!important;user-select:auto!important}.ant-spin-blur:after{opacity:0!important;pointer-events:none!important}.fadeIn{animation:fadeIn .3s ease-in;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slideInRight{animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.card-shadow{box-shadow:0 4px 12px #00000014;border-radius:8px}.card-shadow:hover{box-shadow:0 8px 24px #0000001f;transition:box-shadow .3s ease}@media (max-width: 1024px){:root{--content-padding: 18px}}@media (max-width: 768px){:root{--layout-header-height: 56px;--content-padding: 12px}.ant-layout-content{padding:var(--content-padding)}.ant-typography h1,.ant-typography h2,.ant-typography h3{margin-bottom:.5rem!important}}.sales-row-overdue td{background-color:#fff1f0!important}.sales-row-overdue:hover td{background-color:#ffd8d6!important}@media print{.no-print{display:none!important}body{font-size:12pt;color:#000}}
