.login-page{width:100vw;height:100vh;min-height:720px;display:flex;padding:0;overflow:hidden;color:#111827;background:#fff}.login-shell{width:100%;height:100%;min-height:720px;display:grid;grid-template-columns:minmax(0,1fr) clamp(480px,31vw,620px);align-items:stretch;overflow:hidden;background:#fff}.login-intro{position:relative;display:flex;flex-direction:column;min-height:100vh;padding:clamp(46px,5.4vw,92px) clamp(56px,6.4vw,128px) 0;overflow:hidden;color:#fff;background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(135deg,#0d3f7d,#0d7b89 58%,#3156a6);background-size:32px 32px,32px 32px,auto}.login-intro-kicker{margin-bottom:20px;color:#ffffffb8;font-size:clamp(13px,.85vw,16px);font-weight:600;letter-spacing:0}.login-intro-title.ant-typography{margin:0;max-width:820px;color:#fff;font-size:clamp(38px,3.4vw,68px);font-weight:650;line-height:1.18;letter-spacing:0}.login-intro-text{max-width:680px;margin-top:22px;color:#ffffffc7;font-size:clamp(16px,1vw,20px);line-height:1.8}.login-feature-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.login-feature-row span{padding:10px 16px;color:#fff;font-size:clamp(13px,.85vw,16px);background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:6px}.login-character-stage{position:relative;width:560px;min-height:clamp(430px,47vh,620px);flex:1;align-self:center;margin-top:auto;pointer-events:none;transform:scale(1.12);transform-origin:bottom center}.login-character-stage:before{position:absolute;right:0;bottom:22px;left:0;height:56px;content:"";background:#05122447;border:1px solid rgba(255,255,255,.12);border-radius:8px}.login-character{position:absolute;bottom:28px;transition:height .35s ease,transform .24s ease-out;transform-origin:bottom center}.login-character-purple{left:148px;z-index:1;width:172px;background:#7c3aed;border-radius:10px 10px 0 0;box-shadow:inset 18px 0 #ffffff14}.login-character-purple.is-guarding{box-shadow:inset 18px 0 #ffffff14,18px 18px #12192d29}.login-character-black{left:294px;z-index:2;width:124px;height:312px;background:#171923;border-radius:10px 10px 0 0;box-shadow:inset 13px 0 #ffffff14}.login-character-orange{left:26px;z-index:3;width:248px;height:190px;background:#ff9f6e;border-radius:124px 124px 10px 10px;box-shadow:inset -18px -14px #9a3b1b1f}.login-character-yellow{left:396px;z-index:4;width:134px;height:236px;background:#e6d34f;border-radius:72px 72px 10px 10px;box-shadow:inset -15px -12px #8b6f161f}.login-character-eyes{position:absolute;display:flex;align-items:center;gap:10px;transition:left .16s ease-out,top .16s ease-out}.login-character-eyes-purple{gap:12px}.login-character-eyes-black{gap:10px}.login-character-eyes-pupil-only{gap:38px}.login-character-eye{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid rgba(15,23,42,.14);border-radius:999px;transition:height .12s ease,background .12s ease}.login-character-eye.is-blinking{background:#111827;border-color:transparent}.login-character-pupil{display:inline-block;background:#111827;border-radius:999px;transition:transform .1s ease-out}.login-character-mouth{position:absolute;width:52px;height:20px;border-bottom:5px solid #151923;border-radius:0 0 40px 40px;transition:left .16s ease-out,top .16s ease-out}.login-card{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;width:100%;padding:clamp(48px,5vw,96px) clamp(48px,3.5vw,72px);background:#fff;border-left:1px solid #e5eaf1}.login-card-header{width:min(430px,100%);margin-bottom:38px;text-align:center}.login-logo{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px;color:#0052d9;font-size:30px;background:#f0f6ff;border:1px solid #cfe3ff;border-radius:8px}.login-title.ant-typography{margin:0 0 6px;color:#111827;font-size:30px;font-weight:650;letter-spacing:0}.login-subtitle.ant-typography{color:#8a94a6;font-size:15px}.login-alert{width:min(430px,100%);margin-bottom:20px;border-radius:6px}.login-form{width:min(430px,100%)}.login-form .ant-form-item{margin-bottom:22px}.login-form .ant-form-item-label{padding-bottom:6px}.login-form .ant-form-item-label>label{color:#334155;font-size:14px}.login-form .ant-input-affix-wrapper{height:48px;padding:0 14px;color:#111827;background:#fff;border-color:#d8dee8;border-radius:6px;box-shadow:none}.login-form .ant-input-affix-wrapper:hover{border-color:#9db7e8}.login-form .ant-input-affix-wrapper-focused,.login-form .ant-input-affix-wrapper:focus{border-color:#0052d9;box-shadow:0 0 0 3px #0052d91a}.login-form .ant-input-prefix{margin-right:8px;color:#94a3b8}.login-form input::placeholder{color:#a3adbd}.login-options{margin:0 0 26px}.login-options-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.login-form-forgot{color:#0052d9;font-size:14px}.login-form-forgot:hover{color:#003cab}.login-submit-item{margin-bottom:0!important}.login-submit.ant-btn{height:52px;font-size:16px;font-weight:600;background:#0052d9;border-color:#0052d9;border-radius:6px;box-shadow:0 10px 20px #0052d92e}.login-submit.ant-btn:hover{background:#1263e6;border-color:#1263e6}@media (min-width: 1440px) and (min-height: 900px){.login-character-stage{min-height:640px;transform:scale(1.42)}}@media (min-width: 1800px) and (min-height: 1000px){.login-character-stage{min-height:720px;transform:scale(1.58)}}@media (max-width: 1200px),(max-height: 760px){.login-intro{padding:42px 54px 0}.login-character-stage{min-height:420px;transform:scale(1)}.login-card{padding:42px}}@media (max-width: 900px){.login-page{height:auto;min-height:100vh;overflow:auto}.login-shell{grid-template-columns:1fr;height:auto;min-height:100vh}.login-intro{min-height:620px;padding:38px 36px 0;text-align:center}.login-intro-title.ant-typography{font-size:28px}.login-intro-text{margin-left:auto;margin-right:auto}.login-feature-row{justify-content:center}.login-character-stage{width:560px;max-width:none;min-height:404px;transform:scale(.9);transform-origin:bottom center}.login-card{max-width:390px;margin:0 auto;padding:38px 0;border-left:0}}@media (max-width: 520px){.login-page{align-items:flex-start}.login-intro{min-height:510px;padding:30px 22px 0;text-align:left}.login-intro-title.ant-typography{font-size:24px}.login-feature-row{justify-content:flex-start}.login-character-stage{width:560px;min-height:360px;margin-top:8px;transform:scale(.72);transform-origin:bottom center}.login-card{max-width:none;padding:30px 22px 26px}.login-options-inner{align-items:flex-start;flex-direction:column;gap:10px}}.login-page{background:linear-gradient(rgba(17,17,17,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.055) 1px,transparent 1px),radial-gradient(circle at 78% 16%,rgba(37,99,235,.11),transparent 26rem),#f8fafc;background-size:40px 40px,40px 40px,auto,auto}.login-shell{background:transparent}.login-intro{margin:clamp(18px,2vw,30px);min-height:calc(100vh - clamp(36px,4vw,60px));border:1px solid rgba(255,255,255,.16);border-radius:8px;background:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 72% 18%,rgba(37,99,235,.42),transparent 24rem),linear-gradient(135deg,#111,#0f172a 46%,#2563eb);background-size:40px 40px,40px 40px,auto,auto;box-shadow:0 26px 70px #0f172a38}.login-intro:after{position:absolute;right:-140px;bottom:-180px;width:520px;height:520px;content:"";pointer-events:none;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:999px}.login-intro-kicker{color:#ffffffc2;font-weight:800}.login-intro-title.ant-typography{max-width:760px;font-weight:850}.login-intro-text{color:#ffffffc7}.login-feature-row span{background:#ffffff1a;border-color:#ffffff3d;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-character-stage:before{background:#ffffff1a;border-color:#ffffff29;border-radius:8px}.login-character-purple{background:#2563eb}.login-character-black{background:#111}.login-character-orange{background:#fb923c}.login-character-yellow{background:#fde047}.login-card{margin:clamp(18px,2vw,30px) clamp(18px,2vw,30px) clamp(18px,2vw,30px) 0;align-self:stretch;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 26px 70px #0f172a1f}.login-logo{color:#fff;background:#111;border-color:#111;border-radius:8px;box-shadow:0 14px 28px #1111112e}.login-title.ant-typography{color:#111;font-weight:850}.login-form .ant-form-item-label>label{color:#111;font-weight:700}.login-form .ant-input-affix-wrapper{border-color:#dbe3ef;border-radius:8px}.login-form .ant-input-affix-wrapper:hover{border-color:#93c5fd}.login-form .ant-input-affix-wrapper-focused,.login-form .ant-input-affix-wrapper:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.login-form-forgot{color:#2563eb;font-weight:700}.login-submit.ant-btn{background:#2563eb;border-color:#2563eb;border-radius:8px;box-shadow:0 14px 26px #2563eb3d}.login-submit.ant-btn:hover{background:#1d4ed8;border-color:#1d4ed8}@media (max-width: 900px){.login-intro,.login-card{margin:16px}.login-card{max-width:none}}@media (max-width: 520px){.login-intro,.login-card{margin:10px}}:root{--primary-color: #2563eb;--bg-color: #f8fafc;--text-color: #111827;--top-nav-bg: #ffffff;--top-nav-bg-active: #eff6ff;--shell-border-color: #e5e7eb;--surface-color: #ffffff;--ink-color: #111111;--muted-color: #64748b;--grid-line-color: rgba(79, 79, 79, .08);--soft-blue: #eff6ff;--soft-yellow: #fef3c7;--soft-red: #fef2f2;--panel-shadow: 0 18px 46px rgba(15, 23, 42, .08)}body{margin:0;padding:0;background-color:var(--bg-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{overflow-x:hidden}*{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-track{background:transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.site-layout-content{animation:fadeIn .4s ease-out}.app-shell{width:100%;min-height:100vh;background:var(--bg-color);font-size:13px;overflow-x:hidden}.app-top-header{position:fixed;inset:0 0 auto 0;z-index:200;height:64px;padding:0 20px;display:flex;align-items:center;gap:18px;background:var(--top-nav-bg);border-bottom:1px solid #e5eaf1;box-shadow:0 1px 2px #0f172a0a}.app-brand{width:220px;height:64px;padding:0;border:0;background:transparent;color:#111827;display:inline-flex;align-items:center;gap:10px;cursor:pointer;text-align:left;flex:0 0 auto}.app-brand-mark{width:34px;height:34px;border:1px solid #cfe3ff;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:17px;background:#f0f6ff}.app-brand-title{min-width:0;font-size:16px;font-weight:700;color:#111827;white-space:nowrap}.app-mobile-nav-trigger{display:none}.app-top-menu{flex:1 1 auto;min-width:256px;height:64px;display:flex;align-items:center;gap:4px;background:transparent}.app-top-menu-item{height:38px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#5f6b7a;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;transition:color .2s,background .2s,box-shadow .2s}.app-top-menu-item.is-active,.app-top-menu-item:hover,.app-top-menu-item:focus{background:var(--top-nav-bg-active);color:var(--primary-color);outline:none}.app-top-menu-item.is-active{box-shadow:inset 0 0 0 1px #cfe3ff}.app-top-menu-icon{display:inline-flex;font-size:15px}.app-top-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.app-top-icon-button{width:30px;height:30px;color:#475467}.app-top-icon-button:hover,.app-top-icon-button:focus{color:var(--primary-color)!important;background:#eef6ff!important}.app-user-entry{height:34px;padding:3px 6px;border:0;border-radius:6px;background:transparent;color:#344054;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.app-user-entry:hover,.app-user-entry:focus{background:#f2f4f7}.app-user-entry span:last-child{max-width:96px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.app-mobile-nav-popover .ant-popover-inner{padding:0;overflow:hidden;border:1px solid #e5eaf1;border-radius:8px;box-shadow:0 18px 44px #0f172a24}.app-mobile-nav-popover .ant-popover-arrow{display:none}.app-mobile-nav-panel{width:min(320px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 90px));padding:8px;overflow-y:auto;background:#fff}.app-mobile-nav-section+.app-mobile-nav-section{margin-top:6px;padding-top:6px;border-top:1px solid #edf1f6}.app-mobile-nav-module{width:100%;height:38px;padding:0 10px;display:flex;align-items:center;gap:8px;border:0;border-radius:8px;background:transparent;color:#1f2937;font-size:13px;font-weight:700;cursor:pointer}.app-mobile-nav-module.is-active,.app-mobile-nav-module:hover{color:var(--primary-color);background:#eef6ff}.app-mobile-nav-links{display:grid;gap:2px;padding:4px 0 2px 28px}.app-mobile-nav-link{width:100%;height:32px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#667085;font-size:13px;text-align:left;cursor:pointer}.app-mobile-nav-link.is-active,.app-mobile-nav-link:hover{color:var(--primary-color);background:#f5f9ff}.app-body{min-height:100vh;padding-top:64px;background:var(--bg-color);min-width:0}.app-side-nav{position:fixed!important;top:64px;bottom:0;left:0;z-index:120;overflow:auto;background:#fff!important;border-right:1px solid var(--shell-border-color);box-shadow:2px 0 8px #1d23290a}.app-side-title{height:52px;padding:0 10px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--shell-border-color);color:#202733;font-size:13px;font-weight:600}.app-side-title-main{min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap}.app-side-collapse-button{flex:0 0 auto;color:#667085}.app-side-collapse-button:hover,.app-side-collapse-button:focus{color:var(--primary-color)!important;background:#eef6ff!important}.app-side-nav.is-collapsed .app-side-title{justify-content:center;padding:0}.app-side-nav.is-collapsed .app-side-title-main{display:none}.app-side-nav .ant-menu{border-inline-end:0!important;padding:10px 8px}.app-side-nav .ant-menu-item{height:40px;line-height:40px;margin:3px 0;border-radius:8px;color:#4b5563}.app-side-nav .ant-menu-item-selected{background:#e6f4ff;color:var(--primary-color);font-weight:600}.app-side-nav.is-collapsed .ant-menu{padding:10px 6px}.app-side-nav.is-collapsed .ant-menu-inline-collapsed{width:52px}.app-side-nav.is-collapsed .ant-menu-item{width:40px;margin-inline:0;padding-inline:calc(50% - 8px)}.app-side-empty{padding:24px 16px}.app-main{min-width:0;margin-left:192px;transition:margin-left .2s ease}.app-main.is-side-collapsed{margin-left:52px}.app-main-content{min-width:0;padding:18px 22px;overflow-x:hidden;overflow-y:initial}.app-footer{padding:16px 20px 20px;color:#9aa3af;text-align:center}.app-page{width:100%;min-width:0}.app-page-header{margin-bottom:14px;padding:16px 20px;background:#fff;border:1px solid var(--shell-border-color);border-radius:8px}.app-page-title-row{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.app-page-title{margin:0;color:#101828;font-size:18px;font-weight:700;line-height:1.35}.app-page-actions{display:flex;justify-content:flex-end}.app-page-toolbar{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.app-content-panel{min-width:0;background:#fff;border:1px solid var(--shell-border-color);border-radius:8px;padding:18px}.app-placeholder-panel{min-height:360px;display:flex;align-items:center;justify-content:center}.app-shell .ant-layout,.app-shell .ant-space,.app-shell .ant-row,.app-shell .ant-col,.app-shell .ant-card,.app-shell .ant-table-wrapper{min-width:0}.app-shell .ant-btn{height:30px;padding:4px 12px;font-size:13px}.app-shell .ant-btn-icon-only{width:30px;padding-inline:0}.app-shell .ant-input,.app-shell .ant-select-selector,.app-shell .ant-picker{font-size:13px}.app-shell .ant-card-body{padding:16px!important}.app-shell .ant-statistic-title,.app-shell .ant-breadcrumb,.app-shell .ant-table,.app-shell .ant-tabs,.app-shell .ant-pagination,.app-shell .ant-select,.app-shell .ant-picker{font-size:13px}.app-shell .ant-statistic-content{font-size:20px}.app-shell .ant-table-cell{padding:10px 12px!important}.project-compact-table .ant-table{font-size:12px}.project-compact-table .ant-table-cell{padding:8px 12px!important;white-space:nowrap;vertical-align:middle}.project-compact-table .ant-table-thead>tr>th{font-size:12px;font-weight:600}.project-compact-table .ant-table-tbody>tr>td{line-height:18px}.project-table-link{display:inline-block;max-width:100%;overflow:hidden;color:#1677ff;font-weight:600;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.project-summary-cell{background:#fafafa!important;border-top:1px solid #e8edf3!important;font-size:12px;white-space:nowrap}.project-summary-label,.project-summary-amount{font-weight:700}.project-summary-amount.profit-positive{color:#13a10e}.project-summary-amount.profit-negative{color:#d4380d}.project-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 12px}.project-stat-card.ant-card{border:1px solid #e8edf3;border-radius:8px;box-shadow:0 1px 2px #1018280a}.project-stat-card .ant-card-body{padding:12px 14px!important}.project-stat-card-head{display:flex;align-items:center;justify-content:space-between;min-height:18px;color:#667085;font-size:12px;line-height:18px}.project-stat-value{max-width:100%;margin-top:6px;overflow:hidden;font-size:20px;font-weight:800;line-height:28px;text-overflow:ellipsis;white-space:nowrap}.project-stat-value.income{color:#0052d9}.project-stat-value.pending{color:#fa8c16}.project-stat-value.expense,.project-stat-value.profit-negative{color:#d4380d}.project-stat-value.profit-positive{color:#13a10e}.project-stat-note{max-width:100%;margin-top:6px;overflow:hidden;color:#667085;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.app-page-subtitle{margin-top:4px;color:#64748b;font-size:12px;line-height:18px}.form-section-title{margin:4px 0 12px;color:#111827;font-size:13px;font-weight:700}.form-help-text{margin-top:8px;color:#64748b;font-size:12px;line-height:18px}.table-secondary-text{display:block;margin-top:2px;color:#94a3b8;font-size:11px;line-height:16px}.payroll-summary-row{margin-bottom:12px}.payroll-summary-row .ant-card-body{padding:14px 16px!important}.payroll-formula-strip{margin:0 0 16px}.allocation-preview-amount{overflow:hidden;color:#64748b;font-size:12px;line-height:32px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.retail-order-table .ant-table-expanded-row>.ant-table-cell{padding:0 12px 12px 46px!important;background:#fff}.retail-order-table .ant-table-cell{overflow:hidden}.retail-order-cell-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retail-action-muted{color:#98a2b3;font-size:12px}.retail-order-table .retail-sale-action-space{display:inline-flex;width:max-content;min-width:320px;justify-content:flex-end;white-space:nowrap}.retail-order-table .retail-sale-action-space .ant-btn{flex:0 0 auto}.retail-purchase-detail{overflow:hidden;border:1px solid #e8edf3;border-radius:6px;background:#fbfcfe}.retail-purchase-detail-head,.retail-purchase-detail-row{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(120px,.8fr) 72px 100px 120px 80px 120px minmax(120px,.8fr);align-items:center;column-gap:14px;min-width:980px}.retail-purchase-detail-head{padding:9px 14px;background:#f7f9fc;border-bottom:1px solid #e8edf3;color:#344054;font-size:12px;font-weight:600}.retail-purchase-detail-row{padding:10px 14px;color:#202733;font-size:12px;border-bottom:1px solid #edf1f5}.retail-purchase-detail-row:last-child{border-bottom:0}.retail-purchase-detail .numeric{text-align:right}.retail-purchase-detail .strong{font-weight:600}.retail-product-select .ant-select-selection-item{min-width:0}.retail-product-selected{display:block;max-width:100%;overflow:hidden;color:#202733;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.retail-product-option{min-width:0;padding:4px 0}.retail-product-option-main{display:flex;align-items:center;gap:8px;min-width:0;color:#202733;line-height:20px}.retail-product-option-code{flex:0 0 auto;color:#475467;font-size:12px;font-variant-numeric:tabular-nums}.retail-product-option-name{min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.retail-product-option-meta{margin-top:2px;overflow:hidden;color:#667085;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.retail-purchase-option{min-width:0;padding:2px 0}.retail-purchase-option-main{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;line-height:20px}.retail-purchase-option-main span{min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.retail-purchase-option-main strong{flex:none;color:#0052d9;font-weight:600}.retail-purchase-option-meta{margin-top:2px;overflow:hidden;color:#667085;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.retail-order-edit-table .ant-table{border:1px solid #edf1f7;border-radius:6px}.retail-order-edit-table .ant-table-thead>tr>th{background:#f8fafc;color:#667085;font-size:12px;font-weight:600}.retail-order-edit-table .ant-table-cell{vertical-align:top}.retail-order-edit-table .ant-form-item{margin-bottom:0}.retail-sale-line-profit,.retail-sale-cost-warning{font-size:12px;line-height:18px}.retail-sale-line-profit{color:#667085}.retail-sale-cost-warning{color:#d4380d;font-weight:600}.retail-sale-line-profit span,.retail-sale-cost-warning span,.retail-sale-cost-warning small{display:block}.retail-sale-profit-panel{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:10px;align-items:center;margin-top:14px;padding:12px 14px;border:1px solid #e8edf3;border-radius:6px;background:#fbfcfe}.retail-sale-profit-panel>div{min-width:0}.retail-sale-profit-panel span{display:block;margin-bottom:3px;color:#667085;font-size:12px;line-height:18px}.retail-sale-profit-panel strong{color:#202733;font-size:14px;font-weight:700;line-height:20px}.retail-sale-profit-panel .profit-positive{color:#13a10e}.retail-sale-profit-panel .profit-negative,.retail-sale-profit-alert{color:#d4380d}.retail-sale-profit-alert{justify-self:end;padding:4px 8px;border-radius:4px;background:#fff1f0;font-size:12px;font-weight:600}.retail-inventory-workspace{display:flex;flex-direction:column;gap:14px}.retail-inventory-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.retail-inventory-summary-item{min-width:0;padding:12px 14px;border:1px solid #e8edf3;border-radius:6px;background:#fbfcfe}.retail-inventory-summary-item span{display:block;margin-bottom:4px;color:#667085;font-size:12px;line-height:18px}.retail-inventory-summary-item strong{display:block;overflow:hidden;color:#202733;font-size:22px;font-weight:700;line-height:28px;text-overflow:ellipsis;white-space:nowrap}.retail-inventory-summary-item.warning{border-color:#ffd591;background:#fffaf0}.retail-inventory-summary-item.warning strong{color:#c2410c}.retail-inventory-summary-item.muted strong{color:#475467}.retail-inventory-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.72fr);gap:14px;align-items:start}.retail-inventory-balance,.retail-inventory-flow-panel,.retail-inventory-warning-list{min-width:0;overflow:hidden;border:1px solid #e8edf3;border-radius:8px;background:#fff}.retail-inventory-side-panel{display:flex;min-width:0;flex-direction:column;gap:14px}.retail-inventory-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #edf1f5;background:#fbfcfe}.retail-inventory-section-head.compact{padding:12px}.retail-inventory-section-head h3{margin:0;color:#202733;font-size:14px;font-weight:700;line-height:20px}.retail-inventory-section-head span{display:block;margin-top:2px;overflow:hidden;color:#667085;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.retail-inventory-product{min-width:0}.retail-inventory-product span,.retail-inventory-product small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retail-inventory-product span{color:#202733;font-weight:600}.retail-inventory-product small{margin-top:2px;color:#667085;font-size:12px;font-variant-numeric:tabular-nums}.retail-ledger-linked-record{min-width:0}.retail-ledger-linked-record span,.retail-ledger-linked-record small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retail-ledger-linked-record span{color:#202733;font-weight:600;font-variant-numeric:tabular-nums}.retail-ledger-linked-record small{margin-top:2px;color:#667085;font-size:12px}.retail-stock-quantity{color:#202733;font-weight:700}.retail-stock-empty{color:#d4380d;font-weight:700}.retail-inventory-row-active>td{background:#eef6ff!important}.retail-inventory-balance .ant-table-row{cursor:pointer}.retail-flow-table .ant-table{font-size:12px}.retail-inventory-warning-items,.retail-inventory-flow-timeline{padding:10px 12px 12px}.retail-inventory-warning-items{display:flex;flex-direction:column;gap:8px}.retail-inventory-warning-item{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #ffe2b8;border-radius:6px;background:#fffaf0;cursor:pointer;text-align:left}.retail-inventory-warning-item span{min-width:0}.retail-inventory-warning-item strong,.retail-inventory-warning-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retail-inventory-warning-item strong{color:#202733;font-size:13px;line-height:18px}.retail-inventory-warning-item small{margin-top:2px;color:#667085;font-size:12px;line-height:17px}.retail-inventory-warning-item em{flex:0 0 auto;color:#c2410c;font-size:12px;font-style:normal;font-weight:700}.retail-inventory-flow-timeline{max-height:438px;overflow:auto}.retail-inventory-flow-item{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:9px;padding:8px 0;border-bottom:1px solid #edf1f5}.retail-inventory-flow-item:last-child{border-bottom:0}.flow-dot{width:8px;height:8px;margin-top:7px;border-radius:50%}.flow-dot.positive{background:#13a10e}.flow-dot.negative{background:#d4380d}.flow-main{min-width:0}.flow-main>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.flow-main strong{overflow:hidden;color:#202733;font-size:13px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.flow-main span{flex:0 0 auto;font-size:13px;font-weight:700}.flow-main .positive{color:#13a10e}.flow-main .negative{color:#d4380d}.flow-main p,.flow-main small{display:block;overflow:hidden;margin:1px 0 0;color:#667085;font-size:12px;line-height:17px;text-overflow:ellipsis;white-space:nowrap}.contract-compact-table .ant-table{font-size:12px}.contract-compact-table .ant-table-cell{padding:8px 12px!important;white-space:nowrap;vertical-align:middle}.contract-compact-table .ant-table-thead>tr>th{font-size:12px;font-weight:600}.contract-compact-table .ant-table-tbody>tr>td{line-height:18px}.contract-compact-table .ant-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.contract-table-link{display:inline-block;max-width:100%;overflow:hidden;color:#1677ff;font-weight:600;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.contract-table-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:500}.contract-muted-text{display:inline-block;max-width:100%;overflow:hidden;color:#667085;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.contract-table-amount,.contract-pending-amount{font-weight:700;white-space:nowrap}.contract-pending-amount{display:inline-flex;align-items:center;gap:6px}.contract-pending-amount.is-pending{color:#fa8c16}.contract-pending-amount.is-settled{color:#13a10e}.contract-pending-label{color:#98a2b3;font-size:11px;font-weight:500}.contract-attachment-modal .ant-modal-content{overflow:hidden;padding:0}.contract-attachment-modal .ant-modal-header{margin:0;padding:22px 24px 18px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#fff,#f8fbff)}.contract-attachment-modal .ant-modal-body{padding:18px 24px 20px;background:#fff}.contract-attachment-modal .ant-modal-close{top:18px;right:18px}.contract-attachment-modal-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:32px}.contract-attachment-title-main{color:#111827;font-size:17px;font-weight:850;line-height:24px}.contract-attachment-title-sub{max-width:520px;margin-top:4px;overflow:hidden;color:#667085;font-size:13px;font-weight:600;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.contract-attachment-list{display:grid;gap:10px}.contract-attachment-row{width:100%;min-height:68px;padding:12px 14px;border:1px solid #e5eaf1;border-radius:8px;background:#fff;color:inherit;cursor:pointer;display:grid;grid-template-columns:42px minmax(0,1fr) auto 22px;align-items:center;gap:12px;text-align:left;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.contract-attachment-row:hover,.contract-attachment-row:focus{border-color:#93c5fd;background:#f8fbff;box-shadow:0 12px 26px #0f172a14;outline:none;transform:translateY(-1px)}.contract-attachment-icon{width:42px;height:42px;border-radius:8px;background:#eff6ff;color:#2563eb;display:inline-flex;align-items:center;justify-content:center;font-size:19px}.contract-attachment-icon.is-pdf{background:#fff1f2;color:#e11d48}.contract-attachment-file{min-width:0;display:block}.contract-attachment-name{display:block;overflow:hidden;color:#111827;font-size:14px;font-weight:750;line-height:21px;text-overflow:ellipsis;white-space:nowrap}.contract-attachment-meta{display:block;margin-top:4px;color:#98a2b3;font-size:11px;font-weight:700;letter-spacing:0;line-height:16px}.contract-attachment-type{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-attachment-action{color:#98a2b3;font-size:16px}.contract-attachment-row:hover .contract-attachment-action,.contract-attachment-row:focus .contract-attachment-action{color:#2563eb}.contract-attachment-modal-footer{min-height:56px;padding:12px 24px;border-top:1px solid #eef2f7;color:#98a2b3;font-size:12px;font-weight:600;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:16px}.contract-attachment-modal-footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-summary-cell{background:#fafafa!important;border-top:1px solid #e8edf3!important;font-size:12px;white-space:nowrap}.contract-summary-label,.contract-summary-amount{font-weight:700}.contract-summary-amount.pending,.contract-summary-split{color:#fa8c16}.contract-summary-split{display:inline-flex;gap:10px;font-weight:700;white-space:nowrap}.app-shell .ant-tabs-nav{margin-bottom:10px}.fade-enter{opacity:0;transform:translateY(10px)}.fade-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .3s}.page-header{margin-bottom:16px}.page-content{min-height:0}.overview-page{padding-bottom:24px}.overview-card{height:100%;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0f172a0f}.overview-card .ant-card-head{min-height:48px;border-bottom-color:#eef2f7}.overview-mini-metric{min-height:68px;padding:12px 14px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff}.overview-mini-metric.warning{border-color:#fed7aa;background:#fff7ed}.overview-mini-metric span{display:block;color:#64748b;font-size:12px;line-height:18px}.overview-mini-metric strong{display:block;margin-top:6px;color:#111827;font-size:17px;line-height:22px}.section-title{font-size:16px;font-weight:600;color:#181818;border-left:3px solid var(--primary-color);padding-left:12px;margin-bottom:16px;display:flex;align-items:center}.contract-finance-summary{margin-top:14px}.contract-finance-card .ant-card-body{padding:12px 14px!important}.contract-finance-card-title,.finance-stat-title{color:#667085;font-size:12px;line-height:18px;margin-bottom:6px}.contract-finance-card-value{font-size:18px;font-weight:700;line-height:24px;white-space:nowrap}.contract-finance-card-note{margin-top:6px;overflow:hidden;color:#98a2b3;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.finance-ledger-toolbar{justify-content:space-between;gap:12px}.project-balance-card .ant-card-body{padding:18px 20px!important}.project-balance-card{min-height:186px;cursor:pointer;outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.project-balance-card:hover,.project-balance-card:focus-visible{transform:translateY(-1px);box-shadow:0 8px 20px #0f172a14}.project-balance-card-active{box-shadow:0 0 0 2px #2563eb2e,0 8px 20px #0f172a14}.project-balance-card-payable.project-balance-card-active{box-shadow:0 0 0 2px #c2410c2e,0 8px 20px #0f172a14}.project-balance-card-receivable{border-top:3px solid #1d4ed8}.project-balance-card-payable{border-top:3px solid #c2410c}.project-balance-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#475467;font-size:13px;font-weight:600}.project-balance-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:#f2f4f7}.project-balance-main{margin-top:16px}.project-balance-label{color:#667085;font-size:13px;line-height:18px}.project-balance-primary{margin-top:4px;color:#111827;font-size:32px;font-weight:800;line-height:40px}.project-balance-card-receivable .project-balance-primary{color:#1d4ed8}.project-balance-card-payable .project-balance-primary{color:#c2410c}.project-balance-progress{height:8px;margin-top:16px;overflow:hidden;border-radius:999px;background:#eef2f6}.project-balance-progress span{display:block;height:100%;border-radius:inherit;background:#16a34a}.project-balance-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.project-balance-breakdown div{min-width:0}.project-balance-breakdown span{display:block;color:#667085;font-size:12px;line-height:18px}.project-balance-breakdown strong{display:block;overflow:hidden;color:#1f2937;font-size:14px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.project-balance-breakdown strong.danger{color:#d4380d}.finance-stat-value{font-size:22px;font-weight:700;line-height:30px}.finance-stat-value.income{color:#0052d9}.finance-stat-value.expense{color:#d4380d}.finance-stat-value.pending{color:#fa8c16}.finance-stat-value.settled{color:#667085}.finance-stat-value.count,.finance-stat-value.balance,.finance-account-balance{color:#181818}.finance-amount{font-weight:600;white-space:nowrap}.finance-amount.income,.finance-amount.transferIn{color:#0052d9}.finance-amount.expense,.finance-amount.transferOut{color:#d4380d}.finance-amount.pending{color:#fa8c16}.finance-amount.settled{color:#667085}.finance-page .app-content-panel{overflow:hidden}.finance-bank-import-panel{padding:16px}.finance-bank-import-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.finance-bank-import-header h3{margin:0;color:#101828;font-size:17px;line-height:24px}.finance-bank-import-header p{margin:6px 0 0;color:#667085;font-size:13px;line-height:20px}.project-detail-page{min-width:0}.profit-visual-panel .ant-card-head{min-height:42px}.profit-visual-panel .ant-card-head-title{padding:10px 0;color:#101828;font-size:15px;font-weight:700}.profit-visual-panel .ant-card-body{padding:18px 20px!important}.profit-formula-chain{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.profit-formula-card{flex:1 1 132px;min-width:0;padding:12px;border:1px solid #eef2f6;border-radius:8px;background:#fafcff}.profit-formula-card.is-result{border-color:#b7d7ff;background:#f2f8ff}.profit-formula-label{color:#667085;font-size:12px;line-height:18px}.profit-formula-value{margin-top:5px;overflow:hidden;font-size:18px;font-weight:700;line-height:26px;text-overflow:ellipsis;white-space:nowrap}.profit-formula-note{margin-top:5px;overflow:hidden;color:#98a2b3;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.profit-formula-operator{flex:0 0 20px;display:flex;align-items:center;justify-content:center;color:#98a2b3;font-size:22px;font-weight:700}.profit-formula-operator.is-equal{color:#0052d9}.profit-receipt-panel{height:100%;padding:0;border-radius:8px;background:#fff}.project-contract-table.ant-table-wrapper,.project-contracts-panel .ant-table{font-size:12px}.project-contracts-panel .ant-table-cell{padding:8px 12px!important;white-space:nowrap}.project-contracts-panel .ant-progress{min-width:72px}.profit-receipt{position:relative;display:flex;flex-direction:column;min-height:100%;padding:18px 18px 16px;border:1px solid #e5eaf1;border-radius:8px;background:linear-gradient(#fff,#fff) padding-box,repeating-linear-gradient(90deg,#f8fafc 0 1px,transparent 1px 7px);box-shadow:0 10px 24px #1018280f}.profit-receipt-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px}.profit-receipt-title{color:#101828;font-size:18px;font-weight:800;line-height:24px}.profit-receipt-subtitle{margin-top:2px;color:#667085;font-size:12px}.profit-receipt-stamp{flex:0 0 auto;margin-top:2px;padding:3px 8px;border:1px solid #91caff;border-radius:999px;color:#0052d9;background:#f0f7ff;font-size:12px;font-weight:700}.profit-receipt-meta,.profit-receipt-row,.profit-receipt-total{display:flex;align-items:baseline;justify-content:space-between;gap:14px;min-width:0}.profit-receipt-meta{color:#98a2b3;font-size:12px;line-height:22px}.profit-receipt-meta strong,.profit-receipt-row strong,.profit-receipt-total strong{overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;text-align:right;text-overflow:ellipsis;white-space:nowrap}.profit-receipt-meta strong{max-width:172px;color:#667085;font-weight:600}.profit-receipt-project-name{max-width:220px}.profit-receipt-divider{margin:12px 0;border-top:1px dashed #d0d5dd}.profit-receipt-divider.is-strong{border-top-color:#98a2b3}.profit-receipt-row{color:#475467;font-size:13px;line-height:30px}.profit-receipt-amount{color:#101828;font-weight:700}.profit-receipt-amount.income,.profit-receipt-total strong.income{color:#13a10e}.profit-receipt-amount.cost,.profit-receipt-total strong.cost{color:#d4380d}.profit-receipt-amount.muted{color:#667085}.profit-receipt-total{color:#101828;font-size:15px;font-weight:800;line-height:34px}.profit-receipt-total strong{color:#0052d9;font-size:20px}.profit-receipt-footer{margin-top:auto;padding-top:14px;color:#98a2b3;font-size:12px;text-align:center}.retail-ledger-date-link.ant-btn{height:auto;padding:0;color:#0052d9;font-weight:600}.retail-ledger-date-link.ant-btn:hover{color:#1677ff}.retail-ledger-invoice-link.ant-btn{height:auto;padding:0}.retail-ledger-pdf-button.ant-btn{color:#d4380d}.retail-ledger-pdf-button.ant-btn:hover{color:#ff4d4f;background:#fff1f0}.retail-invoice-validation-list{margin:0;padding-left:18px}.retail-invoice-validation-list li+li{margin-top:4px}.retail-ledger-drawer .ant-drawer-body{background:#f6f8fb}.retail-ledger-drawer-body{display:flex;flex-direction:column;gap:14px}.retail-ledger-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e5eaf1;border-radius:8px;background:#fff}.retail-ledger-drawer-head span{color:#667085;font-size:12px}.retail-ledger-drawer-head h3{margin:4px 0 0;color:#101828;font-size:17px;line-height:24px}.retail-ledger-detail-descriptions .ant-descriptions-item-label{width:108px;color:#667085}.retail-ledger-receipt-panel{min-height:460px}.retail-ledger-empty-receipt{padding:18px;border:1px dashed #d0d5dd;border-radius:8px;background:#fff;color:#667085;text-align:center}.profit-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;height:100%}.profit-metric-item{min-width:0;padding:12px;border:1px solid #eef2f6;border-radius:8px;background:#fff}.profit-metric-item.is-highlight{border-color:#b7d7ff;background:#f2f8ff}.profit-metric-item span,.profit-metric-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profit-metric-item span{color:#667085;font-size:12px}.profit-metric-item strong{margin-top:6px;color:#101828;font-size:14px}.dict-page-subtitle{display:block;margin-top:4px;font-size:12px}.dict-config-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px;min-height:520px}.dict-category-panel,.dict-items-panel{min-width:0;background:#fff;border:1px solid var(--shell-border-color);border-radius:8px}.dict-category-panel{padding:12px}.dict-panel-title{height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#101828;font-size:13px;font-weight:700}.dict-category-search{margin:10px 0 12px}.dict-category-panel .ant-tree{background:transparent;font-size:12px}.dict-category-panel .ant-tree-treenode{width:100%;padding:2px 0}.dict-category-panel .ant-tree-node-content-wrapper{min-width:0;flex:1;border-radius:6px}.dict-category-panel .ant-tree-node-selected{background:#e6f4ff!important;color:var(--primary-color);font-weight:600}.dict-tree-item{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.dict-tree-item span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dict-tree-item-actions{flex-shrink:0;opacity:0;transition:opacity .15s ease}.dict-category-panel .ant-tree-node-selected .dict-tree-item-actions,.dict-category-panel .ant-tree-node-content-wrapper:hover .dict-tree-item-actions{opacity:1}.dict-tree-item-actions .ant-btn-sm{width:22px;height:22px;padding:0}.dict-items-panel{padding:14px 18px 18px}.dict-items-header{min-height:44px;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid #eef2f6;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dict-items-header h3{margin:0;color:#101828;font-size:15px;font-weight:700}.dict-items-description{margin-top:5px;color:#667085;font-size:12px}.dict-items-panel .ant-table{font-size:12px}.dict-items-panel .ant-table-cell{padding:9px 10px!important;white-space:nowrap}.product-model-page .app-page-header{margin-bottom:12px}.product-config-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.product-config-summary>div{min-width:0;height:58px;padding:10px 14px;background:#fff;border:1px solid var(--shell-border-color);border-radius:8px;display:flex;flex-direction:column;justify-content:center}.product-config-summary span{color:#667085;font-size:12px}.product-config-summary strong{margin-top:4px;color:#101828;font-size:20px;line-height:1}.product-config-layout{grid-template-columns:280px minmax(0,1fr);min-height:560px}.product-brand-panel{padding:12px}.product-brand-title{height:auto;min-height:32px}.product-brand-list{display:flex;flex-direction:column;gap:4px;max-height:478px;overflow-y:auto;padding-right:2px}.product-brand-item{width:100%;min-height:36px;border:0;border-radius:6px;background:transparent;color:#344054;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;text-align:left}.product-brand-item:hover{background:#f5f8ff}.product-brand-item.is-active{background:#e6f4ff;color:var(--primary-color);font-weight:600}.product-brand-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-brand-count{min-width:24px;height:20px;padding:0 6px;border-radius:10px;background:#f2f4f7;color:#667085;font-size:12px;line-height:20px;text-align:center}.product-brand-item.is-active .product-brand-count{background:#fff;color:var(--primary-color)}.product-brand-actions{display:flex;align-items:center;opacity:0;transition:opacity .15s ease}.product-brand-item:hover .product-brand-actions,.product-brand-item.is-active .product-brand-actions{opacity:1}.product-brand-actions .ant-btn-sm{width:22px;height:22px;padding:0}.product-category-manager-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}@media (max-width: 1180px){.app-top-header{gap:12px;padding:0 16px}.project-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-brand{width:204px}.app-brand-title{font-size:15px}.app-top-menu-item{padding:0 10px}}@media (max-width: 900px){.app-top-menu{display:none}.app-brand{width:auto}.app-mobile-nav-trigger{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:#344054}.app-mobile-nav-trigger:hover,.app-mobile-nav-trigger:focus{color:var(--primary-color)!important;background:#eef6ff!important}.app-brand-title{display:none}.app-side-nav{width:168px!important;min-width:168px!important;max-width:168px!important}.app-main{margin-left:168px}.app-main-content,.app-page-header,.app-content-panel{padding:16px}.app-page-title-row{align-items:flex-start;flex-direction:column}.app-page-actions{width:100%;justify-content:flex-start}.dict-config-layout,.retail-inventory-summary,.retail-inventory-grid,.project-stat-grid{grid-template-columns:1fr}.profit-formula-operator{height:18px;font-size:18px}}.app-side-nav.is-collapsed{width:52px!important;min-width:52px!important;max-width:52px!important;flex:0 0 52px!important}.app-main.is-side-collapsed{margin-left:52px!important}.app-shell{background:#f5f7fb}.app-top-header{height:70px;padding:0 24px;background:#ffffffeb;border-bottom:1px solid rgba(226,232,240,.96);box-shadow:0 10px 34px #0f172a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-brand{width:236px;height:70px;gap:12px}.app-brand-mark{width:38px;height:38px;color:#fff;background:#111;border-color:#111;border-radius:8px;box-shadow:0 14px 28px #1111112e}.app-brand-title{color:#111;font-size:17px;font-weight:800}.app-top-menu{height:70px;gap:8px}.app-top-menu-item{height:42px;padding:0 14px;color:#334155;border:1px solid transparent;border-radius:8px;font-weight:700}.app-top-menu-item:hover,.app-top-menu-item:focus{color:#111;background:#fff;border-color:#e2e8f0;box-shadow:0 12px 24px #0f172a14}.app-top-menu-item.is-active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 14px 28px #2563eb3d}.app-top-icon-button,.app-user-entry{border:1px solid transparent;border-radius:8px}.app-top-icon-button:hover,.app-top-icon-button:focus,.app-user-entry:hover,.app-user-entry:focus{color:#111!important;background:#fff!important;border-color:#e2e8f0;box-shadow:0 10px 22px #0f172a14}.app-mobile-nav-popover .ant-popover-inner{border-color:#e5e7eb;border-radius:8px;box-shadow:0 28px 70px #0f172a2e}.app-body{padding-top:70px;background:transparent}.app-side-nav{top:70px;background:#fffffff0!important;border-right-color:#e2e8f0f5;box-shadow:10px 0 36px #0f172a0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-side-title{height:58px;border-bottom-color:#e5e7eb;color:#111;font-weight:800}.app-side-title-main .anticon{color:#2563eb}.app-side-nav .ant-menu{background:transparent;padding:12px 10px}.app-side-nav .ant-menu-item{height:42px;line-height:42px;color:#475569;border:1px solid transparent;border-radius:8px;font-weight:650}.app-side-nav .ant-menu-item:hover{color:#111!important;background:#fff!important;border-color:#e5e7eb}.app-side-nav .ant-menu-item-selected{color:#2563eb!important;background:#eff6ff!important;border-color:#bfdbfe;box-shadow:0 10px 22px #2563eb1c}.app-main-content{position:relative;padding:24px 28px 20px}.app-main-content:before{position:fixed;top:70px;right:0;bottom:0;left:0;z-index:-1;content:"";background:#f5f7fb}.site-layout-content{animation:fadeIn .28s ease-out}.app-page-header,.app-content-panel,.app-shell .ant-card,.app-shell .ant-modal-content,.app-shell .ant-drawer-content,.app-shell .ant-popover-inner,.app-shell .ant-picker-dropdown .ant-picker-panel-container{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 16px 40px #0f172a0f}.app-page-header{position:relative;overflow:hidden;margin-bottom:16px;padding:18px 22px;background:#fff}.app-page-header:after{position:absolute;top:0;right:0;width:240px;height:100%;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,rgba(37,99,235,.08))}.app-page-title-row,.app-page-toolbar,.app-page-header .ant-breadcrumb{position:relative;z-index:1}.app-page-title{color:#111;font-size:20px;font-weight:850}.app-content-panel{background:#fffffff0}.app-footer{color:#94a3b8}.app-shell .ant-btn{border-radius:8px;font-weight:650;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.app-shell .ant-btn:not(.ant-btn-link):not(.ant-btn-text):hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f172a14}.app-shell .ant-btn-primary{background:#2563eb;border-color:#2563eb;box-shadow:0 12px 24px #2563eb38}.app-shell .ant-btn-primary:hover{background:#1d4ed8!important;border-color:#1d4ed8!important}.app-shell .ant-input,.app-shell .ant-input-affix-wrapper,.app-shell .ant-select-selector,.app-shell .ant-picker,.app-shell .ant-input-number,.app-shell .ant-input-number-affix-wrapper{border-color:#dbe3ef!important;border-radius:8px!important;background:#fff}.app-shell .ant-input:hover,.app-shell .ant-input-affix-wrapper:hover,.app-shell .ant-select-selector:hover,.app-shell .ant-picker:hover,.app-shell .ant-input-number:hover,.app-shell .ant-input-number-affix-wrapper:hover{border-color:#93c5fd!important}.app-shell .ant-input:focus,.app-shell .ant-input-affix-wrapper-focused,.app-shell .ant-select-focused .ant-select-selector,.app-shell .ant-picker-focused,.app-shell .ant-input-number-focused,.app-shell .ant-input-number-affix-wrapper-focused{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1f!important}.app-shell .ant-table-wrapper{border-radius:8px}.app-shell .ant-table{color:#111827;background:#fff;border-radius:8px}.app-shell .ant-table-container,.app-shell .ant-table-content,.app-shell .ant-table-body{border-radius:8px}.app-shell .ant-table-thead>tr>th{color:#111;background:#f8fafc!important;border-bottom-color:#e5e7eb!important;font-weight:800}.app-shell .ant-table-tbody>tr>td{border-bottom-color:#eef2f7!important}.app-shell .ant-table-tbody>tr:hover>td{background:#f9fbff!important}.app-shell .ant-card{overflow:hidden;background:#fff}.app-shell .ant-card-head{min-height:44px;border-bottom-color:#eef2f7}.app-shell .ant-card-head-title{color:#111;font-weight:800}.app-shell .ant-tabs-nav:before{border-bottom-color:#e5e7eb!important}.app-shell .ant-tabs-tab{font-weight:700}.app-shell .ant-tag{border-radius:6px;font-weight:650}.app-shell .ant-alert{border-radius:8px}.app-shell .ant-modal-header,.app-shell .ant-drawer-header{border-bottom-color:#eef2f7}.app-shell .ant-modal-title,.app-shell .ant-drawer-title{color:#111;font-weight:800}.project-stat-card.ant-card,.contract-finance-card.ant-card{position:relative;border-color:#e5e7eb;box-shadow:0 12px 28px #0f172a0d}.project-stat-card.ant-card:before,.contract-finance-card.ant-card:before{position:absolute;top:0;right:0;left:0;height:3px;content:"";background:#e5e7eb}.project-stat-card.ant-card:nth-child(1):before,.contract-finance-summary .ant-col:nth-child(1) .contract-finance-card:before{background:#111827}.project-stat-card.ant-card:nth-child(2):before,.contract-finance-summary .ant-col:nth-child(2) .contract-finance-card:before{background:#2563eb}.project-stat-card.ant-card:nth-child(3):before,.contract-finance-summary .ant-col:nth-child(3) .contract-finance-card:before{background:#f97316}.project-stat-card.ant-card:nth-child(4):before,.contract-finance-summary .ant-col:nth-child(4) .contract-finance-card:before{background:#16a34a}.project-stat-card.ant-card:nth-child(5):before,.contract-finance-summary .ant-col:nth-child(5) .contract-finance-card:before{background:#22c55e}.project-stat-card.ant-card:nth-child(6):before{background:#0ea5e9}.project-stat-card.ant-card:nth-child(1),.contract-finance-summary .ant-col:nth-child(1) .contract-finance-card{color:#111827;background:#fff;border-color:#e5e7eb}.project-stat-card.ant-card:nth-child(2),.contract-finance-summary .ant-col:nth-child(2) .contract-finance-card{color:#111827;background:#fff;border-color:#e5e7eb}.project-stat-card.ant-card:nth-child(1) .project-stat-card-head,.project-stat-card.ant-card:nth-child(1) .project-stat-note,.project-stat-card.ant-card:nth-child(1) .project-stat-value,.project-stat-card.ant-card:nth-child(2) .project-stat-card-head,.project-stat-card.ant-card:nth-child(2) .project-stat-note,.project-stat-card.ant-card:nth-child(2) .project-stat-value,.contract-finance-summary .ant-col:nth-child(1) .contract-finance-card-title,.contract-finance-summary .ant-col:nth-child(1) .contract-finance-card-value,.contract-finance-summary .ant-col:nth-child(2) .contract-finance-card-title,.contract-finance-summary .ant-col:nth-child(2) .contract-finance-card-value{color:inherit!important}.project-balance-card{overflow:hidden;border-color:#e5e7eb;border-top:0;box-shadow:0 16px 40px #0f172a0f}.project-balance-card-receivable.project-balance-card-active,.project-balance-card-payable.project-balance-card-active{box-shadow:0 18px 46px #0f172a1a}.project-balance-card-receivable.project-balance-card-active{border-color:#2563eb}.project-balance-card-payable.project-balance-card-active{border-color:#c2410c}.project-balance-card-active .project-balance-icon{color:#fff;background:#111}.finance-stat-value.income,.finance-amount.income,.finance-amount.transferIn,.project-stat-value.income,.contract-table-link,.project-table-link{color:#2563eb}.finance-stat-value.expense,.finance-amount.expense,.finance-amount.transferOut,.project-stat-value.expense,.project-stat-value.profit-negative{color:#dc2626}.finance-stat-value.pending,.finance-amount.pending,.project-stat-value.pending,.contract-summary-amount.pending,.contract-pending-amount.is-pending{color:#f59e0b}.finance-stat-value.balance,.finance-account-balance,.project-stat-value.count,.contract-finance-card-value{color:#111}.notification-item:hover{background:#f8fafc}@media (max-width: 1180px){.app-top-header{padding:0 18px}.app-brand{width:214px}}@media (max-width: 900px){.app-top-header{height:64px}.app-body{padding-top:64px}.app-side-nav{top:64px}.app-main-content:before{top:64px;right:0;bottom:0;left:0}.app-main-content{padding:16px}}
