/* Generated by scripts/vendor-serif-fonts.js. See adjacent OFL licenses. */
/* cyrillic-ext */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-serif/latin-00f6caeab0971b1a.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-serif/latin-5a45a06a09e7e14c.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-serif/latin-f04022bb00b69557.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-serif/latin-9670553f7c1f2238.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* math */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-serif/latin-fde06860540643bd.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* vietnamese */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-serif/latin-ee5c5d7524bf5c3d.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-serif/latin-4c691c5168abdc50.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-serif/latin-75ae01a3afa6df44.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-3c78dda9b6346ba5.woff2) format('woff2');
  unicode-range: U+1f1e9-1f1f5, U+1f1f7-1f1ff, U+1f21a, U+1f232, U+1f234-1f237, U+1f250-1f251, U+1f300, U+1f302-1f308, U+1f30a-1f311, U+1f315, U+1f319-1f320, U+1f324, U+1f327, U+1f32a, U+1f32c-1f32d, U+1f330-1f357, U+1f359-1f37e;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-38ff0c5b9e624091.woff2) format('woff2');
  unicode-range: U+fee3, U+fef3, U+ff03-ff04, U+ff07, U+ff0a, U+ff17-ff19, U+ff1c-ff1d, U+ff20-ff3a, U+ff3c, U+ff3e-ff5b, U+ff5d, U+ff61-ff65, U+ff67-ff6a, U+ff6c, U+ff6f-ff78, U+ff7a-ff7d, U+ff80-ff84, U+ff86, U+ff89-ff8e, U+ff92, U+ff97-ff9b, U+ff9d-ff9f, U+ffe0-ffe4, U+ffe6, U+ffe9, U+ffeb, U+ffed, U+fffc, U+1f004, U+1f170-1f171, U+1f192-1f195, U+1f198-1f19a, U+1f1e6-1f1e8;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-88734e7bddbfb605.woff2) format('woff2');
  unicode-range: U+f0a7, U+f0b2, U+f0b7, U+f0c9, U+f0d8, U+f0da, U+f0dc-f0dd, U+f0e0, U+f0e6, U+f0eb, U+f0fc, U+f101, U+f104-f105, U+f107, U+f10b, U+f11b, U+f14b, U+f18a, U+f193, U+f1d6-f1d7, U+f244, U+f27a, U+f296, U+f2ae, U+f471, U+f4b3, U+f610-f611, U+f880-f881, U+f8ec, U+f8f5, U+f8ff, U+f901, U+f90a, U+f92c-f92d, U+f934, U+f937, U+f941, U+f965, U+f967, U+f969, U+f96b, U+f96f, U+f974, U+f978-f979, U+f97e, U+f981, U+f98a, U+f98e, U+f997, U+f99c, U+f9b2, U+f9b5, U+f9ba, U+f9be, U+f9ca, U+f9d0-f9d1, U+f9dd, U+f9e0-f9e1, U+f9e4, U+f9f7, U+fa00-fa01, U+fa08, U+fa0a, U+fa11, U+fb01-fb02, U+fdfc, U+fe0e, U+fe30-fe31, U+fe33-fe44, U+fe49-fe52, U+fe54-fe57, U+fe59-fe66, U+fe68-fe6b, U+fe8e, U+fe92-fe93, U+feae, U+feb8, U+fecb-fecc, U+fee0;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-8019da5e73b711f1.woff2) format('woff2');
  unicode-range: U+9f83, U+9f85-9f8d, U+9f90-9f91, U+9f94-9f96, U+9f98, U+9f9b-9f9c, U+9f9e, U+9fa0, U+9fa2, U+9ff0-9fff, U+a001, U+a007, U+a025, U+a046-a047, U+a057, U+a072, U+a078-a079, U+a083, U+a085, U+a100, U+a118, U+a132, U+a134, U+a1f4, U+a242, U+a4a6, U+a4aa, U+a4b0-a4b1, U+a4b3, U+a9c1-a9c2, U+ac00-ac01, U+ac04, U+ac08, U+ac10-ac11, U+ac13-ac16, U+ac19, U+ac1c-ac1d, U+ac24, U+ac70-ac71, U+ac74, U+ac77-ac78, U+ac80-ac81, U+ac83, U+ac8c, U+ac90, U+ac9f-aca0, U+aca8-aca9, U+acac, U+acb0, U+acbd, U+acc1, U+acc4, U+ace0-ace1, U+ace4, U+ace8, U+acf3, U+acf5, U+acfc-acfd, U+ad00, U+ad0c, U+ad11, U+ad1c, U+ad34, U+ad50, U+ad64, U+ad6c, U+ad70, U+ad74, U+ad7f, U+ad81, U+ad8c, U+adc0, U+adc8, U+addc, U+ade0, U+adf8-adf9, U+adfc, U+ae00, U+ae08-ae09, U+ae0b, U+ae30, U+ae34, U+ae38, U+ae40, U+ae4a, U+ae4c, U+ae54, U+ae68, U+aebc, U+aed8, U+af2c-af2d;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-0cde2146e0ae0c0b.woff2) format('woff2');
  unicode-range: U+9e30-9e33, U+9e35-9e3b, U+9e3e, U+9e40-9e44, U+9e46-9e4e, U+9e51, U+9e53, U+9e55-9e58, U+9e5a-9e5c, U+9e5e-9e63, U+9e66-9e6e, U+9e71, U+9e73, U+9e75, U+9e78-9e79, U+9e7c-9e7e, U+9e82, U+9e86-9e88, U+9e8b-9e8c, U+9e90-9e91, U+9e93, U+9e95, U+9e97, U+9e9d, U+9ea4-9ea5, U+9ea9-9eaa, U+9eb4-9eb5, U+9eb8-9eba, U+9ebc-9ebf, U+9ec3, U+9ec9, U+9ecd, U+9ed0, U+9ed2-9ed3, U+9ed5-9ed6, U+9ed9, U+9edc-9edd, U+9edf-9ee0, U+9ee2, U+9ee5, U+9ee7-9eea, U+9eef, U+9ef1, U+9ef3-9ef4, U+9ef6, U+9ef9, U+9efb-9efc, U+9efe, U+9f0b, U+9f0d, U+9f10, U+9f14, U+9f17, U+9f19, U+9f22, U+9f29, U+9f2c, U+9f2f, U+9f31, U+9f37, U+9f39, U+9f3d-9f3e, U+9f41, U+9f4a-9f4b, U+9f51-9f52, U+9f61-9f63, U+9f66-9f67, U+9f80-9f81;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-639a2685bd8dc9b6.woff2) format('woff2');
  unicode-range: U+9c82-9c83, U+9c85-9c8c, U+9c8e-9c92, U+9c94-9c9b, U+9c9e-9ca3, U+9ca5-9ca7, U+9ca9, U+9cab, U+9cad-9cae, U+9cb1-9cb7, U+9cb9-9cbd, U+9cbf-9cc0, U+9cc3, U+9cc5-9cc7, U+9cc9-9cd1, U+9cd3-9cda, U+9cdc-9cdd, U+9cdf, U+9ce1-9ce3, U+9ce5, U+9ce9, U+9cee-9cef, U+9cf3-9cf4, U+9cf6, U+9cfc-9cfd, U+9d02, U+9d08-9d09, U+9d12, U+9d1b, U+9d1e, U+9d26, U+9d28, U+9d37, U+9d3b, U+9d3f, U+9d51, U+9d59, U+9d5c-9d5d, U+9d5f-9d61, U+9d6c, U+9d70, U+9d72, U+9d7a, U+9d7e, U+9d84, U+9d89, U+9d8f, U+9d92, U+9daf, U+9db4, U+9db8, U+9dbc, U+9dc4, U+9dc7, U+9dc9, U+9dd7, U+9ddf, U+9df2, U+9df9-9dfa, U+9e0a, U+9e11, U+9e1a, U+9e1e, U+9e20, U+9e22, U+9e28-9e2c, U+9e2e-9e2f;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-650dbda9c559c0b1.woff2) format('woff2');
  unicode-range: U+9a80, U+9a83, U+9a85, U+9a88-9a8a, U+9a8d-9a8e, U+9a90, U+9a92-9a93, U+9a95-9a96, U+9a98-9a99, U+9a9b-9aa2, U+9aa5, U+9aa7, U+9aaf-9ab1, U+9ab5-9ab6, U+9ab9-9aba, U+9ac0-9ac4, U+9ac8, U+9acb-9acc, U+9ace-9acf, U+9ad1-9ad2, U+9ad9, U+9adf, U+9ae1, U+9ae3, U+9aea-9aeb, U+9aed-9aef, U+9af4, U+9af9, U+9afb, U+9b03-9b04, U+9b06, U+9b08, U+9b0d, U+9b0f-9b10, U+9b13, U+9b18, U+9b1a, U+9b1f, U+9b22-9b23, U+9b25, U+9b27-9b28, U+9b2a, U+9b2f, U+9b31-9b32, U+9b3b, U+9b43, U+9b46-9b49, U+9b4d-9b4e, U+9b51, U+9b56, U+9b58, U+9b5a, U+9b5c, U+9b5f, U+9b61-9b62, U+9b6f, U+9b77, U+9b80, U+9b88, U+9b8b, U+9b8e, U+9b91, U+9b9f-9ba0, U+9ba8, U+9baa-9bab, U+9bad-9bae, U+9bb0-9bb1, U+9bb8, U+9bc9-9bca, U+9bd3, U+9bd6, U+9bdb, U+9be8, U+9bf0-9bf1, U+9c02, U+9c10, U+9c15, U+9c24, U+9c2d, U+9c32, U+9c39, U+9c3b, U+9c40, U+9c47-9c49, U+9c53, U+9c57, U+9c64, U+9c72, U+9c77-9c78, U+9c7b, U+9c7f-9c80;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-96588c817d1b9ff7.woff2) format('woff2');
  unicode-range: U+98dd, U+98e1-98e2, U+98e7-98ea, U+98ec, U+98ee-98ef, U+98f2, U+98f4, U+98fc-98fe, U+9903, U+9905, U+9908, U+990a, U+990c-990d, U+9913-9914, U+9918, U+991a-991b, U+991e, U+9921, U+9928, U+992c, U+992e, U+9935, U+9938-9939, U+993d-993e, U+9945, U+994b-994c, U+9951-9952, U+9954-9955, U+9957, U+995e, U+9963, U+9966-9969, U+996b-996c, U+996f, U+9974-9975, U+9977-9979, U+997d-997e, U+9980-9981, U+9983-9984, U+9987, U+998a-998b, U+998d-9991, U+9993-9995, U+9997-9998, U+99a5, U+99ab, U+99ad-99ae, U+99b1, U+99b3-99b4, U+99bc, U+99bf, U+99c1, U+99c3-99c6, U+99cc, U+99d0, U+99d2, U+99d5, U+99db, U+99dd, U+99e1, U+99ed, U+99f1, U+99ff, U+9a01, U+9a03-9a04, U+9a0e-9a0f, U+9a11-9a13, U+9a19, U+9a1b, U+9a28, U+9a2b, U+9a30, U+9a32, U+9a37, U+9a40, U+9a45, U+9a4a, U+9a4d-9a4e, U+9a52, U+9a55, U+9a57, U+9a5a-9a5b, U+9a5f, U+9a62, U+9a65, U+9a69, U+9a6b, U+9a6e, U+9a75, U+9a77-9a7a, U+9a7d;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-6c51dc4aab4695a7.woff2) format('woff2');
  unicode-range: U+975b-975c, U+9763, U+9765-9766, U+976c-976d, U+9773, U+9776, U+977a, U+977c, U+9784-9785, U+978e-978f, U+9791-9792, U+9794-9795, U+9798, U+979a, U+979e, U+97a3, U+97a5-97a6, U+97a8, U+97ab-97ac, U+97ae-97af, U+97b2, U+97b4, U+97c6, U+97cb-97cc, U+97d3, U+97d8, U+97dc, U+97e1, U+97ea-97eb, U+97ee, U+97fb, U+97fe-97ff, U+9801-9803, U+9805-9806, U+9808, U+980c, U+9810-9814, U+9817-9818, U+981e, U+9820-9821, U+9824, U+9828, U+982b-982d, U+9830, U+9834, U+9838-9839, U+983c, U+9846, U+984d-984f, U+9851-9852, U+9854-9855, U+9857-9858, U+985a-985b, U+9862-9863, U+9865, U+9867, U+986b, U+986f-9871, U+9877-9878, U+987c, U+9880, U+9883, U+9885, U+9889, U+988b-988f, U+9893-9895, U+9899-989b, U+989e-989f, U+98a1-98a2, U+98a5-98a7, U+98a9, U+98af, U+98b1, U+98b6, U+98ba, U+98be, U+98c3-98c4, U+98c6-98c8, U+98cf-98d6, U+98da-98db;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-777e22bc8f62379b.woff2) format('woff2');
  unicode-range: U+95c4-95ca, U+95cc-95cd, U+95d4-95d6, U+95d8, U+95e1-95e2, U+95e9, U+95f0-95f1, U+95f3, U+95f6, U+95fc, U+95fe-95ff, U+9602-9604, U+9606-960d, U+960f, U+9611-9613, U+9615-9617, U+9619-961b, U+961d, U+9621, U+9628, U+962f, U+963c-963e, U+9641-9642, U+9649, U+9654, U+965b-965f, U+9661, U+9663, U+9665, U+9667-9668, U+966c, U+9670, U+9672-9674, U+9678, U+967a, U+967d, U+9682, U+9685, U+9688, U+968a, U+968d-968e, U+9695, U+9697-9698, U+969e, U+96a0, U+96a3-96a4, U+96a8, U+96aa, U+96b0-96b1, U+96b3-96b4, U+96b7-96b9, U+96bb-96bd, U+96c9, U+96cb, U+96ce, U+96d1-96d2, U+96d6, U+96d9, U+96db-96dc, U+96de, U+96e0, U+96e3, U+96e9, U+96eb, U+96f0-96f2, U+96f9, U+96ff, U+9701-9702, U+9705, U+9708, U+970a, U+970e-970f, U+9711, U+9719, U+9727, U+972a, U+972d, U+9730, U+973d, U+9742, U+9744, U+9748-9749, U+9750-9751, U+975a;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-29dcc8d4753e9547.woff2) format('woff2');
  unicode-range: U+94f5, U+94f7, U+94f9, U+94fb-94fd, U+94ff, U+9503-9504, U+9506-9507, U+9509-950a, U+950d-950f, U+9511-9518, U+951a-9520, U+9522, U+9528-952d, U+9530-953a, U+953c-953f, U+9543-9546, U+9548-9550, U+9552-9555, U+9557-955b, U+955d-9568, U+956a-956d, U+9570-9574, U+9583, U+9586, U+9589, U+958e-958f, U+9591-9592, U+9594, U+9598-9599, U+959e-95a0, U+95a2-95a6, U+95a8-95b2, U+95b4, U+95b8-95c3;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-433932a0b80c0b89.woff2) format('woff2');
  unicode-range: U+941c-942b, U+942d-942e, U+9432-9433, U+9435, U+9438, U+943a, U+943e, U+9444, U+944a, U+9451-9452, U+945a, U+9462-9463, U+9465, U+9470-9487, U+948a-9492, U+9494-9498, U+949a, U+949c-949d, U+94a1, U+94a3-94a4, U+94a8, U+94aa-94ad, U+94af, U+94b2, U+94b4-94ba, U+94bc-94c0, U+94c4, U+94c6-94db, U+94de-94ec, U+94ee-94f1, U+94f3;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-2989ae00e6d92089.woff2) format('woff2');
  unicode-range: U+92ec-92ed, U+92f0, U+92f3, U+92f8, U+92fc, U+9304, U+9306, U+9310, U+9312, U+9315, U+9318, U+931a, U+931e, U+9320-9322, U+9324, U+9326-9329, U+932b-932c, U+932f, U+9331-9332, U+9335-9336, U+933e, U+9340-9341, U+934a-9360, U+9362-9363, U+9365-936b, U+936e, U+9375, U+937e, U+9382, U+938a, U+938c, U+938f, U+9393-9394, U+9396-9397, U+939a, U+93a2, U+93a7, U+93ac-93cd, U+93d0-93d1, U+93d6-93d8, U+93de-93df, U+93e1-93e2, U+93e4, U+93f8, U+93fb, U+93fd, U+940e-941a;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-d6e45671ef57b31f.woff2) format('woff2');
  unicode-range: U+9163-9164, U+9169, U+9170, U+9172, U+9174, U+9179-917a, U+917d-917e, U+9182-9183, U+9185, U+918c-918d, U+9190-9191, U+919a, U+919c, U+91a1-91a4, U+91a8, U+91aa-91af, U+91b4-91b5, U+91b8, U+91ba, U+91be, U+91c0-91c1, U+91c6, U+91c8, U+91cb, U+91d0, U+91d2, U+91d7-91d8, U+91dd, U+91e3, U+91e6-91e7, U+91ed, U+91f0, U+91f5, U+91f9, U+9200, U+9205, U+9207-920a, U+920d-920e, U+9210, U+9214-9215, U+921c, U+921e, U+9221, U+9223-9227, U+9229-922a, U+922d, U+9234-9235, U+9237, U+9239-923a, U+923c-9240, U+9244-9246, U+9249, U+924e-924f, U+9251, U+9253, U+9257, U+925b, U+925e, U+9262, U+9264-9266, U+9268, U+926c, U+926f, U+9271, U+927b, U+927e, U+9280, U+9283, U+9285-928a, U+928e, U+9291, U+9293, U+9296, U+9298, U+929c-929d, U+92a8, U+92ab-92ae, U+92b3, U+92b6-92b7, U+92b9, U+92c1, U+92c5-92c6, U+92c8, U+92cc, U+92d0, U+92d2, U+92e4, U+92ea;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-901458a5eae4fbe2.woff2) format('woff2');
  unicode-range: U+9004, U+900b, U+9011, U+9015-9016, U+901e, U+9021, U+9026, U+902d, U+902f, U+9031, U+9035-9036, U+9039-903a, U+9041, U+9044-9046, U+904a, U+904f-9052, U+9054-9055, U+9058-9059, U+905b-905e, U+9060-9062, U+9068-9069, U+906f, U+9072, U+9074, U+9076-907a, U+907c-907d, U+9081, U+9083, U+9085, U+9087-908b, U+908f, U+9095, U+9097, U+9099-909b, U+909d, U+90a0-90a1, U+90a8-90a9, U+90ac, U+90b0, U+90b2-90b4, U+90b6, U+90b8, U+90ba, U+90bd-90be, U+90c3-90c5, U+90c7-90c8, U+90cf-90d0, U+90d3, U+90d5, U+90d7, U+90da-90dc, U+90de, U+90e2, U+90e4, U+90e6-90e7, U+90ea-90eb, U+90ef, U+90f4-90f5, U+90f7, U+90fe-9100, U+9104, U+9109, U+910c, U+9112, U+9114-9115, U+9118, U+911c, U+911e, U+9120, U+9122-9123, U+9127, U+912d, U+912f-9132, U+9139-913a, U+9143, U+9146, U+9149-914a, U+914c, U+914e-9150, U+9154, U+9157, U+915a, U+915d-915e, U+9161-9162;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-7f7692f8c2c063ec.woff2) format('woff2');
  unicode-range: U+8e41-8e42, U+8e47, U+8e49-8e4b, U+8e50-8e53, U+8e59-8e5a, U+8e5f-8e60, U+8e64, U+8e69, U+8e6c, U+8e70, U+8e74, U+8e76, U+8e7a-8e7c, U+8e7f, U+8e84-8e85, U+8e87, U+8e89, U+8e8b, U+8e8d, U+8e8f-8e90, U+8e94, U+8e99, U+8e9c, U+8e9e, U+8eaa, U+8eac, U+8eb0, U+8eb6, U+8ec0, U+8ec6, U+8eca-8ece, U+8ed2, U+8eda, U+8edf, U+8ee2, U+8eeb, U+8ef8, U+8efb-8efe, U+8f03, U+8f09, U+8f0b, U+8f12-8f15, U+8f1b, U+8f1d, U+8f1f, U+8f29-8f2a, U+8f2f, U+8f36, U+8f38, U+8f3b, U+8f3e-8f3f, U+8f44-8f45, U+8f49, U+8f4d-8f4e, U+8f5f, U+8f6b, U+8f6d, U+8f71-8f73, U+8f75-8f76, U+8f78-8f7a, U+8f7c, U+8f7e, U+8f81-8f82, U+8f84, U+8f87, U+8f8a-8f8b, U+8f8d-8f8f, U+8f94-8f95, U+8f97-8f9a, U+8fa6, U+8fad-8faf, U+8fb2, U+8fb5-8fb7, U+8fba-8fbc, U+8fbf, U+8fc2, U+8fcb, U+8fcd, U+8fd3, U+8fd5, U+8fd7, U+8fda, U+8fe2-8fe5, U+8fe8-8fe9, U+8fee, U+8ff3-8ff4, U+8ff8, U+8ffa;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-cb0066eed0e6b801.woff2) format('woff2');
  unicode-range: U+8cbd, U+8cbf-8cc4, U+8cc7-8cc8, U+8cca, U+8ccd, U+8cd1, U+8cd3, U+8cdb-8cdc, U+8cde, U+8ce0, U+8ce2-8ce4, U+8ce6-8ce8, U+8cea, U+8ced, U+8cf4, U+8cf8, U+8cfa, U+8cfc-8cfd, U+8d04-8d05, U+8d07-8d08, U+8d0a, U+8d0d, U+8d0f, U+8d13-8d14, U+8d16, U+8d1b, U+8d20, U+8d30, U+8d32-8d33, U+8d36, U+8d3b, U+8d3d, U+8d40, U+8d42-8d43, U+8d45-8d46, U+8d48-8d4a, U+8d4d, U+8d51, U+8d53, U+8d55, U+8d59, U+8d5c-8d5d, U+8d5f, U+8d61, U+8d66-8d67, U+8d6a, U+8d6d, U+8d71, U+8d73, U+8d84, U+8d90-8d91, U+8d94-8d95, U+8d99, U+8da8, U+8daf, U+8db1, U+8db5, U+8db8, U+8dba, U+8dbc, U+8dbf, U+8dc2, U+8dc4, U+8dc6, U+8dcb, U+8dce-8dcf, U+8dd6-8dd7, U+8dda-8ddb, U+8dde, U+8de1, U+8de3-8de4, U+8de9, U+8deb-8dec, U+8df0-8df1, U+8df6-8dfd, U+8e05, U+8e07, U+8e09-8e0a, U+8e0c, U+8e0e, U+8e10, U+8e14, U+8e1d-8e1f, U+8e23, U+8e26, U+8e2b-8e31, U+8e34-8e35, U+8e39-8e3a, U+8e3d, U+8e40;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-169612f4e95a63d8.woff2) format('woff2');
  unicode-range: U+8b80, U+8b83, U+8b8a, U+8b8c, U+8b90, U+8b93, U+8b99-8b9a, U+8ba0, U+8ba3, U+8ba5-8ba7, U+8baa-8bac, U+8bb4-8bb5, U+8bb7, U+8bb9, U+8bc2-8bc3, U+8bc5, U+8bcb-8bcc, U+8bce-8bd0, U+8bd2-8bd4, U+8bd6, U+8bd8-8bd9, U+8bdc, U+8bdf, U+8be3-8be4, U+8be7-8be9, U+8beb-8bec, U+8bee, U+8bf0, U+8bf2-8bf3, U+8bf6, U+8bf9, U+8bfc-8bfd, U+8bff-8c00, U+8c02, U+8c04, U+8c06-8c07, U+8c0c, U+8c0f, U+8c11-8c12, U+8c14-8c1b, U+8c1d-8c21, U+8c24-8c25, U+8c27, U+8c2a-8c2c, U+8c2e-8c30, U+8c32-8c36, U+8c3f, U+8c47-8c4c, U+8c4e-8c50, U+8c54-8c56, U+8c62, U+8c68, U+8c6c, U+8c73, U+8c78, U+8c7a, U+8c82, U+8c85, U+8c89-8c8a, U+8c8d-8c8e, U+8c90, U+8c93-8c94, U+8c98, U+8c9d-8c9e, U+8ca0-8ca2, U+8ca7-8cac, U+8caf-8cb0, U+8cb3-8cb4, U+8cb6-8cb9, U+8cbb-8cbc;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-e91afbe54132494c.woff2) format('woff2');
  unicode-range: U+8a15-8a18, U+8a1a-8a1b, U+8a1d, U+8a1f, U+8a22-8a23, U+8a25, U+8a2b, U+8a2d, U+8a31, U+8a33-8a34, U+8a36-8a38, U+8a3a, U+8a3c, U+8a3e, U+8a40-8a41, U+8a46, U+8a48, U+8a50, U+8a52, U+8a54-8a55, U+8a58, U+8a5b, U+8a5d-8a63, U+8a66, U+8a69-8a6b, U+8a6d-8a6e, U+8a70, U+8a72-8a73, U+8a7a, U+8a85, U+8a87, U+8a8a, U+8a8c-8a8d, U+8a90-8a92, U+8a95, U+8a98, U+8aa0-8aa1, U+8aa3-8aa6, U+8aa8-8aa9, U+8aac-8aae, U+8ab0, U+8ab2, U+8ab8-8ab9, U+8abc, U+8abe-8abf, U+8ac7, U+8acf, U+8ad2, U+8ad6-8ad7, U+8adb-8adc, U+8adf, U+8ae1, U+8ae6-8ae8, U+8aeb, U+8aed-8aee, U+8af1, U+8af3-8af4, U+8af7-8af8, U+8afa, U+8afe, U+8b00-8b02, U+8b07, U+8b0a, U+8b0c, U+8b0e, U+8b10, U+8b17, U+8b19, U+8b1b, U+8b1d, U+8b20-8b21, U+8b26, U+8b28, U+8b2c, U+8b33, U+8b39, U+8b3e-8b3f, U+8b41, U+8b45, U+8b49, U+8b4c, U+8b4f, U+8b57-8b58, U+8b5a, U+8b5c, U+8b5e, U+8b60, U+8b6c, U+8b6f-8b70, U+8b72, U+8b74, U+8b77, U+8b7d;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-491affee7cac6ede.woff2) format('woff2');
  unicode-range: U+8882, U+8884-8886, U+8888, U+888f, U+8892-8893, U+889b, U+88a2, U+88a4, U+88a6, U+88a8, U+88aa, U+88ae, U+88b1, U+88b4, U+88b7, U+88bc, U+88c0, U+88c6-88c9, U+88ce-88cf, U+88d1-88d3, U+88d8, U+88db-88dd, U+88df, U+88e1-88e3, U+88e5, U+88e8, U+88ec, U+88f0-88f1, U+88f3-88f4, U+88fc-88fe, U+8900, U+8902, U+8906-8907, U+8909-890c, U+8912-8915, U+8918-891b, U+8921, U+8925, U+892b, U+8930, U+8932, U+8934, U+8936, U+893b, U+893d, U+8941, U+894c, U+8955-8956, U+8959, U+895c, U+895e-8960, U+8966, U+896a, U+896c, U+896f-8970, U+8972, U+897b, U+897e, U+8980, U+8983, U+8985, U+8987-8988, U+898c, U+898f, U+8993, U+8997, U+899a, U+89a1, U+89a7, U+89a9-89aa, U+89b2-89b3, U+89b7, U+89c0, U+89c7, U+89ca-89cc, U+89ce-89d1, U+89d6, U+89da, U+89dc, U+89de, U+89e5, U+89e7, U+89eb, U+89ef, U+89f1, U+89f3-89f4, U+89f8, U+89ff, U+8a01-8a03, U+8a07-8a0a, U+8a0e-8a0f, U+8a13;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-da947b8c9cfdfc1f.woff2) format('woff2');
  unicode-range: U+86f4, U+86f8-86f9, U+86fb, U+86fe, U+8703, U+8706-870a, U+870d, U+8711-8713, U+871a, U+871e, U+8722-8723, U+8725, U+8729, U+872e, U+8731, U+8734, U+8737, U+873a-873b, U+873e-8740, U+8742, U+8747-8748, U+8753, U+8755, U+8757-8758, U+875d, U+875f, U+8762-8766, U+8768, U+876e, U+8770, U+8772, U+8775, U+8778, U+877b-877e, U+8782, U+8785, U+8788, U+878b, U+8793, U+8797, U+879a, U+879e-87a0, U+87a2-87a3, U+87a8, U+87ab-87ad, U+87af, U+87b3, U+87b5, U+87bd, U+87c0, U+87c4, U+87c6, U+87ca-87cb, U+87d1-87d2, U+87db-87dc, U+87de, U+87e0, U+87e5, U+87ea, U+87ec, U+87ee, U+87f2-87f3, U+87fb, U+87fd-87fe, U+8802-8803, U+8805, U+880a-880b, U+880d, U+8813-8816, U+8819, U+881b, U+881f, U+8821, U+8823, U+8831-8832, U+8835-8836, U+8839, U+883b-883c, U+8844, U+8846, U+884a, U+884e, U+8852-8853, U+8855, U+8859, U+885b, U+885d-885e, U+8862, U+8864, U+8869-886a, U+886e-886f, U+8872, U+8879, U+887d-887f;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-4e0424a769384181.woff2) format('woff2');
  unicode-range: U+8548, U+854e, U+8553, U+8556-8557, U+8559, U+855e, U+8561, U+8564-8565, U+8568-856a, U+856d, U+856f-8570, U+8572, U+8576, U+8579-857b, U+8580, U+8585-8586, U+8588, U+858a, U+858f, U+8591, U+8594, U+8599, U+859c, U+85a2, U+85a4, U+85a6, U+85a8-85a9, U+85ab-85ac, U+85ae, U+85b7-85b9, U+85be, U+85c1, U+85c7, U+85cd, U+85d0, U+85d3, U+85d5, U+85dc-85dd, U+85df-85e0, U+85e5-85e6, U+85e8-85ea, U+85f4, U+85f9, U+85fe-85ff, U+8602, U+8605-8607, U+860a-860b, U+8616, U+8618, U+861a, U+8627, U+8629, U+862d, U+8638, U+863c, U+863f, U+864d, U+864f, U+8652-8655, U+865b-865c, U+865f, U+8662, U+8667, U+866c, U+866e, U+8671, U+8675, U+867a-867c, U+867f, U+868b, U+868d, U+8693, U+869c-869d, U+86a1, U+86a3-86a4, U+86a7-86a9, U+86ac, U+86af-86b1, U+86b4-86b6, U+86ba, U+86c0, U+86c4, U+86c6, U+86c9-86ca, U+86cd-86d1, U+86d4, U+86d8, U+86de-86df, U+86e4, U+86e6, U+86e9, U+86ed, U+86ef-86f3;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-f01a667571926f64.woff2) format('woff2');
  unicode-range: U+83c5, U+83c8-83c9, U+83cb, U+83d1, U+83d3-83d6, U+83d8, U+83db, U+83dd, U+83df, U+83e1, U+83e5, U+83ea-83eb, U+83f0, U+83f4, U+83f8-83f9, U+83fb, U+83fd, U+83ff, U+8401, U+8406, U+840a-840b, U+840f, U+8411, U+8418, U+841c, U+8420, U+8422-8424, U+8426, U+8429, U+842c, U+8438-8439, U+843b-843c, U+843f, U+8446-8447, U+8449, U+844e, U+8451-8452, U+8456, U+8459-845a, U+845c, U+8462, U+8466, U+846d, U+846f-8470, U+8473, U+8476-8478, U+847a, U+847d, U+8484-8485, U+8487, U+8489, U+848c, U+848e, U+8490, U+8493-8494, U+8497, U+849b, U+849e-849f, U+84a1, U+84a5, U+84a8, U+84af, U+84b4, U+84b9-84bf, U+84c1-84c2, U+84c5-84c7, U+84ca-84cb, U+84cd, U+84d0-84d1, U+84d3, U+84d6, U+84df-84e0, U+84e2-84e3, U+84e5-84e7, U+84ee, U+84f3, U+84f6, U+84fa, U+84fc, U+84ff-8500, U+850c, U+8511, U+8514-8515, U+8517-8518, U+851f, U+8523, U+8525-8526, U+8529, U+852b, U+852d, U+8532, U+8534-8535, U+8538-853a, U+853c, U+8543, U+8545;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-41d7b6024003b1fc.woff2) format('woff2');
  unicode-range: U+82bc, U+82be, U+82c0-82c2, U+82c4-82c8, U+82ca-82cc, U+82ce, U+82d0, U+82d2-82d3, U+82d5-82d6, U+82d8-82d9, U+82dc-82de, U+82e0-82e4, U+82e7, U+82e9-82eb, U+82ed-82ee, U+82f3-82f4, U+82f7-82f8, U+82fa-8301, U+8306-8308, U+830c-830d, U+830f, U+8311, U+8313-8315, U+8318, U+831a-831b, U+831d, U+8324, U+8327, U+832a, U+832c-832d, U+832f, U+8331-8334, U+833a-833c, U+8340, U+8343-8345, U+8347-8348, U+834a, U+834c, U+834f, U+8351, U+8356, U+8358-835c, U+835e, U+8360, U+8364-8366, U+8368-836a, U+836c-836e, U+8373, U+8378, U+837b-837d, U+837f-8380, U+8382, U+8388, U+838a-838b, U+8392, U+8394, U+8396, U+8398-8399, U+839b-839c, U+83a0, U+83a2-83a3, U+83a8-83aa, U+83ae-83b0, U+83b3-83b4, U+83b6, U+83b8, U+83ba, U+83bc-83bd, U+83bf-83c0, U+83c2;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-c0941e37c98fbb7d.woff2) format('woff2');
  unicode-range: U+8166-8169, U+816b, U+816d, U+8171, U+8173-8174, U+8178, U+817c-817d, U+8182, U+8188, U+8191, U+8198-819b, U+81a0, U+81a3, U+81a5-81a6, U+81a9, U+81b6, U+81ba-81bb, U+81bd, U+81bf, U+81c1, U+81c3, U+81c6, U+81c9-81ca, U+81cc-81cd, U+81d1, U+81d3-81d4, U+81d8, U+81db-81dc, U+81de-81df, U+81e5, U+81e7-81e9, U+81eb-81ec, U+81ee-81ef, U+81f5, U+81f8, U+81fa, U+81fc, U+81fe, U+8200-8202, U+8204, U+8208-820a, U+820e-8210, U+8216-8218, U+821b-821c, U+8221-8224, U+8226-8228, U+822b, U+822d, U+822f, U+8232-8234, U+8237-8238, U+823a-823b, U+823e, U+8244, U+8249, U+824b, U+824f, U+8259-825a, U+825f, U+8266, U+8268, U+826e, U+8271, U+8276-8279, U+827d, U+827f, U+8283-8284, U+8288-828a, U+828d-8291, U+8293-8294, U+8296-8298, U+829f-82a1, U+82a3-82a4, U+82a7-82ab, U+82ae, U+82b0, U+82b2, U+82b4-82b6;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-01bf44e54df77a3e.woff2) format('woff2');
  unicode-range: U+8016, U+8018-8019, U+801c, U+801e, U+8026-802a, U+8031, U+8034-8035, U+8037, U+8043, U+804b, U+804d, U+8052, U+8056, U+8059, U+805e, U+8061, U+8068-8069, U+806e-8074, U+8076-8078, U+807c-8080, U+8082, U+8084-8085, U+8088, U+808f, U+8093, U+809c, U+809f, U+80ab, U+80ad-80ae, U+80b1, U+80b6-80b8, U+80bc-80bd, U+80c2, U+80c4, U+80ca, U+80cd, U+80d1, U+80d4, U+80d7, U+80d9-80db, U+80dd, U+80e0, U+80e4-80e5, U+80e7-80ed, U+80ef-80f1, U+80f3-80f4, U+80fc, U+8101, U+8104-8105, U+8107-8108, U+810c-810e, U+8112-8115, U+8117-8119, U+811b-811f, U+8121-8130, U+8132-8134, U+8137, U+8139, U+813f-8140, U+8142, U+8146, U+8148, U+814d-814e, U+8151, U+8153, U+8158-815a, U+815e, U+8160;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-eddcb68d36379b0f.woff2) format('woff2');
  unicode-range: U+7ef0-7ef2, U+7ef6, U+7efa-7efb, U+7efe, U+7f01-7f04, U+7f08, U+7f0a-7f12, U+7f17, U+7f19, U+7f1b-7f1c, U+7f1f, U+7f21-7f23, U+7f25-7f28, U+7f2a-7f33, U+7f35-7f37, U+7f3d, U+7f42, U+7f44-7f45, U+7f4c-7f4d, U+7f52, U+7f54, U+7f58-7f59, U+7f5d, U+7f5f-7f61, U+7f63, U+7f65, U+7f68, U+7f70-7f71, U+7f73-7f75, U+7f77, U+7f79, U+7f7d-7f7e, U+7f85-7f86, U+7f88-7f89, U+7f8b-7f8c, U+7f90-7f91, U+7f94-7f96, U+7f98-7f9b, U+7f9d, U+7f9f, U+7fa3, U+7fa7-7fa9, U+7fac-7fb2, U+7fb4, U+7fb6, U+7fb8, U+7fbc, U+7fbf-7fc0, U+7fc3, U+7fca, U+7fcc, U+7fce, U+7fd2, U+7fd5, U+7fd9-7fdb, U+7fdf, U+7fe3, U+7fe5-7fe7, U+7fe9, U+7feb-7fec, U+7fee-7fef, U+7ff1, U+7ff3-7ff4, U+7ff9-7ffa, U+7ffe, U+8004, U+8006, U+800b, U+800e, U+8011-8012, U+8014;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-5ba6ca6634958bb3.woff2) format('woff2');
  unicode-range: U+7dd2, U+7dd4, U+7dd6-7dd8, U+7dda-7de0, U+7de2-7de6, U+7de8-7ded, U+7def, U+7df1-7df5, U+7df7, U+7df9, U+7dfb-7dfc, U+7dfe-7e02, U+7e04, U+7e08-7e0b, U+7e12, U+7e1b, U+7e1e, U+7e20, U+7e22-7e23, U+7e26, U+7e29, U+7e2b, U+7e2e-7e2f, U+7e31, U+7e37, U+7e39-7e3e, U+7e40, U+7e43-7e44, U+7e46-7e47, U+7e4a-7e4b, U+7e4d-7e4e, U+7e51, U+7e54-7e56, U+7e58-7e5b, U+7e5d-7e5e, U+7e61, U+7e66-7e67, U+7e69-7e6b, U+7e6d, U+7e70, U+7e73, U+7e77, U+7e79, U+7e7b-7e7d, U+7e81-7e82, U+7e8c-7e8d, U+7e8f, U+7e92-7e94, U+7e96, U+7e98, U+7e9a-7e9c, U+7e9e-7e9f, U+7ea1, U+7ea3, U+7ea5, U+7ea8-7ea9, U+7eab, U+7ead-7eae, U+7eb0, U+7ebb, U+7ebe, U+7ec0-7ec2, U+7ec9, U+7ecb-7ecc, U+7ed0, U+7ed4, U+7ed7, U+7edb, U+7ee0-7ee2, U+7ee5-7ee6, U+7ee8, U+7eeb;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-4c2f63c90bce3ed7.woff2) format('woff2');
  unicode-range: U+7ce8, U+7cec, U+7cf0, U+7cf5-7cf9, U+7cfc, U+7cfe, U+7d00, U+7d04-7d0b, U+7d0d, U+7d10-7d14, U+7d17-7d19, U+7d1b-7d1f, U+7d21, U+7d24-7d26, U+7d28-7d2a, U+7d2c-7d2e, U+7d30-7d31, U+7d33, U+7d35-7d36, U+7d38-7d3a, U+7d40, U+7d42-7d44, U+7d46, U+7d4b-7d4c, U+7d4f, U+7d51, U+7d54-7d56, U+7d58, U+7d5b-7d5c, U+7d5e, U+7d61-7d63, U+7d66, U+7d68, U+7d6a-7d6c, U+7d6f, U+7d71-7d73, U+7d75-7d77, U+7d79-7d7a, U+7d7e, U+7d81, U+7d84-7d8b, U+7d8d, U+7d8f, U+7d91, U+7d94, U+7d96, U+7d98-7d9a, U+7d9c-7da0, U+7da2, U+7da6, U+7daa-7db1, U+7db4-7db8, U+7dba-7dbf, U+7dc1, U+7dc4, U+7dc7-7dc8, U+7dca-7dcd, U+7dcf, U+7dd1;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-fd62ed363960d222.woff2) format('woff2');
  unicode-range: U+7bd3-7bd4, U+7bd9-7bda, U+7bdd, U+7be0-7be1, U+7be4-7be6, U+7be9-7bea, U+7bef, U+7bf4, U+7bf6, U+7bfc, U+7bfe, U+7c01, U+7c03, U+7c07-7c08, U+7c0a-7c0d, U+7c0f, U+7c11, U+7c15-7c16, U+7c19, U+7c1e-7c21, U+7c23-7c24, U+7c26, U+7c28-7c33, U+7c35, U+7c37-7c3b, U+7c3d-7c3e, U+7c40-7c41, U+7c43, U+7c47-7c48, U+7c4c, U+7c50, U+7c53-7c54, U+7c59, U+7c5f-7c60, U+7c63-7c65, U+7c6c, U+7c6e, U+7c72, U+7c74, U+7c79-7c7a, U+7c7c, U+7c81-7c82, U+7c84-7c85, U+7c88, U+7c8a-7c91, U+7c93-7c96, U+7c99, U+7c9b-7c9e, U+7ca0-7ca2, U+7ca6-7ca9, U+7cac, U+7caf-7cb3, U+7cb5-7cb7, U+7cba-7cbd, U+7cbf-7cc2, U+7cc5, U+7cc7-7cc9, U+7ccc-7ccd, U+7cd7, U+7cdc, U+7cde, U+7ce0, U+7ce4-7ce5, U+7ce7;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-56ee4ec6390a02b8.woff2) format('woff2');
  unicode-range: U+7ae6, U+7af4-7af7, U+7afa-7afb, U+7afd-7b0a, U+7b0c, U+7b0e-7b0f, U+7b13, U+7b15-7b16, U+7b18-7b19, U+7b1e-7b20, U+7b22-7b25, U+7b29-7b2b, U+7b2d-7b2e, U+7b30-7b3b, U+7b3e-7b3f, U+7b41-7b42, U+7b44-7b47, U+7b4a, U+7b4c-7b50, U+7b58, U+7b5a, U+7b5c, U+7b60, U+7b66-7b67, U+7b69, U+7b6c-7b6f, U+7b72-7b76, U+7b7b-7b7d, U+7b7f, U+7b82, U+7b85, U+7b87, U+7b8b-7b96, U+7b98-7b99, U+7b9b-7b9f, U+7ba2-7ba4, U+7ba6-7bac, U+7bae-7bb0, U+7bb4, U+7bb7-7bb9, U+7bbb, U+7bc0-7bc1, U+7bc3-7bc4, U+7bc6, U+7bc8-7bcc, U+7bd1;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-dc2299e875b4577a.woff2) format('woff2');
  unicode-range: U+798b-798e, U+7992, U+7994-7995, U+7997-7998, U+799a-799c, U+799f, U+79a3-79a6, U+79a8-79ac, U+79ae-79b1, U+79b3-79b5, U+79b8, U+79ba, U+79bf, U+79c2, U+79c6, U+79c8, U+79cf, U+79d5-79d6, U+79dd-79de, U+79e3, U+79e7-79e8, U+79eb, U+79ed, U+79f4, U+79f7-79f8, U+79fa, U+79fe, U+7a02-7a03, U+7a05, U+7a0a, U+7a14, U+7a17, U+7a19, U+7a1c, U+7a1e-7a1f, U+7a23, U+7a25-7a26, U+7a2c, U+7a2e, U+7a30-7a32, U+7a36-7a37, U+7a39, U+7a3c, U+7a40, U+7a42, U+7a47, U+7a49, U+7a4c-7a4f, U+7a51, U+7a55, U+7a5b, U+7a5d-7a5e, U+7a62-7a63, U+7a66, U+7a68-7a69, U+7a6b, U+7a70, U+7a78, U+7a80, U+7a85-7a88, U+7a8a, U+7a90, U+7a93-7a96, U+7a98, U+7a9b-7a9c, U+7a9e, U+7aa0-7aa1, U+7aa3, U+7aa8-7aaa, U+7aac-7ab0, U+7ab3, U+7ab8, U+7aba, U+7abd-7abf, U+7ac4-7ac5, U+7ac7-7ac8, U+7aca, U+7ad1-7ad2, U+7ada-7add, U+7ae1, U+7ae4;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-63d080ee9a108902.woff2) format('woff2');
  unicode-range: U+784c, U+784e-7854, U+7856-7857, U+7859-785a, U+7865, U+7869-786a, U+786d, U+786f, U+7876-7877, U+787c, U+787e-787f, U+7881, U+7887-7889, U+7893-7894, U+7898-789e, U+78a1, U+78a3, U+78a5, U+78a9, U+78ad, U+78b2, U+78b4, U+78b6, U+78b9-78ba, U+78bc, U+78bf, U+78c3, U+78c9, U+78cb, U+78d0-78d2, U+78d4, U+78d9-78da, U+78dc, U+78de, U+78e1, U+78e5-78e6, U+78ea, U+78ec, U+78ef, U+78f1-78f2, U+78f4, U+78fa-78fb, U+78fe, U+7901-7902, U+7905, U+7907, U+7909, U+790b-790c, U+790e, U+7910, U+7913, U+7919-791b, U+791e-791f, U+7921, U+7924, U+7926, U+792a-792b, U+7934, U+7936, U+7939, U+793b, U+793d, U+7940, U+7942-7943, U+7945-7947, U+7949-794a, U+794c, U+794e-7951, U+7953-7955, U+7957-795a, U+795c, U+795f-7960, U+7962, U+7964, U+7966-7967, U+7969, U+796b, U+796f, U+7972, U+7974, U+7979, U+797b-797c, U+797e-7980, U+7982, U+7986-7987, U+7989-798a;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-eb0f11c2df267be8.woff2) format('woff2');
  unicode-range: U+7722, U+7726, U+7728, U+772b-7730, U+7732-7736, U+7739-773a, U+773d-773f, U+7743, U+7746-7747, U+774c-774f, U+7751-7752, U+7758-775a, U+775c-775e, U+7762, U+7765-7766, U+7768-776a, U+776c-776d, U+7771-7772, U+777a, U+777c-777e, U+7780, U+7785, U+7787, U+778b-778d, U+778f-7791, U+7793, U+779e-77a0, U+77a2, U+77a5, U+77ad, U+77af, U+77b4-77b7, U+77bd-77c0, U+77c2, U+77c5, U+77c7, U+77cd, U+77d6-77d7, U+77d9-77da, U+77dd-77de, U+77e7, U+77ea, U+77ec, U+77ef, U+77f8, U+77fb, U+77fd-77fe, U+7800, U+7803, U+7806, U+7809, U+780f-7812, U+7815, U+7817-7818, U+781a-781f, U+7821-7823, U+7825-7827, U+7829, U+782b-7830, U+7832-7833, U+7835, U+7837, U+7839-783c, U+783e, U+7841-7844, U+7847-7849, U+784b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-5fed28ad2bd74aa6.woff2) format('woff2');
  unicode-range: U+7613-7619, U+761b-761d, U+761f-7622, U+7625, U+7627-762a, U+762e-7630, U+7632-7635, U+7638-763a, U+763c-763d, U+763f-7640, U+7642-7643, U+7647-7648, U+764d-764e, U+7652, U+7654, U+7658, U+765a, U+765c, U+765e-765f, U+7661-7663, U+7665, U+7669, U+766c, U+766e-766f, U+7671-7673, U+7675-7676, U+7678-767a, U+767f, U+7681, U+7683, U+7688, U+768a-768c, U+768e, U+7690-7692, U+7695, U+7698, U+769a-769b, U+769d-76a0, U+76a2, U+76a4-76a7, U+76ab-76ac, U+76af-76b0, U+76b2, U+76b4-76b5, U+76ba-76bb, U+76bf, U+76c2-76c3, U+76c5, U+76c9, U+76cc-76ce, U+76dc-76de, U+76e1-76ea, U+76f1, U+76f9-76fb, U+76fd, U+76ff-7700, U+7703-7704, U+7707-7708, U+770c-770f, U+7712, U+7714, U+7716, U+7719-771b, U+771e, U+7721;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-83c090b8548de47e.woff2) format('woff2');
  unicode-range: U+750d, U+750f, U+7511, U+7513, U+7515, U+7517, U+7519, U+7521-7527, U+752a, U+752c-752d, U+752f, U+7534, U+7536, U+753a, U+753e, U+7540, U+7544, U+7547-754b, U+754d-754e, U+7550-7553, U+7556-7557, U+755a-755b, U+755d-755e, U+7560, U+7562, U+7564, U+7566-7568, U+756b-756c, U+756f-7573, U+7575, U+7579-757c, U+757e-757f, U+7581-7584, U+7587, U+7589-758e, U+7590, U+7592, U+7594, U+7596, U+7599-759a, U+759d, U+759f-75a0, U+75a3, U+75a5, U+75a8, U+75ac-75ad, U+75b0-75b1, U+75b3-75b5, U+75b8, U+75bd, U+75c1-75c4, U+75c8-75ca, U+75cc-75cd, U+75d4, U+75d6, U+75d9, U+75de, U+75e0, U+75e2-75e4, U+75e6-75ea, U+75f1-75f3, U+75f7, U+75f9-75fa, U+75fc, U+75fe-7601, U+7603, U+7605-7606, U+7608-760e, U+7610-7612;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-3048dd267251388c.woff2) format('woff2');
  unicode-range: U+73f0, U+73f2, U+73f4-73f5, U+73f7, U+73f9-73fa, U+73fc-73fd, U+73ff-7402, U+7404, U+7407-7408, U+740a-740f, U+7418, U+741a-741c, U+741e, U+7424-7425, U+7428-7429, U+742c-7430, U+7432, U+7435-7436, U+7438-743b, U+743e-7441, U+7443-7446, U+7448, U+744a-744b, U+7452, U+7457, U+745b, U+745d, U+7460, U+7462-7465, U+7467-746a, U+746d, U+746f, U+7471, U+7473-7474, U+7477, U+747a, U+747e, U+7481-7482, U+7484, U+7486, U+7488-748b, U+748e-748f, U+7493, U+7498, U+749a, U+749c-74a0, U+74a3, U+74a6, U+74a9-74aa, U+74ae, U+74b0-74b2, U+74b6, U+74b8-74ba, U+74bd, U+74bf, U+74c1, U+74c3, U+74c5, U+74c8, U+74ca, U+74cc, U+74cf, U+74d1-74d2, U+74d4-74d5, U+74d8-74db, U+74de-74e0, U+74e2, U+74e4-74e5, U+74e7-74e9, U+74ee-74ef, U+74f4, U+74ff, U+7501, U+7503, U+7505, U+7508;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-3140c3b1fb8152cd.woff2) format('woff2');
  unicode-range: U+72e6, U+72e8, U+72ef-72f0, U+72f2-72f4, U+72f6-72f7, U+72f9-72fb, U+72fd, U+7300-7304, U+7307, U+730a-730c, U+7313-7317, U+731d-7322, U+7327, U+7329, U+732c-732d, U+7330-7331, U+7333, U+7335-7337, U+7339, U+733d-733e, U+7340, U+7342, U+7344-7345, U+734a, U+734d-7350, U+7352, U+7355, U+7357, U+7359, U+735f-7360, U+7362-7363, U+7365, U+7368, U+736c-736d, U+736f-7370, U+7372, U+7374-7376, U+7378, U+737a-737b, U+737d-737e, U+7382-7383, U+7386, U+7388, U+738a, U+738c-7393, U+7395, U+7397-739a, U+739c, U+739e, U+73a0-73a3, U+73a5-73a8, U+73aa, U+73ad, U+73b1, U+73b3, U+73b6-73b7, U+73b9, U+73c2, U+73c5-73c9, U+73cc, U+73ce-73d0, U+73d2, U+73d6, U+73d9, U+73db-73de, U+73e3, U+73e5-73ea, U+73ee-73ef;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-478838fc7c6140e1.woff2) format('woff2');
  unicode-range: U+71a8, U+71af, U+71b1-71bc, U+71be, U+71c1-71c2, U+71c4, U+71c8-71cb, U+71ce-71d0, U+71d2, U+71d4, U+71d9-71da, U+71dc, U+71df-71e0, U+71e6-71e8, U+71ea, U+71ed-71ee, U+71f4, U+71f6, U+71f9, U+71fb-71fc, U+71ff-7200, U+7207, U+720c-720d, U+7210, U+7216, U+721a-721e, U+7223, U+7228, U+722b, U+722d-722e, U+7230, U+7232, U+723a-723c, U+723e-7242, U+7246, U+724b, U+724d-724e, U+7252, U+7256, U+7258, U+725a, U+725c-725d, U+7260, U+7264-7266, U+726a, U+726c, U+726e-726f, U+7271, U+7273-7274, U+7278, U+727b, U+727d-727e, U+7281-7282, U+7284, U+7287, U+728a, U+728d, U+728f, U+7292, U+729b, U+729f-72a0, U+72a7, U+72ad-72ae, U+72b0-72b5, U+72b7-72b8, U+72ba-72be, U+72c0-72c1, U+72c3, U+72c5-72c6, U+72c8, U+72cc-72ce, U+72d2, U+72d6, U+72db, U+72dd-72df, U+72e1, U+72e5;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-7fabad2bc0feb9e5.woff2) format('woff2');
  unicode-range: U+700b, U+700d, U+7015, U+7018, U+701b, U+701d-701f, U+7023, U+7026-7028, U+702c, U+702e-7030, U+7035, U+7037, U+7039-703a, U+703c-703e, U+7044, U+7049-704b, U+704f, U+7051, U+7058, U+705a, U+705c-705e, U+7061, U+7064, U+7066, U+706c, U+707d, U+7080-7081, U+7085-7086, U+708a, U+708f, U+7091, U+7094-7095, U+7098-7099, U+709c-709d, U+709f, U+70a4, U+70a9-70aa, U+70af-70b2, U+70b4-70b7, U+70bb, U+70c0, U+70c3, U+70c7, U+70cb, U+70ce-70cf, U+70d4, U+70d9-70da, U+70dc-70dd, U+70e0, U+70e9, U+70ec, U+70f7, U+70fa, U+70fd, U+70ff, U+7104, U+7108-7109, U+710c, U+7110, U+7113-7114, U+7116-7118, U+711c, U+711e, U+7120, U+712e-712f, U+7131, U+713c, U+7142, U+7144-7147, U+7149-714b, U+7150, U+7152, U+7155-7156, U+7159-715a, U+715c, U+7161, U+7165-7166, U+7168-7169, U+716d, U+7173-7174, U+7176, U+7178, U+717a, U+717d, U+717f-7180, U+7184, U+7186-7188, U+7192, U+7198, U+719c, U+71a0, U+71a4-71a5;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-82be9f50f5ea78a6.woff2) format('woff2');
  unicode-range: U+6ed9, U+6edb, U+6edd, U+6edf-6ee0, U+6ee2, U+6ee6, U+6eea, U+6eec, U+6eee-6eef, U+6ef2-6ef3, U+6ef7-6efa, U+6efe, U+6f01, U+6f03, U+6f08-6f09, U+6f15-6f16, U+6f19, U+6f22-6f25, U+6f28-6f2a, U+6f2c-6f2d, U+6f2f, U+6f32, U+6f36-6f38, U+6f3f, U+6f43-6f46, U+6f48, U+6f4b, U+6f4e-6f4f, U+6f51, U+6f54-6f57, U+6f59-6f5b, U+6f5e-6f5f, U+6f61, U+6f64-6f67, U+6f69-6f6c, U+6f6f-6f72, U+6f74-6f76, U+6f78-6f7e, U+6f80-6f83, U+6f86, U+6f89, U+6f8b-6f8d, U+6f90, U+6f92, U+6f94, U+6f97-6f98, U+6f9b, U+6fa3-6fa5, U+6fa7, U+6faa, U+6faf, U+6fb1, U+6fb4, U+6fb6, U+6fb9, U+6fc1-6fcb, U+6fd1-6fd3, U+6fd5, U+6fdb, U+6fde-6fe1, U+6fe4, U+6fe9, U+6feb-6fec, U+6fee-6ff1, U+6ffa, U+6ffe, U+7005-7006, U+7009;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-f1b9d429b1564fae.woff2) format('woff2');
  unicode-range: U+6dc3, U+6dc5-6dc6, U+6dc9, U+6dcc, U+6dcf, U+6dd2-6dd3, U+6dd6, U+6dd9-6dde, U+6de0, U+6de4, U+6de6, U+6de8-6dea, U+6dec, U+6def-6df0, U+6df5-6df6, U+6df8, U+6dfa, U+6dfc, U+6e03-6e04, U+6e07-6e09, U+6e0b-6e0c, U+6e0e, U+6e11, U+6e13, U+6e15-6e16, U+6e19-6e1b, U+6e1e-6e1f, U+6e22, U+6e25-6e27, U+6e2b-6e2c, U+6e36-6e37, U+6e39-6e3a, U+6e3c-6e41, U+6e44-6e45, U+6e47, U+6e49-6e4b, U+6e4d-6e4e, U+6e51, U+6e53-6e55, U+6e5c-6e5f, U+6e61-6e63, U+6e65-6e67, U+6e6a-6e6b, U+6e6d-6e70, U+6e72-6e74, U+6e76-6e78, U+6e7c, U+6e80-6e82, U+6e86-6e87, U+6e89, U+6e8d, U+6e8f, U+6e96, U+6e98, U+6e9d-6e9f, U+6ea1, U+6ea5-6ea7, U+6eab, U+6eb1-6eb2, U+6eb4, U+6eb7, U+6ebb-6ebd, U+6ebf-6ec6, U+6ec8-6ec9, U+6ecc, U+6ecf-6ed0, U+6ed3-6ed4, U+6ed7-6ed8;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-c8799c5254491f33.woff2) format('woff2');
  unicode-range: U+6cb1-6cb2, U+6cb4-6cb5, U+6cb7, U+6cba, U+6cbc-6cbd, U+6cc1-6cc3, U+6cc5-6cc7, U+6cd0-6cd4, U+6cd6-6cd7, U+6cd9-6cda, U+6cde-6ce0, U+6ce4, U+6ce6, U+6ce9, U+6ceb-6cef, U+6cf1-6cf2, U+6cf6-6cf7, U+6cfa, U+6cfe, U+6d03-6d05, U+6d07-6d08, U+6d0a, U+6d0c, U+6d0e-6d11, U+6d13-6d14, U+6d16, U+6d18-6d1a, U+6d1c, U+6d1f, U+6d22-6d23, U+6d26-6d29, U+6d2b, U+6d2e-6d30, U+6d33, U+6d35-6d36, U+6d38-6d3a, U+6d3c, U+6d3f, U+6d42-6d44, U+6d48-6d49, U+6d4d, U+6d50, U+6d52, U+6d54, U+6d56-6d58, U+6d5a-6d5c, U+6d5e, U+6d60-6d61, U+6d63-6d65, U+6d67, U+6d6c-6d6d, U+6d6f, U+6d75, U+6d7b-6d7d, U+6d87, U+6d8a, U+6d8e, U+6d90-6d9a, U+6d9c-6da0, U+6da2-6da3, U+6da7, U+6daa-6dac, U+6dae, U+6db3-6db4, U+6db6, U+6db8, U+6dbc, U+6dbf, U+6dc2;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-e3af4edda78f5237.woff2) format('woff2');
  unicode-range: U+6b83-6b86, U+6b89, U+6b8d, U+6b91-6b93, U+6b95, U+6b97-6b98, U+6b9a-6b9b, U+6b9e, U+6ba1-6ba4, U+6ba9-6baa, U+6bad, U+6baf-6bb0, U+6bb2-6bb3, U+6bba-6bbd, U+6bc0, U+6bc2, U+6bc6, U+6bca-6bcc, U+6bce, U+6bd0-6bd1, U+6bd3, U+6bd6-6bd8, U+6bda, U+6be1, U+6be6, U+6bec, U+6bf1, U+6bf3-6bf5, U+6bf9, U+6bfd, U+6c05-6c08, U+6c0d, U+6c10, U+6c15-6c1a, U+6c21, U+6c23-6c26, U+6c29-6c2d, U+6c30-6c33, U+6c35-6c37, U+6c39-6c3a, U+6c3c-6c3f, U+6c46, U+6c4a-6c4c, U+6c4e-6c50, U+6c54, U+6c56, U+6c59-6c5c, U+6c5e, U+6c63, U+6c67-6c69, U+6c6b, U+6c6d, U+6c6f, U+6c72-6c74, U+6c78-6c7a, U+6c7c, U+6c84-6c87, U+6c8b-6c8c, U+6c8f, U+6c91, U+6c93-6c96, U+6c98, U+6c9a, U+6c9d, U+6ca2-6ca4, U+6ca8-6ca9, U+6cac-6cae;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-4d8142e3ad8d188c.woff2) format('woff2');
  unicode-range: U+69fe-6a01, U+6a06, U+6a09, U+6a0b, U+6a11, U+6a13, U+6a17-6a19, U+6a1b, U+6a1e, U+6a23, U+6a28-6a29, U+6a2b, U+6a2f-6a30, U+6a35, U+6a38-6a40, U+6a46-6a48, U+6a4a-6a4b, U+6a4e, U+6a50, U+6a52, U+6a5b, U+6a5e, U+6a62, U+6a65-6a67, U+6a6b, U+6a79, U+6a7c, U+6a7e-6a7f, U+6a84, U+6a86, U+6a8e, U+6a90-6a91, U+6a94, U+6a97, U+6a9c, U+6a9e, U+6aa0, U+6aa2, U+6aa4, U+6aa9, U+6aab, U+6aae-6ab0, U+6ab2-6ab3, U+6ab5, U+6ab7-6ab8, U+6aba-6abb, U+6abd, U+6abf, U+6ac2-6ac4, U+6ac6, U+6ac8, U+6acc, U+6ace, U+6ad2-6ad3, U+6ad8-6adc, U+6adf-6ae0, U+6ae4-6ae5, U+6ae7-6ae8, U+6afb, U+6b04-6b05, U+6b0d-6b13, U+6b16-6b17, U+6b19, U+6b24-6b25, U+6b2c, U+6b37-6b39, U+6b3b, U+6b3d, U+6b43, U+6b46, U+6b4e, U+6b50, U+6b53-6b54, U+6b58-6b59, U+6b5b, U+6b60, U+6b69, U+6b6d, U+6b6f-6b70, U+6b73-6b74, U+6b77-6b7a, U+6b80-6b82;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-8fcfe2eec94527f0.woff2) format('woff2');
  unicode-range: U+68d3, U+68d7, U+68dd, U+68df, U+68e1, U+68e3-68e4, U+68e6-68ed, U+68ef-68f0, U+68f2, U+68f4, U+68f6-68f7, U+68f9, U+68fb-68fd, U+68ff-6902, U+6906-6908, U+690b, U+6910, U+691a-691c, U+691f-6920, U+6924-6925, U+692a, U+692d, U+6934, U+6939, U+693c-6945, U+694a-694b, U+6952-6954, U+6957, U+6959, U+695b, U+695d, U+695f, U+6962-6964, U+6966, U+6968-696c, U+696e-696f, U+6971, U+6973-6974, U+6978-6979, U+697d, U+697f-6980, U+6985, U+6987-698a, U+698d-698e, U+6994-6999, U+699b, U+69a3-69a4, U+69a6-69a7, U+69ab, U+69ad-69ae, U+69b1, U+69b7, U+69bb-69bc, U+69c1, U+69c3-69c5, U+69c7, U+69ca-69ce, U+69d0-69d1, U+69d3-69d4, U+69d7-69da, U+69e0, U+69e4, U+69e6, U+69ec-69ed, U+69f1-69f3, U+69f8, U+69fa-69fc;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-34c0c9b132f79116.woff2) format('woff2');
  unicode-range: U+678b-678d, U+678f, U+6792-6793, U+6796, U+6798, U+679e-67a1, U+67a5, U+67a7-67a9, U+67ac-67ad, U+67b0-67b1, U+67b3, U+67b5, U+67b7, U+67b9, U+67bb-67bc, U+67c0-67c1, U+67c3, U+67c5-67ca, U+67d1-67d2, U+67d7-67d9, U+67dd-67df, U+67e2-67e4, U+67e6-67e9, U+67f0, U+67f5, U+67f7-67f8, U+67fa-67fb, U+67fd-67fe, U+6800-6801, U+6803-6804, U+6806, U+6809-680a, U+680c, U+680e, U+6812, U+681d-681f, U+6822, U+6824-6829, U+682b-682d, U+6831-6835, U+683b, U+683e, U+6840-6841, U+6844-6845, U+6849, U+684e, U+6853, U+6855-6856, U+685c-685d, U+685f-6862, U+6864, U+6866-6868, U+686b, U+686f, U+6872, U+6874, U+6877, U+687f, U+6883, U+6886, U+688f, U+689b, U+689f-68a0, U+68a2-68a3, U+68b1, U+68b6, U+68b9-68ba, U+68bc-68bf, U+68c1-68c4, U+68c6, U+68c8, U+68ca, U+68cc, U+68d0-68d1;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-81441e987718e80e.woff2) format('woff2');
  unicode-range: U+6631, U+6633-6634, U+6636, U+663a-663b, U+663d, U+6641, U+6644-6645, U+6649, U+664c, U+664f, U+6654, U+6659, U+665b, U+665d-665e, U+6660-6667, U+6669, U+666b-666c, U+6671, U+6673, U+6677-6679, U+667c, U+6680-6681, U+6684-6685, U+6688-6689, U+668b-668e, U+6690, U+6692, U+6695, U+6698, U+669a, U+669d, U+669f-66a0, U+66a2-66a3, U+66a6, U+66aa-66ab, U+66b1-66b2, U+66b5, U+66b8-66b9, U+66bb, U+66be, U+66c1, U+66c6-66c9, U+66cc, U+66d5-66d8, U+66da-66dc, U+66de-66e2, U+66e8-66ea, U+66ec, U+66f1, U+66f3, U+66f7, U+66fa, U+66fd, U+6702, U+6705, U+670a, U+670f-6710, U+6713, U+6715, U+6719, U+6722-6723, U+6725-6727, U+6729, U+672d-672e, U+6732-6733, U+6736, U+6739, U+673b, U+673f, U+6744, U+6748, U+674c-674d, U+6753, U+6755, U+6762, U+6767, U+6769-676c, U+676e, U+6772-6773, U+6775, U+6777, U+677a-677d, U+6782-6783, U+6787, U+678a;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-245497ddf6677f43.woff2) format('woff2');
  unicode-range: U+64f1-64f2, U+64f4, U+64f7-64f8, U+64fa, U+64fc, U+64fe-64ff, U+6503, U+6509, U+650f, U+6514, U+6518, U+651c-651e, U+6522-6525, U+652a-652c, U+652e, U+6530-6532, U+6534-6535, U+6537-6538, U+653a, U+653c-653d, U+6542, U+6549-654b, U+654d-654e, U+6553-6555, U+6557-6558, U+655d, U+6564, U+6569, U+656b, U+656d-656f, U+6571, U+6573, U+6575-6576, U+6578-657e, U+6581-6583, U+6585-6586, U+6589, U+658e-658f, U+6592-6593, U+6595-6596, U+659b, U+659d, U+659f-65a1, U+65a3, U+65ab-65ac, U+65b2, U+65b6-65b7, U+65ba-65bb, U+65be-65c0, U+65c2-65c4, U+65c6-65c8, U+65cc, U+65ce, U+65d0, U+65d2-65d3, U+65d6, U+65db, U+65dd, U+65e1, U+65e3, U+65ee-65f0, U+65f3-65f5, U+65f8, U+65fb-65fc, U+65fe-6600, U+6603, U+6607, U+6609, U+660b, U+6610-6611, U+6619-661a, U+661c-661e, U+6621, U+6624, U+6626, U+662a-662c, U+662e, U+6630;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-4ca16f1553636a6e.woff2) format('woff2');
  unicode-range: U+63b8-63bc, U+63be, U+63c0, U+63c3-63c4, U+63c6, U+63c8, U+63cd-63ce, U+63d1, U+63d6, U+63da-63db, U+63de, U+63e0, U+63e3, U+63e9-63ea, U+63ee, U+63f2, U+63f5-63fa, U+63fc, U+63fe-6400, U+6406, U+640b-640d, U+6410, U+6414, U+6416-6417, U+641b, U+6420-6423, U+6425-6428, U+642a, U+6431-6432, U+6434-6437, U+643d-6442, U+6445, U+6448, U+6450-6452, U+645b-645f, U+6462, U+6465, U+6468, U+646d, U+646f-6471, U+6473, U+6477, U+6479-647d, U+6482-6485, U+6487-6488, U+648c, U+6490, U+6493, U+6496-649a, U+649d, U+64a0, U+64a5, U+64ab-64ac, U+64b1-64b7, U+64b9-64bb, U+64be-64c1, U+64c4, U+64c7, U+64c9-64cb, U+64d0, U+64d4, U+64d7-64d8, U+64da, U+64de, U+64e0-64e2, U+64e4, U+64e9, U+64ec, U+64f0;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-7bae3b761be1395c.woff2) format('woff2');
  unicode-range: U+622c, U+622e-6230, U+6232, U+6238, U+623b, U+623d-623e, U+6243, U+6246, U+6248-6249, U+624c, U+6255, U+6259, U+625e, U+6260-6261, U+6265-6266, U+626a, U+6271, U+627a, U+627c-627d, U+6283, U+6286, U+6289, U+628e, U+6294, U+629c, U+629e-629f, U+62a1, U+62a8, U+62ba-62bb, U+62bf, U+62c2, U+62c4, U+62c8, U+62ca-62cb, U+62cf, U+62d1, U+62d7, U+62d9-62da, U+62dd, U+62e0-62e1, U+62e3-62e4, U+62e7, U+62eb, U+62ee, U+62f0, U+62f4-62f6, U+6308, U+630a-630e, U+6310, U+6312-6313, U+6317, U+6319, U+631b, U+631d-631f, U+6322, U+6326, U+6329, U+6331-6332, U+6334-6337, U+6339, U+633b-633c, U+633e-6340, U+6343, U+6347, U+634b-634e, U+6354, U+635c-635d, U+6368-6369, U+636d, U+636f-6372, U+6376, U+637a-637b, U+637d, U+6382-6383, U+6387, U+638a-638b, U+638d-638e, U+6391, U+6393-6397, U+6399, U+639b, U+639e-639f, U+63a1, U+63a3-63a4, U+63ac-63ae, U+63b1-63b5;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-77aca301bd941f11.woff2) format('woff2');
  unicode-range: U+60ed-60ee, U+60f0-60f1, U+60f4, U+60f6, U+60fa, U+6100, U+6106, U+610d-610e, U+6112, U+6114-6115, U+6119, U+611c, U+6120, U+6122-6123, U+6126, U+6128-6130, U+6136-6137, U+613a, U+613d-613e, U+6144, U+6146-6147, U+614a-614b, U+6151, U+6153, U+6158, U+615a, U+615c-615d, U+615f, U+6161, U+6163-6165, U+616b-616c, U+616e, U+6171, U+6173-6177, U+617e, U+6182, U+6187, U+618a, U+618d-618e, U+6190-6191, U+6194, U+6199-619a, U+619c, U+619f, U+61a1, U+61a3-61a4, U+61a7-61a9, U+61ab-61ad, U+61b2-61b3, U+61b5-61b7, U+61ba-61bb, U+61bf, U+61c3-61c4, U+61c6-61c7, U+61c9-61cb, U+61d0-61d1, U+61d3-61d4, U+61d7, U+61da, U+61df-61e1, U+61e6, U+61ee, U+61f0, U+61f2, U+61f6-61f8, U+61fa, U+61fc-61fe, U+6200, U+6206-6207, U+6209, U+620b, U+620d-620e, U+6213-6215, U+6217, U+6219, U+621b-6223, U+6225-6226;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-b45c7d6cc32d43b5.woff2) format('woff2');
  unicode-range: U+5fc4, U+5fc9, U+5fcb, U+5fce-5fd6, U+5fda-5fde, U+5fe1-5fe2, U+5fe4-5fe5, U+5fea, U+5fed-5fee, U+5ff1-5ff3, U+5ff6, U+5ff8, U+5ffb, U+5ffe-5fff, U+6002-6006, U+600a, U+600d, U+600f, U+6014, U+6019, U+601b, U+6020, U+6023, U+6026, U+6029, U+602b, U+602e-602f, U+6031, U+6033, U+6035, U+6039, U+603f, U+6041-6043, U+6046, U+604f, U+6053-6054, U+6058-605b, U+605d-605e, U+6060, U+6063, U+6065, U+6067, U+606a-606c, U+6075, U+6078-6079, U+607b, U+607d, U+607f, U+6083, U+6085-6087, U+608a, U+608c, U+608e-608f, U+6092-6093, U+6095-6097, U+609b-609d, U+60a2, U+60a7, U+60a9-60ab, U+60ad, U+60af-60b1, U+60b3-60b6, U+60b8, U+60bb, U+60bd-60be, U+60c0-60c3, U+60c6-60c9, U+60cb, U+60ce, U+60d3-60d4, U+60d7-60db, U+60dd, U+60e1-60e4, U+60e6, U+60ea, U+60ec;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-47323b91842658d2.woff2) format('woff2');
  unicode-range: U+5e98, U+5e9b, U+5e9d, U+5ea0-5ea5, U+5ea8, U+5eab, U+5eaf, U+5eb3, U+5eb5-5eb6, U+5eb9, U+5ebe, U+5ec1-5ec3, U+5ec6, U+5ec8, U+5ecb-5ecc, U+5ed1-5ed2, U+5ed4, U+5ed9-5edb, U+5edd, U+5edf-5ee0, U+5ee2-5ee3, U+5ee8, U+5eea, U+5eec, U+5eef-5ef0, U+5ef3-5ef4, U+5ef8, U+5efb-5efc, U+5efe-5eff, U+5f01, U+5f07, U+5f0b-5f0e, U+5f10-5f12, U+5f14, U+5f1a, U+5f22, U+5f28-5f29, U+5f2c-5f2d, U+5f35-5f36, U+5f38, U+5f3b-5f43, U+5f45-5f4a, U+5f4c-5f4e, U+5f50, U+5f54, U+5f56-5f59, U+5f5b-5f5f, U+5f61, U+5f63, U+5f65, U+5f67-5f68, U+5f6b, U+5f6e-5f6f, U+5f72-5f78, U+5f7a, U+5f7e-5f7f, U+5f82-5f83, U+5f87, U+5f89-5f8a, U+5f8d, U+5f91, U+5f93, U+5f95, U+5f98-5f99, U+5f9c, U+5f9e, U+5fa0, U+5fa6-5fa9, U+5fac-5fad, U+5faf, U+5fb3-5fb5, U+5fb9, U+5fbc;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-f89c3413ebdaf8ef.woff2) format('woff2');
  unicode-range: U+5d26-5d27, U+5d2e-5d34, U+5d3c-5d3e, U+5d41-5d44, U+5d46-5d48, U+5d4a-5d4b, U+5d4e, U+5d50, U+5d52, U+5d55-5d58, U+5d5a-5d5d, U+5d68-5d69, U+5d6b-5d6c, U+5d6f, U+5d74, U+5d7f, U+5d82-5d89, U+5d8b-5d8c, U+5d8f, U+5d92-5d93, U+5d99, U+5d9d, U+5db2, U+5db6-5db7, U+5dba, U+5dbc-5dbd, U+5dc2-5dc3, U+5dc6-5dc7, U+5dc9, U+5dcc, U+5dd2, U+5dd4, U+5dd6-5dd8, U+5ddb-5ddc, U+5de3, U+5ded, U+5def, U+5df3, U+5df6, U+5dfa-5dfd, U+5dff-5e00, U+5e07, U+5e0f, U+5e11, U+5e13-5e14, U+5e19-5e1b, U+5e22, U+5e25, U+5e28, U+5e2a, U+5e2f-5e31, U+5e33-5e34, U+5e36, U+5e39-5e3c, U+5e3e, U+5e40, U+5e44, U+5e46-5e48, U+5e4c, U+5e4f, U+5e53-5e54, U+5e57, U+5e59, U+5e5b, U+5e5e-5e5f, U+5e61, U+5e63, U+5e6a-5e6b, U+5e75, U+5e77, U+5e79-5e7a, U+5e7e, U+5e80-5e81, U+5e83, U+5e85, U+5e87, U+5e8b, U+5e91-5e92, U+5e96;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-0ffa9f991cc72a25.woff2) format('woff2');
  unicode-range: U+5bec, U+5bee-5bf0, U+5bf2-5bf3, U+5bf5-5bf6, U+5bfe, U+5c02-5c03, U+5c05, U+5c07-5c09, U+5c0b-5c0c, U+5c0e, U+5c10, U+5c12-5c13, U+5c15, U+5c17, U+5c19, U+5c1b-5c1c, U+5c1e-5c1f, U+5c22, U+5c25, U+5c28, U+5c2a-5c2b, U+5c2f-5c30, U+5c37, U+5c3b, U+5c43-5c44, U+5c46-5c47, U+5c4d, U+5c50, U+5c59, U+5c5b-5c5c, U+5c62-5c64, U+5c66, U+5c6c, U+5c6e, U+5c74, U+5c78-5c7e, U+5c80, U+5c83-5c84, U+5c88, U+5c8b-5c8d, U+5c91, U+5c94-5c96, U+5c98-5c99, U+5c9c, U+5c9e, U+5ca1-5ca3, U+5cab-5cac, U+5cb1, U+5cb5, U+5cb7, U+5cba, U+5cbd-5cbf, U+5cc1, U+5cc3-5cc4, U+5cc7, U+5ccb, U+5cd2, U+5cd8-5cd9, U+5cdf-5ce0, U+5ce3-5ce6, U+5ce8-5cea, U+5ced, U+5cef, U+5cf3-5cf4, U+5cf6, U+5cf8, U+5cfd, U+5d00-5d04, U+5d06, U+5d08, U+5d0b-5d0d, U+5d0f-5d13, U+5d15, U+5d17-5d1a, U+5d1d-5d22, U+5d24-5d25;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-6c8b367fc9ff6ac8.woff2) format('woff2');
  unicode-range: U+5aa0, U+5aa3-5aa4, U+5aaa, U+5aae-5aaf, U+5ab1-5ab2, U+5ab4-5ab5, U+5ab7-5aba, U+5abd-5abf, U+5ac3-5ac4, U+5ac6-5ac8, U+5aca-5acb, U+5acd, U+5acf-5ad2, U+5ad4, U+5ad8-5ada, U+5adc, U+5adf-5ae2, U+5ae4, U+5ae6, U+5ae8, U+5aea-5aed, U+5af0-5af3, U+5af5, U+5af9-5afb, U+5afd, U+5b01, U+5b05, U+5b08, U+5b0b-5b0c, U+5b11, U+5b16-5b17, U+5b1b, U+5b21-5b22, U+5b24, U+5b27-5b2e, U+5b30, U+5b32, U+5b34, U+5b36-5b38, U+5b3e-5b40, U+5b43, U+5b45, U+5b4a-5b4b, U+5b51-5b53, U+5b56, U+5b5a-5b5b, U+5b62, U+5b65, U+5b67, U+5b6a-5b6e, U+5b70-5b71, U+5b73, U+5b7a-5b7b, U+5b7f-5b80, U+5b84, U+5b8d, U+5b91, U+5b93-5b95, U+5b9f, U+5ba5-5ba6, U+5bac, U+5bae, U+5bb8, U+5bc0, U+5bc3, U+5bcb, U+5bd0-5bd1, U+5bd4-5bd8, U+5bda-5bdc, U+5be2, U+5be4-5be5, U+5be7, U+5be9, U+5beb;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-ecda6aebd7422aee.woff2) format('woff2');
  unicode-range: U+596a, U+596c-596e, U+5977, U+597b-597c, U+5981, U+598f, U+5997-5998, U+599a, U+599c-599d, U+59a0-59a1, U+59a3-59a4, U+59a7, U+59aa-59ad, U+59af, U+59b2-59b3, U+59b5-59b6, U+59b8, U+59ba, U+59bd-59be, U+59c0-59c1, U+59c3-59c4, U+59c7-59ca, U+59cc-59cd, U+59cf, U+59d2, U+59d5-59d6, U+59d8-59d9, U+59db, U+59dd-59e0, U+59e2-59e7, U+59e9-59eb, U+59ee, U+59f1, U+59f3, U+59f5, U+59f7-59f9, U+59fd, U+5a06, U+5a08-5a0a, U+5a0c-5a0d, U+5a11-5a13, U+5a15-5a16, U+5a1a-5a1b, U+5a21-5a23, U+5a2d-5a2f, U+5a32, U+5a38, U+5a3c, U+5a3e-5a45, U+5a47, U+5a4a, U+5a4c-5a4d, U+5a4f-5a51, U+5a53, U+5a55-5a57, U+5a5e, U+5a60, U+5a62, U+5a65-5a67, U+5a6a, U+5a6c-5a6d, U+5a72-5a73, U+5a75-5a76, U+5a79-5a7c, U+5a81-5a84, U+5a8c, U+5a8e, U+5a93, U+5a96-5a97, U+5a9c, U+5a9e;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-93657e1c78b1d435.woff2) format('woff2');
  unicode-range: U+5820, U+5822-5823, U+5825-5826, U+582c, U+582f, U+5831, U+583a, U+583d, U+583f-5842, U+5844-5846, U+5848, U+584a, U+584d, U+5852, U+5857, U+5859-585a, U+585c-585d, U+5862, U+5868-5869, U+586c-586d, U+586f-5873, U+5875, U+5879, U+587d-587e, U+5880-5881, U+5888-588a, U+588d, U+5892, U+5896-5898, U+589a, U+589c-589d, U+58a0-58a1, U+58a3, U+58a6, U+58a9, U+58ab-58ae, U+58b0, U+58b3, U+58bb-58bf, U+58c2-58c3, U+58c5-58c8, U+58ca, U+58cc, U+58ce, U+58d1-58d3, U+58d5, U+58d8-58d9, U+58de-58df, U+58e2, U+58e9, U+58ec, U+58ef, U+58f1-58f2, U+58f5, U+58f7-58f8, U+58fa, U+58fd, U+5900, U+5902, U+5906, U+5908-590c, U+590e, U+5910, U+5914, U+5919, U+591b, U+591d-591e, U+5920, U+5922-5925, U+5928, U+592c-592d, U+592f, U+5932, U+5936, U+593c, U+593e, U+5940-5942, U+5944, U+594c-594d, U+5950, U+5953, U+5958, U+595a, U+5961, U+5966-5968;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-2a257654d594965e.woff2) format('woff2');
  unicode-range: U+56f9, U+56fc, U+56ff-5700, U+5703-5704, U+5709-570a, U+570c-570d, U+570f, U+5712-5713, U+5718-5719, U+571c, U+571e, U+5725, U+5727, U+5729-572a, U+572c, U+572e-572f, U+5734-5735, U+5739, U+573b, U+5741, U+5743, U+5745, U+5749, U+574c-574d, U+575c, U+5763, U+5768-5769, U+576b, U+576d-576e, U+5770, U+5773, U+5775, U+5777, U+577b-577c, U+5785-5786, U+5788, U+578c, U+578e-578f, U+5793-5795, U+5799-57a1, U+57a3-57a4, U+57a6-57aa, U+57ac-57ad, U+57af-57b2, U+57b4-57b6, U+57b8-57b9, U+57bd-57bf, U+57c2, U+57c4-57c8, U+57cc-57cd, U+57cf, U+57d2, U+57d5-57de, U+57e1-57e2, U+57e4-57e5, U+57e7, U+57eb, U+57ed, U+57ef, U+57f4-57f8, U+57fc-57fd, U+5800-5801, U+5803, U+5805, U+5807, U+5809, U+580b-580e, U+5811, U+5814, U+5819, U+581b-581f;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-ff651e2eddc50705.woff2) format('woff2');
  unicode-range: U+55f5-55f7, U+55fb, U+55fe, U+5600-5601, U+5605-5606, U+5608, U+560c-560d, U+560f, U+5614, U+5616-5617, U+561a, U+561c, U+561e, U+5621-5625, U+5627, U+5629, U+562b-5630, U+5636, U+5638-563a, U+563c, U+5640-5642, U+5649, U+564c-5650, U+5653-5655, U+5657-565b, U+5660, U+5663-5664, U+5666, U+566b, U+566f-5671, U+5673-567c, U+567e, U+5684-5687, U+568c, U+568e-5693, U+5695, U+5697, U+569b-569c, U+569e-569f, U+56a1-56a2, U+56a4-56a9, U+56ac-56af, U+56b1, U+56b4, U+56b6-56b8, U+56bf, U+56c1-56c3, U+56c9, U+56cd, U+56d1, U+56d4, U+56d6-56d9, U+56dd, U+56df, U+56e1, U+56e3-56e6, U+56e8-56ec, U+56ee-56ef, U+56f1-56f3, U+56f5, U+56f7-56f8;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-67e08c8ebdddb154.woff2) format('woff2');
  unicode-range: U+550f, U+5511-5514, U+5516-5517, U+5519, U+551b, U+551d-551e, U+5520, U+5522-5523, U+5526-5527, U+552a-552c, U+5530, U+5532-5535, U+5537-5538, U+553b-5541, U+5543-5544, U+5547-5549, U+554b, U+554d, U+5550, U+5553, U+5555-5558, U+555b-555f, U+5567-5569, U+556b-5572, U+5574-5577, U+557b-557c, U+557e-557f, U+5581, U+5583, U+5585-5586, U+5588, U+558b-558c, U+558e-5591, U+5593, U+5599-559a, U+559f, U+55a5-55a6, U+55a8-55ac, U+55ae, U+55b0-55b3, U+55b6, U+55b9-55ba, U+55bc-55be, U+55c4, U+55c6-55c7, U+55c9, U+55cc-55d2, U+55d4-55db, U+55dd-55df, U+55e1, U+55e3-55e6, U+55ea-55ee, U+55f0-55f3;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-c7ff1e02175d5c3d.woff2) format('woff2');
  unicode-range: U+53e7-53e9, U+53f1, U+53f4-53f5, U+53fa-5400, U+5402, U+5405-5407, U+540b, U+540f, U+5412, U+5414, U+5416, U+5418-541a, U+541d, U+5420-5423, U+5425, U+5429-542a, U+542d-542e, U+5431-5433, U+5436, U+543d, U+543f, U+5442-5443, U+5449, U+544b-544c, U+544e, U+5451-5454, U+5456, U+5459, U+545b-545c, U+5461, U+5463-5464, U+546a-5472, U+5474, U+5476-5478, U+547a, U+547e-5484, U+5486, U+548a, U+548d-548e, U+5490-5491, U+5494, U+5497-5499, U+549b, U+549d, U+54a1-54a7, U+54a9, U+54ab, U+54ad, U+54b4-54b5, U+54b9, U+54bb, U+54be-54bf, U+54c2-54c3, U+54c9-54cc, U+54cf-54d0, U+54d3, U+54d5-54d6, U+54d9-54da, U+54dc-54de, U+54e2, U+54e7, U+54f3-54f4, U+54f8-54f9, U+54fd-54ff, U+5501, U+5504-5506, U+550c-550e;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-ae64e459a3689b54.woff2) format('woff2');
  unicode-range: U+5289, U+528b, U+528d, U+528f, U+5291-5293, U+529a, U+52a2, U+52a6-52a7, U+52ac-52ad, U+52af, U+52b4-52b5, U+52b9, U+52bb-52bc, U+52be, U+52c1, U+52c5, U+52ca, U+52cd, U+52d0, U+52d6-52d7, U+52d9, U+52db, U+52dd-52de, U+52e0, U+52e2-52e3, U+52e5, U+52e7-52f0, U+52f2-52f3, U+52f5-52f9, U+52fb-52fc, U+5302, U+5304, U+530b, U+530d, U+530f-5310, U+5315, U+531a, U+531c-531d, U+5321, U+5323, U+5326, U+532e-5331, U+5338, U+533c-533e, U+5344-5345, U+534b-534d, U+5350, U+5354, U+5358, U+535d-535f, U+5363, U+5368-5369, U+536c, U+536e-536f, U+5372, U+5379-537b, U+537d, U+538d-538e, U+5390, U+5393-5394, U+5396, U+539b-539d, U+53a0-53a1, U+53a3-53a5, U+53a9, U+53ad-53ae, U+53b0, U+53b2-53b3, U+53b5-53b8, U+53bc, U+53be, U+53c1, U+53c3-53c7, U+53ce-53cf, U+53d2-53d3, U+53d5, U+53da, U+53de-53df, U+53e1-53e2;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-38d7f5cabda4466b.woff2) format('woff2');
  unicode-range: U+5104, U+5106-5107, U+5109-510b, U+510d, U+510f-5110, U+5113, U+5115, U+5117-5118, U+511a-511c, U+511e-511f, U+5121, U+5128, U+512b-512d, U+5131-5135, U+5137-5139, U+513c, U+5140, U+5142, U+5147, U+514c, U+514e-5150, U+5155-5158, U+5162, U+5169, U+5172, U+517f, U+5181-5184, U+5186-5187, U+518b, U+518f, U+5191, U+5195-5197, U+519a, U+51a2-51a3, U+51a6-51ab, U+51ad-51ae, U+51b1, U+51b4, U+51bc-51bd, U+51bf, U+51c3, U+51c7-51c8, U+51ca-51cb, U+51cd-51ce, U+51d4, U+51d6, U+51db-51dc, U+51e6, U+51e8-51eb, U+51f1, U+51f5, U+51fc, U+51ff, U+5202, U+5205, U+5208, U+520b, U+520d-520e, U+5215-5216, U+5228, U+522a, U+522c-522d, U+5233, U+523c-523d, U+523f-5240, U+5245, U+5247, U+5249, U+524b-524c, U+524e, U+5250, U+525b-525f, U+5261, U+5263-5264, U+5270, U+5273, U+5275, U+5277, U+527d, U+527f, U+5281-5285, U+5287;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-56484fadf853f32f.woff2) format('woff2');
  unicode-range: U+4fd1, U+4fd3, U+4fda-4fdc, U+4fdf-4fe0, U+4fe2-4fe4, U+4fe6, U+4fe8, U+4feb-4fed, U+4ff3, U+4ff5-4ff6, U+4ff8, U+4ffe, U+5001, U+5005-5006, U+5009, U+500c, U+500f, U+5013-5018, U+501b-501e, U+5022-5025, U+5027-5028, U+502b-502e, U+5030, U+5033-5034, U+5036-5039, U+503b, U+5041-5043, U+5045-5046, U+5048-504a, U+504c-504e, U+5051, U+5053, U+5055-5057, U+505b, U+505e, U+5060, U+5062-5063, U+5067, U+506a, U+506c, U+5070-5072, U+5074-5075, U+5078, U+507b, U+507d-507e, U+5080, U+5088-5089, U+5091-5092, U+5095, U+5097-509e, U+50a2-50a3, U+50a5-50a7, U+50a9, U+50ad, U+50b3, U+50b5, U+50b7, U+50ba, U+50be, U+50c4-50c5, U+50c7, U+50ca, U+50cd, U+50d1, U+50d5-50d6, U+50da, U+50de, U+50e5-50e6, U+50ec-50ee, U+50f0-50f1, U+50f3, U+50f9-50fb, U+50fe-5102;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-7d942a1007577180.woff2) format('woff2');
  unicode-range: U+4ea3, U+4ea5, U+4eb0-4eb1, U+4eb3-4eb6, U+4eb8-4eb9, U+4ebb-4ebe, U+4ec2-4ec4, U+4ec8-4ec9, U+4ecc, U+4ecf-4ed0, U+4ed2, U+4eda-4edb, U+4edd-4ee1, U+4ee6-4ee9, U+4eeb, U+4eee-4eef, U+4ef3-4ef5, U+4ef8-4efa, U+4efc, U+4f00, U+4f03-4f05, U+4f08-4f09, U+4f0b, U+4f0e, U+4f12-4f13, U+4f15, U+4f1b, U+4f1d, U+4f21-4f22, U+4f25, U+4f27-4f29, U+4f2b-4f2e, U+4f31-4f33, U+4f36-4f37, U+4f39, U+4f3e, U+4f40-4f41, U+4f43, U+4f47-4f49, U+4f54, U+4f57-4f58, U+4f5d-4f5e, U+4f61-4f62, U+4f64-4f65, U+4f67, U+4f6a, U+4f6e-4f6f, U+4f72, U+4f74-4f7e, U+4f80-4f82, U+4f84, U+4f89-4f8a, U+4f8e-4f98, U+4f9e, U+4fa1, U+4fa5, U+4fa9-4faa, U+4fac, U+4fb3, U+4fb6-4fb8, U+4fbd, U+4fc2, U+4fc5-4fc6, U+4fcd-4fce, U+4fd0;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-865a0f31e5ad78ac.woff2) format('woff2');
  unicode-range: U+3129, U+3131, U+3134, U+3137, U+3139, U+3141-3142, U+3145, U+3147-3148, U+314b, U+314d-314e, U+315c, U+3160-3161, U+3163-3164, U+3186, U+318d, U+3192, U+3196-3198, U+319e-319f, U+3220-3229, U+3231, U+3268, U+3297, U+3299, U+32a3, U+338e-338f, U+3395, U+339c-339e, U+33c4, U+33d1-33d2, U+33d5, U+3434, U+34dc, U+34ee, U+353e, U+355d, U+3566, U+3575, U+3592, U+35a0-35a1, U+35ad, U+35ce, U+36a2, U+36ab, U+38a8, U+3dab, U+3de7, U+3deb, U+3e1a, U+3f1b, U+3f6d, U+4495, U+4723, U+48fa, U+4ca3, U+4db6-4dbf, U+4e02, U+4e04-4e06, U+4e0c, U+4e0f, U+4e15, U+4e17, U+4e1f-4e21, U+4e26, U+4e29, U+4e2c, U+4e2f, U+4e31, U+4e35, U+4e37, U+4e3c, U+4e3f-4e42, U+4e44, U+4e46-4e47, U+4e57, U+4e5a-4e5c, U+4e64-4e65, U+4e67, U+4e69, U+4e6d, U+4e78, U+4e7f-4e82, U+4e85, U+4e87, U+4e8a, U+4e8d, U+4e93, U+4e96, U+4e98-4e99, U+4e9c, U+4e9e-4ea0, U+4ea2;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-f962d19d2b4dd955.woff2) format('woff2');
  unicode-range: U+279f-27a2, U+27a4-27a5, U+27a8, U+27b0, U+27b2-27b3, U+27b9, U+27e8-27e9, U+27f6, U+2800, U+28ec, U+2913, U+2921-2922, U+2934-2935, U+2a2f, U+2b05-2b07, U+2b50, U+2b55, U+2bc5-2bc6, U+2e1c-2e1d, U+2ebb, U+2f00, U+2f08, U+2f24, U+2f2d, U+2f2f-2f30, U+2f3c, U+2f45, U+2f63-2f64, U+2f74, U+2f83, U+2f8f, U+2fbc, U+3003, U+3005-3007, U+3012-3013, U+301c-301e, U+3021, U+3023-3024, U+3030, U+3034-3035, U+3041, U+3043, U+3045, U+3047, U+3049, U+3056, U+3058, U+305c, U+305e, U+3062, U+306c, U+3074, U+3077, U+307a, U+307c-307d, U+3080, U+308e, U+3090-3091, U+3099-309b, U+309d-309e, U+30a5, U+30bc, U+30be, U+30c2, U+30c5, U+30cc, U+30d8, U+30e2, U+30e8, U+30ee, U+30f0-30f2, U+30f4-30f6, U+30fd-30fe, U+3105-3126, U+3128;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-dad60a612b369749.woff2) format('woff2');
  unicode-range: U+2651-2655, U+2658, U+265a-265b, U+265d-265e, U+2660-266d, U+266f, U+267b, U+2688, U+2693-2696, U+2698-2699, U+269c, U+26a0-26a1, U+26a4, U+26aa-26ab, U+26bd-26be, U+26c4-26c5, U+26d4, U+26e9, U+26f0-26f1, U+26f3, U+26f5, U+26fd, U+2702, U+2704-2706, U+2708-270f, U+2712-2718, U+271a-271b, U+271d, U+271f, U+2721, U+2724-2730, U+2732-2734, U+273a, U+273d-2744, U+2747-2749, U+274c, U+274e-274f, U+2753-2757, U+275b, U+275d-275e, U+2763, U+2765-2767, U+276e-276f, U+2776-277e, U+2780-2782, U+278a-278c, U+278e, U+2794-2796, U+279c;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-3478e55fe94a4ffc.woff2) format('woff2');
  unicode-range: U+2550-2551, U+2554, U+2557, U+255a-255b, U+255d, U+255f-2560, U+2562-2563, U+2565-2567, U+2569-256a, U+256c-2572, U+2579, U+2580-2595, U+25a1, U+25a3, U+25a9-25ad, U+25b0, U+25b3-25bb, U+25bd-25c2, U+25c4, U+25c8-25cb, U+25cd, U+25d0-25d1, U+25d4-25d5, U+25d8, U+25dc-25e6, U+25ea-25eb, U+25ef, U+25fe, U+2600-2604, U+2609, U+260e-260f, U+2611, U+2614-2615, U+2618, U+261a-2620, U+2622-2623, U+262a, U+262d-2630, U+2639-2640, U+2642, U+2648-2650;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-3a2b0511220a2c31.woff2) format('woff2');
  unicode-range: U+23f0, U+23f3, U+2445, U+2449, U+2465-2471, U+2474-249b, U+24b8, U+24c2, U+24c7, U+24c9, U+24d0, U+24d2, U+24d4, U+24d8, U+24dd-24de, U+24e3, U+24e6, U+24e8, U+2500-2509, U+250b-2526, U+2528-2534, U+2536-2537, U+253b-2548, U+254a-254b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-9be9999cc6e19bfb.woff2) format('woff2');
  unicode-range: U+207c-2083, U+208c-208e, U+2092, U+20a6, U+20a8-20ad, U+20af, U+20b1, U+20b4-20b5, U+20b8-20ba, U+20bd, U+20db, U+20dd, U+20e0, U+20e3, U+2105, U+2109, U+2113, U+2116-2117, U+2120-2121, U+2126, U+212b, U+2133, U+2139, U+2194, U+2196-2199, U+21a0, U+21a9-21aa, U+21af, U+21b3, U+21b5, U+21ba-21bb, U+21c4, U+21ca, U+21cc, U+21d0-21d4, U+21e1, U+21e6-21e9, U+2200, U+2202, U+2205-2208, U+220f, U+2211-2212, U+2215, U+2217-2219, U+221d-2220, U+2223, U+2225, U+2227-222b, U+222e, U+2234-2237, U+223c-223d, U+2248, U+224c, U+2252, U+2256, U+2260-2261, U+2266-2267, U+226a-226b, U+226e-226f, U+2282-2283, U+2295, U+2297, U+2299, U+22a5, U+22b0-22b1, U+22b9, U+22bf, U+22c5-22c6, U+22ef, U+2304, U+2307, U+230b, U+2312-2314, U+2318, U+231a-231b, U+2323, U+239b, U+239d-239e, U+23a0, U+23e9;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-827064e7d1b5ffb4.woff2) format('woff2');
  unicode-range: U+1d34-1d35, U+1d38-1d3a, U+1d3c, U+1d3f-1d40, U+1d49, U+1d4e-1d4f, U+1d52, U+1d55, U+1d5b, U+1d5e, U+1d9c, U+1da0, U+1dc4-1dc5, U+1e69, U+1e73, U+1ea0-1ea9, U+1eab-1ead, U+1eaf, U+1eb1, U+1eb3, U+1eb5, U+1eb7, U+1eb9, U+1ebb, U+1ebd-1ebe, U+1ec0-1ec3, U+1ec5-1ec6, U+1ec9-1ecd, U+1ecf-1ed3, U+1ed5, U+1ed7-1edf, U+1ee1, U+1ee3, U+1ee5-1eeb, U+1eed, U+1eef-1ef1, U+1ef3, U+1ef7, U+1ef9, U+1f62, U+1f7b, U+2001-2002, U+2004-2006, U+2009-200a, U+200c-2012, U+2015-2016, U+201a, U+201e-2021, U+2023, U+2025, U+2028, U+202a-202d, U+202f-2030, U+2032-2033, U+2035, U+2038, U+203c, U+203e-203f, U+2043-2044, U+2049, U+204d-204e, U+2060-2061, U+2070, U+2074-2078, U+207a-207b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-2cfd84959ff28167.woff2) format('woff2');
  unicode-range: U+2ae-2b3, U+2b5-2bf, U+2c2-2c3, U+2c6-2d1, U+2d8-2da, U+2dc, U+2e1-2e3, U+2e5, U+2eb, U+2ee-2f0, U+2f2-2f7, U+2f9-2ff, U+302-30d, U+311, U+31b, U+321-325, U+327-329, U+32b-32c, U+32e-32f, U+331-339, U+33c-33d, U+33f, U+348, U+352, U+35c, U+35e-35f, U+361, U+363, U+368, U+36c, U+36f, U+530-540, U+55d-55e, U+561, U+563, U+565, U+56b, U+56e-579;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-08334f47342d6b48.woff2) format('woff2');
  unicode-range: U+176-17f, U+192, U+194, U+19a-19b, U+19d, U+1a0-1a1, U+1a3-1a4, U+1aa, U+1ac-1ad, U+1af-1bf, U+1d2, U+1d4, U+1d6, U+1d8, U+1da, U+1dc, U+1e3, U+1e7, U+1e9, U+1ee, U+1f0-1f1, U+1f3, U+1f5-1ff, U+219-21b, U+221, U+223-226, U+228, U+22b, U+22f, U+231, U+234-237, U+23a-23b, U+23d, U+250-252, U+254-255, U+259-25e, U+261-263, U+265, U+268, U+26a-26b, U+26f-277, U+279, U+27b-280, U+282-283, U+285, U+28a, U+28c, U+28f, U+292, U+294-296, U+298-29a, U+29c, U+29f, U+2a1-2a4, U+2a6-2a7, U+2a9, U+2ab;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-cde3da4e02e83833.woff2) format('woff2');
  unicode-range: U+a1-a4, U+a6-a8, U+aa, U+ac, U+af, U+b1, U+b3-b6, U+b8-ba, U+bc-d6, U+d8-de, U+e6, U+eb, U+ee-f0, U+f5, U+f7-f8, U+fb, U+fd-100, U+102, U+104-107, U+10d, U+10f-112, U+115, U+117, U+119, U+11b, U+11e-11f, U+121, U+123, U+125-127, U+129-12a, U+12d, U+12f-13f, U+141-142, U+144, U+146, U+14b-14c, U+14f-153, U+158-15b, U+15e-160, U+163-165, U+168-16a, U+16d-175;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-0f06d2f70200e585.woff2) format('woff2');
  unicode-range: U+221a, U+2264, U+2464, U+25a0, U+3008, U+4e10, U+512a, U+5152, U+5201, U+5241, U+5340, U+5352, U+549a, U+54b2, U+54c6, U+54d7, U+54e1, U+5509, U+55c5, U+5618, U+5716, U+576f, U+5784, U+57a2, U+589f, U+5a20, U+5a25, U+5a29, U+5a34, U+5a7f, U+5ad6, U+5b09, U+5b5c, U+5bc7, U+5be6, U+5c27, U+5d2d, U+5dcd, U+5f1b, U+5f37, U+604d, U+6055, U+6073, U+60eb, U+61ff, U+62ce, U+62ed, U+6345, U+6390, U+63b0, U+63b7, U+64ae, U+64c2, U+64d2, U+6556, U+663c, U+667e, U+66d9, U+66f8, U+6756, U+6789, U+689d, U+68f1, U+695e, U+6975, U+6a1f, U+6b0a, U+6b61, U+6b87, U+6c5d, U+6c7e, U+6c92, U+6d31, U+6df9, U+6e0d, U+6e2d, U+6f31, U+6f3e, U+70b3, U+70bd, U+70ca, U+70e8, U+725f, U+733f, U+7396, U+739f, U+7459, U+74a7, U+75a1, U+75f0, U+76cf, U+76d4, U+7729, U+77aa, U+77b0, U+77e3, U+780c, U+78d5, U+7941, U+7977, U+797a, U+79c3, U+7a20, U+7a92, U+7b71, U+7bf1, U+7c9f, U+7eb6, U+7eca, U+7ef7, U+7f07, U+7f09, U+7f15, U+7f81, U+7fb9, U+8038, U+8098, U+80b4, U+8110, U+814b-814c, U+816e, U+818a, U+8205, U+8235, U+828b, U+82a5, U+82b7, U+82d4, U+82db, U+82df, U+8317, U+8338, U+8385-8386, U+83c1, U+83cf, U+8537, U+853b, U+854a, U+8715, U+8783, U+892a, U+8a71, U+8bb3, U+8d2e, U+8d58, U+8dbe, U+8f67, U+8fab, U+8fc4, U+8fe6, U+9023, U+9084, U+9091, U+916a, U+91c9, U+91dc, U+94b3, U+9502, U+9523, U+9551, U+956f, U+960e, U+962a, U+962e, U+9647, U+96f3, U+9739, U+97a0, U+97ed, U+983b, U+985e, U+988a, U+99ac, U+9a6f, U+9a87, U+9a8b, U+9ab7, U+9abc, U+9ac5, U+9e25, U+e608, U+e621, U+ff06, U+ff14-ff16;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-08012e2790459068.woff2) format('woff2');
  unicode-range: U+161, U+926, U+928, U+939, U+93f-940, U+94d, U+e17, U+e22, U+e44, U+25c7, U+25ce, U+2764, U+3009, U+3016-3017, U+4e4d, U+4e53, U+4f5a, U+4f70, U+4fae, U+4fd8, U+4ffa, U+5011, U+501a, U+51c4, U+5225, U+547b, U+5495, U+54e8, U+54ee, U+5594, U+55d3, U+55dc, U+55fd, U+560e, U+565c, U+5662, U+5669, U+566c, U+56bc, U+5742, U+5824, U+5834, U+598a, U+5992, U+59a9, U+5a04, U+5ac9, U+5b75, U+5b7d, U+5bc5, U+5c49, U+5c90, U+5e1c, U+5e27, U+5e2b, U+5e37, U+5e90, U+618b, U+61f5, U+620a, U+620c, U+6273, U+62c7, U+62f7, U+6320, U+6342, U+6401-6402, U+6413, U+6512, U+655b, U+65a7, U+65f1, U+65f7, U+665f, U+6687, U+66a7, U+673d, U+67b8, U+6854, U+68d8, U+68fa, U+696d, U+6a02, U+6a0a, U+6a80, U+6b7c, U+6bd9, U+6c2e, U+6c76, U+6cf8, U+6d4a, U+6d85, U+6e24, U+6e32, U+6ec7, U+6f88, U+700f, U+701a, U+7078, U+707c, U+70ac, U+70c1, U+72e9, U+7409, U+7422, U+745a, U+7480, U+74a8, U+752b, U+7574, U+7656, U+7699, U+7737, U+785d, U+78be, U+79b9, U+7a3d, U+7a91, U+7a9f, U+7ae3, U+7b77, U+7c3f, U+7d1a, U+7d50, U+7d93, U+8042, U+808b, U+8236, U+82b8-82b9, U+82ef, U+8309, U+836b, U+83ef, U+8431, U+85c9, U+865e, U+868c, U+8759, U+8760, U+8845, U+89ba, U+8a2a, U+8aaa, U+8c41, U+8d2c, U+8d4e, U+8e66, U+8e6d, U+8eaf, U+902e, U+914b, U+916e, U+919b, U+949b, U+94a0, U+94b0, U+9541-9542, U+9556, U+95eb, U+95f5, U+964b, U+968b, U+96cc-96cd, U+96cf, U+9713, U+9890, U+98a8, U+9985, U+9992, U+9a6d, U+9a81, U+9a86, U+9ab8, U+9ca4, U+e606-e607, U+e60a, U+e60c, U+e60e, U+fe0f, U+ff02, U+ff1e;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-9f276cf868aa68ea.woff2) format('woff2');
  unicode-range: U+10c, U+627-629, U+639, U+644, U+64a, U+203b, U+2265, U+2463, U+2573, U+25b2, U+3448-3449, U+4e1e, U+4e5e, U+4f3a, U+4f5f, U+4fea, U+5026, U+508d, U+516e, U+5189, U+5254, U+5288, U+52d8, U+52fa, U+5306, U+5308, U+5364, U+5384, U+53ed, U+543c, U+5450, U+5455, U+5466, U+54c4, U+5578, U+55a7, U+561f, U+5631, U+572d, U+575f, U+57ae, U+57e0, U+5830, U+594e, U+5984, U+5993, U+5bdd, U+5c0d, U+5c7f, U+5c82, U+5e62, U+5ed3, U+5f08, U+607a, U+60bc, U+625b, U+6292, U+62e2, U+6363, U+6467, U+6714, U+675e, U+6771, U+67a2, U+67ff, U+6805, U+68a7, U+68e0, U+6930, U+6986, U+69a8, U+69df, U+6a44, U+6a5f, U+6c13, U+6c1f, U+6c22, U+6c2f, U+6c40, U+6c81, U+6c9b, U+6ca5, U+6da4, U+6df3, U+6e85, U+6eba, U+6ed5, U+6f13, U+6f33, U+6f62, U+715e, U+72c4, U+73d1, U+7405, U+7487, U+7578, U+75a4, U+75eb, U+7693, U+7738, U+7741, U+776b, U+7792, U+77a7, U+77a9, U+77b3, U+788c, U+7984, U+79a7, U+79e4, U+7a1a, U+7a57, U+7aa6, U+7b0b, U+7b5d, U+7c27, U+7c7d, U+7caa, U+7cd9, U+7cef, U+7eda, U+7ede, U+7f24, U+803f, U+8046, U+80fa, U+81fb, U+8207, U+8258, U+8335, U+8339, U+8354, U+840e, U+85b0, U+85fb, U+8695, U+86aa, U+8717, U+8749, U+874c, U+8996, U+89bd, U+89c5, U+8bdb, U+8bf5, U+8c5a, U+8cec, U+8d3f, U+8d9f, U+8e44, U+8fed, U+9005, U+9019, U+9082, U+90af, U+90dd, U+90e1, U+90f8, U+916f, U+9176, U+949e, U+94a7, U+94c2, U+9525, U+9580, U+95dc, U+96e2, U+96fb, U+9704, U+9a7c, U+9a7f, U+9b41, U+9ca8, U+9cc4, U+9cde, U+9e92, U+9ede, U+9f9a, U+e60b, U+e610, U+ff10, U+ff13, U+ff3b, U+ff3d, U+f012b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-9cb41313dd19f8ae.woff2) format('woff2');
  unicode-range: U+60, U+631, U+2606, U+3014-3015, U+309c, U+33a1, U+4e52, U+4ec6, U+4f86, U+4f8d, U+4fde, U+4fef, U+500b, U+502a, U+515c, U+518a, U+51a5, U+51f3, U+5243, U+52c9, U+52d5, U+53a2, U+53ee, U+54ce, U+54fa, U+54fc, U+5580, U+5587, U+563f, U+56da, U+5792, U+5815, U+5960, U+59d7, U+5b78, U+5b9b, U+5be1, U+5c4e, U+5c51, U+5c6f, U+5c9a, U+5cfb, U+5d16, U+5ed6, U+5f27, U+5f6a, U+609a, U+60df, U+6168, U+61c8, U+6236, U+62f1, U+62fd, U+631a, U+6328, U+632b, U+6346, U+638f, U+63a0, U+63c9, U+655e, U+6590, U+6615, U+6627, U+66ae, U+66e6, U+66f0, U+67da, U+67ec, U+6813, U+6816, U+6869, U+6893, U+68ad, U+68f5, U+6977, U+6984, U+69db, U+6b72, U+6bb7, U+6ce3, U+6cfb, U+6d47, U+6da1, U+6dc4, U+6e43, U+6eaf, U+6eff, U+6f8e, U+7011, U+7063, U+7076, U+7096, U+70ba, U+70db, U+70ef, U+7119-711a, U+7172, U+718f, U+7194, U+727a, U+72d9, U+72ed, U+7325, U+73ae, U+73ba, U+73c0, U+73fe, U+7410, U+7426, U+7455, U+7554, U+7576, U+75ae, U+75b9, U+762b, U+766b, U+7682, U+7750, U+7779, U+7784, U+77eb, U+77ee, U+78f7, U+79e9, U+7a79, U+7b1b, U+7b28, U+7bf7, U+7db2, U+7ec5, U+7eee, U+7f14, U+7f1a, U+7fe1, U+8087, U+809b, U+81b3, U+8231, U+830e, U+835f, U+83e9, U+849c, U+851a, U+868a, U+8718, U+874e, U+8822, U+8910, U+8944, U+8a3b, U+8bb6, U+8bbc, U+8e72, U+8f9c, U+900d, U+904b, U+904e, U+9063, U+90a2, U+90b9, U+9119, U+94f2, U+952f, U+9576-9577, U+9593, U+95f8, U+961c, U+969b, U+96a7, U+96c1, U+9716, U+9761, U+97ad, U+97e7, U+98a4, U+997a, U+9a73, U+9b44, U+9e3d, U+9ecf, U+9ed4, U+ff11-ff12, U+fffd;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-6646509a83392826.woff2) format('woff2');
  unicode-range: U+2003, U+2193, U+2462, U+4e19, U+4e2b, U+4e36, U+4ea8, U+4ed1, U+4ed7, U+4f51, U+4f63, U+4f83, U+50e7, U+5112, U+5167, U+51a4, U+51b6, U+5239, U+5265, U+532a, U+5351, U+537f, U+5401, U+548f, U+5492, U+54af, U+54b3, U+54bd, U+54d1, U+54df, U+554f, U+5564, U+5598, U+5632, U+56a3, U+56e7, U+574e, U+575d-575e, U+57d4, U+584c, U+58e4, U+5937, U+5955, U+5a05, U+5a1f, U+5a49, U+5ac2, U+5c39, U+5c61, U+5d0e, U+5de9, U+5e9a, U+5eb8, U+5f0a, U+5f13, U+5f6c, U+5f8c, U+603c, U+608d, U+611b, U+6127, U+62a0, U+62d0, U+634f, U+635e, U+63fd, U+6577, U+658b, U+65bc, U+660a, U+6643, U+6656, U+6703, U+6760, U+67af, U+67c4, U+67e0, U+6817, U+68cd, U+690e, U+6960, U+69b4, U+6a71, U+6aac, U+6b67, U+6bb4, U+6c55, U+6c70, U+6c82, U+6ca6, U+6cb8, U+6cbe, U+6ede, U+6ee5, U+6f4d, U+6f84, U+6f9c, U+7115, U+7121, U+722a, U+7261, U+7272, U+7280, U+72f8, U+7504, U+754f, U+75d8, U+767c, U+76ef, U+778e, U+77bb, U+77f6, U+786b, U+78b1, U+7948, U+7985, U+79be, U+7a83, U+7a8d, U+7eac, U+7eef, U+7ef8, U+7efd, U+7f00, U+803d, U+8086, U+810a, U+8165, U+819d, U+81a8, U+8214, U+829c, U+831c, U+832b, U+8367, U+83e0, U+83f1, U+8403, U+846b, U+8475, U+84b2, U+8513, U+8574, U+85af, U+86d9, U+86db, U+8acb, U+8bbd, U+8be0-8be1, U+8c0e, U+8d29, U+8d50, U+8d63, U+8f7f, U+9032, U+9042, U+90b1, U+90b5, U+9165, U+9175, U+94a6, U+94c5, U+950c, U+9610, U+9631, U+9699, U+973e, U+978d, U+97ec, U+97f6, U+984c, U+987d, U+9882, U+9965, U+996a, U+9972, U+9a8f, U+9ad3, U+9ae6, U+9cb8, U+9edb, U+e600, U+e60f, U+e611, U+ff05, U+ff0b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-612db3ce38547116.woff2) format('woff2');
  unicode-range: U+5e, U+2190, U+250a, U+25bc, U+25cf, U+4e56, U+4ea9, U+4f3d, U+4f6c, U+4f88, U+4fa8, U+4fcf, U+5029, U+5188, U+51f9, U+5203, U+524a, U+5256, U+529d, U+5375, U+53db, U+541f, U+5435, U+5457, U+548b, U+54c7, U+54d4, U+54e9, U+556a, U+5589, U+55bb, U+55e8, U+55ef, U+563b, U+566a, U+576a, U+58f9, U+598d, U+599e, U+59a8, U+5a9b, U+5ae3, U+5bb0, U+5bde, U+5c4c, U+5c60, U+5d1b, U+5deb, U+5df7, U+5e18, U+5f26, U+5f64, U+601c, U+6084, U+60e9, U+614c, U+6208, U+621a, U+6233, U+6254, U+62d8, U+62e6, U+62ef, U+6323, U+632a, U+633d, U+6361, U+6405, U+640f, U+6614, U+6642, U+6657, U+67a3, U+6808, U+683d, U+6850, U+6897, U+68b3, U+68b5, U+68d5, U+6a58, U+6b47, U+6b6a, U+6c28, U+6c90, U+6ca7, U+6cf5, U+6d51, U+6da9, U+6dc7, U+6dd1, U+6e0a, U+6e5b, U+6e9c, U+6f47, U+6f6d, U+70ad, U+70f9, U+710a, U+7130, U+71ac, U+745f, U+7476, U+7490, U+7529, U+7538, U+75d2, U+7696, U+76b1, U+76fc, U+777f, U+77dc, U+789f, U+795b, U+79bd, U+79c9, U+7a3b, U+7a46, U+7aa5, U+7ad6, U+7ca5, U+7cb9, U+7cdf, U+7d6e, U+7f06, U+7f38, U+7fa1, U+7fc1, U+8015, U+803b, U+80a2, U+80aa, U+8116, U+813e, U+82bd, U+8305, U+8328, U+8346, U+846c, U+8549, U+859b, U+8611, U+8680, U+87f9, U+884d, U+8877, U+888d, U+88d4, U+898b, U+8a79, U+8a93, U+8c05, U+8c0d, U+8c26, U+8d1e, U+8d31, U+8d81, U+8e22, U+8e81, U+8f90, U+8f96, U+90ca, U+916c, U+917f, U+9187, U+918b, U+9499, U+94a9, U+9524, U+9540, U+958b, U+9600, U+9640, U+96b6, U+96c7, U+96ef, U+98d9, U+9976, U+997f, U+9a74, U+9a84, U+9c8d, U+9e26, U+9e9f, U+ad6d, U+c5b4, U+d55c, U+ff0f;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-4356921221baddc7.woff2) format('woff2');
  unicode-range: U+b0, U+2191, U+2460-2461, U+25c6, U+300e-300f, U+4e1b, U+4e7e, U+4ed5, U+4ef2, U+4f10, U+4f1e, U+4f50, U+4fa6, U+4faf, U+5021, U+50f5, U+5179, U+5180, U+51d1, U+522e, U+52a3, U+52c3, U+52cb, U+5300, U+5319, U+5320, U+5349, U+5395, U+53d9, U+541e, U+5428, U+543e, U+54b1, U+54c0, U+54d2, U+570b, U+5858, U+58f6, U+5974, U+59a5, U+59e8, U+59ec, U+5a36, U+5a9a, U+5ab3, U+5b99, U+5baa, U+5ce1, U+5d14, U+5d4c, U+5dc5, U+5de2, U+5e99, U+5e9e, U+5f18, U+5f66, U+5f70, U+6070, U+60d5, U+60e7, U+6101, U+611a, U+61be, U+6241, U+6252, U+626f, U+6296, U+62bc, U+62cc, U+6380, U+63a9, U+644a, U+6454, U+64a9, U+64b8, U+6500, U+6572, U+65a5, U+65a9, U+65ec, U+660f, U+6749, U+6795, U+67ab, U+68da, U+6912, U+6bbf, U+6bef, U+6cab, U+6cca, U+6ccc, U+6cfc, U+6d3d, U+6d78, U+6dee, U+6e17, U+6e34, U+6e83, U+6ea2, U+6eb6, U+6f20, U+6fa1, U+707f, U+70d8, U+70eb, U+714c, U+714e, U+7235, U+7239, U+73ca, U+743c, U+745c, U+7624, U+763e, U+76f2, U+77db, U+77e9, U+780d, U+7838, U+7845, U+78ca, U+796d, U+7a84, U+7aed, U+7b3c, U+7eb2, U+7f05, U+7f20, U+7f34, U+7f62, U+7fc5, U+7fd8, U+7ff0, U+800d, U+8036, U+80ba, U+80be, U+80c0-80c1, U+8155, U+817a, U+8180, U+81e3, U+8206, U+8247, U+8270, U+8299, U+82ad, U+8304, U+8393, U+83b9, U+840d, U+8427, U+8469, U+8471, U+84c4, U+84ec, U+853d, U+8681-8682, U+8721, U+8854, U+88d5, U+88f9, U+8bc0, U+8c0a, U+8c29, U+8c2d, U+8d41, U+8dea, U+8eb2, U+8f9f, U+903b, U+903e, U+9102, U+9493, U+94a5, U+94f8, U+95f7, U+9706, U+9709, U+9774, U+98a0, U+9e64, U+9f9f, U+e603;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-9c6aed48888db205.woff2) format('woff2');
  unicode-range: U+200b, U+2103, U+4e18, U+4e27-4e28, U+4e38, U+4e59, U+4e8f, U+4ead, U+4ec7, U+4fe9, U+503a, U+5085, U+5146, U+51af, U+51f8, U+52ab, U+5339, U+535c, U+5378, U+538c, U+5398, U+53f9, U+5415, U+5475, U+54aa, U+54ac, U+54b8, U+5582, U+5760, U+5764, U+57cb, U+5835, U+5885, U+5951, U+5983, U+59da, U+5a77, U+5b5d, U+5b5f, U+5bb5, U+5bc2, U+5be8, U+5bfa, U+5c2c, U+5c34, U+5c41, U+5c48, U+5c65, U+5cad, U+5e06, U+5e42, U+5ef7, U+5f17, U+5f25, U+5f6d, U+5f79, U+6028, U+6064, U+6068, U+606d, U+607c, U+6094, U+6109, U+6124, U+6247, U+626d, U+6291, U+629a, U+62ac, U+62b9, U+62fe, U+6324, U+6349, U+6367, U+6398, U+6495, U+64a4, U+64b0, U+64bc, U+64ce, U+658c, U+65ed, U+6602, U+6674, U+6691, U+66a8, U+674f, U+679a, U+67ef, U+67f4, U+680b, U+6876, U+68a8, U+6a59, U+6a61, U+6b20, U+6bc5, U+6d12, U+6d46, U+6d8c, U+6dc0, U+6e14, U+6e23, U+6f06, U+7164, U+716e, U+7199, U+71e5, U+72ac, U+742a, U+755c, U+75ab, U+75b2, U+75f4, U+7897, U+78b3, U+78c5, U+7978, U+79fd, U+7a74, U+7b4b, U+7b5b, U+7ece, U+7ed2, U+7ee3, U+7ef3, U+7f50, U+7f55, U+7f9e, U+7fe0, U+809d, U+8106, U+814a, U+8154, U+817b, U+818f, U+81c2, U+81ed, U+821f, U+82a6, U+82d1, U+8302, U+83c7, U+83ca, U+845b, U+848b, U+84c9, U+85e4, U+86ee, U+8700, U+8774, U+8881, U+8c1c, U+8c79, U+8d2a, U+8d3c, U+8eba, U+8f70, U+8fa9, U+8fb1, U+900a, U+9017, U+901d, U+9022, U+906e, U+946b, U+94dd, U+94ed, U+953b, U+95ef, U+95fa, U+95fd, U+96c0, U+971e, U+9753, U+9756, U+97e6, U+9881, U+9887, U+9b4f, U+9e2d, U+9f0e, U+e601-e602, U+e604-e605, U+ff5c;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-b9b3ced386ebe9af.woff2) format('woff2');
  unicode-range: U+24, U+4e08, U+4e43, U+4e4f, U+4ef0, U+4f2a, U+507f, U+50ac, U+50bb, U+5151, U+51bb, U+51f6, U+51fd, U+5272, U+52fe, U+5362, U+53c9, U+53d4, U+53e0, U+543b, U+54f2, U+5507, U+5524, U+558a, U+55b5, U+561b, U+56ca, U+5782, U+57c3, U+5893, U+5915, U+5949, U+5962, U+59ae, U+59dc, U+59fb, U+5bd3, U+5c38, U+5cb3, U+5d07, U+5d29, U+5de1, U+5dfe, U+5e15, U+5eca, U+5f2f, U+5f7c, U+5fcc, U+6021, U+609f, U+60f9, U+6108, U+6148, U+6155, U+6170, U+61d2, U+6251, U+629b, U+62ab, U+62e8, U+62f3, U+6321, U+6350, U+6566, U+659c, U+65e8, U+6635, U+6655, U+6670, U+66f9, U+6734, U+679d, U+6851, U+6905, U+6b49, U+6b96, U+6c1b, U+6c41, U+6c6a, U+6c83, U+6cf3, U+6d9b, U+6dcb, U+6e1d, U+6e20-6e21, U+6eaa, U+6ee4, U+6ee9, U+6f58, U+70e4, U+722c, U+7262, U+7267, U+72b9, U+72e0, U+72ee, U+72f1, U+7334, U+73ab, U+7433, U+7470, U+758f, U+75d5, U+764c, U+7686, U+76c6, U+76fe, U+7720, U+77e2, U+7802, U+7816, U+788d, U+7891, U+7a00, U+7a9d, U+7b52, U+7bad, U+7c98, U+7cca, U+7eba, U+7eea, U+7ef5, U+7f1d, U+7f69, U+806a, U+809a, U+80bf, U+80c3, U+81c0, U+820c, U+82ac, U+82af, U+82cd, U+82d7, U+838e, U+839e, U+8404, U+84b8, U+852c, U+8587, U+8650, U+8679, U+86c7, U+8702, U+87ba, U+886b-886c, U+8870, U+8c10, U+8c23, U+8c6b, U+8d3e, U+8d4b-8d4c, U+8d64, U+8d6b, U+8d74, U+8e29, U+8f69, U+8f74, U+8fb0, U+8fdf, U+901b, U+9038, U+9093, U+9171, U+9489, U+94ae, U+94c3, U+9508, U+9510, U+9601, U+9614, U+964c, U+9675, U+971c, U+97f5, U+9888, U+98d8, U+9971, U+9aa4, U+9e3f, U+9e45, U+9e4f, U+9e70, U+9f7f, U+e715;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-a2eabac1ea491c48.woff2) format('woff2');
  unicode-range: U+a5, U+2192, U+2605, U+4e11, U+4e22, U+4e32, U+4f0d, U+4f0f, U+4f69, U+4ff1, U+50b2, U+5154, U+51dd, U+51f0, U+5211, U+5269, U+533f, U+5366-5367, U+5389, U+5413, U+5440, U+5446, U+5561, U+574a, U+5751, U+57ab, U+5806, U+5821, U+582a, U+58f3, U+5938, U+5948, U+5978, U+59d1, U+5a03, U+5a07, U+5ac1, U+5acc, U+5ae9, U+5bb4, U+5bc4, U+5c3f, U+5e3d, U+5e7d, U+5f92, U+5faa, U+5fe0, U+5ffd, U+6016, U+60a0, U+60dc, U+60e8, U+614e, U+6212, U+6284, U+62c6, U+62d3-62d4, U+63f4, U+642c, U+6478, U+6491-6492, U+64e6, U+6591, U+65a4, U+664b, U+6735, U+6746, U+67f1, U+67f3, U+6842, U+68af, U+68c9, U+68cb, U+6a31, U+6b3a, U+6bc1, U+6c0f, U+6c27, U+6c57, U+6cc4, U+6ce5, U+6d2a, U+6d66, U+6d69, U+6daf, U+6e58, U+6ecb, U+6ef4, U+707e, U+7092, U+70ab, U+71d5, U+7275, U+7384, U+73b2, U+7434, U+74e6, U+74f7, U+75bc, U+76c8, U+76d0, U+7709, U+77ac, U+7855, U+78a7, U+78c1, U+7a77, U+7b79, U+7c92, U+7cae, U+7cd5, U+7ea4, U+7eb5, U+7ebd, U+7f5a, U+7fd4, U+7ffc, U+8083, U+8096, U+80a0, U+80d6, U+80de, U+8102, U+8109, U+810f, U+8179, U+8292, U+82b3, U+8352, U+8361, U+83cc, U+841d, U+8461, U+8482, U+8521, U+857e, U+85aa, U+866b, U+8776, U+8896, U+889c, U+88f8, U+8a9e, U+8bc8, U+8bf8, U+8c0b, U+8c28, U+8d2b, U+8d2f, U+8d37, U+8d3a, U+8d54, U+8dc3, U+8dcc, U+8df5, U+8e0f, U+8e48, U+8f86, U+8f88, U+8f9e, U+8fc1, U+8fc8, U+8feb, U+9065, U+90a6, U+90aa, U+90bb, U+90c1, U+94dc, U+9521, U+9676, U+96d5, U+970d, U+9897, U+997c, U+9a70, U+9a76, U+9a9a, U+9ad4, U+9e23, U+9e7f, U+9f3b, U+e675, U+e6b9, U+ffe5;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-6cef2944d62d5539.woff2) format('woff2');
  unicode-range: U+300c-300d, U+4e54, U+4e58, U+4e95, U+4ec1, U+4f2f, U+4f38, U+4fa3, U+4fca, U+503e, U+5141, U+5144, U+517c, U+51cc, U+51ed, U+5242, U+52b2, U+52d2, U+52e4, U+540a, U+5439, U+5448, U+5496, U+54ed, U+5565, U+5761, U+5766, U+58ee, U+593a, U+594b, U+594f, U+5954, U+5996, U+59c6, U+59ff, U+5b64, U+5bff, U+5c18, U+5c1d, U+5c97, U+5ca9, U+5cb8, U+5e9f, U+5ec9, U+5f04, U+5f7b, U+5fa1, U+5fcd, U+6012, U+60a6, U+60ac, U+60b2, U+60ef, U+626e, U+6270, U+6276, U+62d6, U+62dc, U+6316, U+632f, U+633a, U+6355, U+63aa, U+6447, U+649e, U+64c5, U+654c, U+65c1, U+65cb, U+65e6, U+6606, U+6731, U+675c, U+67cf, U+67dc, U+6846, U+6b8b, U+6beb, U+6c61, U+6c88, U+6cbf, U+6cdb, U+6cea, U+6d45, U+6d53, U+6d74, U+6d82, U+6da8, U+6db5, U+6deb, U+6eda, U+6ee8, U+6f0f, U+706d, U+708e, U+70ae, U+70bc, U+70c2, U+70e6, U+7237-7238, U+72fc, U+730e, U+731b, U+739b, U+73bb, U+7483, U+74dc, U+74f6, U+7586, U+7626, U+775b, U+77ff, U+788e, U+78b0, U+7956, U+7965, U+79e6, U+7af9, U+7bee, U+7c97, U+7eb1, U+7eb7, U+7ed1, U+7ed5, U+7f6a, U+7f72, U+7fbd, U+8017, U+808c, U+80a9, U+80c6, U+80ce, U+8150, U+8170, U+819c, U+820d, U+8230, U+8239, U+827e, U+8377, U+8389, U+83b2, U+8428, U+8463, U+867e, U+88c2, U+88d9, U+8986, U+8bca, U+8bde, U+8c13, U+8c8c, U+8d21, U+8d24, U+8d56, U+8d60, U+8d8b, U+8db4, U+8e2a, U+8f68, U+8f89, U+8f9b, U+8fa8, U+8fbd, U+9003, U+90ce, U+90ed, U+9189, U+94bb, U+9505, U+95f9, U+963b, U+9655, U+966a, U+9677, U+96fe, U+9896, U+99a8, U+9a71, U+9a82, U+9a91, U+9b45, U+9ece, U+9f20, U+feff, U+ff0d;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-a94be48bb685eec0.woff2) format('woff2');
  unicode-range: U+4e4c, U+4e88, U+4ea1, U+4ea6, U+4ed3-4ed4, U+4eff, U+4f30, U+4fa7, U+4fc4, U+4fd7, U+500d, U+504f, U+5076-5077, U+517d, U+5192, U+51c9, U+51ef, U+5238, U+5251, U+526a, U+52c7, U+52df, U+52ff, U+53a6, U+53a8, U+53ec, U+5410, U+559d, U+55b7, U+5634, U+573e, U+5783, U+585e, U+586b, U+58a8, U+5999, U+59d3, U+5a1c, U+5a46, U+5b54-5b55, U+5b85, U+5b8b, U+5b8f, U+5bbf, U+5bd2, U+5c16, U+5c24, U+5e05, U+5e45, U+5e7c, U+5e84, U+5f03, U+5f1f, U+5f31, U+5f84, U+5f90, U+5fbd, U+5fc6, U+5fd9, U+5fe7, U+6052, U+6062, U+6089, U+60a3, U+60d1, U+6167, U+622a, U+6234, U+624e, U+6269, U+626c, U+62b5, U+62d2, U+6325, U+63e1, U+643a, U+6446, U+6562, U+656c, U+65e2, U+65fa, U+660c, U+6628, U+6652, U+6668, U+6676, U+66fc, U+66ff, U+6717, U+676d, U+67aa, U+67d4, U+6843, U+6881, U+68d2, U+695a, U+69fd, U+6a2a, U+6b8a, U+6c60, U+6c64, U+6c9f, U+6caa, U+6cc9, U+6ce1, U+6cfd, U+6d1b, U+6d1e, U+6d6e, U+6de1, U+6e10, U+6e7f, U+6f5c, U+704c, U+7070, U+7089, U+70b8, U+718a, U+71c3, U+723d, U+732a, U+73cd, U+7518, U+756a, U+75af, U+75be, U+75c7, U+76d2, U+76d7, U+7763, U+78e8, U+795d, U+79df, U+7c4d, U+7d2f, U+7ee9, U+7f13, U+7f8a, U+8000, U+8010, U+80af, U+80f6, U+80f8, U+8212, U+8273, U+82f9, U+83ab, U+83b1, U+83f2, U+8584, U+871c, U+8861, U+888b, U+88c1, U+88e4, U+8bd1, U+8bf1, U+8c31, U+8d5a, U+8d75-8d76, U+8de8, U+8f85, U+8fa3, U+8fc5, U+9006, U+903c, U+904d, U+9075, U+9178, U+9274, U+950b, U+9526, U+95ea, U+9636, U+9686, U+978b, U+987f, U+9a7e, U+9b42, U+9e1f, U+9ea6, U+9f13, U+9f84, U+ff5e;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-45d34a3ad676ea3c.woff2) format('woff2');
  unicode-range: U+23, U+3d, U+4e01, U+4e39, U+4e73, U+4ecd, U+4ed9, U+4eea, U+4f0a, U+4f1f, U+4f5b, U+4fa0, U+4fc3, U+501f, U+50a8, U+515a, U+5175, U+51a0, U+51c0, U+51e1, U+51e4, U+5200, U+520a, U+5224, U+523a, U+52aa, U+52b1, U+52b3, U+5348, U+5353, U+5360, U+5371, U+5377, U+539a, U+541b, U+5434, U+547c, U+54e6, U+5510, U+5531, U+5609, U+56f0, U+56fa, U+5733, U+574f, U+5851, U+5854, U+5899, U+58c1, U+592e, U+5939, U+5976, U+5986, U+59bb, U+5a18, U+5a74, U+5b59, U+5b87, U+5b97, U+5ba0, U+5bab, U+5bbd-5bbe, U+5bf8, U+5c0a, U+5c3a, U+5c4a, U+5e16, U+5e1d, U+5e2d, U+5e8a, U+6015, U+602a, U+6050, U+6069, U+6162, U+61c2, U+6293, U+6297, U+62b1, U+62bd, U+62df, U+62fc, U+6302, U+635f, U+638c, U+63ed, U+6458, U+6469, U+6563, U+6620, U+6653, U+6696-6697, U+66dd, U+675f, U+676f-6770, U+67d0, U+67d3, U+684c, U+6865, U+6885, U+68b0, U+68ee, U+690d, U+6b23, U+6b32, U+6bd5, U+6c89, U+6d01, U+6d25, U+6d89, U+6da6, U+6db2, U+6df7, U+6ed1, U+6f02, U+70c8, U+70df, U+70e7, U+7126, U+7236, U+7259, U+731c, U+745e, U+74e3, U+751a, U+751c, U+7532, U+7545, U+75db, U+7761, U+7a0d, U+7b51, U+7ca4, U+7cd6, U+7d2b, U+7ea0, U+7eb9, U+7ed8, U+7f18, U+7f29, U+8033, U+804a, U+80a4-80a5, U+80e1, U+817f, U+829d, U+82e6, U+8336, U+840c, U+8499, U+864e, U+8651, U+865a, U+88ad, U+89e6, U+8bd7, U+8bfa, U+8c37, U+8d25, U+8d38, U+8ddd, U+8fea, U+9010, U+9012, U+906d, U+907f-9080, U+90d1, U+9177, U+91ca, U+94fa, U+9501, U+9634-9635, U+9694, U+9707, U+9738, U+9769, U+9a7b, U+9a97, U+9aa8, U+9b3c, U+9c81, U+9ed8;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-646cab8b4eb1e326.woff2) format('woff2');
  unicode-range: U+26, U+3c, U+d7, U+4e4e, U+4e61, U+4e71, U+4ebf, U+4f26, U+5012, U+51ac, U+51b0, U+51b2, U+51b7, U+5218, U+521a, U+5220, U+5237, U+523b, U+526f, U+5385, U+53bf, U+53e5, U+53eb, U+53f3, U+53f6, U+5409, U+5438, U+54c8, U+54e5, U+552f, U+5584, U+5706, U+5723, U+5750, U+575a, U+5987-5988, U+59b9, U+59d0, U+59d4, U+5b88, U+5b9c, U+5bdf, U+5bfb, U+5c01, U+5c04, U+5c3e, U+5c4b, U+5c4f, U+5c9b, U+5cf0, U+5ddd, U+5de6, U+5de8, U+5e01, U+5e78, U+5e7b, U+5e9c, U+5ead, U+5ef6, U+5f39, U+5fd8, U+6000, U+6025, U+604b, U+6076, U+613f, U+6258, U+6263, U+6267, U+6298, U+62a2, U+62e5, U+62ec, U+6311, U+6377, U+6388-6389, U+63a2, U+63d2, U+641e, U+642d, U+654f, U+6551, U+6597, U+65cf, U+65d7, U+65e7, U+6682, U+66f2, U+671d, U+672b, U+6740, U+6751, U+6768, U+6811, U+6863, U+6982, U+6bd2, U+6cf0, U+6d0b, U+6d17, U+6d59, U+6dd8, U+6dfb, U+6e7e, U+6f6e, U+6fb3, U+706f, U+719f, U+72af, U+72d0, U+72d7, U+732b, U+732e, U+7389, U+73e0, U+7530, U+7687, U+76d6, U+76db, U+7840, U+786c, U+79cb, U+79d2, U+7a0e, U+7a33, U+7a3f, U+7a97, U+7ade-7adf, U+7b26, U+7e41, U+7ec3, U+7f3a, U+8089, U+80dc, U+811a, U+8131, U+8138, U+821e, U+8349, U+83dc, U+8457, U+867d, U+86cb, U+8a89, U+8ba8, U+8bad, U+8bef, U+8bfe, U+8c6a, U+8d1d, U+8d4f, U+8d62, U+8dd1, U+8df3, U+8f6e, U+8ff9, U+900f, U+9014, U+9057, U+9192, U+91ce, U+9488, U+94a2, U+9547, U+955c, U+95f2, U+9644, U+964d, U+96c4-96c5, U+96e8, U+96f6-96f7, U+9732, U+9759, U+9760, U+987a, U+989c, U+9910, U+996d-996e, U+9b54, U+9e21, U+9ebb, U+9f50;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-33682d82874c7ad0.woff2) format('woff2');
  unicode-range: U+7e, U+2026, U+4e03, U+4e25, U+4e30, U+4e34, U+4e45, U+4e5d, U+4e89, U+4eae, U+4ed8, U+4f11, U+4f19, U+4f24, U+4f34, U+4f59, U+4f73, U+4f9d, U+4fb5, U+5047, U+505c, U+5170, U+519c, U+51cf, U+5267, U+5356, U+5374, U+5382, U+538b, U+53e6, U+5426, U+542b, U+542f, U+5462, U+5473, U+554a, U+5566, U+5708, U+571f, U+5757, U+57df, U+57f9, U+5802, U+590f, U+591c, U+591f, U+592b, U+5965, U+5979, U+5a01, U+5a5a, U+5b63, U+5b69, U+5b81, U+5ba1, U+5ba3, U+5c3c, U+5c42, U+5c81, U+5de7, U+5dee, U+5e0c, U+5e10, U+5e55, U+5e86, U+5e8f, U+5ea7, U+5f02, U+5f52, U+5f81, U+5ff5, U+60ca, U+60e0, U+6279, U+62c5, U+62ff, U+63cf, U+6444, U+64cd, U+653b, U+65bd, U+65e9, U+665a, U+66b4, U+66fe, U+6728, U+6742, U+677e, U+67b6, U+680f, U+68a6, U+68c0, U+699c, U+6b4c, U+6b66, U+6b7b, U+6bcd, U+6bdb, U+6c38, U+6c47, U+6c49, U+6cb3, U+6cb9, U+6ce2, U+6d32, U+6d3e, U+6d4f, U+6e56, U+6fc0, U+7075, U+7206, U+725b, U+72c2, U+73ed, U+7565, U+7591, U+7597, U+75c5, U+76ae, U+76d1, U+76df, U+7834, U+7968, U+7981, U+79c0, U+7a7f, U+7a81, U+7ae5, U+7b14, U+7c89, U+7d27, U+7eaf, U+7eb3, U+7eb8, U+7ec7, U+7ee7, U+7eff, U+7f57, U+7ffb, U+805a, U+80a1, U+822c, U+82cf, U+82e5, U+8363, U+836f, U+84dd, U+878d, U+8840, U+8857, U+8863, U+8865, U+8b66, U+8bb2, U+8bda, U+8c01, U+8c08, U+8c46, U+8d1f, U+8d35, U+8d5b, U+8d5e, U+8da3, U+8ddf, U+8f93, U+8fdd, U+8ff0, U+8ff7, U+8ffd, U+9000, U+9047, U+9152, U+949f, U+94c1, U+94f6, U+9646, U+9648, U+9669, U+969c, U+96ea, U+97e9, U+987b, U+987e, U+989d, U+9970, U+9986, U+9c7c, U+9c9c;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-53fbaba8b7725140.woff2) format('woff2');
  unicode-range: U+25, U+4e14, U+4e1d, U+4e3d, U+4e49, U+4e60, U+4e9a, U+4eb2, U+4ec5, U+4efd, U+4f3c, U+4f4f, U+4f8b, U+4fbf, U+5019, U+5145, U+514b, U+516b, U+516d, U+5174, U+5178, U+517b, U+5199, U+519b, U+51b3, U+51b5, U+5207, U+5212, U+5219, U+521d, U+52bf, U+533b, U+5343, U+5347, U+534a, U+536b, U+5370, U+53e4, U+53f2, U+5403, U+542c, U+547d, U+54a8, U+54cd, U+54ea, U+552e, U+56f4, U+5747, U+575b, U+5883, U+589e, U+5931, U+5947, U+5956-5957, U+5a92, U+5b83, U+5ba4, U+5bb3, U+5bcc, U+5c14, U+5c1a, U+5c3d, U+5c40, U+5c45, U+5c5e, U+5df4, U+5e72, U+5e95, U+5f80, U+5f85, U+5fb7, U+5fd7, U+601d, U+626b, U+627f, U+62c9, U+62cd, U+6309, U+63a7, U+6545, U+65ad, U+65af, U+65c5, U+666e, U+667a, U+670b, U+671b, U+674e, U+677f, U+6781, U+6790, U+6797, U+6821, U+6838-6839, U+697c, U+6b27, U+6b62, U+6bb5, U+6c7d, U+6c99, U+6d4b, U+6d4e, U+6d6a, U+6e29, U+6e2f, U+6ee1, U+6f14, U+6f2b, U+72b6, U+72ec, U+7387, U+7533, U+753b, U+76ca, U+76d8, U+7701, U+773c, U+77ed, U+77f3, U+7814, U+793c, U+79bb, U+79c1, U+79d8, U+79ef, U+79fb, U+7a76, U+7b11, U+7b54, U+7b56, U+7b97, U+7bc7, U+7c73, U+7d20, U+7eaa, U+7ec8, U+7edd, U+7eed, U+7efc, U+7fa4, U+804c, U+8058, U+80cc, U+8111, U+817e, U+826f, U+8303, U+843d, U+89c9, U+89d2, U+8ba2, U+8bbf, U+8bc9, U+8bcd, U+8be6, U+8c22, U+8c61, U+8d22, U+8d26-8d27, U+8d8a, U+8f6f, U+8f7b, U+8f83, U+8f91, U+8fb9, U+8fd4, U+8fdc, U+9002, U+94b1, U+9519, U+95ed, U+961f, U+9632-9633, U+963f, U+968f-9690, U+96be, U+9876, U+9884, U+98de, U+9988, U+9999, U+9ec4, U+ff1b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-6577536b3da0f38d.woff2) format('woff2');
  unicode-range: U+2b, U+40, U+3000, U+300a-300b, U+4e16, U+4e66, U+4e70, U+4e91-4e92, U+4e94, U+4e9b, U+4ec0, U+4eca, U+4f01, U+4f17-4f18, U+4f46, U+4f4e, U+4f9b, U+4fee, U+503c, U+5065, U+50cf, U+513f, U+5148, U+518d, U+51c6, U+51e0, U+5217, U+529e-529f, U+5341, U+534f, U+5361, U+5386, U+53c2, U+53c8, U+53cc, U+53d7-53d8, U+53ea, U+5404, U+5411, U+5417, U+5427, U+5468, U+559c, U+5668, U+56e0, U+56e2, U+56ed, U+5740, U+57fa, U+58eb, U+5904, U+592a, U+59cb, U+5a31, U+5b58, U+5b9d, U+5bc6, U+5c71, U+5dde, U+5df1, U+5e08, U+5e26, U+5e2e, U+5e93, U+5e97, U+5eb7, U+5f15, U+5f20, U+5f3a, U+5f62, U+5f69, U+5f88, U+5f8b, U+5fc5, U+600e, U+620f, U+6218, U+623f, U+627e, U+628a, U+62a4, U+62db, U+62e9, U+6307, U+6362, U+636e, U+64ad, U+6539, U+653f, U+6548, U+6574, U+6613, U+6625, U+663e, U+666f, U+672a, U+6750, U+6784, U+6a21, U+6b3e, U+6b65, U+6bcf, U+6c11, U+6c5f, U+6df1, U+706b, U+7167, U+724c, U+738b, U+73a9, U+73af, U+7403, U+7537, U+754c, U+7559, U+767d, U+7740, U+786e, U+795e, U+798f, U+79f0, U+7aef, U+7b7e, U+7bb1, U+7ea2, U+7ea6, U+7ec4, U+7ec6, U+7ecd, U+7edc, U+7ef4, U+8003, U+80b2, U+81f3-81f4, U+822a, U+827a, U+82f1, U+83b7, U+8425, U+89c2, U+89c8, U+8ba9, U+8bb8, U+8bc6, U+8bd5, U+8be2, U+8be5, U+8bed, U+8c03, U+8d23, U+8d2d, U+8d34, U+8d70, U+8db3, U+8fbe, U+8fce, U+8fd1, U+8fde, U+9001, U+901f-9020, U+90a3, U+914d, U+91c7, U+94fe, U+9500, U+952e, U+9605, U+9645, U+9662, U+9664, U+9700, U+9752, U+975e, U+97f3, U+9879, U+9886, U+98df, U+9a6c, U+9a8c, U+9ed1, U+9f99;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-90a9af88dce17133.woff2) format('woff2');
  unicode-range: U+4e, U+201c-201d, U+3010-3011, U+4e07, U+4e1c, U+4e24, U+4e3e, U+4e48, U+4e50, U+4e5f, U+4e8b-4e8c, U+4ea4, U+4eab-4eac, U+4ecb, U+4ece, U+4ed6, U+4ee3, U+4ef6-4ef7, U+4efb, U+4f20, U+4f55, U+4f7f, U+4fdd, U+505a, U+5143, U+5149, U+514d, U+5171, U+5177, U+518c, U+51fb, U+521b, U+5229, U+522b, U+52a9, U+5305, U+5317, U+534e, U+5355, U+5357, U+535a, U+5373, U+539f, U+53bb, U+53ca, U+53cd, U+53d6, U+53e3, U+53f0, U+5458, U+5546, U+56db, U+573a, U+578b, U+57ce, U+58f0, U+590d, U+5934, U+5973, U+5b57, U+5b8c, U+5b98, U+5bb9, U+5bfc, U+5c06, U+5c11, U+5c31, U+5c55, U+5df2, U+5e03, U+5e38, U+5e76, U+5e94, U+5efa, U+5f71, U+5f97, U+5feb, U+6001, U+603b, U+60f3, U+611f, U+6216, U+624d, U+6253, U+6295, U+6301, U+6392, U+641c, U+652f, U+653e, U+6559, U+6599, U+661f, U+671f, U+672f, U+6761, U+67e5, U+6807, U+6837, U+683c, U+6848, U+6b22, U+6b64, U+6bd4, U+6c14, U+6c34, U+6c42, U+6ca1, U+6d41, U+6d77, U+6d88, U+6e05, U+6e38, U+6e90, U+7136, U+7231, U+7531, U+767e, U+76ee, U+76f4, U+771f, U+7801, U+793a, U+79cd, U+7a0b, U+7a7a, U+7acb, U+7ae0, U+7b2c, U+7b80, U+7ba1, U+7cbe, U+7d22, U+7ea7, U+7ed3, U+7ed9, U+7edf, U+7f16, U+7f6e, U+8001, U+800c, U+8272, U+8282, U+82b1, U+8350, U+88ab, U+88c5, U+897f, U+89c1, U+89c4, U+89e3, U+8a00, U+8ba1, U+8ba4, U+8bae-8bb0, U+8bbe, U+8bc1, U+8bc4, U+8bfb, U+8d28, U+8d39, U+8d77, U+8d85, U+8def, U+8eab, U+8f66, U+8f6c, U+8f7d, U+8fd0, U+9009, U+90ae, U+90fd, U+91cc-91cd, U+91cf, U+95fb, U+9650, U+96c6, U+9891, U+98ce, U+ff1f;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-c39c5495eda4bae2.woff2) format('woff2');
  unicode-range: U+d, U+3e, U+5f, U+7c, U+a0, U+a9, U+4e09-4e0b, U+4e0d-4e0e, U+4e13, U+4e1a, U+4e2a, U+4e3a-4e3b, U+4e4b, U+4e86, U+4e8e, U+4ea7, U+4eba, U+4ee4-4ee5, U+4eec, U+4f1a, U+4f4d, U+4f53, U+4f5c, U+4f60, U+4fe1, U+5165, U+5168, U+516c, U+5173, U+5176, U+5185, U+51fa, U+5206, U+5230, U+5236, U+524d, U+529b, U+52a0-52a1, U+52a8, U+5316, U+533a, U+53cb, U+53d1, U+53ef, U+53f7-53f8, U+5408, U+540c-540e, U+544a, U+548c, U+54c1, U+56de, U+56fd-56fe, U+5728, U+5730, U+5907, U+5916, U+591a, U+5927, U+5929, U+597d, U+5982, U+5b50, U+5b66, U+5b89, U+5b9a, U+5b9e, U+5ba2, U+5bb6, U+5bf9, U+5c0f, U+5de5, U+5e02, U+5e73-5e74, U+5e7f, U+5ea6, U+5f00, U+5f0f, U+5f53, U+5f55, U+5fae, U+5fc3, U+6027, U+606f, U+60a8, U+60c5, U+610f, U+6210-6211, U+6237, U+6240, U+624b, U+6280, U+62a5, U+63a5, U+63a8, U+63d0, U+6536, U+6570, U+6587, U+65b9, U+65e0, U+65f6, U+660e, U+662d, U+662f, U+66f4, U+6700, U+670d, U+672c, U+673a, U+6743, U+6765, U+679c, U+682a, U+6b21, U+6b63, U+6cbb, U+6cd5, U+6ce8, U+6d3b, U+70ed, U+7247-7248, U+7269, U+7279, U+73b0, U+7406, U+751f, U+7528, U+7535, U+767b, U+76f8, U+770b, U+77e5, U+793e, U+79d1, U+7ad9, U+7b49, U+7c7b, U+7cfb, U+7ebf, U+7ecf, U+7f8e, U+8005, U+8054, U+80fd, U+81ea, U+85cf, U+884c, U+8868, U+8981, U+89c6, U+8bba, U+8bdd, U+8bf4, U+8bf7, U+8d44, U+8fc7, U+8fd8-8fd9, U+8fdb, U+901a, U+9053, U+90e8, U+91d1, U+957f, U+95e8, U+95ee, U+95f4, U+9762, U+9875, U+9898, U+9996, U+9ad8, U+ff01, U+ff08-ff09;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-0ddcf8187aa830be.woff2) format('woff2');
  unicode-range: U+20-22, U+27-2a, U+2c-3b, U+3f, U+41-4d, U+4f-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2, U+b7, U+bb, U+df-e5, U+e7-ea, U+ec-ed, U+f1-f4, U+f6, U+f9-fa, U+fc, U+101, U+103, U+113, U+12b, U+148, U+14d, U+16b, U+1ce, U+1d0, U+300-301, U+1ebf, U+1ec7, U+2013-2014, U+2022, U+2027, U+2039-203a, U+2122, U+3001-3002, U+3042, U+3044, U+3046, U+3048, U+304a-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-3073, U+3075-3076, U+3078-3079, U+307b, U+307e-307f, U+3081-308d, U+308f, U+3092-3093, U+30a1-30a4, U+30a6-30bb, U+30bd, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd-30d7, U+30d9-30e1, U+30e3-30e7, U+30e9-30ed, U+30ef, U+30f3, U+30fb-30fc, U+3127, U+4e00, U+4e2d, U+65b0, U+65e5, U+6708-6709, U+70b9, U+7684, U+7f51, U+ff0c, U+ff0e, U+ff1a;
}
/* cyrillic */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-89e14a259a712713.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-f07b7ae0c9ae841d.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-c4ecbbc974a07167.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/noto-serif/sc-e4eebddb4a57622c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --erp-font-serif: "Noto Serif", "Noto Serif SC", "Songti SC", SimSun, "Times New Roman", serif;
  --font: var(--erp-font-serif);
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--erp-font-serif);
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: 0;
}

﻿* { margin: 0; padding: 0; box-sizing: border-box; }
        body {
            font-family: var(--erp-font-serif);
            background: radial-gradient(ellipse at 20% 30%, #263450, #0d1424);
            min-height: 100vh;
            padding: 28px;
            color: #f1f5f9;
        }
        body::before {
            content: '';
            position: fixed;
            inset: 0;
            background: radial-gradient(circle at 70% 20%, rgba(96,165,250,0.25), transparent 65%);
            pointer-events: none;
            z-index: 0;
        }
        .container { max-width: 1600px; margin: 0 auto; position: relative; z-index: 2; }
        .glass {
            background: rgba(28, 38, 65, 0.7);
            backdrop-filter: blur(18px);
            border: 1px solid rgba(96, 165, 250, 0.35);
            border-radius: 40px;
            box-shadow: 0 25px 40px -12px rgba(0,0,0,0.35);
        }
        .hero {
            padding: 36px 40px;
            margin-bottom: 28px;
        }
        .hero-top {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            flex-wrap: wrap;
            gap: 20px;
        }
        .logo {
            font-size: 54px;
            font-weight: 800;
            background: linear-gradient(135deg, #D9E6FF, #C084FC, #F472B6);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            letter-spacing: -1px;
        }
        .logo-sub {
            font-size: 14px;
            color: #cbd5e6;
            margin-top: 8px;
        }
        html:not(.lang-ru) .product-ru,
        html.lang-zh .product-ru,
        body.lang-zh .product-ru,
        html:not(.lang-ru) .nav-ru,
        html.lang-zh .nav-ru,
        body.lang-zh .nav-ru { display: none !important; }
        html.lang-ru .product-cn,
        body.lang-ru .product-cn,
        html.lang-ru .nav-cn,
        body.lang-ru .nav-cn { display: none !important; }
        .product-badge { text-align: right; }
        .product-cn { font-size: 20px; font-weight: 600; letter-spacing: 1px; }
        .product-ru { font-size: 13px; color: #a3b8e0; margin-top: 4px; }
        .nav {
            display: flex;
            gap: 16px;
            margin-top: 36px;
            flex-wrap: wrap;
        }
        .nav-item {
            padding: 14px 34px;
            border-radius: 60px;
            cursor: pointer;
            transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease;
            background: rgba(255,255,255,0.05);
            border: 1px solid rgba(96,165,250,0.3);
        }
        .nav-item:hover {
            background: rgba(96,165,250,0.2);
            border-color: rgba(96,165,250,0.7);
        }
        .nav-item.active {
            background: linear-gradient(105deg, #3b82f6, #8b5cf6);
            border-color: transparent;
            box-shadow: 0 8px 20px -6px #3b82f6;
        }
        .nav-cn { font-weight: 700; font-size: 16px; }
        .nav-ru { font-size: 11px; opacity: 0.8; margin-top: 4px; }
        .page { display: none; }
        .page.active { display: block; }
        .kpi-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
            gap: 20px;
            margin-bottom: 28px;
        }
        .kpi-card {
            background: rgba(30, 42, 72, 0.65);
            backdrop-filter: blur(12px);
            border-radius: 28px;
            padding: 22px;
            border: 1px solid rgba(96,165,250,0.25);
            transition: border-color 0.14s ease, background-color 0.14s ease;
        }
        .kpi-card:hover {
            border-color: #3b82f6;
            background: rgba(45, 58, 92, 0.75);
        }
        .kpi-title { font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: #cbd5f0; margin-bottom: 12px; }
        .kpi-number {
            font-size: clamp(26px, 5vw, 38px);
            font-weight: 800;
            color: white;
            word-break: break-word;
            white-space: normal;
            line-height: 1.2;
        }
        .total-number { color: #fbbf24; }
        .kpi-sub { font-size: 11px; color: #9bb3e0; margin-top: 8px; }
        
        .section-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 24px;
            flex-wrap: wrap;
            gap: 16px;
        }
        .section-header h2 {
            font-size: 26px;
            font-weight: 700;
            background: linear-gradient(135deg, #FFFFFF, #B0C4FF);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }
        .section-header h2 {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .section-icon {
            width: 34px;
            height: 34px;
            min-width: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 14px;
            background: linear-gradient(135deg, rgba(96,165,250,.28), rgba(192,132,252,.22));
            border: 1px solid rgba(255,255,255,.22);
            box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 10px 22px rgba(15,23,42,.22);
            vertical-align: middle;
        }
        .section-icon svg {
            width: 20px;
            height: 20px;
            display: block;
            stroke: #dbeafe;
            fill: none;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }
        .abbr-note {
            margin-top: 10px;
            padding: 10px 14px;
            border-radius: 18px;
            background: rgba(255,255,255,.06);
            border: 1px solid rgba(255,255,255,.10);
            color: #dbeafe;
            font-size: 12px;
            line-height: 1.75;
        }

        .btn {
            background: linear-gradient(95deg, #2563EB, #4F46E5);
            border: none;
            padding: 10px 26px;
            border-radius: 40px;
            font-weight: 600;
            color: white;
            cursor: pointer;
            transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, filter 0.14s ease;
            font-size: 14px;
        }
        .btn-outline {
            background: transparent;
            border: 1px solid #3b82f6;
            color: #b9d0ff;
        }
        .btn-outline:hover { background: rgba(59,130,246,0.25); }
        .btn:hover { filter: brightness(1.05); }
        .search-box { margin-bottom: 20px; }
        .search-input {
            width: 100%;
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(96,165,250,0.4);
            border-radius: 60px;
            padding: 14px 20px;
            color: white;
            font-size: 14px;
            backdrop-filter: blur(5px);
        }
        .search-input:focus { outline: none; border-color: #60A5FA; background: rgba(0,0,0,0.45); }
        .table-wrapper {
            background: rgba(0, 0, 0, 0.25);
            backdrop-filter: blur(8px);
            border-radius: 28px;
            overflow-x: auto;
            border: 1px solid rgba(96,165,250,0.2);
        }
        table { width: 100%; border-collapse: collapse; }
        th {
            text-align: left;
            padding: 16px 18px;
            color: #e2e8f0;
            font-weight: 600;
            border-bottom: 1px solid rgba(96,165,250,0.3);
            background: rgba(0,0,0,0.2);
        }
        td {
            padding: 14px 18px;
            border-bottom: 1px solid rgba(255,255,255,0.08);
            color: #f1f5f9;
            word-break: break-word;
            white-space: normal;
        }
        .text-center { text-align: center; }
        .action { color: #60A5FA; cursor: pointer; margin-right: 14px; transition: color 0.14s ease; display: inline-block; }
        .action:hover { color: #c084fc; }
        .action-del { color: #f97373; }
        .status-paid { color: #4ade80; font-weight: 600; }
        .status-unpaid { color: #fb923c; font-weight: 600; }
        .form-card {
            background: rgba(25, 38, 65, 0.7);
            backdrop-filter: blur(16px);
            border-radius: 32px;
            padding: 24px;
            margin-bottom: 24px;
            border: 1px solid rgba(96,165,250,0.25);
        }
        .form-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 20px;
        }
        .form-group { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
        .form-label { font-size: 13px; font-weight: 500; color: #cbd5e6; }
        .form-input, .form-select {
            background: rgba(0,0,0,0.4);
            border: 1px solid #3b4a6e;
            border-radius: 32px;
            padding: 12px 16px;
            color: white;
            font-size: 14px;
        }
        .form-select option { background: #0f172a; }
        .form-input:focus, .form-select:focus { border-color: #60A5FA; outline: none; }
        .sale-row {
            display: flex;
            gap: 12px;
            align-items: center;
            flex-wrap: wrap;
            margin-bottom: 12px;
            padding: 12px;
            background: rgba(0,0,0,0.25);
            border-radius: 20px;
        }
        .total-box {
            text-align: right;
            margin-top: 20px;
            padding-top: 16px;
            border-top: 1px dashed #5a6e9e;
        }
        .total-badge {
            background: linear-gradient(145deg, #1e2a4a, #0f172a);
            display: inline-block;
            padding: 12px 28px;
            border-radius: 60px;
            font-weight: 700;
        }
        .pagination {
            display: flex;
            justify-content: center;
            gap: 16px;
            margin-top: 24px;
        }
        .pagination button {
            background: rgba(255,255,255,0.08);
            border: 1px solid #3b4a6e;
            padding: 6px 16px;
            border-radius: 40px;
            color: white;
            cursor: pointer;
        }
        .pagination button:disabled { opacity: 0.4; cursor: not-allowed; }
        .modal-mask {
            position: fixed;
            inset: 0;
            background: rgba(15, 23, 42, 0.36);
            backdrop-filter: none;
            display: flex;
            align-items: center;
            justify-content: center;
            visibility: hidden;
            opacity: 0;
            transition: none;
            z-index: 1000;
        }
        .modal-mask.active { visibility: visible; opacity: 1; }
        .modal-panel {
            background: #ffffff;
            backdrop-filter: none;
            border-radius: 16px;
            max-width: 560px;
            width: 90%;
            padding: 34px;
            border: 1px solid rgba(96,165,250,0.5);
        }
        .modal-panel h3 {
            font-size: 26px;
            margin-bottom: 28px;
            background: linear-gradient(135deg,#fff,#a78bfa);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }
        .modal-panel .form-group { margin-bottom: 24px; }
        .btn-group { display: flex; justify-content: flex-end; gap: 14px; margin-top: 28px; }
        .info-note {
            font-size: 12px;
            color: #b9cfe0;
            background: transparent;
            margin-top: 12px;
            text-align: left;
            padding-left: 4px;
            line-height: 1.8;
        }
        @media print {
            body * { visibility: hidden; }
            .print-window, .print-window * { visibility: visible; }
            .print-window { position: fixed; top: 0; left: 0; width: 100%; background: white; padding: 20px; color: black; }
            td, .kpi-number, .total-badge span {
                word-break: break-word;
                white-space: normal;
            }
        }
        .print-window { display: none; max-width: 1000px; margin: 0 auto; background: white; padding: 20px; }

        /* 登录界面专属样式，继承后台统一风格 */
        .login-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            backdrop-filter: blur(12px);
            background: radial-gradient(circle at 20% 20%, rgba(99,102,241,.25), transparent 30%),
                        radial-gradient(circle at 80% 0%, rgba(168,85,247,.18), transparent 25%),
                        linear-gradient(135deg,#07111f,#0b1730 40%,#0a1020 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 2000;
        }
        .login-card {
            background: rgba(20, 30, 50, 0.85);
            backdrop-filter: blur(28px) saturate(180%);
            border-radius: 48px;
            padding: 48px 40px;
            width: 440px;
            max-width: 90%;
            border: 1px solid rgba(255,255,255,0.2);
            box-shadow: 0 25px 50px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.1);
            text-align: center;
        }
        .login-card .logo {
            font-size: 48px;
            margin-bottom: 12px;
        }
        .login-title {
            font-size: 28px;
            font-weight: 700;
            background: linear-gradient(135deg, #FFFFFF, #C084FC);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            margin-bottom: 32px;
        }
        .login-input {
            width: 100%;
            background: rgba(255,255,255,0.1);
            border: 1px solid rgba(255,255,255,0.25);
            border-radius: 60px;
            padding: 14px 20px;
            color: white;
            font-size: 16px;
            margin-bottom: 20px;
            backdrop-filter: blur(4px);
        }
        .login-input:focus {
            outline: none;
            border-color: #60A5FA;
            background: rgba(255,255,255,0.15);
        }
        .login-btn {
            width: 100%;
            background: linear-gradient(95deg, #2563EB, #4F46E5);
            border: none;
            padding: 14px;
            border-radius: 60px;
            font-weight: 700;
            font-size: 18px;
            color: white;
            cursor: pointer;
            transition: background-color 0.14s ease, filter 0.14s ease;
            margin-top: 12px;
        }
        .login-btn:hover {
            filter: brightness(1.05);
        }
        .login-error {
            color: #f97373;
            font-size: 14px;
            margin-top: 16px;
            background: rgba(0,0,0,0.4);
            padding: 8px;
            border-radius: 40px;
        }
        .logout-btn {
            background: rgba(255,255,255,0.1);
            border: 1px solid rgba(96,165,250,0.5);
            color: #f1f5f9;
            padding: 6px 16px;
            border-radius: 40px;
            font-size: 13px;
            cursor: pointer;
            transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease;
        }
        .logout-btn:hover {
            background: rgba(239,68,68,0.3);
            border-color: #f97373;
        }
        .main-wrapper {
            display: none;
        }


/* LONHOW ERP first-batch visual foundation.
   Scope: tokens, shell, headers, buttons, badges, typography, spacing only. */
:root{
  --lh-brand:#ed0c1d;
  --lh-brand-hover:#d20a18;
  --lh-brand-soft:#fff1f2;
  --lh-bg:#f7f7f5;
  --lh-surface:#ffffff;
  --lh-surface-soft:#f4f5f3;
  --lh-surface-muted:#fafafa;
  --lh-text:#1f2328;
  --lh-text-secondary:#667085;
  --lh-text-muted:#98a2b3;
  --lh-border:#e5e7eb;
  --lh-border-strong:#d0d5dd;
  --lh-success:#16803c;
  --lh-success-soft:#ecfdf3;
  --lh-info:#2563eb;
  --lh-info-soft:#eff6ff;
  --lh-warning:#b54708;
  --lh-warning-soft:#fffaeb;
  --lh-danger:#b42318;
  --lh-danger-soft:#fff1f3;
  --lh-radius-sm:6px;
  --lh-radius-md:8px;
  --lh-radius-lg:12px;
  --lh-radius-xl:14px;
  --lh-shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --lh-shadow-float:0 18px 40px rgba(16,24,40,.14);
}

html{
  scroll-behavior:smooth;
}

body{
  background:var(--lh-bg);
  color:var(--lh-text);
  padding:18px;
  overflow-x:hidden;
}

body::before,
body::after{
  display:none;
  content:none;
}

.container{
  max-width:1600px;
}

.glass,
.hero,
.form-card,
.table-wrapper,
.kpi-card,
.home-panel,
.sales-summary-card,
.modal-panel,
.login-card{
  background:var(--lh-surface);
  border:1px solid var(--lh-border);
  box-shadow:var(--lh-shadow-sm);
  color:var(--lh-text);
}

.hero,
.form-card,
.table-wrapper,
.kpi-card,
.home-panel,
.sales-summary-card{
  overflow:hidden;
}

.hero::before,
.hero::after,
.form-card::before,
.table-wrapper::before,
.kpi-card::before,
.home-panel::before,
.sales-summary-card::before,
.modal-panel::before,
.login-card::before{
  display:none;
  content:none;
}

.hero > *,
.form-card > *,
.table-wrapper > *,
.kpi-card > *,
.home-panel > *,
.sales-summary-card > *,
.modal-panel > *,
.login-card > *{
  position:relative;
  z-index:1;
}

.hero{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:12px 14px;
  margin-bottom:16px;
  border-radius:var(--lh-radius-xl);
}

.hero-top{
  display:flex;
  align-items:center;
  gap:14px;
  flex:0 0 auto;
}

.brand-lockup{
  gap:0;
}

.logo{
  color:var(--lh-brand);
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  font-size:22px;
  font-weight:760;
  letter-spacing:0;
  filter:none;
  text-shadow:none;
}

.logo-sub,
.product-cn,
.product-ru,
.home-section-sub,
.sales-summary-note,
.muted,
.field-hint,
.kpi-sub{
  color:var(--lh-text-secondary);
}

.logo-sub{
  margin-top:2px;
  font-size:12px;
}

.product-badge{
  text-align:left;
  padding-left:12px;
  border-left:1px solid var(--lh-border);
}

.product-cn{
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
}

.product-ru{
  font-size:12px;
  margin-top:2px;
}

.hero > div[style*="position: absolute"]{
  position:static !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-left:auto !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}

.nav{
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:0;
  flex:1 1 560px;
  min-width:280px;
}

.nav-item{
  min-height:34px;
  padding:7px 10px;
  border-radius:var(--lh-radius-md);
  border:1px solid transparent;
  background:transparent;
  color:var(--lh-text-secondary);
  box-shadow:none;
  transform:none;
}

.nav-item:hover{
  background:var(--lh-surface-soft);
  border-color:var(--lh-border);
  color:var(--lh-text);
  transform:none;
}

.nav-item.active{
  background:var(--lh-brand-soft);
  border-color:#ffd6dc;
  color:var(--lh-brand);
  box-shadow:none;
}

.nav-cn,
.nav-ru{
  font-size:13px;
  font-weight:650;
  margin:0;
}

.lang-switch{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:2px;
  border:1px solid var(--lh-border);
  border-radius:var(--lh-radius-md);
  background:var(--lh-surface-soft);
  backdrop-filter:none;
}

.lang-btn{
  min-height:30px;
  padding:0 9px;
  border-radius:var(--lh-radius-sm);
  color:var(--lh-text-secondary);
  background:transparent;
  font-size:12px;
  font-weight:650;
  letter-spacing:0;
}

.lang-btn.active{
  background:var(--lh-surface);
  color:var(--lh-brand);
  box-shadow:var(--lh-shadow-sm);
}

.logout-btn{
  min-height:34px;
  padding:0 12px;
  border-radius:var(--lh-radius-md);
  border:1px solid var(--lh-border);
  background:var(--lh-surface);
  color:var(--lh-text-secondary);
  font-size:13px;
}

.logout-btn:hover{
  background:var(--lh-danger-soft);
  border-color:#fecdca;
  color:var(--lh-danger);
}

.section-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}

.section-header h2,
.home-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--lh-text);
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  font-size:20px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:0;
}

.section-icon{
  width:28px;
  height:28px;
  min-width:28px;
  border-radius:var(--lh-radius-md);
  border:1px solid #ffd6dc;
  background:var(--lh-brand-soft);
  box-shadow:none;
}

.section-icon svg{
  width:16px;
  height:16px;
  stroke:var(--lh-brand);
}

.home-v29{
  display:grid;
  gap:14px;
}

.home-section-head{
  margin-bottom:12px;
}

.home-panel,
.form-card,
.table-wrapper,
.kpi-card,
.sales-summary-card{
  border-radius:var(--lh-radius-xl);
  padding:16px;
}

.sales-summary-grid,
.kpi-grid{
  gap:12px;
}

.sales-summary-card,
.kpi-card{
  min-height:96px;
}

.sales-summary-label,
.kpi-title,
.form-label,
label{
  color:var(--lh-text-secondary);
  font-size:12px;
  font-weight:650;
  letter-spacing:0;
}

.sales-summary-value,
.kpi-grid .kpi-number,
.kpi-card .kpi-number{
  color:var(--lh-text);
  margin-top:8px;
  font-size:clamp(22px,2.4vw,34px);
  font-weight:650;
  letter-spacing:0;
  line-height:1.1;
  text-shadow:none;
}

.sales-summary-value.gold,
.kpi-number.total-number,
#customerTotalDebt,
#kpiUnpaid{
  color:var(--lh-text);
  text-shadow:none;
}

.btn,
.login-btn,
.primary-button{
  min-height:36px;
  padding:8px 14px;
  border:1px solid transparent;
  border-radius:var(--lh-radius-md);
  background:var(--lh-brand);
  color:#fff;
  box-shadow:none;
  font-size:13px;
  font-weight:650;
  letter-spacing:0;
  transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;
}

.btn:hover,
.login-btn:hover,
.primary-button:hover{
  background:var(--lh-brand-hover);
  transform:none;
  filter:none;
  box-shadow:none;
}

.btn-outline,
.secondary-button,
.pill-button,
.icon-button{
  border:1px solid var(--lh-border);
  background:var(--lh-surface);
  color:var(--lh-text);
  box-shadow:none;
}

.btn-outline:hover,
.secondary-button:hover,
.pill-button:hover,
.icon-button:hover{
  background:var(--lh-surface-soft);
  border-color:var(--lh-border-strong);
  color:var(--lh-text);
}

.warn-btn{
  border:1px solid var(--lh-border);
  background:var(--lh-surface);
  color:var(--lh-text-secondary);
  box-shadow:none;
}

.danger-btn,
.action-del{
  color:var(--lh-danger);
}

.action{
  color:var(--lh-text-secondary);
  font-size:13px;
  font-weight:500;
  margin:0 6px;
}

.action:hover{
  color:var(--lh-brand);
}

.status-pill,
.sp-status,
[class*="status-paid"],
[class*="status-unpaid"]{
  border-radius:999px;
  font-size:12px;
  font-weight:650;
}

.status-paid,
.sp-active,
.status-pill.v6-active,
.status-pill.v62-active{
  color:var(--lh-success);
  background:var(--lh-success-soft);
  border-color:#abefc6;
}

.status-unpaid,
.sp-inactive,
.status-pill.v6-inactive,
.status-pill.v62-inactive{
  color:var(--lh-warning);
  background:var(--lh-warning-soft);
  border-color:#fedf89;
}

.form-input,
.form-select,
.search-input,
.login-input,
textarea{
  min-height:38px;
  border-radius:var(--lh-radius-md);
  border:1px solid var(--lh-border);
  background:var(--lh-surface);
  color:var(--lh-text);
  box-shadow:none;
  font-size:13px;
}

.form-input::placeholder,
.search-input::placeholder,
.login-input::placeholder,
textarea::placeholder{
  color:var(--lh-text-muted);
  opacity:1;
  font-weight:400;
}

.form-input:focus,
.form-select:focus,
.search-input:focus,
.login-input:focus,
textarea:focus{
  outline:none;
  border-color:var(--lh-brand);
  box-shadow:0 0 0 3px rgba(237,12,29,.09);
}

.form-select option{
  background:#fff;
  color:var(--lh-text);
}

.table-wrapper{
  background:var(--lh-surface);
  border-color:var(--lh-border);
}

th{
  color:var(--lh-text-secondary);
  background:var(--lh-surface-muted);
  border-bottom-color:var(--lh-border);
  font-size:12px;
  font-weight:650;
  letter-spacing:0;
}

td{
  color:var(--lh-text);
  border-bottom-color:var(--lh-border);
  font-size:13px;
  font-weight:400;
}

.home-table{
  border-color:var(--lh-border);
  border-radius:var(--lh-radius-lg);
}

.home-table th{
  color:var(--lh-text-secondary);
  background:var(--lh-surface-muted);
  border-bottom-color:var(--lh-border);
}

.home-table td{
  color:var(--lh-text);
  border-bottom-color:var(--lh-border);
}

.home-table .num,
.home-table .amount{
  color:var(--lh-text);
  font-weight:600;
}

.page:not(#sale):not(#product):not(#stockin):not(#customer):not(#ltrcms) .pagination:not(.pagination-master){
  gap:8px;
  margin-top:14px;
}

.page:not(#sale):not(#product):not(#stockin):not(#customer):not(#ltrcms) .pagination:not(.pagination-master) button,
.page-btn{
  min-width:34px;
  min-height:34px;
  border-radius:var(--lh-radius-md);
  border:1px solid var(--lh-border);
  background:var(--lh-surface);
  color:var(--lh-text-secondary);
  box-shadow:none;
}

.page:not(#sale):not(#product):not(#stockin):not(#customer):not(#ltrcms) .pagination:not(.pagination-master) button:disabled,
.page-btn:disabled{
  opacity:.45;
}

@media(max-width:980px){
  body{padding:12px;}
  .hero{align-items:flex-start;}
  .nav{flex-basis:100%;}
  .product-badge{display:none;}
}

html.erp-unauthenticated,
body.erp-unauthenticated {
  height: 100% !important;
  overflow: hidden !important;
}

html.erp-login-boot,
html.erp-login-boot body,
html.erp-login-restoring,
html.erp-login-restoring body,
html:not(.erp-app-ready),
html:not(.erp-app-ready) body {
  height: 100% !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 0% 4%, rgba(215, 19, 42, .045), transparent 26%),
    radial-gradient(circle at 98% 90%, rgba(72, 130, 200, .075), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #fbfcff 46%, #f8fbff 100%) !important;
}

html.erp-login-boot #loginOverlay,
html.erp-login-restoring #loginOverlay,
html.erp-login-boot #mainWrapper,
html.erp-login-restoring #mainWrapper,
html:not(.erp-app-ready) #loginOverlay,
html:not(.erp-app-ready) #mainWrapper,
html:not(.erp-app-ready) #paymentModal,
html:not(.erp-app-ready) #globalModal,
html:not(.erp-app-ready) #systemDialog,
html:not(.erp-app-ready) #erpSuccessModal {
  display: none !important;
}

.nav-icon,
.account-trigger-icon,
.account-menu-icon {
  width: 17px;
  height: 17px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 17px;
}

.account-caret {
  width: 13px;
  height: 13px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 13px;
}

.nav-icon svg,
.account-trigger-icon svg,
.account-menu-icon svg {
  width: 17px;
  height: 17px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-caret svg {
  width: 13px;
  height: 13px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.erp-success-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.erp-unauthenticated #mainWrapper {
  display: none !important;
}

body.erp-authenticated #mainWrapper {
  display: block !important;
}

.login-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 52px !important;
  background:
    radial-gradient(circle at 18% 16%, rgba(237, 12, 29, .055), transparent 28%),
    radial-gradient(circle at 76% 24%, rgba(30, 41, 59, .055), transparent 30%),
    linear-gradient(180deg, #fbfbfa 0%, #f4f3f1 100%) !important;
  color: var(--lh-text, #18202a) !important;
  backdrop-filter: none !important;
  overflow: hidden !important;
  z-index: 2000 !important;
}

body.erp-unauthenticated .login-overlay {
  display: flex !important;
}

body.erp-authenticated .login-overlay {
  display: none !important;
}

.login-overlay .login-shell {
  width: min(1080px, calc(100vw - 128px)) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 104px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(350px, .9fr) !important;
  gap: 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(218, 221, 225, .86) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 18px 44px rgba(34, 41, 48, .085) !important;
  text-align: left !important;
  overflow: hidden !important;
  max-width: none !important;
}

.login-overlay .login-brand-panel,
.login-overlay .login-form-panel {
  min-width: 0 !important;
  border-radius: 18px !important;
}

.login-overlay .login-brand-panel {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 48px 54px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,248,246,.88)) !important;
  border: 1px solid rgba(238, 239, 241, .82) !important;
}

.login-overlay .login-brand-panel::after {
  display: none !important;
  content: none !important;
}

.login-overlay .login-brand-lockup {
  position: absolute !important;
  left: 54px !important;
  top: 42px !important;
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
}

.login-overlay .login-brand-mark {
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
}

.login-overlay .login-brand-name {
  color: var(--lh-text, #18202a) !important;
  font-family: var(--erp-font-serif) !important;
  font-size: 21px !important;
  line-height: 1 !important;
  font-weight: 620 !important;
  letter-spacing: .01em !important;
}

.login-overlay .login-brand-meta {
  margin-top: 5px !important;
  color: #7d8794 !important;
  font-size: 13px !important;
  font-weight: 520 !important;
}

.login-overlay .login-brand-copy {
  position: relative !important;
  z-index: 1 !important;
  max-width: 430px !important;
}

.login-overlay .login-brand-copy h1 {
  margin: 0 !important;
  color: #222a35 !important;
  font-family: var(--erp-font-serif) !important;
  font-size: clamp(31px, 2vw, 36px) !important;
  line-height: 1.16 !important;
  font-weight: 560 !important;
  letter-spacing: .035em !important;
}

.login-overlay .login-brand-copy p {
  max-width: 390px !important;
  margin: 13px 0 0 !important;
  color: #7b8591 !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
  font-weight: 480 !important;
}

.login-overlay .login-accent {
  display: block !important;
  width: 34px !important;
  height: 1px !important;
  margin-top: 17px !important;
  border-radius: 999px !important;
  background: var(--lh-brand, #ed0c1d) !important;
}

.login-overlay .login-form-panel {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 530px !important;
  padding: 24px 54px 50px !important;
  background: rgba(255,255,255,.72) !important;
  overflow: visible !important;
}

.login-overlay .login-language {
  position: absolute !important;
  top: 24px !important;
  right: 54px !important;
  align-self: auto !important;
  display: inline-flex !important;
  gap: 4px !important;
  margin: 0 !important;
  z-index: 90 !important;
}

.login-overlay .login-language-select {
  position: relative !important;
  width: 132px !important;
  display: block !important;
}


.login-overlay .login-form-head {
  text-align: center !important;
  margin: 86px 0 19px !important;
}

.login-overlay .login-form-title {
  margin: 0 !important;
  color: #202936 !important;
  font-family: var(--erp-font-serif) !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  font-weight: 560 !important;
  letter-spacing: .018em !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
}

.login-overlay .login-form-head p {
  margin: 7px 0 0 !important;
  color: #8b94a1 !important;
  font-size: 14px !important;
  font-weight: 460 !important;
}

.login-overlay .login-form-head::after {
  content: "" !important;
  display: block !important;
  width: 36px !important;
  height: 1px !important;
  margin: 12px auto 0 !important;
  border-radius: 999px !important;
  background: var(--lh-brand, #ed0c1d) !important;
}

.login-overlay .login-fields {
  display: grid !important;
  gap: 7px !important;
}

.login-overlay .login-field-label {
  margin-top: 4px !important;
  color: #4a5563 !important;
  font-size: 13px !important;
  font-weight: 620 !important;
}

.login-overlay .login-input {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  border: 1px solid #e4e7eb !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.96) !important;
  color: #1f2937 !important;
  box-shadow: 0 1px 0 rgba(17,24,39,.02) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  backdrop-filter: none !important;
}

.login-overlay .login-input::placeholder {
  color: #a2aab5 !important;
  opacity: 1 !important;
  font-weight: 440 !important;
}

.login-overlay .login-input:focus {
  outline: none !important;
  border-color: rgba(197, 15, 31, .42) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(197,15,31,.07) !important;
}

.login-overlay .login-password-control {
  position: relative;
  width: 100%;
}

.login-overlay .login-password-control .login-input {
  padding-right: 56px !important;
}

.login-overlay .login-password-toggle {
  position: absolute;
  inset-inline-end: 4px;
  top: 50%;
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  transform: translateY(-50%);
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #7a8491;
  cursor: pointer;
  touch-action: manipulation;
}

.login-overlay .login-password-toggle:hover {
  background: #f5f6f8;
  color: #4e5966;
}

.login-overlay .login-password-toggle:focus-visible {
  outline: 2px solid rgba(197, 15, 31, .45);
  outline-offset: -2px;
  background: #f8f9fb;
}

.login-overlay .login-password-toggle:active {
  background: #eceff3;
}

.login-overlay .login-password-toggle-icon {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.login-overlay .login-password-toggle-icon-hide,
.login-overlay .login-password-toggle.is-visible .login-password-toggle-icon-show {
  display: none;
}

.login-overlay .login-password-toggle.is-visible .login-password-toggle-icon-hide {
  display: block;
}

.login-overlay .login-remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: #4a5563;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  cursor: pointer;
}
.login-overlay #loginRemember {
  appearance: auto !important;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  accent-color: #bd0b20;
  flex: 0 0 18px;
}
.login-overlay .login-options {
  flex-wrap: wrap;
  justify-content: space-between !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 12px 0 18px !important;
  color: #7c8794 !important;
  font-size: 13px !important;
}

.login-overlay .login-forgot {
  color: #7c8794 !important;
  text-align: right !important;
}

.login-overlay .login-submit {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #cf1828, #b90e1d) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 720 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 8px 16px rgba(197,15,31,.12) !important;
  cursor: pointer !important;
}

.login-overlay .login-submit:hover {
  background: linear-gradient(180deg, #c50f1f, #a90c19) !important;
  filter: none !important;
  transform: none !important;
  box-shadow: 0 9px 18px rgba(197,15,31,.16) !important;
}

.login-overlay .login-error {
  margin-top: 14px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: #fff1f2 !important;
  color: #be123c !important;
  font-size: 13px !important;
  text-align: center !important;
}

.login-overlay .login-secure-note {
  margin-top: 12px !important;
  color: #a0a7b1 !important;
  font-size: 12px !important;
  text-align: center !important;
}

@media (max-width: 1180px) {
  .login-overlay .login-shell {
    grid-template-columns: 1fr !important;
    width: min(760px, calc(100vw - 36px)) !important;
    overflow-y: auto !important;
  }

  .login-overlay .login-brand-panel {
    min-height: 280px !important;
    padding: 48px !important;
  }

  .login-overlay .login-brand-lockup {
    position: static !important;
    margin-bottom: 42px !important;
  }

  .login-overlay .login-form-panel {
    padding: 58px 48px !important;
  }

}

@media (max-width: 760px), (max-width: 1024px) and (max-height: 600px) {
  .login-overlay {
    padding: max(32px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)) !important;
    background: #fff !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scroll-padding-block: 24px;
  }

  body.erp-unauthenticated .login-overlay {
    display: block !important;
  }

  .login-overlay .login-shell {
    width: 100% !important;
    max-width: 420px !important;
    min-height: 100% !important;
    max-height: none !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .login-overlay .login-brand-panel {
    flex: 0 0 auto;
    min-height: 0 !important;
    padding: 0 0 28px !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e8ed !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .login-overlay .login-brand-lockup {
    position: static !important;
    margin: 0 !important;
    gap: 12px !important;
  }

  .login-overlay .login-brand-name {
    font-size: 23px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }

  .login-overlay .login-brand-meta {
    color: #687282 !important;
    line-height: 1.5 !important;
  }

  .login-overlay .login-brand-copy,
  .login-overlay .login-form-head p,
  .login-overlay .login-form-head::after {
    display: none !important;
  }

  .login-overlay .login-form-panel {
    flex: 1 0 auto;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .login-overlay .login-form-head {
    margin: 36px 0 28px !important;
    text-align: left !important;
  }

  .login-overlay .login-form-title {
    font-size: 26px !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
  }

  .login-overlay .login-fields {
    gap: 8px !important;
  }

  .login-overlay .login-field-label {
    margin: 0 !important;
    color: #4a5563 !important;
  }

  .login-overlay .login-input + .login-field-label {
    margin-top: 12px !important;
  }

  .login-overlay .login-input {
    height: 52px !important;
    min-height: 52px !important;
    border-color: #dce1e8 !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 16px !important;
    scroll-margin-block: 24px;
  }

  .login-overlay .login-input::placeholder {
    color: #788392 !important;
  }

  .login-overlay .login-options {
    margin: 16px 0 24px !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .login-overlay .login-forgot {
    color: #687282 !important;
    line-height: 1.6 !important;
  }

  .login-overlay .login-submit {
    height: 52px !important;
    min-height: 52px !important;
    border-radius: 6px !important;
    background: var(--lh-brand, #ed0c1d) !important;
    box-shadow: none !important;
    font-size: 16px !important;
    flex-shrink: 0;
  }

  .login-overlay .login-submit:focus-visible {
    outline: 2px solid #bd0b20;
    outline-offset: 3px;
  }

  .login-overlay .login-error {
    border-radius: 6px !important;
    line-height: 1.6 !important;
    overflow-wrap: anywhere;
  }

  .login-overlay .login-secure-note {
    margin-top: auto !important;
    padding-top: 32px;
    color: #687282 !important;
    line-height: 1.6 !important;
  }
}

/*
 * ERP Core visual closure V1.
 * This layer changes hierarchy and density only; it does not alter ERP actions,
 * API contracts, permissions or data.
 */
:root {
  --erp-premium-page: #f7f7f5;
  --erp-premium-surface: #fffefd;
  --erp-premium-subtle: #f2f4f2;
  --erp-premium-rule: #e3e7e4;
  --erp-premium-text: #202a2f;
  --erp-premium-muted: #6e7980;
  --erp-premium-accent: #c91735;
  --erp-premium-radius: 10px;
}

body.erp-ui2.erp-phone { background: var(--erp-premium-page); color: var(--erp-premium-text); }

/* Stable, single-column sign-in. The brand is never positioned by the form width. */
body.erp-phone .login-overlay {
  align-items: flex-start !important;
  justify-content: center !important;
  padding: max(32px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)) !important;
  padding-top: clamp(72px, 12vh, 132px) !important;
  background: var(--erp-premium-page) !important;
}
body.erp-phone .login-overlay .login-shell {
  display: block !important;
  width: min(420px, 100%) !important;
  margin: 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.erp-phone .login-overlay .login-brand-panel,
body.erp-phone .login-overlay .login-form-panel {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.erp-phone .login-overlay .login-brand-panel { text-align: center !important; margin: 0 auto 42px !important; }
body.erp-phone .login-overlay .login-brand-lockup {
  position: static !important;
  display: grid !important;
  justify-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  text-align: center !important;
}
body.erp-phone .login-overlay .login-brand-mark { width: 46px !important; height: 46px !important; margin: 0 !important; }
body.erp-phone .login-overlay .login-brand-name {
  color: #1d2730 !important;
  font-family: var(--erp-font-serif, Georgia, serif) !important;
  font-size: 27px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  line-height: 1.1 !important;
}
body.erp-phone .login-overlay .login-brand-core {
  color: #69737b;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.2;
}
body.erp-phone .login-overlay .login-form-panel {
  padding: 28px !important;
  border: 1px solid var(--erp-premium-rule) !important;
  border-radius: var(--erp-premium-radius) !important;
  background: var(--erp-premium-surface) !important;
}
body.erp-phone .login-overlay .login-form-head { margin: 0 0 24px !important; text-align: center !important; }
body.erp-phone .login-overlay .login-form-title { font-size: 22px !important; font-family: inherit !important; font-weight: 620 !important; letter-spacing: 0 !important; }
body.erp-phone .login-overlay .login-form-head::after,
body.erp-phone .login-overlay .login-brand-copy,
body.erp-phone .login-overlay .login-secure-note { display: none !important; }
body.erp-phone .login-overlay .login-input { border-radius: 7px !important; border-color: #dce1e0 !important; box-shadow: none !important; }
body.erp-phone .login-overlay .login-submit { border-radius: 7px !important; box-shadow: none !important; }
body.erp-phone .login-overlay .login-footer-meta { margin: 20px 0 0; color: #879098; font-size: 12px; text-align: center; }

/* One shared surface for related dashboard figures, not four competing cards. */
body.erp-ui2.erp-phone #home .home-v29 { display: grid; gap: 24px; max-width: 1320px; margin: 0 auto; }
body.erp-ui2.erp-phone #home .home-panel {
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--erp-premium-rule) !important;
  border-radius: var(--erp-premium-radius) !important;
  background: var(--erp-premium-surface) !important;
  box-shadow: none !important;
}
body.erp-ui2.erp-phone #home .home-section-head { margin-bottom: 14px !important; }
body.erp-ui2.erp-phone #home .home-section-title { color: var(--erp-premium-text) !important; font-size: 17px !important; font-weight: 620 !important; letter-spacing: 0 !important; }
body.erp-ui2.erp-phone #home :is(.home-section-sub, .v3-fixed-note) { display: none !important; }
body.erp-ui2.erp-phone #home .sales-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--erp-premium-rule);
  border-radius: 8px;
  background: var(--erp-premium-subtle);
}
body.erp-ui2.erp-phone #home .sales-summary-card {
  min-width: 0;
  padding: 17px 18px !important;
  border: 0 !important;
  border-inline-end: 1px solid var(--erp-premium-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.erp-ui2.erp-phone #home .sales-summary-card:last-child { border-inline-end: 0 !important; }
body.erp-ui2.erp-phone #home .sales-summary-label { color: var(--erp-premium-muted) !important; font-size: 12px !important; font-weight: 540 !important; }
body.erp-ui2.erp-phone #home .sales-summary-value {
  margin-top: 7px !important;
  color: var(--erp-premium-text) !important;
  font-size: clamp(22px, 2.1vw, 29px) !important;
  font-weight: 620 !important;
  line-height: 1.15 !important;
  font-variant-numeric: tabular-nums;
}
body.erp-ui2.erp-phone #home .sales-summary-note { display: none !important; }
body.erp-ui2.erp-phone #home .premium-home-trend { padding: 20px !important; }
.premium-trend-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.premium-trend-head h2 { margin: 0; color: var(--erp-premium-text); font-size: 17px; font-weight: 620; }
.premium-trend-head span { color: var(--erp-premium-muted); font-size: 12px; }
.premium-trend-svg { display: block; width: 100%; height: 142px; }
.premium-trend-grid { stroke: #e8ece9; stroke-width: 1; }
.premium-trend-area { fill: rgba(201, 23, 53, .08); }
.premium-trend-line { fill: none; stroke: var(--erp-premium-accent); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.25; }
.premium-trend-dot { fill: var(--erp-premium-accent); }
.premium-trend-labels { display: flex; justify-content: space-between; gap: 16px; color: var(--erp-premium-muted); font-size: 11px; }
body.erp-ui2.erp-phone #home .premium-home-details { padding: 0 !important; overflow: hidden; }
body.erp-ui2.erp-phone #home .premium-home-details > summary {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 20px;
  color: var(--erp-premium-text);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  list-style: none;
}
body.erp-ui2.erp-phone #home .premium-home-details > summary::-webkit-details-marker { display: none; }
body.erp-ui2.erp-phone #home .premium-home-details > summary::after { margin-inline-start: auto; color: var(--erp-premium-muted); content: '+'; font-size: 20px; font-weight: 400; }
body.erp-ui2.erp-phone #home .premium-home-details[open] > summary::after { content: '−'; }
body.erp-ui2.erp-phone #home .premium-home-details table { margin: 0 20px 20px !important; width: calc(100% - 40px) !important; }
body.erp-ui2.erp-phone #home .home-panel:has(#homeMonthlyOpsRows) { display: none !important; }
body.erp-ui2.erp-phone #home #v81HomeOpsGrid,
body.erp-ui2.erp-phone #home .v35-ops-risk { display: block !important; margin: 0 !important; }
body.erp-ui2.erp-phone #home #homeRiskNotes { display: grid; gap: 8px; }
body.erp-ui2.erp-phone #home .home-alert {
  padding: 11px 12px !important;
  border: 1px solid #ebe4db !important;
  border-radius: 7px !important;
  background: #fffdf9 !important;
  box-shadow: none !important;
  color: #5c554e !important;
}

/* Replace the previous dashboard collage with one focused decision surface. */
#homeVisualDashboard.premium-desktop-dashboard {
  display: grid;
  gap: 24px;
  max-width: 1320px;
  margin: 0 auto;
}
body.erp-phone #phoneApp [data-steward-host] { display: none !important; }
#homeVisualDashboard.premium-desktop-dashboard :is(.hd-toolbar,.hd-filters,.hd-split,.hd-stock-section,.hd-recent,.hd-kpis) { display: none !important; }
#homeVisualDashboard .premium-dashboard-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
#homeVisualDashboard .premium-dashboard-head h2 { margin: 0; color: var(--erp-premium-text); font-size: 23px; font-weight: 620; }
#homeVisualDashboard .premium-dashboard-head p { margin: 6px 0 0; color: var(--erp-premium-muted); font-size: 13px; }
#homeVisualDashboard .premium-refresh {
  width: 38px;
  height: 38px;
  border: 1px solid var(--erp-premium-rule);
  border-radius: 7px;
  background: var(--erp-premium-surface);
  color: var(--erp-premium-muted);
  font-size: 21px;
}
#homeVisualDashboard .premium-dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--erp-premium-rule);
  border-radius: var(--erp-premium-radius);
  background: var(--erp-premium-subtle);
}
#homeVisualDashboard .premium-dashboard-kpis > :is(div,button) {
  min-width: 0;
  padding: 18px 20px;
  border: 0;
  border-inline-end: 1px solid var(--erp-premium-rule);
  background: transparent;
  color: inherit;
  text-align: left;
}
#homeVisualDashboard .premium-dashboard-kpis > :last-child { border-inline-end: 0; }
#homeVisualDashboard .premium-dashboard-kpis span { display: block; color: var(--erp-premium-muted); font-size: 12px; }
#homeVisualDashboard .premium-dashboard-kpis strong { display: block; margin-top: 8px; color: var(--erp-premium-text); font-size: clamp(22px, 2vw, 29px); font-weight: 620; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#homeVisualDashboard .premium-dashboard-kpis small { color: var(--erp-premium-muted); font-size: 11px; font-weight: 500; }
#homeVisualDashboard .premium-dashboard-kpis button:hover { background: #fafafa; }
#homeVisualDashboard .premium-dashboard-trend {
  padding: 20px;
  border: 1px solid var(--erp-premium-rule);
  border-radius: var(--erp-premium-radius);
  background: var(--erp-premium-surface);
}
#homeVisualDashboard .premium-dashboard-bottom { display: grid; grid-template-columns: minmax(180px, .62fr) minmax(0, 1.38fr); gap: 24px; }
#homeVisualDashboard :is(.premium-stock-callout,.premium-recent) {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--erp-premium-rule);
  border-radius: var(--erp-premium-radius);
  background: var(--erp-premium-surface);
}
#homeVisualDashboard .premium-stock-callout { display: flex; flex-direction: column; align-items: flex-start; }
#homeVisualDashboard .premium-stock-callout > span { color: var(--erp-premium-muted); font-size: 13px; }
#homeVisualDashboard .premium-stock-callout > strong { margin: 8px 0 18px; color: var(--erp-premium-warning); font-size: 30px; font-weight: 620; }
#homeVisualDashboard .premium-stock-callout button,
#homeVisualDashboard .premium-recent button { border: 0; background: transparent; color: #a42e43; font: inherit; cursor: pointer; }
#homeVisualDashboard .premium-recent .premium-trend-head { margin-bottom: 4px; }
#homeVisualDashboard .premium-recent .premium-trend-head h2 { font-size: 16px; }
#homeVisualDashboard .premium-recent .premium-trend-head button { font-size: 13px; }
#homeVisualDashboard .premium-recent-order {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 56px;
  padding: 10px 0;
  border-bottom: 1px solid var(--erp-premium-rule);
  color: var(--erp-premium-text) !important;
  text-align: left;
}
#homeVisualDashboard .premium-recent-order:last-child { border-bottom: 0; }
#homeVisualDashboard .premium-recent-order strong { display: block; overflow: hidden; font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
#homeVisualDashboard .premium-recent-order small { display: block; margin-top: 3px; color: var(--erp-premium-muted); font-size: 11px; }
#homeVisualDashboard .premium-recent-order b { color: var(--erp-premium-text); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
#homeVisualDashboard .premium-recent-order i { color: var(--erp-premium-muted); font-size: 19px; font-style: normal; }
#homeVisualDashboard .premium-empty { margin: 20px 0 0; color: var(--erp-premium-muted); }

/* Shared reading rhythm across lists, ledgers and low-frequency content. */
body.erp-ui2 #mainWrapper .page:not(#home) { gap: 20px; }
body.erp-ui2 #mainWrapper .page:not(#home) :is(.history-surface, .table-wrapper, .personnel-table-wrap, .attendance-table-wrap) {
  border-radius: var(--erp-premium-radius) !important;
  background: var(--erp-premium-surface) !important;
}
body.erp-ui2 #mainWrapper .page-header { min-height: 0 !important; padding-bottom: 14px !important; border-bottom-color: var(--erp-premium-rule) !important; }
body.erp-ui2 #mainWrapper :is(.page-header .muted, .history-head .muted, .items-subtitle, .select-note) { color: var(--erp-premium-muted) !important; }
body.erp-ui2 #mainWrapper :is(.add-btn, .confirm, .phone-primary) { border-radius: 7px !important; }
body.erp-ui2 #mainWrapper .subtle-action { background: transparent !important; box-shadow: none !important; }

/* Mobile keeps its practical five-tab shell, with one calm KPI surface and one chart. */
#phoneApp .phone-home-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 20px;
  overflow: hidden;
  border: 1px solid #e1e6e2;
  border-radius: 8px;
  background: #fbfcfb;
}
#phoneApp .phone-home-kpis > div { min-width: 0; padding: 14px 13px; border-inline-end: 1px solid #e7ebe8; border-bottom: 1px solid #e7ebe8; }
#phoneApp .phone-home-kpis > div:nth-child(2n) { border-inline-end: 0; }
#phoneApp .phone-home-kpis > div:nth-last-child(-n + 2) { border-bottom: 0; }
#phoneApp .phone-home-kpis span { display: block; color: #738078; font-size: 11px; }
#phoneApp .phone-home-kpis strong { display: block; margin-top: 6px; color: #27342d; font-size: 17px; font-weight: 620; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#phoneApp .phone-trend { margin: 0 0 22px; padding: 16px 0 0; border-top: 1px solid #e7eae8; }
#phoneApp .phone-trend .premium-trend-svg { height: 112px; }
#phoneApp .phone-hub { padding: 2px 0 16px; }
#phoneApp .phone-hub p { display: none; }
#phoneApp .phone-person { padding-bottom: 18px; }

@media (max-width: 760px) {
  body.erp-phone.erp-unauthenticated .login-overlay { display: block !important; overflow-y: auto !important; }
  body.erp-phone.erp-authenticated .login-overlay { display: none !important; }
  body.erp-phone .login-overlay .login-shell { min-height: calc(100dvh - 64px) !important; margin: 0 auto !important; padding-top: max(22px, env(safe-area-inset-top)) !important; }
  body.erp-phone .login-overlay .login-brand-panel { margin-bottom: 30px !important; }
  body.erp-phone .login-overlay .login-form-panel { padding: 22px !important; }
  body.erp-ui2.erp-phone #home .sales-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.erp-ui2.erp-phone #home .sales-summary-card:nth-child(2n) { border-inline-end: 0 !important; }
  body.erp-ui2.erp-phone #home .sales-summary-card:nth-child(-n + 2) { border-bottom: 1px solid var(--erp-premium-rule) !important; }
  body.erp-ui2.erp-phone #home .home-panel,
  body.erp-ui2.erp-phone #home .premium-home-trend { padding: 16px !important; }
  body.erp-ui2.erp-phone #home .premium-home-details > summary { min-height: 48px; padding-inline: 16px; }
  body.erp-ui2.erp-phone #home .premium-home-details table { margin: 0 16px 16px !important; width: calc(100% - 32px) !important; }
  #homeVisualDashboard.premium-desktop-dashboard { gap: 18px; }
  #homeVisualDashboard .premium-dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #homeVisualDashboard .premium-dashboard-kpis > :nth-child(2n) { border-inline-end: 0; }
  #homeVisualDashboard .premium-dashboard-kpis > :nth-child(-n + 2) { border-bottom: 1px solid var(--erp-premium-rule); }
  #homeVisualDashboard .premium-dashboard-bottom { grid-template-columns: 1fr; gap: 16px; }
}

/* Desktop presentation only; authentication visibility remains owned by auth state. */
.login-desktop-heading { display: none; }

@media screen and (min-width: 768px) {
  body.erp-ui2 #loginOverlay { padding: 40px 48px !important; background: #f7f8f9 !important; overflow-y: auto !important; }
  body.erp-ui2 #loginOverlay .login-shell {
    width: min(1040px,100%) !important; min-height: 500px !important; max-height: none !important;
    grid-template-columns: minmax(0,1fr) minmax(300px,340px) !important;
    align-items: center !important; gap: 64px !important; padding: 44px 56px !important;
    border: 1px solid #eceef1 !important; border-radius: 16px !important; background: #fff !important;
    box-shadow: 0 16px 48px rgba(31,41,51,.055) !important; overflow: visible !important;
  }
  body.erp-ui2 #loginOverlay .login-brand-panel {
    position: static !important; min-height: 0 !important; padding: 0 !important; gap: 32px !important;
    background: transparent !important; border: 0 !important; border-radius: 0 !important;
  }
  body.erp-ui2 #loginOverlay .login-brand-lockup {
    position: static !important; display: grid !important; grid-template-columns: 40px minmax(0,1fr) !important;
    column-gap: 14px !important; row-gap: 4px !important; margin: 0 !important; align-items: center !important;
  }
  body.erp-ui2 #loginOverlay .login-brand-mark {
    content: url('/assets/lonhow-logo-transparent.png'); grid-column: 1; grid-row: 1 / 3;
    width: 40px !important; height: 40px !important;
  }
  body.erp-ui2 #loginOverlay .login-brand-name { grid-column: 2; font-size: 24px !important; line-height: 1.2 !important; letter-spacing: 0 !important; color: #242e3c !important; }
  body.erp-ui2 #loginOverlay .login-brand-core { grid-column: 2; font-size: 13px; line-height: 1.5; color: #85909f; letter-spacing: 0; }
  body.erp-ui2 #loginOverlay .login-desktop-heading { display: block; margin: 0; max-width: 440px; color: #283344; font-size: 30px; line-height: 1.5; font-weight: 400; letter-spacing: 0; overflow-wrap: anywhere; }
  body.erp-ui2 #loginOverlay .login-desktop-heading::after { content: ''; display: block; width: 28px; height: 1px; margin-top: 16px; background: #e72843; }
  body.erp-ui2 #loginOverlay .login-form-panel { min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; }
  body.erp-ui2 #loginOverlay .login-form-head { margin: 0 0 20px !important; }
  body.erp-ui2 #loginOverlay .login-form-head::before {
    content: ''; display: block; width: 20px; height: 20px; margin: 0 auto 10px;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ed1638' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v6c0 5 8 9 8 9s8-4 8-9V6Z'/%3E%3Cpath d='m8.5 12 2.3 2.3 4.7-4.7'/%3E%3C/svg%3E");
  }
  body.erp-ui2 #loginOverlay .login-form-title { font-size: 22px !important; line-height: 1.4 !important; font-weight: 500 !important; letter-spacing: 0 !important; }
  body.erp-ui2 #loginOverlay .login-form-head::after { width: 28px !important; height: 1px !important; margin-top: 12px !important; background: #e72843 !important; }
  body.erp-ui2 #loginOverlay .login-fields { gap: 6px !important; }
  body.erp-ui2 #loginOverlay .login-field-label { font-size: 13px !important; font-weight: 400 !important; color: #697586 !important; }
  body.erp-ui2 #loginOverlay .login-field-label[for="loginPassword"] { margin-top: 8px !important; }
  body.erp-ui2 #loginOverlay .login-input {
    height: 46px !important; min-height: 46px !important; padding: 0 42px !important;
    border: 1px solid #e3e7ed !important; border-radius: 7px !important; color: #283344 !important;
    background-color: #fcfdfe !important; background-repeat: no-repeat !important; background-position: 14px center !important; background-size: 16px !important;
    box-shadow: none !important; font-size: 14px !important;
  }
  body.erp-ui2 #loginOverlay #loginUsername { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E") !important; }
  body.erp-ui2 #loginOverlay #loginPassword { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V6a4 4 0 0 1 8 0v4M12 15v2'/%3E%3C/svg%3E") !important; }
  body.erp-ui2 #loginOverlay .login-input:focus { border-color: #d7909d !important; box-shadow: 0 0 0 3px rgba(215,40,69,.07) !important; outline: none; }
  body.erp-ui2 #loginOverlay .login-options { margin: 8px 0 14px !important; gap: 8px !important; align-items: center !important; font-size: 12px !important; }
  body.erp-ui2 #loginOverlay .login-forgot { font-size: 12px !important; line-height: 1.6; }
  body.erp-ui2 #loginOverlay .login-remember { flex-shrink: 0; min-height: 36px; font-size: 12px !important; }
  body.erp-ui2 #loginOverlay #loginRemember { width: 15px !important; height: 15px !important; min-height: 15px !important; flex-basis: 15px !important; accent-color: #e3213d; }
  body.erp-ui2 #loginOverlay .login-submit { height: 46px !important; min-height: 46px !important; border-radius: 7px !important; background: linear-gradient(105deg,#ec2e46,#d30b2a) !important; font-size: 15px !important; font-weight: 500 !important; box-shadow: 0 4px 12px rgba(213,24,53,.09) !important; }
  body.erp-ui2 #loginOverlay .login-submit::after { content: ''; display: inline-block; vertical-align: middle; width: 18px; height: 18px; margin-left: 14px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E"); }
  body.erp-ui2 #loginOverlay .login-submit:hover { background: linear-gradient(105deg,#df223c,#b80020) !important; }
  body.erp-ui2 #loginOverlay .login-submit:focus-visible { outline: 2px solid #b80020; outline-offset: 4px; }
  body.erp-ui2 #loginOverlay .login-footer-meta { margin-top: 12px; color: #8b96a5; font-size: 12px; line-height: 1.5; text-align: center; }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  body.erp-ui2 #loginOverlay { padding: 28px 24px !important; }
  body.erp-ui2 #loginOverlay .login-shell { grid-template-columns: minmax(0,1fr) minmax(280px,340px) !important; padding: 36px 32px !important; gap: 32px !important; min-height: 480px !important; }
  body.erp-ui2 #loginOverlay .login-brand-name { font-size: 24px !important; }
  body.erp-ui2 #loginOverlay .login-desktop-heading { font-size: 26px; }
  body.erp-ui2 #loginOverlay .login-options { flex-wrap: wrap !important; }
}

@media screen and (min-width: 768px) and (max-height: 700px) {
  body.erp-ui2 #loginOverlay { padding-block: 24px !important; }
  body.erp-ui2 #loginOverlay .login-shell { min-height: 0 !important; padding-block: 32px !important; }
  body.erp-ui2 #loginOverlay .login-brand-panel { gap: 28px !important; }
}

﻿#home .home-v29{display:block!important;}
#v64HomeStack{display:grid!important;gap:24px!important;margin-top:24px!important;}
#v64HomeOpsRiskGrid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:22px!important;align-items:stretch!important;}
#home .v64-panel-full{width:100%!important;margin:0!important;}
#home .v64-panel-half{height:100%!important;margin:0!important;}
#home .v64-panel-hidden{display:none!important;}
#home .home-actions{display:flex!important;justify-content:flex-end!important;gap:14px!important;flex-wrap:wrap!important;margin:0!important;}
#home .home-panel{margin-top:0!important;margin-bottom:0!important;transform:none!important;top:0!important;}
#home .home-table th,#home .home-table td{padding:13px 16px!important;line-height:1.42!important;vertical-align:middle!important;}
#home .home-table tr{height:auto!important;}
#home .home-section-head{margin-bottom:16px!important;}

#stockin .section-header h2{white-space:nowrap!important;}

#stockProcess .form-card{overflow:hidden!important;}
#stockProcess .form-grid.v64-process-grid{
  display:grid!important;
  grid-template-columns:minmax(280px,2fr) minmax(210px,1.15fr) minmax(90px,.55fr) minmax(120px,.65fr) minmax(260px,1.25fr) minmax(180px,.8fr)!important;
  gap:16px!important;
  align-items:end!important;
}
#stockProcess .form-grid.v64-process-grid .form-group{margin-bottom:0!important;min-width:0!important;}
#stockProcess .form-grid.v64-process-grid .form-input,
#stockProcess .form-grid.v64-process-grid .form-select{width:100%!important;min-width:0!important;}
#stockProcess .form-grid.v64-process-grid .v64-action-note{margin-top:6px!important;font-size:12px!important;line-height:1.45!important;color:#cbd5e1!important;white-space:normal!important;}
#stockProcess .form-grid.v64-process-grid .select-note{display:none!important;}
#stockProcess .form-grid.v64-process-grid .v64-submit{align-self:end!important;justify-content:flex-end!important;}
#stockProcess .form-grid.v64-process-grid .v64-submit .btn{
  width:100%!important;
  max-width:190px!important;
  min-width:0!important;
  margin-top:0!important;
  padding-left:18px!important;
  padding-right:18px!important;
  white-space:nowrap!important;
}
#stockProcess .form-card > .muted{margin-top:14px!important;line-height:1.55!important;}

@media(max-width:1350px){
  #stockProcess .form-grid.v64-process-grid{
    grid-template-columns:minmax(260px,1.8fr) minmax(190px,1.05fr) minmax(80px,.55fr) minmax(110px,.65fr) minmax(230px,1.15fr) minmax(170px,.75fr)!important;
    gap:14px!important;
  }
}
@media(max-width:1180px){
  #v64HomeOpsRiskGrid{grid-template-columns:1fr!important;}
  #stockProcess .form-grid.v64-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #stockProcess .form-grid.v64-process-grid .v64-goods,
  #stockProcess .form-grid.v64-process-grid .v64-reason,
  #stockProcess .form-grid.v64-process-grid .v64-submit{grid-column:1 / -1!important;}
  #stockProcess .form-grid.v64-process-grid .v64-submit .btn{max-width:260px!important;}
}
@media(max-width:720px){
  #stockProcess .form-grid.v64-process-grid{grid-template-columns:1fr!important;}
  #stockProcess .form-grid.v64-process-grid .v64-submit .btn{max-width:none!important;}
}

﻿#stockProcess .form-grid.v65-process-grid,
#fbo .form-grid.v65-fbo-grid,
#stockin .form-grid.v65-stockin-grid{
  display:grid!important;
  gap:16px!important;
  align-items:end!important;
}
#stockProcess .form-grid.v65-process-grid{
  grid-template-columns:minmax(320px,2fr) minmax(250px,1.2fr) minmax(90px,.5fr) minmax(120px,.6fr) minmax(300px,1.25fr) minmax(210px,.8fr)!important;
}
#fbo .form-grid.v65-fbo-grid{
  grid-template-columns:minmax(310px,1.5fr) minmax(280px,1.25fr) minmax(95px,.55fr) minmax(110px,.6fr) minmax(280px,1.2fr) minmax(210px,.8fr)!important;
}
#stockin .form-grid.v65-stockin-grid{
  grid-template-columns:minmax(310px,1.45fr) minmax(140px,.7fr) minmax(130px,.65fr) minmax(190px,.9fr) minmax(190px,.9fr) minmax(210px,.8fr)!important;
}
#stockProcess .form-grid.v65-process-grid .form-group,
#fbo .form-grid.v65-fbo-grid .form-group,
#stockin .form-grid.v65-stockin-grid .form-group{margin-bottom:0!important;min-width:0!important;}
#stockProcess .form-grid.v65-process-grid .form-input,
#stockProcess .form-grid.v65-process-grid .form-select,
#fbo .form-grid.v65-fbo-grid .form-input,
#fbo .form-grid.v65-fbo-grid .form-select,
#stockin .form-grid.v65-stockin-grid .form-input,
#stockin .form-grid.v65-stockin-grid .form-select{width:100%!important;min-width:0!important;}
#stockProcess .v65-submit,
#fbo .v65-submit,
#stockin .v65-submit{align-self:end!important;justify-content:flex-end!important;}
#stockProcess .v65-submit .btn,
#fbo .v65-submit .btn,
#stockin .v65-submit .btn{
  width:100%!important;
  max-width:210px!important;
  min-width:0!important;
  margin-top:0!important;
  white-space:nowrap!important;
}
#stockProcess .v65-action-note{
  margin-top:8px!important;
  font-size:12px!important;
  line-height:1.5!important;
  color:var(--lh-text-secondary,#667085)!important;
  white-space:normal!important;
}
#fbo .v65-unit,
#fbo .v65-qty,
#stockin .v65-unit,
#stockin .v65-qty,
#stockProcess .v65-unit,
#stockProcess .v65-qty{max-width:none!important;}
#stockinTbody tr.v65-dirty-row td{
  background:var(--lh-warning-soft,#fffaeb)!important;
}
#stockinTbody tr.v65-dirty-row td:first-child{
  box-shadow: inset 3px 0 0 #fdb022!important;
}
#stockinTbody .v65-stock-status{display:flex!important;flex-direction:column!important;gap:6px!important;align-items:center!important;line-height:1.35!important;}
#stockinTbody .v65-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:3px 10px!important;border-radius:999px!important;font-size:12px!important;font-weight:700!important;white-space:nowrap!important;}
#stockinTbody .v65-badge.sale{background:var(--lh-success-soft,#ecfdf3)!important;border:1px solid #abefc6!important;color:var(--lh-success,#16803c)!important;}
#stockinTbody .v65-badge.pending{background:var(--lh-warning-soft,#fffaeb)!important;border:1px solid #fedf89!important;color:var(--lh-warning,#b54708)!important;}
#stockinTbody .v65-sub{font-size:12px!important;color:var(--lh-text-secondary,#667085)!important;line-height:1.35!important;}
@media (max-width:1380px){
  #stockProcess .form-grid.v65-process-grid{grid-template-columns:minmax(280px,1.8fr) minmax(220px,1.1fr) minmax(85px,.5fr) minmax(110px,.6fr) minmax(260px,1.2fr) minmax(180px,.75fr)!important;}
  #fbo .form-grid.v65-fbo-grid{grid-template-columns:minmax(280px,1.4fr) minmax(240px,1.15fr) minmax(85px,.5fr) minmax(105px,.55fr) minmax(240px,1.15fr) minmax(180px,.72fr)!important;}
  #stockin .form-grid.v65-stockin-grid{grid-template-columns:minmax(280px,1.35fr) minmax(120px,.65fr) minmax(110px,.6fr) minmax(170px,.85fr) minmax(170px,.85fr) minmax(180px,.72fr)!important;}
}
@media (max-width:1180px){
  #stockProcess .form-grid.v65-process-grid,
  #fbo .form-grid.v65-fbo-grid,
  #stockin .form-grid.v65-stockin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #stockProcess .v65-goods,#stockProcess .v65-reason,#stockProcess .v65-submit,
  #fbo .v65-goods,#fbo .v65-note,#fbo .v65-submit,
  #stockin .v65-goods,#stockin .v65-mfg,#stockin .v65-exp,#stockin .v65-submit{grid-column:1 / -1!important;}
}
@media (max-width:720px){
  #stockProcess .form-grid.v65-process-grid,
  #fbo .form-grid.v65-fbo-grid,
  #stockin .form-grid.v65-stockin-grid{grid-template-columns:1fr!important;}
  #stockProcess .v65-submit .btn,
  #fbo .v65-submit .btn,
  #stockin .v65-submit .btn{max-width:none!important;}
}

﻿/* 库存处理：清掉 V6.8/V6.9 的下移逻辑，所有字段按标题和输入框顶线对齐 */
#stockProcess .form-grid,
#stockProcess .form-grid.v64-process-grid,
#stockProcess .form-grid.v65-process-grid{
  display:grid!important;
  grid-template-columns:minmax(320px,2fr) minmax(245px,1.2fr) minmax(90px,.5fr) minmax(120px,.6fr) minmax(300px,1.25fr) minmax(210px,.8fr)!important;
  gap:16px!important;
  align-items:start!important;
}
#stockProcess .form-grid .form-group,
#stockProcess .form-grid.v64-process-grid .form-group,
#stockProcess .form-grid.v65-process-grid .form-group{
  margin-bottom:0!important;
  min-width:0!important;
  align-self:start!important;
}
#stockProcess .form-grid .form-group:has(#processAction),
#stockProcess .form-grid .form-group.v64-action,
#stockProcess .form-grid .form-group.v65-action,
#stockProcess .form-grid .form-group.v69-action{
  padding-top:0!important;
  margin-top:0!important;
  transform:none!important;
}
#stockProcess .form-grid .form-input,
#stockProcess .form-grid .form-select{
  width:100%!important;
  min-width:0!important;
}
#stockProcess .v65-submit,
#stockProcess .v64-submit,
#stockProcess .v67-submit{
  align-self:start!important;
  padding-top:24px!important;
  justify-content:flex-start!important;
}
#stockProcess .v65-submit .btn,
#stockProcess .v64-submit .btn,
#stockProcess .v67-submit .btn,
#stockProcess button[onclick*="submitStockProcess"]{
  margin-top:0!important;
  width:100%!important;
  max-width:210px!important;
  white-space:nowrap!important;
}
#stockProcess #processActionHint,
#stockProcess #v65ProcessHint,
#stockProcess #v68ProcessHint{
  display:none!important;
}
#stockProcess #v72ProcessHint{
  display:block!important;
  margin-top:8px!important;
  line-height:1.45!important;
  font-size:12px!important;
  color:#cbd5e1!important;
  white-space:nowrap!important;
}
#stockProcess .select-note,
#stockProcess .form-card > .muted{
  display:none!important;
}
#homeInventoryRows,
#v64InventoryPanel,
#v67InventoryPanel,
#v68InventoryPanel,
#v69InventoryPanel{
  display:none!important;
}
@media(max-width:1180px){
  #stockProcess .form-grid,
  #stockProcess .form-grid.v64-process-grid,
  #stockProcess .form-grid.v65-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  #stockProcess .form-grid,
  #stockProcess .form-grid.v64-process-grid,
  #stockProcess .form-grid.v65-process-grid{grid-template-columns:1fr!important;}
  #stockProcess .v65-submit,#stockProcess .v64-submit,#stockProcess .v67-submit{padding-top:0!important;}
}


/* Shared select presentation. Pages own control widths; the component owns its states. */
*{
  scrollbar-width:thin;
  scrollbar-color:rgba(152,162,179,.72) rgba(244,245,243,.9);
}
*::-webkit-scrollbar{
  width:10px;
  height:10px;
}
*::-webkit-scrollbar-track{
  background:#f4f5f3;
  border-radius:999px;
}
*::-webkit-scrollbar-thumb{
  min-height:38px;
  border:2px solid #f4f5f3;
  border-radius:999px;
  background:#c7ccd3;
  box-shadow:none;
}
*::-webkit-scrollbar-thumb:hover{
  background:#aeb5bf;
}
.lhx-select{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.lhx-select select.form-select{
  display:none!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  pointer-events:none!important;
  appearance:none!important;
}
.lhx-select-button{
  width:100%!important;
  height:var(--workbench-control-height,34px)!important;
  min-height:var(--workbench-control-height,34px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:0 11px!important;
  border-radius:10px!important;
  border:1px solid rgba(214,222,233,.86)!important;
  background:rgba(255,255,255,.72)!important;
  color:#253044!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.25!important;
  text-align:left!important;
  box-shadow:none!important;
  outline:none!important;
  cursor:pointer!important;
  transition:background 150ms ease,border-color 150ms ease,box-shadow 150ms ease,color 150ms ease!important;
}
/* Context sizes and field styling stay with the shared select component. */
#modalBody .detail-product-compact-workspace .lhx-select-button {
  min-height: 36px !important;
  height: 36px !important;
  border-color: #e4e8ed !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-variant-numeric: lining-nums tabular-nums;
}
body.erp-ui2 :is(#modalBody, #paymentBody) .lhx-select-button {
  border-color: var(--erp-master-field-border) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-size: var(--erp-density-body) !important;
  font-variant-numeric: lining-nums tabular-nums;
}
#modalBody .detail-product-compact-workspace .lhx-select-button:focus-visible,
body.erp-ui2 :is(#modalBody, #paymentBody) .lhx-select-button:focus-visible {
  border-color: #8995a1 !important;
  outline: none !important;
  box-shadow: none !important;
}
body.erp-ui2 :is(.page, #globalModal, #paymentModal) .lhx-select-button {
  min-height: var(--erp-density-control) !important;
  height: var(--erp-density-control) !important;
  font-size: var(--erp-density-body) !important;
}
.lhx-select-button:hover:not(:disabled){
  border-color:rgba(186,199,216,.9)!important;
  background:#fff!important;
}
.lhx-select.is-open .lhx-select-button,
.lhx-select-button:focus-visible{
  outline:none!important;
  border-color:#8995a1!important;
  box-shadow:none!important;
}
.lhx-select-button:disabled{
  background:var(--lh-surface-soft,#f7f9fc)!important;
  color:var(--lh-text-muted,#8b95a6)!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}
.lhx-select-label{
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.lhx-select-caret{
  width:8px!important;
  height:8px!important;
  flex:0 0 auto!important;
  border-right:1.5px solid currentColor!important;
  border-bottom:1.5px solid currentColor!important;
  transform:rotate(45deg) translateY(-2px)!important;
  opacity:.7!important;
}
.lhx-select.is-open .lhx-select-caret{
  transform:rotate(225deg) translate(-2px,-1px)!important;
}
.lhx-select-portal{
  box-sizing:border-box;
  position:fixed!important;
  left:0;
  top:0;
  width:240px;
  max-height:280px;
  z-index:2147483600!important;
  display:none;
  overflow:auto!important;
  padding:6px!important;
  border-radius:12px!important;
  border:1px solid rgba(214,220,229,.96)!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 14px 32px rgba(23,31,45,.105)!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(152,162,179,.72) rgba(244,245,243,.9);
}
.lhx-select-portal.is-open{
  display:block!important;
}
.lhx-select-portal::-webkit-scrollbar{
  width:9px;
}
.lhx-select-portal::-webkit-scrollbar-track{
  margin:8px 0;
  background:#f4f5f3;
  border-radius:999px;
}
.lhx-select-portal::-webkit-scrollbar-thumb{
  border:2px solid #f4f5f3;
  border-radius:999px;
  background:#c7ccd3;
}
.lhx-select-option{
  width:100%!important;
  min-height:32px!important;
  display:flex!important;
  align-items:center!important;
  padding:7px 9px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#2f3a4c!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:520!important;
  text-align:left!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transition:background 140ms ease,color 140ms ease!important;
}
.lhx-select-option:hover:not(:disabled):not(.is-active),
.lhx-select-option:focus-visible:not(:disabled):not(.is-active){
  background:rgba(215,19,42,.035)!important;
  color:#263145!important;
  outline:none!important;
}
.lhx-select-option.is-active{
  background:linear-gradient(135deg,rgba(215,19,42,.055),rgba(255,255,255,.96))!important;
  color:#a70f20!important;
  font-weight:570!important;
  outline:none!important;
}
.lhx-select-option[disabled]{
  cursor:not-allowed!important;
  opacity:.44!important;
  background:transparent!important;
  color:#8b95a6!important;
}
.lhx-option-copy{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;}
.lhx-select-portal [hidden]{display:none!important;}
.lhx-select-empty{padding:16px 12px;color:var(--workbench-muted,#7d8796);font-size:13px;text-align:center;}
.lhx-option-meta{display:block;margin-top:3px;color:var(--workbench-muted,#7d8796);font-size:12px;font-weight:430;}
#stockProcess .v65-submit .btn,
#stockProcess .v64-submit .btn,
#stockProcess .v67-submit .btn,
#stockProcess button[onclick*="submitStockProcess"]{
  background:var(--lh-brand,#ed0c1d)!important;
  color:#fff!important;
  border:1px solid transparent!important;
  border-radius:var(--lh-radius-md,8px)!important;
  box-shadow:none!important;
}
#stockProcess .v65-submit .btn:hover,
#stockProcess .v64-submit .btn:hover,
#stockProcess .v67-submit .btn:hover,
#stockProcess button[onclick*="submitStockProcess"]:hover{
  background:var(--lh-brand-hover,#d20a18)!important;
  filter:none!important;
  transform:none!important;
}
#stockin .form-card,
#stockProcess .form-card,
#fbo .form-card,
#sale .form-card{
  border-radius:var(--lh-radius-xl,14px)!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
#stockin .form-card>.form-grid,
#stockProcess .form-card>.form-grid,
#fbo .form-card>.form-grid,
#sale .form-card>.form-grid{
  border-radius:inherit!important;
  background-clip:padding-box!important;
}
.form-card .form-card,
.home-panel .home-panel,
.content-card .content-card,
.table-wrapper .table-wrapper{
  box-shadow:none!important;
  background:var(--lh-surface-soft,#f4f5f3)!important;
  border-color:var(--lh-border,#e5e7eb)!important;
}
/* Phone select contexts share the component skin and touch target rules. */
@media screen and (max-width: 760px), screen and (max-width: 1024px) and (max-height: 600px) and (pointer: coarse){
  body.erp-ui2.erp-phone #mainWrapper #phoneCostHost #finance :is(input,select,.lhx-select-trigger,.lhx-select-button,.custom-select-trigger,.finance-calc-actions > button) { min-height: 44px !important; height: auto !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneCostHost #finance .lhx-select-button { font-size: 16px !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal):has(.modal-panel) .lhx-select-button { min-height: 46px !important; height: auto !important; padding: 10px 36px 10px 12px !important; font-size: 16px !important; line-height: 1.5 !important; border-radius: 6px !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal):has(.modal-panel) .lhx-select-label { white-space: normal !important; overflow-wrap: anywhere; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal):has(.modal-panel) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,.lhx-select-button):focus { outline: none !important; box-shadow: none !important; border-color: #8995a1 !important; }
  body.erp-ui2.erp-phone #erp-select-listbox .lhx-select-option { min-height: 44px !important; padding: 10px 14px !important; font-size: 15px !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] :is(.sale-product-entry input,.lhx-select-button) { width: 100% !important; min-width: 0 !important; min-height: 44px !important; height: auto !important; padding: 10px 12px !important; font-size: 16px !important; border-radius: 6px !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-entry :is(input.form-input,.lhx-select-button,.sale-product-unit-value) { box-sizing: border-box !important; height: 44px !important; min-height: 44px !important; margin: 0 !important; }
}
@media (max-width: 760px), (max-width: 1024px) and (max-height: 600px) and (pointer: coarse){
  #phoneApp .phone-expense-filter .lhx-select-button { min-height: 44px; font-size: 14px; }
}
.lhx-select-portal .lhx-select-option[hidden] { display: none !important; }
.lhx-select-portal .lhx-select-search { box-sizing: border-box; width: calc(100% - 16px); min-height: 44px; margin: 8px; padding: 8px 12px; border: 1px solid var(--erp-master-field-border, #e4e8ed); border-radius: var(--erp-master-field-radius, 6px); font: inherit; background: white; }
body.erp-ui2 #erp-select-listbox .lhx-select-search:focus {
  border-color: var(--erp-master-field-focus, #8995a1) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Shared modal surface remains a right-side drawer; first-batch update only changes color, type, border and shadow. */
.modal-mask{
  align-items:stretch!important;
  justify-content:flex-end!important;
  padding:0!important;
  background:rgba(16,24,40,.22)!important;
  backdrop-filter:blur(4px)!important;
  overflow:hidden!important;
  transition:none!important;
}
.modal-mask.active{
  visibility:visible!important;
  opacity:1!important;
}
.modal-mask.active .modal-panel{
  transform:translateX(0)!important;
}
.modal-panel{
  height:100vh!important;
  max-height:100vh!important;
  width:min(760px,calc(100vw - 28px))!important;
  max-width:min(760px,calc(100vw - 28px))!important;
  margin:0!important;
  padding:22px 22px 0!important;
  border-radius:14px 0 0 14px!important;
  border:1px solid var(--lh-border,#e5e7eb)!important;
  border-right:0!important;
  background:var(--lh-surface,#fff)!important;
  color:var(--lh-text,#1f2328)!important;
  box-shadow:var(--lh-shadow-float,0 18px 40px rgba(16,24,40,.14))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  transform:translateX(104%)!important;
  transition:none!important;
}
#paymentModal .modal-panel{
  width:min(700px,calc(100vw - 28px))!important;
  max-width:min(700px,calc(100vw - 28px))!important;
}
.modal-panel::before,
.modal-panel::after{
  display:none!important;
  content:none!important;
}
.modal-panel h3{
  flex:0 0 auto!important;
  margin:0 0 16px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid var(--lh-border,#e5e7eb)!important;
  background:none!important;
  color:var(--lh-text,#1f2328)!important;
  -webkit-text-fill-color:var(--lh-text,#1f2328)!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:0!important;
}
#modalBody,
#paymentBody{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:0 4px 20px 0!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(152,162,179,.72) rgba(244,245,243,.9)!important;
}
#modalBody::-webkit-scrollbar,
#paymentBody::-webkit-scrollbar{
  width:8px!important;
  height:8px!important;
}
#modalBody::-webkit-scrollbar-track,
#paymentBody::-webkit-scrollbar-track{
  background:#f4f5f3!important;
  border-radius:999px!important;
}
#modalBody::-webkit-scrollbar-thumb,
#paymentBody::-webkit-scrollbar-thumb{
  background:#c7ccd3!important;
  border-radius:999px!important;
  border:2px solid #f4f5f3!important;
}
.modal-panel .btn-group{
  flex:0 0 auto!important;
  position:sticky!important;
  bottom:0!important;
  margin:0 -22px!important;
  padding:14px 22px 18px!important;
  border-top:1px solid var(--lh-border,#e5e7eb)!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(10px)!important;
  z-index:4!important;
}
.modal-panel .modal-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:14px!important;
}
.modal-panel .detail-table-wrap{
  max-height:420px!important;
}
@media(max-width:760px){
  .modal-panel,
  #paymentModal .modal-panel{
    width:100vw!important;
    max-width:100vw!important;
    border-radius:0!important;
    padding:18px 16px 0!important;
  }
  .modal-panel .btn-group{
    margin:0 -16px!important;
    padding:14px 16px 18px!important;
  }
  .modal-panel h3{
    font-size:19px!important;
  }
}

#globalModal .modal-panel{
  width:min(920px,calc(100vw - 32px))!important;
  max-width:920px!important;
}
#globalModal .modal-panel h3{
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.32!important;
  margin-bottom:16px!important;
  padding-bottom:14px!important;
}
#modalBody{
  overflow-x:hidden!important;
}
#modalBody .detail-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  max-width:100%!important;
  overflow:visible!important;
}
#modalBody .detail-card{
  min-width:0!important;
  min-height:98px!important;
  padding:13px 14px!important;
  border-radius:var(--lh-radius-lg,12px)!important;
  border:1px solid var(--lh-border,#e5e7eb)!important;
  background:var(--lh-surface-soft,#f4f5f3)!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:6px!important;
}
#modalBody .detail-card b{
  margin:0!important;
  color:var(--lh-text-secondary,#667085)!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:650!important;
  letter-spacing:0!important;
}
#modalBody .detail-card span,
#modalBody .detail-card div{
  min-width:0!important;
  max-width:100%!important;
  color:var(--lh-text,#1f2328)!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:500!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
#modalBody .detail-card .price-cell{
  display:grid!important;
  gap:4px!important;
  line-height:1.45!important;
}
#modalBody .detail-card .price-cell b{
  display:inline!important;
  color:var(--lh-text-secondary,#667085)!important;
  font-size:12px!important;
  margin-right:4px!important;
}
#modalBody .modal-section-title{
  margin:18px 0 10px!important;
  padding:0 0 8px!important;
  border-bottom:1px solid var(--lh-border,#e5e7eb)!important;
  color:var(--lh-text,#1f2328)!important;
  font-size:14px!important;
  font-weight:700!important;
}
#modalBody .detail-table-wrap{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  border-radius:var(--lh-radius-lg,12px)!important;
  border:1px solid var(--lh-border,#e5e7eb)!important;
  background:var(--lh-surface,#fff)!important;
  box-shadow:none!important;
}
#modalBody .detail-table-wrap table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
#modalBody .detail-table-wrap th,
#modalBody .detail-table-wrap td{
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  line-height:1.5!important;
  padding:11px 10px!important;
  border-color:var(--lh-border,#e5e7eb)!important;
  vertical-align:top!important;
}
#modalBody .detail-table-wrap th{
  background:var(--lh-surface-muted,#fafafa)!important;
  color:var(--lh-text-secondary,#667085)!important;
  font-size:12px!important;
  font-weight:650!important;
}
#modalBody .detail-table-wrap td{
  color:var(--lh-text,#1f2328)!important;
  font-size:13px!important;
  font-weight:400!important;
}
#modalBody .detail-table-wrap tr:hover td{
  background:var(--lh-surface-soft,#f4f5f3)!important;
}
#modalBody .detail-table-wrap .text-center{
  text-align:left!important;
}
@media(max-width:980px){
  #globalModal .modal-panel{
    width:min(900px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
  }
  #modalBody .detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  #globalModal .modal-panel{
    width:100vw!important;
    max-width:100vw!important;
  }
  #modalBody .detail-grid{
    grid-template-columns:1fr!important;
  }
  #modalBody .detail-table-wrap th,
  #modalBody .detail-table-wrap td{
    padding:10px 8px!important;
    font-size:12px!important;
  }
}

﻿#fbo .form-grid.v10-fbo-toolbar{grid-template-columns:minmax(300px,1.35fr) minmax(230px,.9fr) minmax(120px,.45fr) minmax(130px,.45fr) minmax(260px,1fr) minmax(190px,.55fr)!important;align-items:end!important;}
#fbo .v10-fbo-items{margin-top:16px!important;display:flex!important;flex-direction:column!important;gap:12px!important;}
#fbo .v10-fbo-empty{padding:14px 16px!important;border:1px dashed rgba(148,177,222,.28)!important;border-radius:18px!important;background:rgba(8,19,38,.26)!important;color:#dbeafe!important;font-size:13px!important;}
#fbo .v10-fbo-line{display:grid!important;grid-template-columns:minmax(360px,1.55fr) minmax(130px,.45fr) minmax(120px,.42fr) minmax(280px,.95fr) minmax(160px,.5fr)!important;gap:12px!important;align-items:end!important;padding:14px!important;border-radius:20px!important;border:1px solid rgba(148,177,222,.20)!important;background:rgba(8,19,38,.34)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;}
#fbo .v10-fbo-line label{display:block!important;margin:0 0 6px!important;color:#d8e5f7!important;font-size:12px!important;font-weight:850!important;}
#fbo .v10-fbo-line .form-input,#fbo .v10-fbo-line .form-select,#fbo .v10-fbo-line .lhx-select,#fbo .v10-fbo-line .lhx-select-button{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
#fbo .v10-fbo-stock{min-width:0!important;padding:10px 12px!important;border-radius:14px!important;border:1px solid rgba(148,177,222,.18)!important;background:rgba(10,22,44,.32)!important;color:#dbeafe!important;font-size:12px!important;line-height:1.45!important;word-break:break-word!important;}
#fbo .v10-fbo-savebar{display:flex!important;justify-content:flex-end!important;margin-top:16px!important;padding-top:16px!important;border-top:1px dashed rgba(148,177,222,.22)!important;}
#fbo .v10-fbo-savebar .btn{min-width:230px!important;}
#fbo .v10-fbo-line{padding:14px 0!important;border-radius:0!important;border:0!important;border-top:1px solid rgba(148,177,222,.18)!important;background:transparent!important;box-shadow:none!important;}
#fbo .v10-fbo-line:first-child{border-top:0!important;}
#fbo .v10-fbo-stock{padding:0!important;border:0!important;background:transparent!important;color:#cbd8ee!important;box-shadow:none!important;}
#fbo .v10-fbo-empty{border-radius:16px!important;background:rgba(8,19,38,.18)!important;box-shadow:none!important;}
#fbo .v10-fbo-savebar{border-top:1px solid rgba(148,177,222,.18)!important;}
@media(max-width:1280px){#fbo .form-grid.v10-fbo-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))!important;}#fbo .v10-fbo-line{grid-template-columns:repeat(2,minmax(0,1fr))!important;}#fbo .v10-fbo-stock,#fbo .v10-fbo-line .btn-sample-delete{grid-column:1/-1!important;}}
@media(max-width:720px){#fbo .form-grid.v10-fbo-toolbar,#fbo .v10-fbo-line{grid-template-columns:1fr!important;}#fbo .v10-fbo-savebar .btn{width:100%!important;}}


#fbo .v18-fbo-actions{display:flex;justify-content:center;gap:8px;white-space:nowrap}
#fbo .v18-fbo-edit-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:7px 14px;background:linear-gradient(135deg,#2f7df6,#8d5cf6);color:#fff;font-size:12px;font-weight:900;cursor:pointer}
#fbo .v18-fbo-cancel-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,177,222,.34);border-radius:999px;padding:7px 14px;background:rgba(8,19,38,.28);color:#dbeafe;font-size:12px;font-weight:850;cursor:pointer}
#fbo .v18-fbo-editing-note{margin-top:12px;padding:12px 14px;border:1px solid rgba(96,165,250,.34);border-radius:16px;background:rgba(37,99,235,.14);color:#dbeafe;font-size:13px;font-weight:800}

/* LONHOW ERP first-batch final token closeout.
   This file is loaded last; keep the scope to global visual tokens and shared surfaces. */
:root{
  --lh-brand:#ed0c1d;
  --lh-brand-hover:#d20a18;
  --lh-brand-soft:#fff1f2;
  --lh-bg:#f7f7f5;
  --lh-surface:#ffffff;
  --lh-surface-soft:#f4f5f3;
  --lh-surface-muted:#fafafa;
  --lh-text:#1f2328;
  --lh-text-secondary:#667085;
  --lh-text-muted:#98a2b3;
  --lh-border:#e5e7eb;
  --lh-border-strong:#d0d5dd;
  --lh-success:#16803c;
  --lh-success-soft:#ecfdf3;
  --lh-warning:#b54708;
  --lh-warning-soft:#fffaeb;
  --lh-danger:#b42318;
  --lh-danger-soft:#fff1f3;
  --lh-radius-md:8px;
  --lh-radius-lg:12px;
  --lh-radius-xl:14px;
  --lh-shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --lh-shadow-float:0 18px 40px rgba(16,24,40,.14);
}

@media (min-width:761px){
  body{
    background:var(--lh-bg)!important;
    color:var(--lh-text)!important;
    padding:0!important;
  }
  body::before,
  body::after{
    display:none!important;
    content:none!important;
  }
  .container{
    max-width:none!important;
    width:100%!important;
  }
  .glass,
  .hero,
  .form-card,
  .table-wrapper,
  .kpi-card,
  .home-panel,
  .sales-summary-card{
    background:var(--lh-surface)!important;
    background-image:none!important;
    border-color:var(--lh-border)!important;
    border-radius:var(--lh-radius-xl)!important;
    box-shadow:var(--lh-shadow-sm)!important;
    color:var(--lh-text)!important;
    backdrop-filter:none!important;
  }
  .hero::before,
  .hero::after,
  .form-card::before,
  .table-wrapper::before,
  .kpi-card::before,
  .home-panel::before,
  .sales-summary-card::before{
    display:none!important;
    content:none!important;
  }
  .hero{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    padding:10px 12px!important;
    margin-bottom:14px!important;
  }
  .hero-top{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    flex:0 0 auto!important;
  }
  .hero .logo{
    background:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    -webkit-text-fill-color:var(--lh-brand)!important;
    color:var(--lh-brand)!important;
    font-size:22px!important;
    font-weight:760!important;
    letter-spacing:0!important;
    filter:none!important;
    text-shadow:none!important;
  }
  .logo-sub,
  .product-cn,
  .product-ru,
  .home-section-sub,
  .sales-summary-label,
  .sales-summary-note,
  .kpi-title,
  .kpi-sub,
  .muted,
  .field-hint{
    color:var(--lh-text-secondary)!important;
  }
  .logo-sub{
    margin-top:2px!important;
    font-size:12px!important;
  }
  .product-badge{
    text-align:left!important;
    padding-left:12px!important;
    border-left:1px solid var(--lh-border)!important;
  }
  .product-cn{
    font-size:13px!important;
    font-weight:600!important;
    letter-spacing:0!important;
  }
  .product-ru{
    margin-top:2px!important;
    font-size:12px!important;
  }
  .hero > div[style*="position: absolute"]{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-left:auto!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
  }
  .nav{
    display:flex!important;
    align-items:center!important;
    gap:2px!important;
    margin-top:0!important;
    flex:1 1 640px!important;
    min-width:280px!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  .nav-item{
    min-height:32px!important;
    padding:5px 8px!important;
    border-radius:7px!important;
    border:1px solid transparent!important;
    background:transparent!important;
    background-image:none!important;
    color:var(--lh-text-secondary)!important;
    box-shadow:none!important;
    transform:none!important;
    flex:0 1 auto!important;
  }
  .nav-item:hover{
    background:transparent!important;
    border-color:transparent!important;
    color:var(--lh-text)!important;
    transform:none!important;
  }
  .nav-item.active{
    background:transparent!important;
    border-color:transparent!important;
    border-radius:0!important;
    color:var(--lh-brand)!important;
    box-shadow:none!important;
  }
  .nav-cn,
  .nav-ru{
    margin:0!important;
    font-size:12px!important;
    line-height:1.18!important;
    letter-spacing:0!important;
  }
  .nav-cn{
    font-weight:650!important;
    color:inherit!important;
  }
  .nav-ru{
    margin-top:1px!important;
    font-size:10.5px!important;
    font-weight:500!important;
    color:var(--lh-text-muted)!important;
    opacity:.72!important;
  }
  .nav-item.active .nav-cn{
    color:var(--lh-brand)!important;
  }
  .nav-item.active .nav-ru{
    color:var(--lh-brand)!important;
    opacity:1!important;
  }
  .lang-switch{
    padding:1px!important;
    gap:1px!important;
    border:1px solid transparent!important;
    border-radius:7px!important;
    background:transparent!important;
    backdrop-filter:none!important;
  }
  .lang-btn{
    min-height:28px!important;
    padding:0 7px!important;
    border-radius:6px!important;
    background:transparent!important;
    color:var(--lh-text-secondary)!important;
    font-size:11px!important;
    font-weight:600!important;
    letter-spacing:0!important;
    box-shadow:none!important;
  }
  .lang-btn.active{
    background:var(--lh-brand-soft)!important;
    color:var(--lh-brand)!important;
    box-shadow:none!important;
  }
  .logout-btn{
    min-height:34px!important;
    padding:0 12px!important;
    border-radius:var(--lh-radius-md)!important;
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface)!important;
    color:var(--lh-text-secondary)!important;
  }
  .section-header{
    margin:0 0 12px!important;
    gap:12px!important;
  }
  .section-header h2,
  .home-section-title{
    color:var(--lh-text)!important;
    background:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    -webkit-text-fill-color:var(--lh-text)!important;
    font-size:20px!important;
    line-height:1.25!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }
  .section-icon{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    border-radius:var(--lh-radius-md)!important;
    border:1px solid #ffd6dc!important;
    background:var(--lh-brand-soft)!important;
    box-shadow:none!important;
  }
  .section-icon svg{
    width:16px!important;
    height:16px!important;
    stroke:var(--lh-brand)!important;
  }
  #home .sales-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    margin-bottom:14px!important;
  }
  #home .sales-summary-card{
    min-height:92px!important;
    padding:13px 14px!important;
    border-radius:var(--lh-radius-lg)!important;
    background:var(--lh-surface)!important;
    background-image:none!important;
    border:1px solid var(--lh-border)!important;
    box-shadow:none!important;
  }
  #home .sales-summary-label{
    font-size:11px!important;
    line-height:1.32!important;
    font-weight:600!important;
    color:var(--lh-text-secondary)!important;
    letter-spacing:0!important;
  }
  #home .sales-summary-value{
    margin-top:9px!important;
    font-size:clamp(20px,1.65vw,28px)!important;
    line-height:1.05!important;
    font-weight:680!important;
    color:var(--lh-text)!important;
    letter-spacing:0!important;
    text-shadow:none!important;
    white-space:normal!important;
  }
  #home .sales-summary-value.gold{
    color:var(--lh-text)!important;
    text-shadow:none!important;
  }
  #home .sales-summary-note{
    margin-top:7px!important;
    font-size:11px!important;
    line-height:1.35!important;
    color:var(--lh-text-muted)!important;
  }
  .btn,
  .login-btn{
    min-height:36px!important;
    padding:8px 14px!important;
    border-radius:var(--lh-radius-md)!important;
    border:1px solid transparent!important;
    background:var(--lh-brand)!important;
    background-image:none!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:13px!important;
    font-weight:650!important;
    letter-spacing:0!important;
    transform:none!important;
    filter:none!important;
  }
  .btn:hover,
  .login-btn:hover{
    background:var(--lh-brand-hover)!important;
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
  }
  .btn-outline,
  .warn-btn{
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface)!important;
    background-image:none!important;
    color:var(--lh-text)!important;
  }
  .btn-outline:hover,
  .warn-btn:hover{
    background:var(--lh-surface-soft)!important;
    border-color:var(--lh-border-strong)!important;
    color:var(--lh-text)!important;
  }
  .action{
    color:var(--lh-text-secondary)!important;
    font-size:13px!important;
    font-weight:500!important;
  }
  .action:hover{
    color:var(--lh-brand)!important;
  }
  .action-del{
    color:var(--lh-danger)!important;
  }
  .form-input,
  .form-select,
  .search-input,
  .login-input,
  textarea{
    min-height:38px!important;
    border-radius:var(--lh-radius-md)!important;
    border-color:var(--lh-border)!important;
    background:var(--lh-surface)!important;
    background-image:none!important;
    color:var(--lh-text)!important;
    box-shadow:none!important;
    font-size:13px!important;
  }
  .form-input:focus,
  .form-select:focus,
  .search-input:focus,
  .login-input:focus,
  textarea:focus{
    border-color:var(--lh-brand)!important;
    box-shadow:0 0 0 3px rgba(237,12,29,.09)!important;
  }
  label,
  .form-label{
    color:var(--lh-text-secondary)!important;
    font-weight:650!important;
    letter-spacing:0!important;
  }
  th,
  .home-table th,
  .table-wrapper th{
    background:var(--lh-surface-muted)!important;
    color:var(--lh-text-secondary)!important;
    border-bottom-color:var(--lh-border)!important;
    font-size:12px!important;
    font-weight:650!important;
    letter-spacing:0!important;
    padding:10px 12px!important;
  }
  td,
  .home-table td,
  .table-wrapper td{
    color:var(--lh-text)!important;
    border-bottom-color:var(--lh-border)!important;
    font-size:13px!important;
    font-weight:400!important;
    padding:11px 12px!important;
  }
  .table-wrapper,
  .home-table{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    border:1px solid var(--lh-border)!important;
    border-radius:var(--lh-radius-lg)!important;
    background:var(--lh-surface)!important;
    box-shadow:none!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(152,162,179,.65) rgba(244,245,243,.9)!important;
  }
  .table-wrapper::-webkit-scrollbar,
  .home-table::-webkit-scrollbar{
    height:10px!important;
  }
  .table-wrapper::-webkit-scrollbar-track,
  .home-table::-webkit-scrollbar-track{
    background:var(--lh-surface-soft)!important;
    border-radius:999px!important;
  }
  .table-wrapper::-webkit-scrollbar-thumb,
  .home-table::-webkit-scrollbar-thumb{
    border:2px solid var(--lh-surface-soft)!important;
    border-radius:999px!important;
    background:#c7ccd3!important;
  }
  .table-wrapper table,
  .home-table{
    width:100%!important;
    border-collapse:separate!important;
    border-spacing:0!important;
  }
  .table-wrapper thead th:first-child,
  .home-table thead th:first-child{
    border-top-left-radius:var(--lh-radius-lg)!important;
  }
  .table-wrapper thead th:last-child,
  .home-table thead th:last-child{
    border-top-right-radius:var(--lh-radius-lg)!important;
  }
  .table-wrapper tbody tr,
  .home-table tbody tr{
    background:var(--lh-surface)!important;
    transition:background .14s ease!important;
  }
  .table-wrapper tbody tr:hover,
  .home-table tbody tr:hover{
    background:var(--lh-surface-muted)!important;
  }
  .table-wrapper tbody tr:last-child td,
  .home-table tbody tr:last-child td{
    border-bottom:0!important;
  }
  .table-wrapper td strong,
  .home-table td strong,
  .goods-name-cell,
  .goods-main,
  .customer-name,
  .ltrcms-main{
    color:var(--lh-text)!important;
    font-weight:620!important;
  }
  .sku-code,
  .goods-sub,
  .product-meta,
  .table-wrapper small,
  .home-table small,
  .table-wrapper .muted,
  .home-table .muted{
    color:var(--lh-text-secondary)!important;
    font-size:12px!important;
    font-weight:500!important;
    letter-spacing:0!important;
  }
  .home-table .num,
  .home-table .amount,
  .table-wrapper .num,
  .table-wrapper .amount{
    color:var(--lh-text)!important;
    font-weight:600!important;
    text-align:left!important;
    font-variant-numeric:tabular-nums!important;
  }
  .page:not(#product) .price-cell,
  .page:not(#product) .stock-cell,
  .debt-cell,
  .paid-cell,
  .table-wrapper td[id*="Amount"],
  .table-wrapper td[id*="Debt"],
  .table-wrapper td[id*="Paid"]{
    text-align:left!important;
    font-variant-numeric:tabular-nums!important;
    font-weight:560!important;
  }
  .table-wrapper .text-center,
  .home-table .text-center{
    text-align:center!important;
  }
  .action{
    display:inline-flex!important;
    align-items:center!important;
    min-height:26px!important;
    margin:1px 5px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--lh-text-secondary)!important;
    font-size:12px!important;
    font-weight:520!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
  .action:hover{
    color:var(--lh-brand)!important;
    text-decoration:none!important;
  }
  .action-del,
  .action[onclick*="delete"],
  .action[onclick*="cancel"]{
    color:var(--lh-danger)!important;
  }
  .status-paid,
  .status-unpaid,
  .status-pill,
  .sp-status,
  .v65-badge{
    min-height:22px!important;
    padding:3px 8px!important;
    border-radius:999px!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:620!important;
    box-shadow:none!important;
  }
  .search-box{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin:0 0 12px!important;
    min-height:38px!important;
  }
  .search-box .search-input,
  .page.active > .search-box .search-input{
    width:min(420px,100%)!important;
    max-width:100%!important;
    flex:0 1 420px!important;
  }
  .form-card + .search-box,
  .section-header + .search-box{
    margin-top:-4px!important;
  }
  .page:not(#sale):not(#product):not(#stockin):not(#customer):not(#ltrcms) .pagination:not(.pagination-master){
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:12px 0 0!important;
    color:var(--lh-text-secondary)!important;
    font-size:13px!important;
    line-height:1.4!important;
  }
  .page:not(#sale):not(#product):not(#stockin):not(#customer):not(#ltrcms) .pagination:not(.pagination-master) span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:32px!important;
    padding:0 6px!important;
    color:var(--lh-text-secondary)!important;
    font-size:13px!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .page:not(#sale):not(#product):not(#stockin):not(#customer):not(#ltrcms) .pagination:not(.pagination-master) button,
  .page-btn{
    min-width:32px!important;
    min-height:32px!important;
    padding:0 11px!important;
    border:1px solid var(--lh-border)!important;
    border-radius:var(--lh-radius-md)!important;
    background:var(--lh-surface)!important;
    color:var(--lh-text-secondary)!important;
    font-size:13px!important;
    font-weight:560!important;
    box-shadow:none!important;
  }
  .page:not(#sale):not(#product):not(#stockin):not(#customer):not(#ltrcms) .pagination:not(.pagination-master) button:hover:not(:disabled),
  .page-btn:hover:not(:disabled){
    background:var(--lh-surface-soft)!important;
    border-color:var(--lh-border-strong)!important;
    color:var(--lh-text)!important;
  }
  .page:not(#sale):not(#product):not(#stockin):not(#customer):not(#ltrcms) .pagination:not(.pagination-master) button:disabled,
  .page-btn:disabled{
    color:var(--lh-text-muted)!important;
    opacity:.5!important;
    cursor:not-allowed!important;
  }
  #sale .price-cell,
  #sale .price-readonly,
  #sale .price-trace,
  #sale .history-table th:nth-child(6),
  #sale .history-table td:nth-child(6),
  #sale .debt-cell,
  #sale .zero-cell{
    text-align:left!important;
    font-variant-numeric:tabular-nums!important;
  }
  :is(#sale,#product,#stockin,#customer) .pagination{
    justify-content:flex-end!important;
    gap:8px!important;
    margin:10px 0 0!important;
  }
  :is(#sale,#product,#stockin,#customer) .pagination .page-stat{
    margin-right:auto!important;
    min-height:0!important;
    padding:0!important;
    color:#9299A2!important;
    font-size:12px!important;
    font-weight:420!important;
  }
  :is(#sale,#product,#stockin,#customer) .pagination .page-controls{
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
  }
  :is(#sale,#product,#stockin,#customer) .pagination .page-icon,
  :is(#sale,#product,#stockin,#customer) .pagination .page-number{
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0!important;
    border:1px solid transparent!important;
    border-radius:7px!important;
    background:transparent!important;
    color:#66707C!important;
    font-size:13px!important;
    font-weight:430!important;
    line-height:1!important;
    box-shadow:none!important;
    font-variant-numeric:tabular-nums!important;
  }
  :is(#sale,#product,#stockin,#customer) .pagination .page-icon{
    font-size:17px!important;
    color:#7A838E!important;
  }
  :is(#sale,#product,#stockin,#customer) .pagination .page-number.active{
    background:#F5F3F0!important;
    border-color:#E7E3DD!important;
    color:#303640!important;
    font-weight:560!important;
  }
  :is(#sale,#product,#stockin,#customer) .pagination .page-icon:hover:not(:disabled),
  :is(#sale,#product,#stockin,#customer) .pagination .page-number:hover:not(:disabled){
    background:#F8F8F6!important;
    border-color:#ECE8E1!important;
    color:#303640!important;
  }
  :is(#sale,#product,#stockin,#customer) .pagination .page-icon:disabled{
    color:#CDD2D8!important;
    background:transparent!important;
    border-color:transparent!important;
    opacity:1!important;
  }
  .table-wrapper td[colspan],
  .home-table td[colspan]{
    color:var(--lh-text-secondary)!important;
    text-align:center!important;
    font-size:13px!important;
    font-weight:500!important;
    padding:22px 14px!important;
  }
  .loading,
  .table-loading,
  [class*="loading"]{
    color:var(--lh-text-secondary)!important;
    font-size:13px!important;
    font-weight:500!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .sales-summary-value,
  .kpi-number{
    color:var(--lh-text)!important;
    font-size:clamp(22px,2.4vw,34px)!important;
    font-weight:650!important;
    letter-spacing:0!important;
    text-shadow:none!important;
    -webkit-text-stroke:0!important;
  }
  .status-paid,
  .sp-active,
  .status-pill,
  .v65-badge.sale{
    color:var(--lh-success)!important;
    background:var(--lh-success-soft)!important;
    border-color:#abefc6!important;
  }
  .status-unpaid,
  .sp-inactive,
  .v65-badge.pending{
    color:var(--lh-warning)!important;
    background:var(--lh-warning-soft)!important;
    border-color:#fedf89!important;
  }
  .page:not(#sale):not(#product):not(#stockin):not(#customer):not(#ltrcms) .pagination:not(.pagination-master) button,
  .page-btn{
    min-width:34px!important;
    min-height:34px!important;
    border-radius:var(--lh-radius-md)!important;
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface)!important;
    color:var(--lh-text-secondary)!important;
    box-shadow:none!important;
  }
  .modal-panel{
    background:var(--lh-surface)!important;
    background-image:none!important;
    color:var(--lh-text)!important;
  }
  #customer .v36-customer-card,
  .detail-card,
  .home-alert,
  .v3-fixed-note{
    background:var(--lh-surface)!important;
    background-image:none!important;
    border-color:var(--lh-border)!important;
    border-radius:var(--lh-radius-lg)!important;
    box-shadow:none!important;
    color:var(--lh-text)!important;
  }
  .detail-table-wrap{
    border-color:var(--lh-border)!important;
    border-radius:var(--lh-radius-lg)!important;
    background:var(--lh-surface)!important;
  }
  #customer .v36-customer-card .kpi-title,
  #customer .v36-customer-card .kpi-sub,
  .home-mini-note,
  .detail-card span,
  .detail-card div{
    color:var(--lh-text-secondary)!important;
  }
  #customer .v36-customer-card .kpi-number,
  .detail-card b,
  .goods-main,
  .modal-section-title{
    color:var(--lh-text)!important;
    -webkit-text-fill-color:var(--lh-text)!important;
  }
  .goods-sub{
    color:var(--lh-text-secondary)!important;
  }
  .btn-sample-delete{
    min-height:36px!important;
    border:1px solid transparent!important;
    border-radius:var(--lh-radius-md)!important;
    background:var(--lh-brand)!important;
    background-image:none!important;
    color:#fff!important;
    box-shadow:none!important;
    font-weight:650!important;
  }
  .btn-sample-delete:hover{
    background:var(--lh-brand-hover)!important;
  }

  /* Second-batch closeout: keep these refinements scoped to the affected lists. */
  #salesTbody .status-paid,
  #salesTbody .status-unpaid,
  #customerTbody .status-paid,
  #customerTbody .status-unpaid{
    min-height:20px!important;
    padding:2px 7px!important;
    border-radius:6px!important;
    font-size:12px!important;
    font-weight:620!important;
    line-height:1.15!important;
    border-width:1px!important;
    box-shadow:none!important;
  }
  #salesTbody .status-unpaid,
  #customerTbody .status-unpaid{
    color:var(--lh-warning)!important;
    background:#fffbf0!important;
    border-color:#f7ddb0!important;
  }
  #salesTbody .status-paid,
  #customerTbody .status-paid{
    color:var(--lh-success)!important;
    background:#f3fbf5!important;
    border-color:#ccebd7!important;
  }
  #customer .kpi-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    margin-bottom:14px!important;
  }
  #customer .kpi-card{
    min-height:104px!important;
    padding:14px 16px!important;
    border-radius:var(--lh-radius-lg)!important;
    box-shadow:none!important;
  }
  #customer .kpi-title{
    margin-bottom:8px!important;
    font-size:11px!important;
    line-height:1.32!important;
    font-weight:600!important;
    color:var(--lh-text-secondary)!important;
  }
  #customer .kpi-number{
    font-size:clamp(22px,1.9vw,30px)!important;
    line-height:1.05!important;
    font-weight:650!important;
    letter-spacing:0!important;
    color:var(--lh-text)!important;
  }
  #customer .kpi-sub{
    margin-top:6px!important;
    font-size:11px!important;
    line-height:1.3!important;
    font-weight:500!important;
    color:var(--lh-text-secondary)!important;
    opacity:1!important;
  }
  #salesTbody .action{
    min-height:24px!important;
    margin:0 4px!important;
    color:var(--lh-text-secondary)!important;
    font-size:12px!important;
    font-weight:520!important;
    white-space:nowrap!important;
    text-decoration:none!important;
  }
  #salesTbody .action:hover{
    color:var(--lh-brand)!important;
  }
  #salesTbody .action-del,
  #salesTbody .action[onclick*="cancelSale"]{
    color:var(--lh-danger)!important;
  }
  #salesTbody td:last-child{
    white-space:nowrap!important;
  }
  #product .goods-main,
  #product .goods-name-cell{
    font-weight:580!important;
  }
  /* Third-batch closeout: Form, Drawer, Modal and detail hierarchy. */
  .form-card{
    padding:16px!important;
    border-radius:var(--lh-radius-xl)!important;
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface)!important;
    box-shadow:none!important;
  }
  .form-card > .form-grid,
  .modal-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
    gap:12px!important;
    align-items:end!important;
  }
  .form-group{
    min-width:0!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
  }
  .form-group label,
  .form-label,
  .v8-sale-mini-label,
  #fbo .v10-fbo-line label{
    margin:0!important;
    color:var(--lh-text-secondary)!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:620!important;
    letter-spacing:0!important;
  }
  .field-hint,
  .select-note,
  .form-card > .muted,
  .sale-hint,
  #fbo .v10-fbo-stock{
    color:var(--lh-text-secondary)!important;
    font-size:12px!important;
    line-height:1.45!important;
    font-weight:500!important;
  }
  .form-input,
  .form-select,
  textarea{
    min-height:38px!important;
    padding:8px 11px!important;
    border-radius:var(--lh-radius-md)!important;
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface)!important;
    color:var(--lh-text)!important;
    font-size:13px!important;
    font-weight:500!important;
    box-shadow:none!important;
  }
  textarea{
    min-height:86px!important;
    resize:vertical!important;
  }
  .form-input:disabled,
  .form-select:disabled,
  textarea:disabled{
    background:var(--lh-surface-soft)!important;
    color:var(--lh-text-muted)!important;
    cursor:not-allowed!important;
  }
  .form-input::placeholder,
  textarea::placeholder{
    color:var(--lh-text-muted)!important;
    font-weight:400!important;
  }
  .form-input:focus,
  .form-select:focus,
  textarea:focus{
    border-color:var(--lh-brand)!important;
    box-shadow:0 0 0 3px rgba(237,12,29,.09)!important;
    outline:none!important;
  }
  .form-card .btn-group,
  .modal-panel .btn-group{
    gap:8px!important;
  }
  .form-card .btn,
  .modal-panel .btn{
    min-height:36px!important;
  }
  .form-card > div[style*="text-align:right"],
  .form-card > div[style*="text-align: right"],
  .v10-fbo-savebar{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    margin-top:14px!important;
    padding-top:14px!important;
    border-top:1px solid var(--lh-border)!important;
  }
  .form-group[style*="justify-content"]{
    justify-content:flex-end!important;
  }
  .form-group[style*="justify-content"] .btn{
    margin-top:0!important;
    align-self:flex-end!important;
    width:auto!important;
  }
  .form-card .btn-outline,
  .modal-panel .btn-outline{
    order:0!important;
  }
  #sale .form-card > .form-grid{
    grid-template-columns:minmax(280px,1.4fr) minmax(110px,.5fr) minmax(170px,.75fr) minmax(180px,.8fr)!important;
  }
  #sale .sale-note-row{
    margin-top:12px!important;
  }
  #sale #saleItemsContainer{
    margin:16px 0!important;
  }
  #sale .sale-row,
  #fbo .v10-fbo-line{
    border-radius:var(--lh-radius-lg)!important;
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface-muted)!important;
    box-shadow:none!important;
  }
  #sale .sale-row{
    padding:12px!important;
  }
  #sale button[onclick*="addSaleItem"]{
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface)!important;
    color:var(--lh-text)!important;
  }
  #sale button[onclick*="addSaleItem"]:hover{
    background:var(--lh-surface-soft)!important;
    border-color:var(--lh-border-strong)!important;
  }
  #sale .total-box{
    margin-top:14px!important;
    padding-top:12px!important;
    border-top:1px solid var(--lh-border)!important;
  }
  #sale .total-badge{
    color:var(--lh-text-secondary)!important;
    font-size:13px!important;
    font-weight:600!important;
  }
  #sale .total-badge span{
    color:var(--lh-text)!important;
    font-size:20px!important;
    font-weight:680!important;
  }
  #sale button[onclick*="saveSale"]{
    min-width:168px!important;
  }
  #sale .v8-edit-sale-banner{
    margin:14px 0 0!important;
    padding:11px 13px!important;
    border:1px solid var(--lh-border)!important;
    border-radius:var(--lh-radius-lg)!important;
    background:var(--lh-surface-muted)!important;
    color:var(--lh-text)!important;
    box-shadow:none!important;
  }
  #stockProcess .form-grid,
  #stockProcess .form-grid.v64-process-grid,
  #stockProcess .form-grid.v65-process-grid{
    grid-template-columns:minmax(280px,1.5fr) minmax(220px,1fr) minmax(96px,.45fr) minmax(110px,.48fr) minmax(260px,1.15fr) minmax(178px,.7fr)!important;
    gap:12px!important;
  }
  #fbo .form-grid.v10-fbo-toolbar{
    grid-template-columns:minmax(280px,1.35fr) minmax(220px,1fr) minmax(96px,.45fr) minmax(110px,.48fr) minmax(240px,1fr) minmax(178px,.7fr)!important;
    gap:12px!important;
  }
  #fbo .v10-fbo-line{
    padding:12px!important;
    border-top:1px solid var(--lh-border)!important;
  }
  #fbo .v10-fbo-empty{
    padding:14px 16px!important;
    border:1px dashed var(--lh-border-strong)!important;
    border-radius:var(--lh-radius-lg)!important;
    background:var(--lh-surface-muted)!important;
    color:var(--lh-text-secondary)!important;
    box-shadow:none!important;
  }
  #fbo .v10-fbo-savebar{
    margin-top:14px!important;
    padding-top:14px!important;
    border-top:1px solid var(--lh-border)!important;
  }
  .modal-mask{
    background:rgba(16,24,40,.18)!important;
    backdrop-filter:blur(3px)!important;
  }
  .modal-panel{
    border-color:var(--lh-border)!important;
    border-radius:var(--lh-radius-xl) 0 0 var(--lh-radius-xl)!important;
    background:var(--lh-surface)!important;
    box-shadow:0 20px 48px rgba(16,24,40,.16)!important;
  }
  .modal-panel h3{
    margin:0 0 14px!important;
    padding:0 0 13px!important;
    border-bottom:1px solid var(--lh-border)!important;
    color:var(--lh-text)!important;
    font-size:19px!important;
    font-weight:700!important;
    line-height:1.3!important;
  }
  #modalBody,
  #paymentBody{
    padding:0 4px 18px 0!important;
  }
  .modal-panel .btn-group{
    justify-content:flex-end!important;
    border-top:1px solid var(--lh-border)!important;
    background:rgba(255,255,255,.97)!important;
  }
  #modalBody .modal-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #modalBody .modal-section-title,
  #paymentBody strong{
    grid-column:1 / -1!important;
    margin:16px 0 2px!important;
    padding:0 0 8px!important;
    border-bottom:1px solid var(--lh-border)!important;
    color:var(--lh-text)!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.35!important;
  }
  #modalBody .detail-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }
  #modalBody .detail-card{
    min-height:84px!important;
    padding:12px 13px!important;
    border-radius:var(--lh-radius-lg)!important;
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface)!important;
    gap:5px!important;
  }
  #modalBody .detail-card:first-child{
    grid-column:span 2!important;
    background:var(--lh-surface-muted)!important;
  }
  #modalBody .detail-card b{
    color:var(--lh-text-secondary)!important;
    font-size:11px!important;
    font-weight:620!important;
  }
  #modalBody .detail-card span,
  #modalBody .detail-card div{
    color:var(--lh-text)!important;
    font-size:13px!important;
    font-weight:500!important;
  }
  #modalBody .detail-card:first-child span,
  #modalBody .detail-card:nth-child(5) span,
  #modalBody .detail-card:nth-child(6) span{
    font-weight:640!important;
  }
  #modalBody .detail-table-wrap{
    max-height:390px!important;
    border-radius:var(--lh-radius-lg)!important;
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface)!important;
  }
  #paymentBody{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
  }
  #paymentBody .payment-row{
    display:grid!important;
    grid-template-columns:minmax(96px,.7fr) minmax(130px,.8fr) minmax(140px,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    padding:9px 0!important;
    border-bottom:1px solid var(--lh-border)!important;
    color:var(--lh-text)!important;
    font-size:13px!important;
  }

  /* Third-batch visual closeout: sales detail, customer drawer and payment drawer. */
  #modalBody > .detail-grid:first-child{
    gap:8px!important;
    margin-bottom:12px!important;
  }
  #modalBody > .detail-grid:first-child .detail-card{
    min-height:62px!important;
    padding:9px 11px!important;
    border-radius:var(--lh-radius-md)!important;
    background:var(--lh-surface)!important;
    box-shadow:none!important;
  }
  #modalBody > .detail-grid:first-child .detail-card:first-child{
    background:var(--lh-surface-muted)!important;
  }
  #modalBody > .detail-grid:first-child .detail-card b{
    font-size:11px!important;
    line-height:1.25!important;
  }
  #modalBody > .detail-grid:first-child .detail-card span{
    font-size:13px!important;
    line-height:1.35!important;
  }
  #modalBody > .detail-grid:first-child .detail-card:nth-child(n+2) span{
    font-weight:620!important;
    font-variant-numeric:tabular-nums!important;
  }
  #modalBody .detail-table-wrap{
    max-height:none!important;
    overflow-y:visible!important;
    overflow-x:auto!important;
  }
  #modalBody .detail-table-wrap table{
    min-width:0!important;
  }
  #modalBody button[onclick*="printSale"]{
    border:1px solid var(--lh-border)!important;
    background:var(--lh-surface)!important;
    color:var(--lh-text)!important;
    box-shadow:none!important;
  }
  #modalBody button[onclick*="printSale"]:hover{
    background:var(--lh-surface-soft)!important;
    border-color:var(--lh-border-strong)!important;
  }
  #modalBody .v8-edit-sale-items-btn,
  #modalBody button[onclick*="editSaleItems"]{
    border:1px solid transparent!important;
    background:var(--lh-brand)!important;
    color:#fff!important;
  }
  #modalBody .v8-edit-sale-items-btn:hover,
  #modalBody button[onclick*="editSaleItems"]:hover{
    background:var(--lh-brand-hover)!important;
  }
  #globalModal:has(#modal_phone):has(#modal_address) .modal-panel{
    width:min(560px,calc(100vw - 28px))!important;
    max-width:min(560px,calc(100vw - 28px))!important;
  }
  #globalModal:has(#modal_phone):has(#modal_address) #modalBody{
    max-width:100%!important;
  }
  #globalModal:has(#modal_phone):has(#modal_address) #modalBody .form-group{
    max-width:100%!important;
  }
  #paymentBody button[onclick*="addPaymentForCustomer"]{
    width:auto!important;
    align-self:flex-start!important;
    min-height:36px!important;
    margin:2px 0 4px!important;
    padding:8px 14px!important;
  }
  #paymentBody > div:last-child{
    margin-top:4px!important;
  }
  #paymentBody > div:last-child > div{
    max-height:none!important;
    overflow:visible!important;
  }
  #paymentBody .payment-row span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  #paymentBody .payment-row .action-del{
    justify-self:end!important;
    color:var(--lh-danger)!important;
  }
  .tabs,
  .tab-list{
    display:flex!important;
    gap:4px!important;
    border-bottom:1px solid var(--lh-border)!important;
  }
  .tab,
  .tab-btn,
  [role="tab"]{
    min-height:34px!important;
    padding:0 10px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--lh-text-secondary)!important;
    font-size:13px!important;
    font-weight:600!important;
  }
  .tab.active,
  .tab-btn.active,
  [role="tab"][aria-selected="true"]{
    color:var(--lh-brand)!important;
    box-shadow:inset 0 -2px 0 var(--lh-brand)!important;
  }
  @media (max-width:1280px){
    #stockProcess .form-grid,
    #stockProcess .form-grid.v64-process-grid,
    #stockProcess .form-grid.v65-process-grid,
    #fbo .form-grid.v10-fbo-toolbar{
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
  }
  @media (max-width:980px){
    #sale .form-card > .form-grid,
    #stockProcess .form-grid,
    #stockProcess .form-grid.v64-process-grid,
    #stockProcess .form-grid.v65-process-grid,
    #fbo .form-grid.v10-fbo-toolbar,
    #modalBody .modal-grid{
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
  }

  /* Fourth-batch page-level refinements: page-specific rhythm only. */
  #home .home-v29{
    display:grid!important;
    gap:13px!important;
  }
  #home .home-panel{
    padding:16px!important;
    border-radius:var(--lh-radius-lg)!important;
    min-height:0!important;
  }
  #home .home-section-head{
    margin-bottom:10px!important;
  }
  #home .home-section-title{
    font-size:16px!important;
    line-height:1.35!important;
  }
  #home .home-section-sub,
  #home .v3-fixed-note{
    margin-top:4px!important;
    color:var(--lh-text-secondary)!important;
    font-size:12px!important;
    line-height:1.45!important;
  }
  #home .sales-summary-grid{
    gap:10px!important;
    margin-bottom:0!important;
  }
  #home .home-grid-2{
    gap:12px!important;
  }
  #home .home-alerts{
    display:grid!important;
    gap:8px!important;
  }
  #home .home-alert{
    padding:9px 10px!important;
    border-radius:var(--lh-radius-md)!important;
    background:var(--lh-surface-muted)!important;
  }
  #product .section-header .btn-group{
    gap:8px!important;
  }
  #product .section-header .btn-group .btn-outline{
    color:var(--lh-text-secondary)!important;
    font-weight:560!important;
  }
  #product .search-box{
    margin-bottom:10px!important;
  }
  #product .goods-name-cell,
  #product .goods-main{
    line-height:1.36!important;
  }
  #product .sku-code,
  #product .goods-sub{
    color:var(--lh-text-secondary)!important;
    font-weight:480!important;
  }
  #product .action-del{
    color:var(--lh-danger)!important;
  }
  #stockin .form-card,
  #stockProcess .form-card,
  #fbo .form-card,
  #sale .form-card{
    margin-bottom:14px!important;
  }
  #stockin .form-card{
    padding-bottom:14px!important;
  }
  #stockin .table-wrapper,
  #stockProcess .table-wrapper,
  #fbo .table-wrapper,
  #sale .table-wrapper{
    margin-top:0!important;
  }
  #stockin .search-box,
  #sale .search-box,
  #customer .search-box{
    margin-top:0!important;
  }
  #sale .form-card{
    padding:15px!important;
  }
  #sale .v8-sale-main-line{
    gap:10px!important;
  }
  #sale .v8-gift-panel{
    margin-top:12px!important;
    padding:12px!important;
  }
  #sale .v8-gift-title{
    margin-bottom:8px!important;
    font-size:13px!important;
  }
  #sale .v8-gift-rule-grid,
  #sale .v8-gift-line{
    gap:10px!important;
  }
  #sale .total-box{
    margin-top:12px!important;
  }
  #sale .table-wrapper{
    margin-top:2px!important;
  }
  #stockProcess .form-card,
  #fbo .form-card{
    padding:15px!important;
  }
  #stockProcess .select-note,
  #fbo .select-note{
    margin-top:1px!important;
  }
  #stockProcess button[onclick*="submitStockProcess"],
  #fbo button[onclick*="submitFboMovement"]{
    min-width:160px!important;
  }
  #stockProcess .table-wrapper:has(#processTbody tr:only-child td[colspan]){
    margin-bottom:0!important;
  }
  #stockProcess .table-wrapper:has(#processTbody tr:only-child td[colspan]) table{
    min-height:0!important;
  }
  #stockProcess #processTbody tr:only-child td[colspan]{
    height:48px!important;
    padding:13px 14px!important;
    color:var(--lh-text-secondary)!important;
    font-size:13px!important;
    font-weight:500!important;
    vertical-align:middle!important;
  }
  #fbo .v10-fbo-items{
    gap:10px!important;
    margin-top:12px!important;
  }
  #fbo .v10-fbo-line{
    gap:10px!important;
  }
  #customer .kpi-grid,
  #salespeople .kpi-grid{
    gap:10px!important;
    margin-bottom:12px!important;
  }
  #customer .abbr-note,
  #salespeople .abbr-note{
    margin-bottom:12px!important;
    color:var(--lh-text-secondary)!important;
    font-size:12px!important;
    line-height:1.45!important;
  }
  #customer .customer-name,
  #customerTbody td:first-child,
  #salespeopleTbody td:first-child b{
    font-weight:600!important;
  }
  #salespeople .kpi-card{
    min-height:98px!important;
    padding:13px 15px!important;
    box-shadow:none!important;
  }
  #salespeople .kpi-number{
    font-size:clamp(21px,1.7vw,28px)!important;
    font-weight:650!important;
  }
  #salespeople .sp-status{
    min-height:21px!important;
    padding:3px 8px!important;
    border-radius:6px!important;
    font-size:11px!important;
    font-weight:620!important;
  }
  #salespeople .sp-active{
    background:var(--lh-success-soft)!important;
    border:1px solid #ccebd7!important;
    color:var(--lh-success)!important;
  }
  #salespeople .sp-departed{
    background:var(--lh-surface-soft)!important;
    border:1px solid var(--lh-border)!important;
    color:var(--lh-text-secondary)!important;
  }
  #salespeople .sp-muted{
    color:var(--lh-text-secondary)!important;
    font-weight:480!important;
  }
  #salespeople .sp-action{
    margin:0 4px!important;
  }
  @media (max-width:1280px){
    #home .sales-summary-grid,
    #customer .kpi-grid,
    #salespeople .kpi-grid{
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    #home .home-grid-2{
      grid-template-columns:1fr!important;
    }
  }
  input[type="date"]::-webkit-calendar-picker-indicator{
    filter:none!important;
    opacity:.72!important;
  }
}

/* LONHOW ERP Mobile Lite V1
   Mobile uses a dedicated dashboard instead of shrinking PC tables. */

@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    padding: 10px;
    background:
      radial-gradient(circle at 12% 0%, rgba(82, 160, 206, .26), transparent 34%),
      radial-gradient(circle at 92% 8%, rgba(139, 92, 246, .20), transparent 36%),
      #06101d;
  }

  .container,
  .main-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .hero.glass {
    position: sticky;
    top: 6px;
    z-index: 30;
    padding: 14px;
    margin-bottom: 14px;
    border-radius: 24px;
  }

  .hero-top {
    align-items: flex-start;
    gap: 8px;
  }

  .hero .logo {
    font-size: clamp(34px, 12vw, 44px);
    line-height: .95;
  }

  .logo-sub {
    font-size: 11px;
    line-height: 1.45;
  }

  .product-badge {
    width: 100%;
    text-align: left;
    margin-top: 4px;
  }

  .product-cn,
  .product-ru {
    font-size: 13px;
    line-height: 1.35;
  }

  .hero > div[style*="position: absolute"] {
    position: static !important;
    width: 100%;
    margin-top: 12px;
    justify-content: space-between !important;
  }

  .nav {
    display: none !important;
  }

  body:not(.mobile-full-mode) .page {
    display: none !important;
  }

  body.mobile-full-mode .nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    margin-top: 14px !important;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body.mobile-full-mode .nav::-webkit-scrollbar {
    display: none;
  }

  body.mobile-full-mode .nav-item {
    flex: 0 0 auto;
    min-width: 108px;
    padding: 11px 16px !important;
    text-align: center;
  }
}

@media (max-width: 760px) {
  body{
    background:var(--lh-bg)!important;
    color:var(--lh-text)!important;
  }
  .hero.glass{
    background:var(--lh-surface)!important;
    background-image:none!important;
    border-color:var(--lh-border)!important;
    box-shadow:var(--lh-shadow-sm)!important;
    color:var(--lh-text)!important;
  }
  .hero .logo{
    color:var(--lh-brand)!important;
    -webkit-text-fill-color:var(--lh-brand)!important;
    background:none!important;
    text-shadow:none!important;
    filter:none!important;
  }
  .nav-item.active{
    background:transparent!important;
    border-color:transparent!important;
    color:var(--lh-brand)!important;
  }
  .form-card > .form-grid,
  #sale .form-card > .form-grid,
  #stockProcess .form-grid,
  #fbo .form-grid.v10-fbo-toolbar,
  #modalBody .modal-grid,
  #modalBody .detail-grid{
    grid-template-columns:1fr!important;
  }
  .form-card{
    padding:14px!important;
  }
  .form-group{
    gap:6px!important;
  }
  .modal-panel{
    border-radius:0!important;
    box-shadow:none!important;
  }
  #modalBody .detail-card:first-child{
    grid-column:auto!important;
  }
  #paymentBody .payment-row{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
}

/* UI 2.0 public structure closeout: language, shell, page templates and drawer hierarchy. */
@media (min-width:761px){
  body.erp-ui2{
    --lh-ui2-line:#eceef1;
    --lh-ui2-page-gap:18px;
    padding:16px 18px 20px;
  }

  body.erp-ui2 .container{
    max-width:1540px;
  }

  body.erp-ui2 .hero.erp-shell-v2{
    display:grid!important;
    grid-template-columns:minmax(172px,auto) minmax(0,1fr) auto!important;
    grid-template-areas:
      "brand spacer actions"
      "nav nav nav"!important;
    align-items:center!important;
    gap:8px 16px!important;
    min-height:0!important;
    padding:10px 14px 8px!important;
    margin-bottom:18px!important;
    border-radius:12px!important;
  }

  body.erp-ui2 .hero.erp-shell-v2 .hero-top{
    grid-area:brand!important;
    min-width:0!important;
    gap:8px!important;
  }

  body.erp-ui2 .hero.erp-shell-v2 .brand-lockup{
    min-width:0;
  }

  body.erp-ui2 .hero.erp-shell-v2 .logo{
    font-size:20px;
    line-height:1;
    font-weight:760;
  }

  body.erp-ui2 .hero.erp-shell-v2 .logo-sub{
    margin-top:3px;
    font-size:11px;
    line-height:1.2;
    font-weight:600;
    color:var(--lh-text-secondary);
  }

  body.erp-ui2 .hero.erp-shell-v2 .product-badge,
  body.erp-ui2 .hero.erp-shell-v2 .erp-product-noise{
    display:none;
  }

  body.erp-ui2 .hero.erp-shell-v2 .erp-shell-actions{
    grid-area:actions!important;
    position:static!important;
    margin-left:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    min-width:max-content!important;
  }

  body.erp-ui2 .hero.erp-shell-v2 .nav{
    grid-area:nav!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:4px!important;
    min-width:0!important;
    width:100%!important;
    padding-top:7px!important;
    border-top:1px solid var(--lh-ui2-line)!important;
    overflow-x:auto!important;
    scrollbar-width:thin;
  }

  body.erp-ui2 .hero.erp-shell-v2 .nav-item{
    min-height:30px!important;
    padding:6px 9px!important;
    border-radius:7px!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;
    font-size:13px!important;
    line-height:1!important;
    color:var(--lh-text-secondary);
  }

  body.erp-ui2.lang-zh .hero.erp-shell-v2 .nav-ru,
  body.erp-ui2.lang-ru .hero.erp-shell-v2 .nav-cn,
  body.erp-ui2.lang-zh .product-ru,
  body.erp-ui2.lang-ru .product-cn{
    display:none!important;
  }

  body.erp-ui2.lang-zh .hero.erp-shell-v2 .nav-cn,
  body.erp-ui2.lang-ru .hero.erp-shell-v2 .nav-ru{
    display:block;
    margin:0;
    font-size:13px;
    line-height:1.1;
    font-weight:650;
    color:inherit;
  }

  body.erp-ui2 .hero.erp-shell-v2 .nav-item.active{
    background:transparent;
    border-color:transparent;
    color:var(--lh-brand);
  }

  body.erp-ui2 .hero.erp-shell-v2 .lang-switch{
    padding:0;
    gap:2px;
    border:0;
    border-radius:8px;
    background:transparent;
  }

  body.erp-ui2 .hero.erp-shell-v2 .lang-btn{
    min-height:27px;
    padding:0 8px;
    border-radius:7px;
    font-size:11px;
    font-weight:620;
    color:var(--lh-text-secondary);
  }

  body.erp-ui2 .hero.erp-shell-v2 .logout-btn{
    min-height:30px;
    padding:0 10px;
    border-radius:8px;
    font-size:12px;
    font-weight:620;
  }

  body.erp-ui2 .page{
    margin-top:0;
  }

  body.erp-ui2 .erp-page-template{
    display:none;
  }

  body.erp-ui2 .erp-page-template.active{
    display:block;
  }

  body.erp-ui2 .section-header{
    align-items:flex-start;
    margin-bottom:14px;
    padding:2px 0 10px;
    border-bottom:1px solid var(--lh-ui2-line);
  }

  body.erp-ui2 .section-header h2{
    display:block;
    min-width:0;
    font-size:21px;
    line-height:1.22;
    font-weight:720;
  }

  body.erp-ui2 .section-icon{
    display:none;
  }

  body.erp-ui2 .section-header .btn-group,
  body.erp-ui2 .section-header > .btn{
    align-self:center;
  }

  body.erp-ui2 .erp-command-area,
  body.erp-ui2 .erp-page-list .search-box,
  body.erp-ui2 #ltrcms .ltrcms-toolbar{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 12px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }

  body.erp-ui2 .erp-command-area .search-input,
  body.erp-ui2 .erp-page-list .search-box .search-input{
    width:min(420px,100%);
    max-width:420px;
  }

  body.erp-ui2 .erp-page-list .table-wrapper,
  body.erp-ui2 .erp-page-transaction .table-wrapper{
    margin-top:10px;
  }

  body.erp-ui2 .erp-page-transaction > .form-card:first-of-type,
  body.erp-ui2 .erp-primary-work-area{
    margin-bottom:14px;
  }

  body.erp-ui2 .erp-page-transaction .section-header + .form-card{
    border-color:#dfe3e8;
  }

  body.erp-ui2 .home-section-sub,
  body.erp-ui2 .sales-summary-note,
  body.erp-ui2 .abbr-note,
  body.erp-ui2 .field-hint,
  body.erp-ui2 .select-note,
  body.erp-ui2 .sku-code,
  body.erp-ui2 .inline-sku,
  body.erp-ui2 .sp-muted,
  body.erp-ui2 .ltrcms-sub,
  body.erp-ui2 .table-wrapper .muted{
    color:var(--lh-text-muted);
    font-size:12px;
    line-height:1.35;
    font-weight:500;
  }

  body.erp-ui2 .sku-code,
  body.erp-ui2 .inline-sku,
  body.erp-ui2 .ltrcms-sub,
  body.erp-ui2 .sp-muted{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body.erp-ui2 .modal-panel.erp-drawer-v2{
    border-left:1px solid var(--lh-border);
    background:var(--lh-surface);
  }

  body.erp-ui2 .modal-panel.erp-drawer-v2 h3{
    min-height:0;
    padding-bottom:12px;
    border-bottom:1px solid var(--lh-ui2-line);
    font-size:20px;
    line-height:1.25;
    font-weight:720;
  }

  body.erp-ui2 #modalBody .detail-grid,
  body.erp-ui2 #paymentBody .detail-grid{
    gap:8px;
  }

  body.erp-ui2 #modalBody .detail-card,
  body.erp-ui2 #paymentBody .detail-card{
    padding:10px 0;
    border:0;
    border-bottom:1px solid var(--lh-ui2-line);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  body.erp-ui2 #modalBody .detail-card b,
  body.erp-ui2 #paymentBody .detail-card b{
    margin-bottom:4px;
    color:var(--lh-text-muted);
    font-size:11px;
    line-height:1.2;
    font-weight:650;
  }

  body.erp-ui2 #modalBody .detail-card span,
  body.erp-ui2 #modalBody .detail-card div,
  body.erp-ui2 #paymentBody .detail-card span,
  body.erp-ui2 #paymentBody .detail-card div{
    color:var(--lh-text);
    font-size:14px;
    font-weight:600;
  }
}

@media (min-width:1320px){
  body.erp-ui2 .hero.erp-shell-v2{
    grid-template-columns:minmax(180px,auto) minmax(0,1fr) auto;
  }

  body.erp-ui2 .hero.erp-shell-v2 .nav{
    gap:6px;
  }

  body.erp-ui2 .hero.erp-shell-v2 .nav-item{
    padding-left:11px;
    padding-right:11px;
  }
}

@media (max-width:760px){
  body.erp-ui2.lang-zh .nav-ru,
  body.erp-ui2.lang-ru .nav-cn,
  body.erp-ui2.lang-zh .product-ru,
  body.erp-ui2.lang-ru .product-cn{
    display:none!important;
  }
}

:root{
  --canvas:#F2F1EE;
  --surface:#FFFFFF;
  --rail:#F6F3F1;
  --history:#FCFCFA;
  --ink:#11151C;
  --text:#303640;
  --secondary:#68717D;
  --muted:#A1A8B1;
  --line:#E7E6E2;
  --line-soft:#F0EFEA;
  --red:#C50F1F;
  --red-deep:#98101A;
  --red-soft:#F7EDEE;
  --debt:#765044;
  --green:#86AA8B;
  --green-soft:#CADBCF;
  --shadow:0 24px 58px rgba(28,31,35,.06),0 1px 0 rgba(28,31,35,.03);
  --rail-shadow:0 22px 48px rgba(64,44,39,.065),0 1px 0 rgba(64,44,39,.035);
}
*{box-sizing:border-box}
html,body{
  margin:0;
  min-height:100%;
  background:var(--canvas);
  color:var(--text);
  font-family:var(--erp-font-serif);
  font-size:14px;
  line-height:1.45;
  font-variant-numeric:tabular-nums;
  text-rendering:geometricPrecision;
}
button,input,select{font:inherit}
button{cursor:default}
body.erp-ui2 #mainWrapper{background:var(--canvas)}
body.erp-ui2 #mainWrapper>.container{max-width:none;margin:0;padding:0}
.app-shell{background:#fff;border-bottom:1px solid rgba(231,230,226,.82);box-shadow:0 1px 0 rgba(17,21,28,.028)}
.shell-inner{width:100%;max-width:none;margin:0;padding:0 28px}
.brand-bar{height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(240,239,234,.92)}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.logo{width:45px;height:45px;object-fit:contain;display:block;flex:0 0 auto}
.brand-text{display:grid;gap:0;white-space:nowrap;transform:translateY(1px)}
.brand-name{font-size:18px;font-weight:680;letter-spacing:.01em;color:var(--ink)}
.brand-meta{font-size:10px;font-weight:420;color:#B5BBC3;letter-spacing:.02em}
.shell-actions{display:flex;align-items:center;gap:6px;color:var(--secondary);font-size:12px}
.text-control{height:26px;padding:0 7px;border:0;background:transparent;color:#777F8A;border-radius:7px;font-weight:440}
.text-control.active{background:#F2F1EE;color:var(--ink);font-weight:540}
.text-control.exit{color:#858C96}
.system-dialog-panel{max-width:420px!important;padding:24px 24px 20px!important;border-radius:14px!important}
.system-dialog-panel h3{margin-bottom:10px!important;font-size:18px!important;line-height:1.25!important}
.system-dialog-body{color:#4D5561;font-size:14px;line-height:1.55;white-space:pre-wrap}
.system-dialog-prompt{margin-top:14px!important;margin-bottom:0!important}
.system-dialog-actions{margin-top:20px!important}
.system-dialog-actions .btn{height:36px}
.module-nav{height:44px;display:flex;align-items:center;gap:26px;overflow-x:auto;scrollbar-width:none}
.module-nav::-webkit-scrollbar{display:none}
.app-shell .module-nav .nav-item{position:relative;height:44px;min-height:0;display:inline-flex;align-items:center;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#4D5561;text-decoration:none;white-space:nowrap;font-size:13px;font-weight:470}
.app-shell .module-nav .nav-item:hover{background:transparent;border:0;color:#303640;box-shadow:none}
.app-shell .module-nav .nav-item.active{background:transparent;border:0;color:#C50F1F;font-weight:600;box-shadow:none}
.app-shell .module-nav .nav-item.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:999px;background:#C50F1F}
body.erp-ui2.lang-zh .nav-ru,body.erp-ui2.lang-zh .product-ru,body.erp-ui2:not(.lang-ru) .nav-ru,body.erp-ui2:not(.lang-ru) .product-ru{display:none}
body.erp-ui2.lang-ru .nav-cn,body.erp-ui2.lang-ru .product-cn{display:none}
.page{width:100%;max-width:none;margin:0;padding:var(--workbench-page-top,24px) var(--workbench-page-inset,28px) 16px}
.page:not(.active){display:none}
.page-header{margin:0 0 18px}
.page-title{margin:0;color:var(--ink);font-size:25px;line-height:1.16;font-weight:650;letter-spacing:0}
.page-subtitle{margin:5px 0 0;color:var(--muted);font-size:13px;font-weight:430}
#sale .workbench{display:grid;grid-template-columns:minmax(0,1fr) 312px;align-items:stretch;gap:18px;background:transparent;border-radius:0;box-shadow:none}
#sale .builder{min-width:0;background:var(--surface);padding:24px 28px 24px;border-radius:12px;box-shadow:var(--shadow)}
#sale .summary{position:relative;background:var(--rail);padding:25px 24px 22px;border-radius:12px;box-shadow:var(--rail-shadow)}
#sale .summary::before{content:"";position:absolute;left:18px;right:18px;top:0;height:2px;border-radius:0 0 999px 999px;background:var(--red)}
#sale .section-label{margin:0 0 10px;color:#5B6470;font-size:12px;font-weight:560;letter-spacing:0}
#sale .command-strip{display:grid;grid-template-columns:minmax(280px,1.16fr) minmax(380px,1.28fr) 150px;gap:22px;align-items:end;padding:10px 0 20px;border-bottom:1px solid var(--line-soft)}
#sale .field-label{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:520}
#sale .customer-select{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 0;border:0;border-bottom:1px solid #DADDDC;border-radius:0;background:transparent;color:var(--ink);font-size:15px;font-weight:600;box-shadow:none}
#sale .native-data-select{display:none}
#sale #saleCustomerDropdownHost{width:100%}
#sale .customer-empty{height:42px;display:flex;align-items:center;border-bottom:1px solid #DADDDC;color:var(--muted);font-size:13px}
#sale .customer-select:focus{outline:none;border-color:var(--red)}
#sale .policy-strip{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center;min-height:42px;padding:4px 0 2px}
#sale .policy-item{min-width:0}
#sale .policy-name{display:block;color:#A5ABB4;font-size:10.5px;font-weight:430;white-space:nowrap}
#sale .policy-value{display:block;margin-top:2px;color:var(--ink);font-size:16px;font-weight:600}
#sale .policy-divider{height:26px;background:#E5E4DF;margin:0 15px}
#sale .money-input{height:40px;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:0 10px;border:1px solid #DFE3E8;border-radius:8px;background:#fff;color:var(--ink)}
#sale .money-field{width:100%;min-width:0;border:0;background:transparent;text-align:left;color:var(--ink);font-size:14px;font-weight:560;font-variant-numeric:tabular-nums}
#sale .money-field:focus{outline:none}
#sale .money-input span{font-size:11px;color:var(--muted)}
#sale .items-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:21px 0 6px}
#sale .items-head h3,#sale .items-title{margin:0;color:var(--ink);font-size:18px;font-weight:650;line-height:1.22}
#sale .items-head p,#sale .items-subtitle{margin:3px 0 0;color:var(--muted);font-size:12px}
#sale .add-btn{height:36px;padding:0 14px;border:1px solid #DEDCD7;border-radius:8px;background:#fff;color:#3E4650;font-size:13px;font-weight:540;box-shadow:0 1px 0 rgba(17,21,28,.025)}
#sale .editable-table{width:100%;border-collapse:collapse;table-layout:fixed}
#sale .editable-table col.product{width:38%}
#sale .editable-table col.unit{width:9%}
#sale .editable-table col.source{width:15%}
#sale .editable-table col.qty{width:10%}
#sale .editable-table col.price{width:18%}
#sale .editable-table col.action{width:10%}
#sale .editable-table thead th{padding:9px 0 8px;border-bottom:1px solid var(--line-soft);color:#A8AEB6;font-size:10.5px;font-weight:420;text-align:left;background:transparent}
#sale .editable-table tbody td{height:62px;padding:9px 0;border-bottom:1px solid var(--line-soft);vertical-align:middle;color:var(--text)}
#sale .product-main{font-size:14.5px;font-weight:650;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sale .product-meta,#sale .price-trace{margin-top:3px;color:#A7ADB6;font-size:11px;font-weight:420;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sale .inline-value{display:inline-flex;align-items:center;min-height:28px;color:#626B76;font-size:13px;font-weight:430}
#sale .inline-value.focus{height:34px;min-width:76px;padding:0 9px;border:1px solid #CBCFCF;border-radius:7px;background:#fff;box-shadow:0 0 0 2px rgba(197,15,31,.04);color:var(--ink);font-weight:560}
#sale .price-main{width:100%;padding:0;border:0;background:transparent;font-size:15px;font-weight:650;color:var(--ink)}
#sale .product-cell,#sale .unit-cell,#sale .source-cell{position:relative;overflow:visible}
#sale .editable-table,#sale .editable-table tbody,#sale .editable-table tr,#sale .editable-table td{overflow:visible}
#sale .custom-select{position:relative;display:inline-flex;align-items:center;max-width:100%;min-width:0;vertical-align:top;font-variant-numeric:tabular-nums}
#sale .product-dropdown{display:block;width:100%}
#sale .custom-select-trigger{position:relative;display:inline-flex;align-items:center;max-width:100%;min-width:0;height:28px;padding:0 24px 0 0;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;text-align:left}
#sale .custom-select-trigger::after{content:"";position:absolute;right:1px;top:50%;width:14px;height:14px;transform:translateY(-50%);opacity:.82;background:no-repeat center/14px 14px url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2016%2016%27%20fill%3D%27none%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M4%206L8%2010L12%206%27%20stroke%3D%27%23626B76%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E")}
#sale .custom-select-trigger:hover::after,#sale .custom-select.open .custom-select-trigger::after,#sale .custom-select-trigger:focus::after{opacity:1;background-image:url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2016%2016%27%20fill%3D%27none%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M4%206L8%2010L12%206%27%20stroke%3D%27%23303640%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E")}
#sale .custom-select-trigger:focus{outline:none}
#sale .product-dropdown .custom-select-trigger{display:flex;width:100%;height:auto;min-height:24px;padding-right:28px}
#sale .product-dropdown .custom-select-trigger:hover .product-main,#sale .product-dropdown.open .product-main{color:var(--ink)}
#sale .compact-dropdown .custom-select-trigger,#sale .source-dropdown .custom-select-trigger{height:28px}
#sale .compact-dropdown .custom-select-trigger:focus .inline-value,#sale .source-dropdown .custom-select-trigger:focus .inline-value,#sale .compact-dropdown.open .inline-value,#sale .source-dropdown.open .inline-value{height:34px;min-width:76px;padding:0 9px;border:1px solid #CBCFCF;border-radius:7px;background:#fff;box-shadow:0 0 0 2px rgba(197,15,31,.04);color:var(--ink);font-weight:560}
#sale .source-dropdown .custom-select-trigger:focus .inline-value,#sale .source-dropdown.open .inline-value{min-width:104px}
#sale .custom-select-menu{position:absolute;z-index:68;top:calc(100% + 7px);left:0;min-width:100%;width:max-content;max-width:min(520px,calc(100vw - 48px));max-height:min(320px,calc(100vh - 96px));overflow:auto;padding:5px;border:1px solid rgba(231,230,226,.96);border-radius:9px;background:var(--surface);box-shadow:0 18px 42px rgba(17,21,28,.12),0 1px 0 rgba(17,21,28,.04)}
#sale .product-dropdown .custom-select-menu{min-width:min(420px,calc(100vw - 48px))}
#sale .source-dropdown .custom-select-menu{min-width:132px}
#sale .compact-dropdown .custom-select-menu{min-width:86px}
#sale .customer-dropdown{display:block;width:100%;height:42px;border-bottom:1px solid #DADDDC}
#sale .customer-dropdown.open{border-bottom-color:var(--red)}
#sale .customer-dropdown .custom-select-trigger{display:flex;width:100%;height:42px;padding:0 26px 0 0;color:var(--ink);font-size:15px;font-weight:600}
#sale .customer-dropdown .custom-select-menu{min-width:min(360px,calc(100vw - 48px))}
#sale .customer-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sale .custom-select.drop-up .custom-select-menu{top:auto;bottom:calc(100% + 7px)}
#sale .custom-select-option{display:block;width:100%;min-height:30px;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:#3E4650;text-align:left;font-size:12.5px;font-weight:440;line-height:1.25;white-space:nowrap}
#sale .custom-select-option .dropdown-option-main,#sale .custom-select-option .customer-option-main{display:block;color:#303640;font-size:13px;font-weight:520;line-height:1.25}
#sale .custom-select-option .dropdown-option-meta{display:block;margin-top:3px;color:#8C939C;font-size:11px;font-weight:420;line-height:1.2}
#sale .custom-select-option .dropdown-option-stock{display:block;margin-top:3px;color:#7C848E;font-size:11.5px;font-weight:430;line-height:1.2}
#sale .custom-select-option:hover,#sale .custom-select-option.is-active{background:#F6F5F2;color:var(--ink)}
#sale .custom-select-option.selected{background:#F2F1EE;color:var(--ink);font-weight:560}
#sale .custom-select-option:disabled{opacity:.48;cursor:not-allowed}
#sale .qty-control{width:82px;min-height:28px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#626B76;font-size:13px;font-weight:430;font-variant-numeric:tabular-nums}
#sale .qty-control:focus{height:34px;padding:0 9px;border:1px solid #CBCFCF;border-radius:7px;background:#fff;outline:none;box-shadow:0 0 0 2px rgba(197,15,31,.04);color:var(--ink);font-weight:560}
#sale .editable-table th:nth-child(5),#sale .price-cell{text-align:left}
#sale .editable-table th:nth-child(6),#sale .action-cell{text-align:right}
#sale .price-readonly{display:block;width:100%;min-height:24px;color:var(--ink);font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;text-align:left}
#sale .price-trace{text-align:left}
#sale .qty-control::-webkit-outer-spin-button,#sale .qty-control::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}
#sale .delete-link{display:inline-block;border:0;background:transparent;color:#A76B66;font-size:12px;font-weight:520;padding:0;text-align:right}
#sale .empty-hint{padding:22px 0;color:var(--muted);font-size:13px}
#sale .gift-line{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}
#sale .gift-title{color:var(--ink);font-size:14px;font-weight:560}
#sale .gift-empty{color:var(--muted);font-size:13px}
#sale .gift-capability{margin-top:4px;color:#A8AFB8;font-size:11px}
#sale .gift-panel{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}
#sale .gift-rule-grid,#sale .gift-edit-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end}
#sale .manual-gift-panel .gift-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#sale .manual-gift-panel .gift-edit-line{grid-template-columns:minmax(180px,1fr) 80px 100px auto;padding-top:12px}
#sale .manual-gift-panel .gift-edit-line:has(>span.gift-field){grid-template-columns:minmax(180px,1fr) 80px 100px 150px auto}
#sale .manual-gift-panel .gift-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0}
#sale .manual-gift-panel .inline-control{width:100%;min-width:0;max-width:100%;height:var(--erp-density-control,34px);border:1px solid var(--line-soft);border-radius:6px;padding:4px 8px;font:inherit;font-weight:400;background:transparent}
#sale .manual-gift-panel .gift-delete{min-height:var(--erp-density-control,34px)}
@media(max-width:1100px){#sale .manual-gift-panel .gift-edit-line{grid-template-columns:minmax(0,1fr) 80px 100px}#sale .manual-gift-panel .gift-field:first-child{grid-column:1/-1}}
@media(max-width:600px){#sale .manual-gift-panel .gift-edit-line{grid-template-columns:repeat(2,minmax(0,1fr))}#sale .manual-gift-panel .gift-field:first-child{grid-column:1/-1}}
#sale .gift-lines{display:grid;gap:8px;margin-top:10px}
#sale .v8-edit-sale-banner{margin:14px 0 0!important;padding:12px 14px!important;border:1px solid rgba(168,85,247,.42)!important;border-radius:16px!important;background:rgba(88,28,135,.28)!important;color:#f8fbff!important;display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:center!important}
#sale .mini-label{display:block;margin-bottom:4px;color:var(--muted);font-size:10.5px;font-weight:430}
#sale .gift-summary{color:#737B85;font-size:12px}
#sale .gift-foot{margin-top:10px}
#sale .note-row{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}
#sale .note-field{width:100%;height:40px;display:flex;align-items:center;padding:0 11px;border:1px solid #E3E6EB;border-radius:8px;background:#fff;color:#5D6672;font-size:13px}
#sale .note-field:focus{outline:none;border-color:#CBCFCF}
#sale .summary-title{margin:0;color:var(--ink);font-size:17px;font-weight:650}
#sale .summary-block{margin-top:23px}
#sale .summary-label{color:#9AA1A9;font-size:11.5px;font-weight:460}
#sale .summary-total{margin-top:7px;color:var(--ink);font-size:36px;line-height:.98;font-weight:650;letter-spacing:-.01em}
#sale .summary-currency{display:block;margin:6px 0 0;color:#A5ABB3;font-size:12px;font-weight:430;letter-spacing:.01em}
#sale .summary-divider{height:1px;background:rgba(226,224,218,.95);margin:20px 0}
#sale .summary-row{display:flex;align-items:center;justify-content:space-between;margin:9px 0;color:#737B85;font-size:13px}
#sale .summary-row strong{color:var(--text);font-size:13px;font-weight:500}
#sale .summary-row.debt strong{color:var(--debt)}
#sale .sale-summary-meta b{display:block;margin-bottom:6px;color:#737B85;font-size:12px;font-weight:500}
#sale .sale-summary-meta strong{display:block;color:#626A74;font-size:13px;font-weight:500}
#sale .sale-summary-meta span{display:block;margin-top:4px;color:var(--muted);font-size:11px}
#sale .confirm{width:100%;height:41px;margin-top:22px;border:0;border-radius:8px;background:var(--red-deep);color:#fff;font-size:13px;font-weight:600;box-shadow:none}
#sale .history{margin-top:38px}
#sale .history-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:12px}
#sale .history-title{margin:0;color:var(--ink);font-size:18px;font-weight:620}
#sale .history-subtitle{margin:3px 0 0;color:var(--muted);font-size:12px}
#sale .search{width:312px;height:36px;display:flex;align-items:center;padding:0 11px;border:1px solid #E3E6EB;border-radius:8px;background:#fff;color:var(--muted);font-size:13px}
#sale .search-field{width:100%;height:100%;border:0;background:transparent;color:var(--text);font-size:13px}
#sale .search-field:focus{outline:none}
#sale .history-surface,#stockProcess .history-surface,#returnManage .history-surface{background:var(--history);border-radius:12px;overflow:hidden;box-shadow:0 14px 34px rgba(28,31,35,.035)}
#sale .history-table,#stockProcess .history-table,#returnManage .history-table{width:100%;border-collapse:collapse;table-layout:fixed}
#sale .history-table th,#stockProcess .history-table th,#returnManage .history-table th{height:37px;padding:0 13px;background:#F5F4F1;color:#A6ADB5;font-size:10.5px;font-weight:420;text-align:left;border-bottom:1px solid var(--line-soft)}
#sale .history-table td,#stockProcess .history-table td,#returnManage .history-table td{height:55px;padding:0 13px;border-bottom:1px solid #ECEAE5;color:#404852;font-size:13px;vertical-align:middle}
#sale .history-table tr:last-child td,#stockProcess .history-table tr:last-child td,#returnManage .history-table tr:last-child td{border-bottom:0}
#sale .history-table tr:hover td,#stockProcess .history-table tr:hover td,#returnManage .history-table tr:hover td{background:#FBFBFA}
#sale .so{font-weight:650;color:var(--ink)}
#sale .date,#sale .muted{color:var(--muted)}
#sale .num{text-align:left;font-variant-numeric:tabular-nums}
#sale .debt-cell{color:var(--debt);font-weight:540}
#sale .debt-cell::before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:50%;background:var(--debt);vertical-align:middle;opacity:.72}
#sale .zero-cell{color:#3F4752;font-weight:470}
#sale .zero-cell::before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:50%;background:var(--green-soft);vertical-align:middle;opacity:.76}
#sale .status{display:inline-flex;align-items:center;gap:6px;color:#424A56;font-weight:470}
#sale .status::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green);opacity:.76}
#sale .status.due::before{background:var(--debt);opacity:.78}
#sale .status.partial::before{background:#A88F87;opacity:.76}
#sale .status.clear::before{background:var(--green-soft);opacity:.86}
#sale .status.returned::before{background:#9EA3AA;opacity:.78}
#sale .status.void::before{background:#B28A85;opacity:.8}
#sale .actions{display:flex;align-items:center;gap:10px;white-space:nowrap;position:relative;z-index:1;pointer-events:auto}
#sale .action{display:inline-flex;align-items:center;min-height:28px;margin:0;padding:0 1px;border:0;background:transparent;color:#9AA1AA;text-decoration:none;font-size:12px;font-weight:460;font-family:inherit;line-height:1.25;white-space:nowrap;cursor:pointer;pointer-events:auto;position:relative;z-index:1;appearance:none}
#sale .actions .action:first-child{color:#626A74;font-weight:520}
#sale .action.danger{color:#B28A85}
#sale .return-note{margin-top:3px;color:var(--muted);font-size:11px;font-weight:420}
#stockProcess .ledger-main,#returnManage .ledger-main{font-weight:650;color:var(--ink)}
#stockProcess .date,#returnManage .date,#stockProcess .muted,#returnManage .muted{color:var(--muted)}
#stockProcess .num,#returnManage .num{text-align:left;font-variant-numeric:tabular-nums}
#stockProcess .actions,#returnManage .actions{display:flex;align-items:center;gap:10px;white-space:nowrap;position:relative;z-index:1;pointer-events:auto}
#stockProcess .action,#returnManage .action{display:inline-flex;align-items:center;min-height:28px;margin:0;padding:0 1px;border:0;background:transparent;color:#9AA1AA;text-decoration:none;font-size:12px;font-weight:460;font-family:inherit;line-height:1.25;white-space:nowrap;cursor:pointer;pointer-events:auto;position:relative;z-index:1;appearance:none}
#stockProcess .actions .action:first-child,#returnManage .actions .action:first-child{color:#626A74;font-weight:520}
#stockProcess .action.danger,#returnManage .action.danger{color:#B28A85}
#stockProcess .status,#returnManage .status{display:inline-flex;align-items:center;gap:6px;color:#424A56;font-weight:470}
#stockProcess .status::before,#returnManage .status::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green);opacity:.76}
#stockProcess .status.due::before,#returnManage .status.due::before{background:var(--debt);opacity:.78}
#stockProcess .status.partial::before,#returnManage .status.partial::before{background:#A88F87;opacity:.76}
#stockProcess .status.clear::before,#returnManage .status.clear::before{background:var(--green-soft);opacity:.86}
#stockProcess .status.returned::before,#returnManage .status.returned::before{background:#9EA3AA;opacity:.78}
#stockProcess .status.void::before,#returnManage .status.void::before{background:#B28A85;opacity:.8}
#stockProcess .return-note,#returnManage .return-note{margin-top:3px;color:var(--muted);font-size:11px;font-weight:420}
:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:10px 0 0;color:var(--muted);font-size:12px;font-weight:420}
:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination .page-stat{margin-right:auto;color:#9299A2}
:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination .page-controls{display:inline-flex;align-items:center;gap:4px}
:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination .page-icon,:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination .page-number{display:inline-flex;align-items:center;justify-content:center;height:30px;min-height:30px;max-height:30px;min-width:30px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#66707C;font-size:13px;line-height:1;box-shadow:none;font-variant-numeric:tabular-nums}
:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination .page-icon{font-size:17px;font-weight:430;color:#7A838E}
:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination .page-number.active{background:#F5F3F0;border-color:#E7E3DD;color:#303640;font-weight:560}
:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination .page-icon:hover:not(:disabled),:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination .page-number:hover:not(:disabled){background:#F8F8F6;border-color:#ECE8E1;color:#303640}
:is(#sale,#product,#stockin,#customer,#stockProcess,#returnManage) .pagination .page-icon:disabled{color:#CDD2D8;background:transparent;border-color:transparent;opacity:1}
#product .product-page-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:12px}
#product .product-title-block{min-width:0}
#product .history-head,#stockin .history-head,#customer .history-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:12px}
#product .history-title,#stockin .history-title,#customer .history-title{margin:0;color:var(--ink);font-size:18px;font-weight:620}
#product .history-subtitle,#stockin .history-subtitle,#customer .history-subtitle{margin:3px 0 0;color:var(--muted);font-size:12px}
#product .master-section{margin-top:0}
#stockin .master-section,#customer .master-section{margin-top:20px}
#product .master-toolbar,#customer .master-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex-wrap:nowrap}
#product .search,#stockin .search,#customer .search{width:312px;height:36px;display:flex;align-items:center;padding:0 11px;border:1px solid #E3E6EB;border-radius:8px;background:#fff;color:var(--muted);font-size:13px}
#product .search-field,#stockin .search-field,#customer .search-field{width:100%;height:100%;border:0;background:transparent;color:var(--text);font-size:13px}
#product .search-field:focus,#stockin .search-field:focus,#customer .search-field:focus{outline:none}
#product .add-btn,#customer .add-btn{height:36px;padding:0 14px;border:1px solid #DEDCD7;border-radius:8px;background:#fff;color:#3E4650;font-size:13px;font-weight:540;box-shadow:0 1px 0 rgba(17,21,28,.025)}
#product .add-btn:not(.subtle-action){border-color:#D4D0C8;background:#FCFCFA;color:#303640;font-weight:580}
#product .add-btn.subtle-action{color:#747C86;font-weight:430;background:transparent;border-color:#E7E4DE}
#product .history-surface,#stockin .history-surface,#customer .history-surface{background:var(--history);border-radius:12px;overflow:hidden;box-shadow:0 14px 34px rgba(28,31,35,.035)}
#product .history-table,#stockin .history-table,#customer .history-table{width:100%;border-collapse:collapse;table-layout:fixed}
#product .master-section,#product .history-surface,#product .history-table{width:100%;max-width:none}
#product .history-table th,#stockin .history-table th,#customer .history-table th{height:37px;padding:0 13px;background:#F5F4F1;color:#A6ADB5;font-size:10.5px;font-weight:420;text-align:left;border-bottom:1px solid var(--line-soft)}
#product .history-table td,#stockin .history-table td,#customer .history-table td{height:55px;padding:0 13px;border-bottom:1px solid #ECEAE5;color:#404852;font-size:13px;vertical-align:middle}
#product .history-table tr:last-child td,#stockin .history-table tr:last-child td,#customer .history-table tr:last-child td{border-bottom:0}
#product .history-table tr:hover td,#stockin .history-table tr:hover td,#customer .history-table tr:hover td{background:#FBFBFA}
#product .ledger-main,#stockin .ledger-main,#customer .ledger-main{font-weight:650;color:var(--ink)}
#product .muted,#stockin .muted,#customer .muted{color:var(--muted)}
#product .sku-code,#stockin .sku-code,#customer .sku-code{color:#68717D;font-size:12px;font-weight:460}
#product .product-sku-cell{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;letter-spacing:0;white-space:nowrap;overflow:visible;text-overflow:clip}
#product .product-sku-cell::before,#product .product-sku-cell::after{content:none!important;display:none!important;border:0!important}
#product .product-spec-cell,#product .product-pack-cell,#product .price-cell,#product .price-cell b,#product .stock-cell b,#product .stock-cell .muted{white-space:nowrap}
#product .num,#stockin .num,#customer .num{text-align:left;font-variant-numeric:tabular-nums}
#product .stock-cell,#product .price-cell,#stockin .qty-cell,#customer .customer-kpi-number{font-variant-numeric:tabular-nums}
#product .history-table th:nth-child(5),#product .history-table th:nth-child(6),#product .history-table td:nth-child(5),#product .history-table td:nth-child(6){text-align:left}
#product .history-table td:nth-child(5) .stock-cell,#product .history-table td:nth-child(6) .price-cell{display:block;width:100%;text-align:left;justify-content:flex-start;align-items:flex-start;place-content:start;margin-left:0;margin-right:0}
#product .stock-cell .ledger-main,#product .stock-cell .muted,#product .price-cell > div,#product .price-cell .muted{display:block;text-align:left;margin-left:0;margin-right:0}
#product .history-table th:last-child,#product .history-table td:last-child{text-align:center!important;padding-left:14px!important;padding-right:14px!important}
#product .price-cell{color:#555E69;font-weight:430}
#product .price-cell .muted{color:#8C939C;font-weight:420}
#customer .history-table th:nth-child(4),#customer .history-table th:nth-child(5),#customer .history-table th:nth-child(6),#customer .history-table td:nth-child(4),#customer .history-table td:nth-child(5),#customer .history-table td:nth-child(6){text-align:left}
#customer .history-table th:last-child,#customer .history-table td:last-child{text-align:left}
#customer .history-table td:last-child .actions{justify-content:flex-start}
#customer .debt-inline{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0;font-variant-numeric:tabular-nums}
#customer .debt-cell{color:var(--debt);font-weight:540}
#customer .debt-cell::before{content:"";display:inline-block;flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--debt);opacity:.72}
#customer .zero-cell{color:#3F4752;font-weight:470}
#customer .zero-cell::before{content:"";display:inline-block;flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--green-soft);opacity:.76}
#product .actions,#customer .actions{display:flex;align-items:center;gap:10px;white-space:nowrap;position:relative;z-index:1;pointer-events:auto}
#product .actions{justify-content:center}
#product .action,#customer .action{display:inline-flex;align-items:center;min-height:28px;margin:0;padding:0 1px;border:0;background:transparent;color:#9AA1AA;text-decoration:none;font-size:12px;font-weight:460;font-family:inherit;line-height:1.25;white-space:nowrap;cursor:pointer;pointer-events:auto;position:relative;z-index:1;appearance:none}
#product .actions .action:first-child,#customer .actions .action:first-child{color:#626A74;font-weight:520}
#product .action-del,#customer .action-del{color:#B28A85}
#stockin .master-entry{background:var(--surface);padding:24px 28px;border-radius:12px;box-shadow:var(--shadow)}
#stockin .section-label{margin:0 0 12px;color:#5B6470;font-size:12px;font-weight:560;letter-spacing:0}
#stockin .entry-grid{display:grid;grid-template-columns:minmax(280px,1.45fr) minmax(110px,.55fr) 96px 138px 138px minmax(300px,1.35fr) 136px;gap:14px;align-items:end}
#stockin .entry-field{min-width:0}
#stockin .note-field-wrap{min-width:260px}
#stockin .submit-field{justify-self:end;width:136px}
#stockin .field-label{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:520}
#stockin .master-input{width:100%;height:38px;padding:0 10px;border:1px solid #E3E6EB;border-radius:8px;background:#fff;color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}
#stockin .readonly-value{display:flex;align-items:center;background:#FAFAF8;color:#2F3642}
#stockin .master-input:focus{outline:none;border-color:#CBCFCF;box-shadow:0 0 0 2px rgba(197,15,31,.04)}
#stockin .compact-confirm{width:100%;height:38px;margin:0;border:0;border-radius:8px;background:var(--red-deep);color:#fff;font-size:13px;font-weight:600;box-shadow:none}
#stockin .field-hint{display:none;margin-top:5px;color:var(--muted);font-size:11px}
#stockin .native-data-select{display:none}
#stockin #stockGoodsDropdownHost,#stockin #stockUnitDropdownHost{width:100%}
#stockin .master-product-dropdown{display:block;width:100%}
#customer .customer-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;background:#FCFCFA;border:1px solid #E7E4DE;border-radius:12px;overflow:hidden;box-shadow:none}
#customer .customer-kpi-item{position:relative;min-width:0;padding:12px 18px;background:transparent;border:0;box-shadow:none;border-radius:0;text-align:left;display:block}
#customer .customer-kpi-item:not(:last-child)::after{content:"";position:absolute;right:0;top:13px;bottom:13px;width:1px;background:#E4E1DA}
#customer .kpi-title{color:#9BA2AA;font-size:10.5px;font-weight:470}
#customer .customer-kpi-number{margin-top:5px;color:var(--ink);font-size:15px;line-height:1.25;font-weight:560;text-align:left;letter-spacing:0;white-space:nowrap}
:is(#ltrcms,#stockProcess,#fbo,#returnManage) .master-section{margin-top:20px}
:is(#ltrcms,#fbo) .history-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:12px}
:is(#ltrcms,#fbo) .history-title{margin:0;color:var(--ink);font-size:18px;font-weight:620}
:is(#ltrcms,#fbo) .history-subtitle{margin:3px 0 0;color:var(--muted);font-size:12px}
:is(#ltrcms,#fbo) .history-surface{background:var(--history);border-radius:12px;overflow:hidden;box-shadow:0 14px 34px rgba(28,31,35,.035)}
:is(#ltrcms,#fbo) .history-table{width:100%;border-collapse:collapse;table-layout:fixed}
:is(#ltrcms,#fbo) .history-table th{height:37px;padding:0 13px;background:#F5F4F1;color:#A6ADB5;font-size:10.5px;font-weight:420;text-align:left;border-bottom:1px solid var(--line-soft)}
:is(#ltrcms,#fbo) .history-table td{height:55px;padding:0 13px;border-bottom:1px solid #ECEAE5;color:#404852;font-size:13px;vertical-align:middle}
:is(#ltrcms,#fbo) .history-table tr:last-child td{border-bottom:0}
:is(#ltrcms,#fbo) .history-table tr:hover td{background:#FBFBFA}
:is(#ltrcms,#fbo) .ledger-main{font-weight:650;color:var(--ink)}
:is(#ltrcms,#fbo) .muted{color:var(--muted)}
:is(#ltrcms,#fbo) .sku-code{color:#68717D;font-size:12px;font-weight:460}
:is(#ltrcms,#fbo) .num{text-align:left;font-variant-numeric:tabular-nums}
:is(#ltrcms,#fbo) .actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;white-space:nowrap;position:relative;z-index:1;pointer-events:auto}
:is(#ltrcms,#fbo) .action{display:inline-flex;align-items:center;min-height:28px;margin:0;padding:0 1px;border:0;background:transparent;color:#9AA1AA;text-decoration:none;font-size:12px;font-weight:460;font-family:inherit;line-height:1.25;white-space:nowrap;cursor:pointer;pointer-events:auto;position:relative;z-index:1;appearance:none}
:is(#ltrcms,#fbo) .actions .action:first-child{color:#626A74;font-weight:520}
:is(#ltrcms,#fbo) .action.danger{color:#B28A85}
:is(#ltrcms,#fbo) .status{display:inline-flex;align-items:center;gap:6px;color:#424A56;font-weight:470}
:is(#ltrcms,#fbo) .status::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green);opacity:.76}
:is(#ltrcms,#fbo) .status.due::before{background:var(--debt);opacity:.78}
:is(#ltrcms,#fbo) .status.partial::before{background:#A88F87;opacity:.76}
:is(#ltrcms,#fbo) .status.clear::before{background:var(--green-soft);opacity:.86}
:is(#ltrcms,#fbo) .status.returned::before{background:#9EA3AA;opacity:.78}
:is(#ltrcms,#fbo) .status.void::before{background:#B28A85;opacity:.8}
:is(#ltrcms,#fbo) .pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:10px 0 0;color:var(--muted);font-size:12px;font-weight:420}
:is(#ltrcms,#fbo) .pagination .page-stat{margin-right:auto;color:#9299A2}
:is(#ltrcms,#fbo) .pagination .page-controls{display:inline-flex;align-items:center;gap:4px}
:is(#ltrcms,#fbo) .pagination .page-icon,:is(#ltrcms,#fbo) .pagination .page-number{display:inline-flex;align-items:center;justify-content:center;height:30px;min-height:30px;max-height:30px;min-width:30px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#66707C;font-size:13px;line-height:1;box-shadow:none;font-variant-numeric:tabular-nums}
:is(#ltrcms,#fbo) .pagination .page-icon{font-size:17px;font-weight:430;color:#7A838E}
:is(#ltrcms,#fbo) .pagination .page-number.active{background:#F5F3F0;border-color:#E7E3DD;color:#303640;font-weight:560}
:is(#ltrcms,#fbo) .pagination .page-icon:hover:not(:disabled),:is(#ltrcms,#fbo) .pagination .page-number:hover:not(:disabled){background:#F8F8F6;border-color:#ECE8E1;color:#303640}
:is(#ltrcms,#fbo) .pagination .page-icon:disabled{color:#CDD2D8;background:transparent;border-color:transparent;opacity:1}
:is(#stockProcess,#fbo,#returnManage) .batch2-workspace{background:var(--surface);padding:24px 28px;border-radius:12px;box-shadow:var(--shadow)}
#returnManage .return-entry-strip{display:none}
#returnManage .return-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(118px,1fr)) minmax(174px,.78fr);gap:0;margin:0;background:#FCFCFA;border:1px solid #E7E4DE;border-radius:12px;overflow:hidden;box-shadow:none}
#returnManage .customer-kpi-item{position:relative;min-width:0;padding:12px 18px;background:transparent;border:0;box-shadow:none;border-radius:0;text-align:left;display:block}
#returnManage .customer-kpi-item:not(:last-child)::after{content:"";position:absolute;right:0;top:13px;bottom:13px;width:1px;background:#E4E1DA}
#returnManage .kpi-title{color:#9BA2AA;font-size:10.5px;font-weight:470;line-height:1.35}
#returnManage .customer-kpi-number{margin-top:5px;color:var(--ink);font-size:15px;line-height:1.25;font-weight:560;text-align:left;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}
#returnManage .return-kpi-action{display:flex;align-items:center;justify-content:flex-end;padding:12px 16px}
#returnManage .return-kpi-action .add-btn{height:34px;white-space:nowrap}
#returnManage .return-filterbar{display:grid;grid-template-columns:minmax(260px,1fr) 138px 132px 132px auto;align-items:end;gap:10px;min-width:min(100%,820px)}
#returnManage .return-filterbar .search{width:100%;height:36px;display:flex;align-items:center;padding:0 11px;border:1px solid #E3E6EB;border-radius:8px;background:#fff;color:var(--muted);font-size:13px}
#returnManage .return-filterbar .search-field{width:100%;height:100%;border:0;background:transparent;color:var(--text);font-size:13px}
#returnManage .return-filterbar .search-field:focus{outline:none}
#returnManage .return-filter-control{min-width:0}
#returnManage .return-date{height:36px}
#returnManage .return-filterbar .add-btn{height:36px;white-space:nowrap}
#returnManage .return-note{margin-top:3px;color:var(--muted);font-size:11px;font-weight:420}
#returnManage ~ #globalModal .return-detail-grid,.return-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.return-detail-card{min-width:0;padding:11px 12px;border:1px solid #E7E4DE;border-radius:10px;background:#FCFCFA}
.return-detail-card b{display:block;margin:0 0 5px;color:#9BA2AA;font-size:10.5px;font-weight:470}
.return-detail-card span{display:block;color:var(--ink);font-size:13px;font-weight:520;line-height:1.35;word-break:break-word}
:is(#stockProcess,#fbo) .batch2-entry-grid{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(160px,.8fr) minmax(96px,.45fr) 96px minmax(150px,.7fr) minmax(210px,1fr) 128px;gap:14px;align-items:end}
#fbo .batch2-entry-grid{grid-template-columns:minmax(260px,1.35fr) minmax(150px,.72fr) minmax(90px,.42fr) 90px minmax(140px,.62fr) minmax(190px,.95fr) 150px}
#stockProcess .batch2-entry-grid{grid-template-columns:minmax(300px,1.6fr) minmax(190px,.95fr) minmax(96px,.45fr) 96px minmax(250px,1fr) 128px}
#stockProcess .field-wide:last-of-type{grid-column:auto}
:is(#ltrcms,#stockProcess,#fbo,#returnManage) .field{min-width:0}
:is(#ltrcms,#stockProcess,#fbo,#returnManage) .form-label{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:520}
:is(#ltrcms,#stockProcess,#fbo,#returnManage) .master-input,:is(#ltrcms,#stockProcess,#fbo,#returnManage) .form-input{width:100%;height:38px;padding:0 10px;border:1px solid #E3E6EB;border-radius:8px;background:#fff;color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}
:is(#ltrcms,#stockProcess,#fbo,#returnManage) .master-input:focus,:is(#ltrcms,#stockProcess,#fbo,#returnManage) .form-input:focus{outline:none;border-color:#CBCFCF;box-shadow:0 0 0 2px rgba(197,15,31,.04)}
:is(#ltrcms,#stockProcess,#fbo,#returnManage) .add-btn{height:36px;padding:0 14px;border:1px solid #DEDCD7;border-radius:8px;background:#fff;color:#3E4650;font-size:13px;font-weight:540;box-shadow:0 1px 0 rgba(17,21,28,.025)}
:is(#stockProcess,#fbo) .primary-action-btn{width:100%;height:38px;border:0;background:var(--red-deep);color:#fff;font-weight:600}
#fbo .action-field{min-width:150px;justify-self:end;width:150px}
#fbo .primary-action-btn{min-width:150px;white-space:nowrap;padding-left:14px;padding-right:14px}
:is(#ltrcms,#stockProcess,#fbo,#returnManage) .secondary-tool{border-color:#E7E4DE;background:transparent;color:#747C86;font-weight:430}
.batch2-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:20px 0 0;background:#FCFCFA;border:1px solid #E7E4DE;border-radius:12px;overflow:hidden;box-shadow:none}
.batch2-summary-item{position:relative;min-width:0;padding:12px 18px;background:transparent}
.batch2-summary-item:not(:last-child)::after{content:"";position:absolute;right:0;top:13px;bottom:13px;width:1px;background:#E4E1DA}
.batch2-summary-label{color:#9BA2AA;font-size:10.5px;font-weight:470}
.batch2-summary-value{margin-top:5px;color:var(--ink);font-size:15px;line-height:1.25;font-weight:560;text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap}
:is(#stockProcess,#fbo,#returnManage) .batch2-note{margin:0;color:#7E8791;font-size:12px;font-weight:430;line-height:1.45}
#fbo .batch2-note{margin-top:10px}
.batch2-empty{padding:28px 20px;text-align:center;color:var(--muted)}
.batch2-empty-title{margin-bottom:6px;color:var(--ink);font-size:14px;font-weight:560}
.batch2-delta{font-weight:540;font-variant-numeric:tabular-nums;color:#555E69}
.batch2-delta.neg{color:var(--debt)}
.batch2-delta.pos{color:#566C5C}
.batch2-delta.zero{color:var(--muted)}
:is(#ltrcms,#stockProcess,#fbo) .master-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex-wrap:nowrap}
#ltrcms .batch2-ltrcms-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 150px 150px 136px 136px 88px;gap:8px;align-items:end}
:is(#ltrcms,#stockProcess,#fbo) .search{width:312px;height:36px;display:flex;align-items:center;padding:0 11px;border:1px solid #E3E6EB;border-radius:8px;background:#fff;color:var(--muted);font-size:13px}
#ltrcms .search{width:100%}
:is(#ltrcms,#stockProcess,#fbo) .search-field{width:100%;height:100%;border:0;background:transparent;color:var(--text);font-size:13px}
:is(#ltrcms,#stockProcess,#fbo) .search-field:focus{outline:none}
:is(#ltrcms,#stockProcess,#fbo) .native-data-select{display:none}
.batch2-native-select{display:none}
.batch2-dropdown-host{width:100%}
.batch2-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1500px){
  .shell-inner{padding-left:24px;padding-right:24px}
  .module-nav{gap:20px}
  #sale .workbench{grid-template-columns:minmax(0,1fr) 286px}
  #sale .builder{padding-left:24px;padding-right:24px}
  #sale .summary{padding-left:22px;padding-right:22px}
  #sale .command-strip{grid-template-columns:minmax(230px,1fr) minmax(330px,1.22fr) 148px;gap:18px}
  #sale .editable-table col.product{width:36%}
  #sale .editable-table col.price{width:19%}
  #sale .history-table th,#sale .history-table td,#stockProcess .history-table th,#stockProcess .history-table td,#returnManage .history-table th,#returnManage .history-table td{padding-left:11px;padding-right:11px}
  #product .history-table th,#product .history-table td,#stockin .history-table th,#stockin .history-table td,#customer .history-table th,#customer .history-table td,:is(#ltrcms,#fbo) .history-table th,:is(#ltrcms,#fbo) .history-table td{padding-left:11px;padding-right:11px}
  #stockin .entry-grid{grid-template-columns:minmax(250px,1.25fr) 104px 84px 126px 126px minmax(240px,1fr) 126px;gap:12px}
  #stockin .submit-field{width:126px}
  :is(#stockProcess,#fbo) .batch2-entry-grid{grid-template-columns:minmax(220px,1.25fr) minmax(148px,.8fr) 88px 88px minmax(132px,.7fr) minmax(180px,1fr) 112px;gap:12px}
  #fbo .batch2-entry-grid{grid-template-columns:minmax(220px,1.18fr) minmax(140px,.72fr) 84px 84px minmax(124px,.6fr) minmax(168px,.88fr) 144px}
  #fbo .action-field{width:144px;min-width:144px}
  #fbo .primary-action-btn{min-width:144px}
  #stockProcess .batch2-entry-grid{grid-template-columns:minmax(260px,1.35fr) minmax(168px,.9fr) 88px 88px minmax(210px,1fr) 112px}
  #ltrcms .batch2-ltrcms-toolbar{grid-template-columns:minmax(220px,1fr) 138px 138px 128px 128px 84px}
}
@media(max-width:1120px){
  #sale .workbench{grid-template-columns:1fr}
  #sale .builder{border-radius:12px}
  #sale .summary{border-radius:12px}
  #sale .command-strip{grid-template-columns:1fr}
  #sale .history-head{align-items:stretch;flex-direction:column}
  #sale .search{width:100%}
  #sale .history-surface,#stockProcess .history-surface,#returnManage .history-surface{overflow-x:auto}
  #sale .history-table{min-width:1040px}
  #product .product-page-header,#product .history-head,#stockin .history-head,#customer .history-head{align-items:stretch;flex-direction:column}
  #product .master-toolbar,#customer .master-toolbar{align-items:stretch;flex-direction:column}
  #product .search,#stockin .search,#customer .search{width:100%}
  #product .history-surface,#stockin .history-surface,#customer .history-surface{overflow-x:auto}
  :is(#ltrcms,#fbo) .history-surface{overflow-x:auto}
  #product .history-table{min-width:980px}
  #stockin .history-table{min-width:760px}
  #customer .history-table{min-width:980px}
  #ltrcms .history-table{min-width:1180px}
  #stockProcess .history-table,:is(#fbo) .history-table{min-width:760px}
  #returnManage .history-table{min-width:1080px}
  #stockin .entry-grid,#customer .customer-kpi-strip{grid-template-columns:1fr}
  :is(#stockProcess,#fbo) .batch2-entry-grid,#ltrcms .batch2-ltrcms-toolbar,.batch2-summary-strip{grid-template-columns:1fr}
  #returnManage .return-filterbar{grid-template-columns:1fr}
  #returnManage .return-kpi-strip{grid-template-columns:1fr}
  #returnManage .return-kpi-action{justify-content:flex-start}
}

/* LTRCMS now uses the shared MASTER page, ledger, toolbar, dropdown, and
   pagination owners from erp-v97-sales-workbench.css. This file only keeps
   LTRCMS-specific modal affordances that are not page layout owners. */
#ltrcms .ltrcms-sync-disabled {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-top: 10px;
  padding: 6px 10px;
  border: 1px solid #E7E4DE;
  border-radius: 8px;
  background: #F8F8F6;
  color: #7E8791;
  font-size: 12px;
  font-weight: 430;
}

#ltrcms .ltrcms-detail-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}

#ltrcms .ltrcms-detail-actions .btn[disabled] {
  opacity: .48;
  cursor: not-allowed;
}


#ltrcms .master-section {
  margin-top: 0;
}

body.erp-ui2 #ltrcms.ltrcms-batch5-page {
  padding-top: var(--workbench-page-top) !important;
}

body.erp-ui2 #ltrcms .ltrcms-batch5-toolbar {
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: var(--workbench-toolbar-gap) !important;
  margin: 0 0 12px !important;
}

body.erp-ui2 #ltrcms .ltrcms-filterbar {
  margin-left: var(--workbench-context-control-margin, auto) !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

#ltrcms .ltrcms-filterbar .search,
#ltrcms .ltrcms-filterbar .batch2-select-field,
#ltrcms .ltrcms-filterbar .batch2-dropdown-host,
#ltrcms .ltrcms-filterbar .ltrcms-date-range,
#ltrcms .ltrcms-filterbar .add-btn {
  height: var(--workbench-control-height, 34px) !important;
  min-height: var(--workbench-control-height, 34px) !important;
}

body.erp-ui2 #ltrcms .ltrcms-filterbar .search {
  position: relative !important;
  width: var(--workbench-search-width) !important;
  flex: 0 0 var(--workbench-search-width) !important;
  padding: 0 11px 0 34px !important;
  border: 1px solid var(--erp-master-field-border, #e4e8ed) !important;
  border-radius: var(--erp-master-field-radius, 6px) !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: none !important;
}

body.erp-ui2 #ltrcms .ltrcms-filterbar .search::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  opacity: .72;
  background: no-repeat center / 14px 14px url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m21 21-4.35-4.35' stroke='%238793A6' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='11' cy='11' r='6.2' stroke='%238793A6' stroke-width='1.8'/%3E%3C/svg%3E");
}

body.erp-ui2 #ltrcms .ltrcms-filterbar .search:focus-within {
  border-color: var(--erp-master-field-focus, #8995a1) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: none !important;
}

body.erp-ui2 #ltrcms .ltrcms-filterbar .search-field {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #1e293b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.erp-ui2 #ltrcms .ltrcms-filter-type {
  width: 138px !important;
  flex: 0 0 138px !important;
}

body.erp-ui2 #ltrcms .ltrcms-filter-status {
  width: 132px !important;
  flex: 0 0 132px !important;
}

body.erp-ui2 #ltrcms .ltrcms-filter-time {
  width: 122px !important;
  flex: 0 0 122px !important;
}


#ltrcms .ltrcms-date-range {
  display: inline-grid;
  grid-template-columns: 126px 126px;
  gap: 8px;
  align-items: center;
  flex: 0 0 auto;
}

#ltrcms .ltrcms-date-range[hidden] {
  display: none !important;
}

body.erp-ui2 #ltrcms .batch2-date-field {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  width: 126px;
}

body.erp-ui2 #ltrcms .batch2-date-field > span:not(.erp-date-control) {
  display: none !important;
}

body.erp-ui2 #ltrcms .batch2-date-field .erp-date-control {
  width: 100%;
}

body.erp-ui2 #ltrcms .ltrcms-filterbar .add-btn {
  flex: 0 0 auto !important;
  height: var(--workbench-control-height, 34px) !important;
  min-height: var(--workbench-control-height, 34px) !important;
  padding: 0 13px !important;
  border: 1px solid rgba(214, 222, 233, .86) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #344052 !important;
  font-size: 13px !important;
  font-weight: 560 !important;
  box-shadow: none !important;
}

body.erp-ui2 #ltrcms .ltrcms-integration-surface {
  overflow: hidden !important;
}

body.erp-ui2 #ltrcms .ltrcms-ledger-table {
  table-layout: fixed !important;
}

body.erp-ui2 #ltrcms .ltrcms-ledger-table .num {
  text-align: left !important;
  font-variant-numeric: tabular-nums !important;
}

body.erp-ui2 #ltrcms .status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #424a56 !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  box-shadow: none !important;
}

body.erp-ui2 #ltrcms .status::before {
  content: "" !important;
  width: 5px !important;
  height: 5px !important;
  flex: 0 0 auto !important;
  border-radius: 50% !important;
  background: #86aa8b !important;
  opacity: .78 !important;
}

body.erp-ui2 #ltrcms .status.partial::before {
  background: #a88f87 !important;
}

body.erp-ui2 #ltrcms .status.void::before,
body.erp-ui2 #ltrcms .status.returned::before {
  background: #b28a85 !important;
}

body.erp-ui2 #globalModal[data-detail-kind="ltrcms"] .ltrcms-readonly-detail {
  display: grid !important;
  gap: 16px !important;
}

body.erp-ui2 #globalModal[data-detail-kind="ltrcms"] .personnel-readonly-grid {
  margin: 0 !important;
}

body.erp-ui2 #globalModal[data-detail-kind="ltrcms"] .detail-table-wrap table {
  min-width: 760px !important;
}

body.erp-ui2 #globalModal[data-detail-kind="ltrcms"] .num {
  text-align: left !important;
  font-variant-numeric: tabular-nums !important;
}

@media(max-width:1120px) {
  body.erp-ui2 #ltrcms .ltrcms-batch5-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  #ltrcms .ltrcms-filterbar,
  #ltrcms .ltrcms-filterbar .search,
  #ltrcms .ltrcms-filterbar .batch2-select-field,
  #ltrcms .ltrcms-filterbar .ltrcms-date-range,
  #ltrcms .ltrcms-filterbar .add-btn {
    width: 100%;
    flex: 1 1 auto !important;
  }

  #ltrcms .ltrcms-date-range {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

#finance .finance-local-toolbar-slot,
#finance .finance-section-tabs {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

#finance .finance-local-toolbar-slot {
  margin: 0 0 18px;
}

#finance .finance-section-tabs {
  margin: 0 0 12px;
}

#finance .finance-profit-subtabs {
  gap: 18px;
  margin: 0 0 22px;
  min-height: 32px;
  flex-wrap: nowrap;
}

#finance .finance-light-tab {
  position: relative;
  height: 32px;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #7B8490;
  font-size: 13px;
  font-weight: 560;
  letter-spacing: 0;
  box-shadow: none;
  cursor: pointer;
}

#finance .finance-light-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: transparent;
}

#finance .finance-light-tab.active {
  color: var(--red-deep);
}

#finance .finance-light-tab.active::after {
  background: rgba(152, 16, 26, .72);
}

#finance .add-btn {
  height: 36px;
  padding: 0 14px;
  border: 1px solid #DEDCD7;
  border-radius: 8px;
  background: #fff;
  color: #3E4650;
  font-size: 13px;
  font-weight: 540;
  box-shadow: 0 1px 0 rgba(17,21,28,.025);
}

#finance .add-btn.active {
  border-color: #D4D0C8;
  background: #FCFCFA;
  color: #303640;
  font-weight: 580;
}

#finance .finance-summary {
  margin: 0 0 18px;
}

#finance .finance-summary-panel {
  position: relative;
  background: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}

#finance .finance-summary-panel::before {
  content: none;
}

#finance .summary-title {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 620;
}

#finance .customer-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  min-height: 67px;
  background: #FCFCFA;
  border: 1px solid #E7E4DE;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: none;
}

#finance .finance-profit-kpi-strip {
  min-height: 67px;
}

#finance .finance-profit-kpi-strip .customer-kpi-number {
  font-size: 15.5px;
  font-weight: 590;
}

#finance .customer-kpi-item {
  position: relative;
  min-width: 0;
  padding: 12px 18px;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  text-align: left;
  display: block;
}

#finance .customer-kpi-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 13px;
  bottom: 13px;
  width: 1px;
  background: #E4E1DA;
}

#finance .kpi-title {
  color: #667085;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  margin: 0;
}

#finance .customer-kpi-number {
  margin-top: 5px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 560;
  text-align: left;
  letter-spacing: 0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
}

#finance .customer-kpi-number span {
  margin-left: 4px;
  color: #9BA2AA;
  font-size: 10.5px;
  font-weight: 470;
}

#finance .finance-kpi-note {
  position: absolute;
  left: 18px;
  bottom: 3px;
  margin: 0;
  color: #A8AFB7;
  font-size: 9px;
  font-weight: 430;
  line-height: 1;
  pointer-events: none;
}

#finance .finance-kpi-strip-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#finance .finance-kpi-aux {
  margin-top: 8px;
}

#finance .finance-summary-meta {
  margin-top: 8px;
  color: #8B939D;
  font-size: 11.5px;
  line-height: 1.45;
  font-weight: 450;
  letter-spacing: 0;
}

#finance .finance-summary-warning {
  margin-top: 4px;
  color: #A2A9B1;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 430;
}

#finance .finance-cost-calculator {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 26%);
  gap: 20px;
  align-items: start;
  margin-bottom: 24px;
}

#finance .finance-calc-results {
  background: #FCFCFA;
  border: 1px solid #E7E4DE;
  border-radius: 12px;
  box-shadow: none;
}

#finance .finance-calc-panel {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#finance .finance-calc-results {
  padding: 24px 21px 23px;
  position: sticky;
  top: 16px;
}

#finance .finance-calc-section + .finance-calc-section,
#finance .finance-calc-grid {
  margin-top: 24px;
}

#finance .finance-calc-section h3,
#finance .finance-calc-results h3 {
  margin: 0;
  color: var(--ink);
  font-size: 14.5px;
  font-weight: 620;
}

#finance .finance-calc-section p {
  margin: 4px 0 10px;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.45;
}

#finance .finance-calc-page-title {
  margin-bottom: 18px;
}

#finance .finance-calc-page-title .history-title {
  margin: 0;
}

#finance .finance-calc-page-title .history-subtitle {
  margin: 5px 0 0;
}

#finance .finance-calc-top-stack {
  display: grid;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  align-items: start;
}

#finance .finance-calc-condition-area {
  padding: 12px 14px 10px;
}

#finance .finance-calc-workspace-divider {
  height: 0;
  border-top: 1px solid rgba(226, 232, 240, .78);
}

#finance .finance-calc-control-label {
  display: block;
  margin: 0 0 6px;
  color: #667085;
  font-size: 11px;
  font-weight: 620;
  line-height: 1.25;
}

#finance .finance-calc-mode-row {
  min-width: 0;
}

#finance .finance-calc-top-controls {
  display: flex;
  align-items: end;
  gap: 8px 10px;
  width: 100%;
  max-width: 100%;
  flex-wrap: wrap;
}

#finance .finance-calc-top-control {
  display: grid;
  gap: 6px;
  min-width: 0;
  margin: 0;
}

#finance .finance-calc-top-control .finance-calc-control-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#finance .finance-calc-mode-control {
  flex: 0 1 192px;
  width: 192px;
}

#finance .finance-calc-fixed-cell {
  flex: 0 1 164px;
  width: 164px;
}

#finance .finance-calc-period-control {
  flex: 0 1 126px;
  width: 126px;
}

#finance .finance-calc-custom-date-range {
  display: inline-flex;
  align-items: end;
  gap: 8px;
  flex: 0 1 auto;
}

#finance .finance-calc-custom-date-range .finance-date-pill {
  width: 132px;
  flex-basis: 132px;
}

#finance .finance-calc-top-control .finance-filter-select,
#finance .finance-calc-top-control .lhx-select {
  width: 100% !important;
  flex: 0 0 auto !important;
}

#finance .finance-calc-fixed-result-line {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  align-self: end;
  margin-left: auto;
  min-height: 34px;
  width: fit-content;
  max-width: 100%;
  padding-left: 11px;
  border-left: 1px solid rgba(214, 222, 233, .82);
  color: #7c8798;
  font-size: 11.5px;
  line-height: 1.35;
  white-space: nowrap;
}

#finance .finance-calc-fixed-result-line span {
  font-weight: 540;
}

#finance .finance-calc-fixed-result-line strong {
  color: #253044;
  font-size: 11.8px;
  font-weight: 640;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

#finance .finance-calc-fixed-result-line .action {
  height: auto;
  padding: 0 2px;
  border: 0;
  background: transparent;
  color: var(--red-deep);
  font-size: 11.5px;
  font-weight: 590;
  line-height: 1.35;
}

#finance .finance-calc-param-band {
  display: grid;
  grid-template-columns: minmax(260px, .36fr) minmax(168px, .24fr) minmax(168px, .24fr);
  align-items: start;
  gap: 18px 24px;
  width: min(100%, 760px);
}

#finance .finance-calc-param-band:not(:has(.finance-calc-fixed-cell)) {
  grid-template-columns: repeat(2, minmax(168px, 180px));
  width: min(100%, 384px);
}

#finance .finance-calc-param-cell {
  min-width: 0;
}

#finance .finance-calc-extra-fields:empty {
  display: none;
}

#finance .finance-calc-date-cell .finance-calc-field > span {
  display: none;
}

#finance .finance-calc-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 9px;
}

#finance .finance-calc-section-head p {
  margin-bottom: 0;
}

#finance .finance-calc-price-head {
  align-items: center;
  margin: 0;
  padding: 10px 14px 9px;
  border-bottom: 1px solid rgba(226, 232, 240, .78);
}

#finance .finance-calc-price-head h3 {
  display: inline;
  margin-right: 9px;
}

#finance .finance-calc-price-head p {
  display: inline;
  color: #8a94a5;
  font-size: 11px;
  font-weight: 430;
  line-height: 1.35;
}

#finance .finance-calc-save-default {
  flex: 0 0 auto;
  height: 32px;
  padding: 0 12px;
  border-radius: 8px;
  font-size: 12px;
}

#finance .finance-calc-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(280px, .94fr);
  gap: 20px;
  align-items: stretch;
  border-top: 1px solid #ECE8E1;
  padding-top: 20px;
}

#finance .finance-calc-cost-grid {
  grid-template-columns: minmax(0, 1.16fr) minmax(286px, .84fr);
}

#finance .finance-calc-side-stack {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
  gap: 16px;
  height: 100%;
  min-width: 0;
}

#finance .finance-calc-side-stack .finance-calc-subpanel {
  height: 100%;
}

#finance .finance-calc-side-stack .finance-calc-section {
  margin: 0;
}

#finance .finance-calc-subpanel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  padding: 20px 20px 18px;
  border: 1px solid #ECE8E1;
  border-radius: 9px;
  background: rgba(255,255,255,.44);
}

#finance .finance-calc-subpanel .finance-calc-fields {
  margin-top: 1px;
}

#finance .finance-calc-repatriation-panel .finance-calc-fields {
  grid-template-columns: 1fr;
}

#finance .finance-calc-sales-section .finance-calc-fields {
  grid-template-columns: 1fr;
}

#finance .finance-calc-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: nowrap;
  width: fit-content;
  max-width: 100%;
  margin: 0;
}

#finance .finance-calc-segmented {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-height: 32px;
  padding: 2px;
  border: 1px solid #E3DED6;
  border-radius: 8px;
  background: rgba(255,255,255,.82);
  max-width: 100%;
  box-sizing: border-box;
}

#finance .finance-calc-toolbar .finance-calc-segmented {
  flex: 0 1 auto;
}

#finance .finance-calc-toolbar .finance-calc-month {
  flex: 0 0 auto;
}

#finance .finance-calc-segment,
#finance .finance-calc-month {
  height: 28px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #68727F;
  font-size: 12px;
  font-weight: 590;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
  cursor: pointer;
  transition: background .14s ease, box-shadow .14s ease, color .14s ease;
}

#finance .finance-calc-segment {
  flex: 0 0 auto;
  padding: 0 10px;
}

#finance .finance-calc-month {
  height: 32px;
  padding: 0 13px;
  border-color: #E2DDD5;
  background: #fff;
}

#finance .finance-calc-segment.active,
#finance .finance-calc-segment:hover,
#finance .finance-calc-month:hover {
  background: #FFF3F4;
  box-shadow: inset 0 0 0 1px #E8C9CD;
  color: var(--red-deep);
}

#finance .finance-calc-segment:active,
#finance .finance-calc-month:active {
  background: #FBE7E9;
}

#finance .finance-calc-mini-control {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  min-width: 0;
  flex-wrap: wrap;
}

#finance .finance-calc-mini-control > span {
  color: #667085;
  font-size: 11.5px;
  font-weight: 600;
}

#finance .finance-calc-fixed-source-row {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  min-width: 0;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  flex-direction: column;
}

#finance .finance-calc-segmented-mini {
  min-height: 30px;
}

#finance .finance-calc-segmented-mini .finance-calc-segment {
  height: 26px;
  padding: 0 11px;
}

#finance .finance-calc-source-summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 0 2px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#finance .finance-calc-source-summary span {
  color: #8D95A0;
  font-size: 10.8px;
  font-weight: 520;
  line-height: 1.35;
}

#finance .finance-calc-source-summary strong {
  color: var(--ink);
  font-size: 11.2px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1.35;
  white-space: nowrap;
}

#finance .finance-calc-source-summary .action {
  margin-left: 2px;
}

#finance .finance-calc-fixed-source-row .action-detail {
  flex: 0 0 auto;
  height: auto;
  line-height: 1.35;
  padding: 0 2px;
  border: 0;
  background: transparent;
  color: var(--red-deep);
  font-size: 11.5px;
}

#finance .finance-calc-fixed-template-fields {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#finance .finance-calc-template-total {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 9px;
  color: #717984;
  font-size: 12px;
}

#finance .finance-calc-template-total strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

#finance .finance-calc-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 24px;
}

#finance .finance-calc-scope-fields {
  grid-template-columns: repeat(2, minmax(180px, 220px)) minmax(180px, 220px);
  justify-content: start;
  width: min(100%, 680px);
  margin-top: 0;
}

#finance .finance-calc-scope-fields:has(.finance-calc-product-field) {
  width: 100%;
}

#finance .finance-calc-product-field {
  grid-column: 1 / -1;
}

#finance .finance-calc-field {
  display: block;
  min-width: 0;
}

#finance .finance-calc-field > span {
  display: block;
  margin: 0 0 6px;
  color: #667085;
  font-size: 11px;
  font-weight: 590;
}

#finance .finance-calc-input-row {
  display: grid;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

#finance .finance-calc-input-row.has-unit {
  grid-template-columns: minmax(0, 1fr) minmax(54px, max-content);
}

#finance .finance-calc-input-row.no-unit {
  grid-template-columns: minmax(0, 1fr);
}

#finance .finance-calc-input-row .finance-calc-input {
  width: 100%;
  min-width: 0;
  height: 36px;
  padding: 0 11px;
  border: 1px solid #D8DDE3;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  box-shadow: none;
  font-size: 13px;
  font-weight: 520;
  font-variant-numeric: tabular-nums;
  outline: none;
}

#finance .finance-calc-input-row .finance-calc-input::placeholder {
  color: #A5ABB4;
  font-weight: 430;
}

#finance .finance-calc-input-row .finance-calc-input:hover {
  border-color: #C9D0D8;
}

#finance .finance-calc-input-row .finance-calc-input:focus {
  border-color: var(--red-deep);
  box-shadow: 0 0 0 3px rgba(152,16,26,.08);
}

#finance .finance-calc-field .form-select {
  width: 100%;
  height: 36px;
  padding: 0 11px;
  border: 1px solid #D8DDE3;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 520;
  outline: none;
}

#finance .finance-calc-field .form-select:hover {
  border-color: #C9D0D8;
}

#finance .finance-calc-field .form-select:focus {
  border-color: var(--red-deep);
  box-shadow: 0 0 0 3px rgba(152,16,26,.08);
}

#finance .finance-calc-input-row em {
  color: #98A0AA;
  font-style: normal;
  font-size: 11px;
  white-space: nowrap;
  min-width: 54px;
  text-align: left;
}

#finance .finance-calc-field small {
  display: block;
  margin-top: 3px;
  color: #9BA2AC;
  font-size: 10.5px;
  line-height: 1.25;
}

#finance .finance-calc-readonly-note {
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid #E6E2DB;
  border-radius: 8px;
  background: #FCFBF8;
}

#finance .finance-calc-readonly-note span {
  display: block;
  color: #667085;
  font-size: 11px;
  font-weight: 590;
}

#finance .finance-calc-readonly-note strong {
  display: block;
  margin-top: 4px;
  color: #3F4753;
  font-size: 12.5px;
  font-weight: 590;
}

#finance .finance-calc-readonly-plain {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

#finance .finance-calc-readonly-plain strong {
  margin-top: 2px;
  color: #48515D;
}

#finance .finance-calc-product-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
}

#finance .finance-calc-check {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid #D8DDE3;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

#finance .finance-calc-check:hover {
  border-color: #C9D0D8;
}

#finance .finance-calc-check input {
  flex: 0 0 auto;
  accent-color: var(--red-deep);
}

#finance .finance-calc-check span {
  min-width: 0;
}

#finance .finance-calc-check b,
#finance .finance-calc-check small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#finance .finance-calc-check b {
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
}

#finance .finance-calc-check small {
  margin: 2px 0 0;
  color: #9BA2AC;
  font-size: 10.5px;
  font-weight: 430;
}

#finance .finance-calc-price-surface {
  border-color: #E7E4DE;
  overflow: hidden;
}

#finance .finance-calc-workspace-surface {
  width: 100%;
}

#finance .finance-calc-price-surface .history-table {
  width: 100%;
  table-layout: fixed;
}

#finance .finance-calc-price-surface .history-table th {
  padding-top: 7px;
  padding-bottom: 7px;
  color: #586274;
  font-size: 11px;
  letter-spacing: 0;
}

#finance .finance-calc-price-surface .history-table td {
  padding-top: 5px;
  padding-bottom: 5px;
  vertical-align: middle;
}

#finance .finance-calc-product-name {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  color: #253044;
  font-size: 12.2px;
  font-weight: 570;
  line-height: 1.2;
  white-space: nowrap;
}

#finance .finance-calc-product-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#finance .finance-calc-product-dot {
  flex: 0 0 auto;
  color: #b8c0cc;
  font-weight: 430;
}

#finance .finance-calc-product-sku {
  flex: 1 1 auto;
  min-width: 44px;
  overflow: hidden;
  color: #9aa4b5;
  font-size: 10.3px;
  font-weight: 430;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#finance .finance-calc-price-cell {
  text-align: left;
}

#finance .finance-calc-price-cell .finance-calc-field,
#finance .finance-calc-price-cell .finance-calc-input-row {
  width: 138px;
  max-width: 100%;
  margin-left: 0;
}

#finance .finance-calc-price-cell .finance-calc-input-row .finance-calc-input {
  height: 29px;
  text-align: left;
}

#finance .finance-calc-price-spacer {
  background: rgba(248, 250, 252, .35);
}

#finance .finance-calc-settlement-cell {
  width: 190px;
  color: #364152;
  font-size: 13px;
  font-weight: 610;
  font-variant-numeric: tabular-nums;
}

#finance .finance-calc-price-surface .finance-calc-field > span {
  display: none;
}

#finance .finance-calc-consolidation-table .history-surface {
  overflow-x: auto;
}

#finance .finance-consolidation-table {
  min-width: 1180px;
}

#finance .finance-consolidation-table th,
#finance .finance-consolidation-table td {
  white-space: nowrap;
}

#finance .finance-consolidation-table .finance-calc-price-cell .finance-calc-field,
#finance .finance-consolidation-table .finance-calc-price-cell .finance-calc-input-row {
  width: 150px;
}

#finance .finance-calc-import-panel .finance-calc-fields {
  gap: 14px 24px;
}

#finance .finance-calc-import-panel .finance-calc-field:last-child {
  grid-column: 1 / -1;
}

#finance .finance-calc-price-empty {
  padding: 16px 18px !important;
  color: #8E96A3;
  font-size: 12.5px;
}

#finance .finance-calc-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 9px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #ECE8E1;
}

#finance .finance-calc-actions .add-btn,
#finance .finance-calc-actions .confirm {
  height: 41px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

#finance .finance-calc-actions .confirm {
  padding: 0 18px;
  border: 0;
  background: var(--red-deep);
  color: #fff;
  box-shadow: none;
}

#finance .finance-calc-results {
  display: grid;
  gap: 0;
}

#finance .finance-calc-result-group {
  display: grid;
  gap: 4px;
}

#finance .finance-calc-result-group + .finance-calc-result-group {
  margin-top: 11px;
  padding-top: 12px;
  border-top: 1px solid rgba(230,225,218,.44);
}

#finance .finance-calc-result-group h4 {
  margin: 0 0 6px;
  color: #8B939D;
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: 0;
}

#finance .finance-calc-result,
#finance .finance-calc-missing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 34px;
  padding: 1px 0;
  border-bottom: 0;
}

#finance .finance-calc-result + .finance-calc-result {
  border-top: 0;
}

#finance .finance-calc-result span,
#finance .finance-calc-missing span {
  color: #777F8A;
  font-size: 11.2px;
  font-weight: 520;
  line-height: 1.38;
}

#finance .finance-calc-result strong,
#finance .finance-calc-missing strong {
  color: var(--ink);
  font-size: 12.6px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: right;
  line-height: 1.38;
}

#finance .finance-calc-result span small {
  display: block;
  margin-top: 4px;
  color: #A8AFB8;
  font-size: 10px;
  font-weight: 410;
  line-height: 1.4;
}

#finance .finance-calc-result.important strong {
  font-size: 13.2px;
  font-weight: 660;
}

#finance .finance-calc-result.final-net strong {
  color: var(--red-deep);
  font-size: 15px;
  font-weight: 720;
}

#finance .finance-calc-missing {
  display: block;
  border-bottom: 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #FFF9F2;
}

#finance .finance-calc-missing-line {
  min-height: 0;
  margin-top: 16px;
  padding: 8px 10px;
}

#finance .finance-calc-divider {
  height: 1px;
  margin: 1px 0 2px;
  background: rgba(230,225,218,.78);
}

#finance .finance-calc-missing strong {
  display: block;
  margin-top: 4px;
  color: #8D6870;
  text-align: left;
  line-height: 1.45;
  white-space: normal;
}

#finance .history {
  margin-top: 28px;
}

#finance .finance-ledger-section {
  margin-top: 0;
}

#finance .history-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 12px;
}

#finance .history-title {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
  font-weight: 620;
}

#finance .history-subtitle {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
}

#finance .finance-actions,
#finance .finance-filterbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

#finance .finance-expense-head {
  align-items: end;
}

#finance .finance-filterbar {
  flex-wrap: nowrap;
}

#finance .finance-expense-filterbar {
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}

#finance .finance-filter-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

#finance .finance-filter-row-main {
  flex-wrap: wrap;
}

#finance .search {
  width: 312px;
  height: 36px;
  display: flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid #E3E6EB;
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-size: 13px;
}

#finance .search-field {
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  font-size: 13px;
}

#finance .search-field:focus {
  outline: none;
}

body.erp-ui2 #finance .finance-toolbar-search:focus-within {
  border-color: rgba(215, 19, 42, .18) !important;
  box-shadow: 0 0 0 2px rgba(215, 19, 42, .045) !important;
  background: rgba(255, 255, 255, .92) !important;
}

body.erp-ui2 #finance .finance-toolbar-search .search-field,
body.erp-ui2 #finance .finance-toolbar-search .search-field:focus {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

#finance .finance-filterbar .finance-filter-narrow {
  width: 124px;
}

#finance .finance-filterbar .finance-date {
  width: 132px;
}

#finance .finance-filter-select {
  width: 136px;
  height: 36px;
  border: 1px solid #E3E6EB;
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font-size: 13px;
}

#finance .lhx-select {
  width: 136px !important;
  flex: 0 0 136px;
}

#finance .finance-filterbar .search {
  width: 220px;
}

#finance .finance-filterbar .add-btn {
  flex: 0 0 auto;
}

#finance .history-surface {
  background: var(--history);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(28,31,35,.035);
}

#finance .history-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

#finance .history-table th {
  height: 37px;
  padding: 0 13px;
  background: #F5F4F1;
  color: #A6ADB5;
  font-size: 10.5px;
  font-weight: 420;
  text-align: left;
  border-bottom: 1px solid var(--line-soft);
}

#finance .history-table td {
  height: 50px;
  padding: 0 13px;
  border-bottom: 1px solid #ECEAE5;
  color: #404852;
  font-size: 13px;
  vertical-align: middle;
}

#finance .history-table tr:last-child td {
  border-bottom: 0;
}

#finance .history-table tr:hover td {
  background: #FBFBFA;
}

#finance .finance-profit-ledger-table th,
#finance .finance-profit-ledger-table td {
  white-space: nowrap;
}

#finance .finance-expense-ledger-table th,
#finance .finance-expense-ledger-table td {
  white-space: nowrap;
}

#finance .finance-expense-ledger-table th:nth-child(3),
#finance .finance-expense-ledger-table td:nth-child(3) {
  white-space: normal;
}

#finance .finance-expense-ledger-table .finance-expense-amount {
  color: #303640;
  font-weight: 540;
}

#finance .finance-modal-static {
  height: 38px;
  display: flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid #E3E6EB;
  border-radius: 8px;
  background: #F8F8F6;
  color: var(--muted);
  font-size: 13px;
}

#finance .finance-profit-ledger-table .finance-profit-sku {
  color: #404852;
  font-family: inherit;
  font-size: 13px;
  font-weight: 430;
  line-height: inherit;
  letter-spacing: 0;
}

#finance .ledger-main {
  font-weight: 650;
  color: var(--ink);
}

#finance .ledger-main + .muted {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.25;
}

#finance .muted {
  color: var(--muted);
}

#finance .num {
  text-align: left;
  font-variant-numeric: tabular-nums;
}

#finance .status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #424A56;
  font-weight: 470;
}

#finance .status::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--green);
  opacity: .76;
}

#finance .status.debt::before,
#finance .status.pending::before {
  background: var(--debt);
  opacity: .78;
}

#finance .status.paid::before {
  background: var(--green);
  opacity: .76;
}

#finance .actions {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  position: relative;
  z-index: 1;
  pointer-events: auto;
}

#finance .finance-advance-ledger-table th,
#finance .finance-advance-ledger-table td {
  white-space: nowrap;
}

#finance .finance-advance-ledger-table .finance-advance-money {
  font-variant-numeric: tabular-nums;
  color: #152238;
}

#finance .finance-advance-ledger-table th:last-child,
#finance .finance-advance-ledger-table td:last-child {
  padding-left: 18px;
  padding-right: 30px;
}

#finance .finance-advance-actions {
  justify-content: flex-start;
  gap: 9px 12px;
  white-space: normal;
  flex-wrap: wrap;
}

#finance .finance-advance-actions.compact {
  flex-wrap: nowrap;
  gap: 8px;
}

#finance .finance-advance-actions-cell {
  overflow: visible;
}

#finance .finance-advance-actions-cell .finance-advance-actions.compact {
  justify-content: flex-start;
}

#finance .finance-advance-actions .action {
  white-space: nowrap;
}

#finance .finance-advance-action-btn {
  display: inline-flex;
  align-items: center;
  border: 0;
  padding: 2px 0;
  background: transparent;
  font: inherit;
  color: #8C5660;
  cursor: pointer;
  pointer-events: auto;
}

#finance .finance-advance-action-btn:hover,
#finance .finance-advance-action-btn:focus-visible {
  color: #98101A;
  text-decoration: underline;
  outline: none;
}

#finance .action {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0;
  padding: 0 1px;
  border: 0;
  background: transparent;
  color: #9AA1AA;
  text-decoration: none;
  font-size: 12px;
  font-weight: 460;
  font-family: inherit;
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 1;
  appearance: none;
}

#finance .finance-action-button {
  border: 0;
  padding: 0;
  background: transparent;
  font-family: inherit;
  line-height: inherit;
  cursor: pointer;
}

#finance .finance-action-button:hover,
#finance .finance-action-button:focus-visible {
  color: var(--red-deep);
  outline: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#finance .actions .action:first-child {
  color: #626A74;
  font-weight: 520;
}

#finance .pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 420;
}

#finance .pagination .page-stat {
  margin-right: auto;
  color: #9299A2;
}

#finance .pagination .page-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

#finance .pagination .page-icon,
#finance .pagination .page-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  min-height: 30px;
  max-height: 30px;
  min-width: 30px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #66707C;
  font-size: 13px;
  line-height: 1;
  box-shadow: none;
  font-variant-numeric: tabular-nums;
}

#finance .pagination .page-icon {
  font-size: 17px;
  font-weight: 430;
  color: #7A838E;
}

#finance .pagination .page-number.active {
  background: #F5F3F0;
  border-color: #E7E3DD;
  color: #303640;
  font-weight: 560;
}

#finance .pagination .page-icon:hover:not(:disabled),
#finance .pagination .page-number:hover:not(:disabled) {
  background: #F8F8F6;
  border-color: #ECE8E1;
  color: #303640;
}

#finance .pagination .page-icon:disabled {
  color: #CDD2D8;
  background: transparent;
  border-color: transparent;
  opacity: 1;
}

#globalModal.finance-modal .form-group label {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 520;
}

#globalModal.finance-modal .form-input,
#globalModal.finance-modal .form-select {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #DFE3E8;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

#globalModal.finance-modal textarea.form-input {
  min-height: 110px;
  padding-top: 10px;
}

#globalModal.finance-modal .form-input:focus,
#globalModal.finance-modal .form-select:focus {
  outline: none;
  border-color: #CBCFCF;
  box-shadow: 0 0 0 2px rgba(197,15,31,.04);
}

#globalModal.finance-modal .finance-date-pill {
  position: relative;
  width: 100%;
  height: 40px;
  display: inline-flex;
  border-radius: 8px;
  cursor: pointer;
}

#globalModal.finance-modal .finance-date-native {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: .01 !important;
  cursor: pointer !important;
}

#globalModal.finance-modal .finance-date-native::-webkit-calendar-picker-indicator {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

#globalModal.finance-modal .finance-date-native:focus {
  outline: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

#globalModal.finance-modal .finance-date-trigger {
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid #DFE3E8;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 430;
  pointer-events: none;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

#globalModal.finance-modal .finance-date-icon,
#globalModal.finance-modal .finance-date-caret {
  display: inline-grid;
  place-items: center;
  color: #8793A6;
  flex: 0 0 auto;
}

#globalModal.finance-modal .finance-date-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#globalModal.finance-modal .finance-date-caret svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#globalModal.finance-modal .finance-date-pill:hover .finance-date-trigger,
#globalModal.finance-modal .finance-date-pill:focus-within .finance-date-trigger {
  border-color: #CBCFCF;
  box-shadow: 0 0 0 2px rgba(197, 15, 31, .04);
}

#globalModal.finance-modal #modalConfirmBtn.confirm {
  width: 100%;
  height: 41px;
  margin-top: 0;
  border: 0;
  border-radius: 8px;
  background: var(--red-deep);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
}

@media (max-width: 1500px) {
  #finance .history-table th,
  #finance .history-table td {
    padding-left: 11px;
    padding-right: 11px;
  }
}

@media (max-width: 1120px) {
  #finance .customer-kpi-strip,
  #finance .finance-kpi-strip-5 {
    grid-template-columns: 1fr;
  }

  #finance .finance-cost-calculator,
  #finance .finance-calc-grid,
  #finance .finance-calc-fields,
  #finance .finance-calc-scope-fields,
  #finance .finance-calc-fixed-template-fields {
    grid-template-columns: 1fr;
  }

  #finance .finance-calc-results {
    position: static;
  }

  #finance .history-head {
    align-items: stretch;
    flex-direction: column;
  }

  #finance .search,
  #finance .finance-filterbar .search,
  #finance .finance-filterbar .finance-filter-narrow,
  #finance .finance-filterbar .finance-date,
  #finance .finance-filter-select,
  #finance .lhx-select {
    width: 100% !important;
  }

  #finance .history-surface {
    overflow-x: auto;
  }

  #finance .history-table {
    min-width: 1040px;
  }
}

body.erp-ui2 #finance .finance-summary {
  display: none !important;
}

body.erp-ui2 #finance .finance-local-toolbar-slot {
  margin: 0 0 12px !important;
}

body.erp-ui2 #finance .finance-workbench-toolbar {
  min-height: var(--workbench-control-height, 34px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
}

body.erp-ui2 #finance .finance-workbench-nav {
  flex: 0 1 auto !important;
  gap: 10px !important;
}

body.erp-ui2 #finance .finance-workbench-nav .finance-workbench-nav-item {
  white-space: nowrap !important;
}

body.erp-ui2 #finance .finance-toolbar-context {
  min-width: 0;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  white-space: nowrap;
}

body.erp-ui2 #finance .finance-toolbar-context-filters {
  flex: 1 1 auto;
  justify-content: space-between;
  gap: 12px;
}

body.erp-ui2 #finance .finance-toolbar-filter-group,
body.erp-ui2 #finance .finance-toolbar-action-group,
body.erp-ui2 #finance .finance-custom-date-range {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

body.erp-ui2 #finance .finance-toolbar-filter-group {
  flex: 1 1 auto;
  justify-content: flex-end;
}

body.erp-ui2 #finance .finance-toolbar-action-group {
  flex: 0 0 auto;
  margin-left: 2px;
}

body.erp-ui2 #finance .finance-custom-date-range {
  flex: 0 0 auto;
  gap: 6px;
}

body.erp-ui2 #finance .finance-toolbar-context .search {
  width: 168px !important;
  flex: 0 1 168px;
}

body.erp-ui2 #finance .finance-toolbar-context .finance-toolbar-search {
  gap: 7px;
}

body.erp-ui2 #finance .finance-toolbar-context .search-control-icon,
body.erp-ui2 #finance .finance-toolbar-context .control-icon {
  display: inline-grid;
  place-items: center;
  color: #7e899a;
  flex: 0 0 auto;
}

body.erp-ui2 #finance .finance-toolbar-context .search-control-icon svg,
body.erp-ui2 #finance .finance-toolbar-context .control-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.erp-ui2 #finance .finance-toolbar-context .finance-date {
  width: 128px !important;
  flex: 0 0 128px;
}

body.erp-ui2 #finance .finance-toolbar-context .finance-filter-select,
body.erp-ui2 #finance .finance-toolbar-context .lhx-select {
  width: 126px !important;
  flex: 0 0 126px !important;
}

body.erp-ui2 #finance .finance-toolbar-context .finance-filter-period,
body.erp-ui2 #finance .finance-toolbar-context .finance-filter-period + .lhx-select {
  width: 112px !important;
  flex-basis: 112px !important;
}

body.erp-ui2 #finance .finance-toolbar-context :is(.add-btn, .subtle-action) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  flex: 0 0 auto !important;
}

body.erp-ui2 #finance .finance-toolbar-context .finance-icon-only {
  width: var(--workbench-control-height, 34px) !important;
  padding: 0 !important;
}

body.erp-ui2 #finance .finance-date-pill {
  position: relative;
  width: 146px;
  height: var(--workbench-control-height, 34px);
  display: inline-flex;
  flex: 0 0 146px;
  border-radius: 10px;
  cursor: pointer;
}

body.erp-ui2 #finance .finance-date-native {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: .01 !important;
  cursor: pointer !important;
}

body.erp-ui2 #finance .finance-date-native::-webkit-calendar-picker-indicator {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

body.erp-ui2 #finance .finance-date-native:focus {
  outline: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.erp-ui2 #finance .finance-date-trigger {
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid rgba(214, 222, 233, .86);
  border-radius: 10px;
  background: rgba(255, 255, 255, .72);
  color: #253044;
  font-size: 13px;
  font-weight: 520;
  pointer-events: none;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

body.erp-ui2 #finance .finance-date-icon,
body.erp-ui2 #finance .finance-date-caret {
  display: inline-grid;
  place-items: center;
  color: #8793a6;
  flex: 0 0 auto;
}

body.erp-ui2 #finance .finance-date-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.erp-ui2 #finance .finance-date-caret svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.erp-ui2 #finance .finance-date-pill:hover .finance-date-trigger,
body.erp-ui2 #finance .finance-date-pill:focus-within .finance-date-trigger {
  border-color: rgba(215, 19, 42, .18);
  background: rgba(255, 255, 255, .94);
}

body.erp-ui2 #finance .finance-date-pill:focus-within .finance-date-trigger {
  box-shadow: 0 0 0 2px rgba(215, 19, 42, .045);
}

body.erp-ui2 #finance .finance-empty-cell {
  height: 108px !important;
  padding: 0 !important;
}

body.erp-ui2 #finance .finance-empty-state {
  min-height: 108px;
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  color: #9aa4b5;
  font-size: 12px;
  font-weight: 460;
}

body.erp-ui2 #finance .finance-empty-icon {
  position: relative;
  width: 28px;
  height: 18px;
  border: 1px solid rgba(154, 164, 181, .30);
  border-radius: 5px;
}

body.erp-ui2 #finance .finance-empty-icon::before {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  top: -7px;
  height: 8px;
  border: 1px solid rgba(154, 164, 181, .24);
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
}

body.erp-ui2 #finance .finance-empty-icon::after {
  content: "";
  position: absolute;
  left: -6px;
  right: -6px;
  bottom: -5px;
  height: 1px;
  background: rgba(154, 164, 181, .16);
}

body.erp-ui2 #finance .finance-calculator-master {
  margin-top: 0 !important;
}

body.erp-ui2 #finance .finance-calculator-master .finance-cost-calculator {
  grid-template-columns: minmax(0, 1fr) minmax(306px, 24%);
  gap: 18px;
  margin-bottom: 18px;
}

body.erp-ui2 #finance .finance-calc-page-title {
  display: none !important;
}

body.erp-ui2 #finance .finance-calc-top-stack {
  width: 100%;
  gap: 8px;
}

body.erp-ui2 #finance .finance-calc-section {
  min-width: 0;
}

body.erp-ui2 #finance .finance-calc-section + .finance-calc-section,
body.erp-ui2 #finance .finance-calc-grid {
  margin-top: 18px;
}

body.erp-ui2 #finance .finance-calc-grid {
  padding-top: 18px;
  border-top: 1px solid rgba(226, 232, 240, .78);
}

body.erp-ui2 #finance .finance-calc-subpanel {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.erp-ui2 #finance .finance-calc-side-stack {
  gap: 18px;
}

body.erp-ui2 #finance .finance-calc-side-stack .finance-calc-subpanel + .finance-calc-subpanel {
  padding-top: 18px;
  border-top: 1px solid rgba(226, 232, 240, .78);
}

body.erp-ui2 #finance .finance-calc-section h3,
body.erp-ui2 #finance .finance-calc-results h3 {
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0;
}

body.erp-ui2 #finance .finance-calc-section p {
  max-width: 820px;
  margin: 4px 0 10px;
  color: #7c8798;
  font-size: 11.5px;
  line-height: 1.45;
}

body.erp-ui2 #finance .finance-calc-param-band {
  width: 100%;
  max-width: 900px;
  grid-template-columns: minmax(250px, .42fr) minmax(144px, 156px) minmax(144px, 156px);
  gap: 14px;
}

body.erp-ui2 #finance .finance-calc-param-band:not(:has(.finance-calc-fixed-cell)) {
  width: 100%;
  grid-template-columns: repeat(2, minmax(144px, 156px));
}

body.erp-ui2 #finance .finance-calc-top-controls {
  display: flex;
  align-items: end;
  gap: 8px 10px;
  width: 100%;
  max-width: 100%;
  flex-wrap: wrap;
}

body.erp-ui2 #finance .finance-calc-top-control {
  display: grid;
  gap: 6px;
  min-width: 0;
  margin: 0;
}

body.erp-ui2 #finance .finance-calc-mode-control {
  width: 192px;
  flex: 0 1 192px;
}

body.erp-ui2 #finance .finance-calc-fixed-cell {
  width: 164px;
  flex: 0 1 164px;
}

body.erp-ui2 #finance .finance-calc-period-control {
  width: 126px;
  flex: 0 1 126px;
}

body.erp-ui2 #finance .finance-calc-customer-control {
  width: 176px;
  flex: 0 1 176px;
}

body.erp-ui2 #finance .finance-calc-condition-area:has(#finCalcCustomerId) .finance-calc-top-controls {
  flex-wrap: nowrap;
}

body.erp-ui2 #finance .finance-calc-condition-area:has(#finCalcCustomerId) .finance-calc-fixed-result-line {
  flex: 1 1 auto;
  justify-content: flex-end;
  min-width: 190px;
}

body.erp-ui2 #finance .finance-calc-custom-date-range {
  display: inline-flex;
  align-items: end;
  gap: 8px;
  flex: 0 1 auto;
}

body.erp-ui2 #finance .finance-calc-custom-date-range .finance-date-pill {
  width: 132px;
  flex-basis: 132px;
}

body.erp-ui2 #finance .finance-calc-top-control .finance-filter-select,
body.erp-ui2 #finance .finance-calc-top-control .lhx-select {
  width: 100% !important;
  flex: 0 0 auto !important;
}

body.erp-ui2 #finance .finance-calc-fields {
  gap: 12px 16px;
}

body.erp-ui2 #finance .finance-calc-field > span,
body.erp-ui2 #finance .finance-calc-control-label,
body.erp-ui2 #finance .finance-calc-mini-control > span {
  color: #667085;
  font-size: 11.5px;
  font-weight: 590;
}

body.erp-ui2 #finance .finance-calc-input-row .finance-calc-input,
body.erp-ui2 #finance .finance-calc-field .form-select {
  height: var(--workbench-control-height, 34px) !important;
  min-height: var(--workbench-control-height, 34px) !important;
  border: 1px solid var(--erp-master-field-border, #e4e8ed) !important;
  border-radius: var(--erp-master-field-radius, 6px) !important;
  background: rgba(255, 255, 255, .74) !important;
  color: #253044 !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  box-shadow: none !important;
}

body.erp-ui2 #finance .finance-calc-input-row .finance-calc-input {
  padding: 0 11px !important;
}

body.erp-ui2 #finance .finance-calc-field .lhx-select {
  width: 100% !important;
  flex: 0 1 auto !important;
}

body.erp-ui2 #finance .finance-calc-input-row .finance-calc-input:hover,
body.erp-ui2 #finance .finance-calc-field .form-select:hover {
  border-color: rgba(199, 207, 219, .96) !important;
  background: #fff !important;
}

body.erp-ui2 #finance .finance-calc-input-row .finance-calc-input:focus,
body.erp-ui2 #finance .finance-calc-field .form-select:focus {
  outline: 0 !important;
  border-color: var(--erp-master-field-focus, #8995a1) !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.erp-ui2 #finance .finance-calc-input-row em {
  color: #8b95a6;
  font-size: 11px;
}

body.erp-ui2 #finance .finance-calc-check {
  min-height: var(--workbench-control-height, 34px);
  padding: 6px 10px;
  border-color: rgba(214, 222, 233, .86);
  border-radius: 10px;
  background: rgba(255, 255, 255, .74);
}

body.erp-ui2 #finance .finance-calc-check:hover {
  border-color: rgba(199, 207, 219, .96);
  background: #fff;
}

body.erp-ui2 #finance .finance-calc-segmented {
  border-color: rgba(214, 222, 233, .86);
  border-radius: 10px;
  background: rgba(255, 255, 255, .74);
}

body.erp-ui2 #finance .finance-calc-segment,
body.erp-ui2 #finance .finance-calc-month {
  border-radius: 8px;
  color: #5f6b7d;
}

body.erp-ui2 #finance .finance-calc-segment.active,
body.erp-ui2 #finance .finance-calc-segment:hover,
body.erp-ui2 #finance .finance-calc-month:hover {
  background: rgba(215, 19, 42, .065);
  box-shadow: none;
  color: #a70f20;
}

body.erp-ui2 #finance .finance-calc-actions {
  margin-top: 18px;
  padding-top: 14px;
  border-top-color: rgba(226, 232, 240, .78);
}

body.erp-ui2 #finance .finance-calc-actions .add-btn,
body.erp-ui2 #finance .finance-calc-actions .confirm,
body.erp-ui2 #finance .finance-calc-save-default,
body.erp-ui2 #finance .finance-calc-detail-link {
  height: var(--workbench-control-height, 34px) !important;
  min-height: var(--workbench-control-height, 34px) !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 570 !important;
}

body.erp-ui2 #finance .finance-calc-actions .add-btn,
body.erp-ui2 #finance .finance-calc-save-default,
body.erp-ui2 #finance .finance-calc-detail-link {
  border: 1px solid rgba(214, 222, 233, .86);
  background: rgba(255, 255, 255, .82);
  color: #2f3a4c;
}

body.erp-ui2 #finance .finance-calc-actions .confirm {
  border: 0;
  background: var(--erp-master-red, #d7132a);
  color: #fff;
}

body.erp-ui2 #finance .finance-calc-results {
  padding: 16px 17px 15px;
  border-color: rgba(226, 232, 240, .94);
  border-radius: 12px;
  background: rgba(255, 255, 255, .80);
  box-shadow: 0 16px 40px rgba(23, 31, 45, .055);
}

body.erp-ui2 #finance .finance-calc-result {
  min-height: 32px;
}

body.erp-ui2 #finance .finance-calc-result strong,
body.erp-ui2 #finance .finance-calc-missing strong {
  font-size: 12.3px;
  font-weight: 620;
}

body.erp-ui2 #finance .finance-calc-result.final-net strong {
  font-size: 14px;
  color: var(--erp-master-red, #d7132a);
}

body.erp-ui2 #finance .finance-calc-missing {
  background: rgba(250, 246, 242, .74);
  color: #6f7b8d;
}

body.erp-ui2 #finance .finance-profit-ledger-table {
  table-layout: fixed;
}

body.erp-ui2 #finance .finance-profit-ledger-table .status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #556174;
  font-size: 12.5px;
  font-weight: 530;
}

body.erp-ui2 #finance .finance-profit-ledger-table .status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #16a34a;
  box-shadow: 0 0 0 2px rgba(22, 163, 74, .12);
}

body.erp-ui2 #finance .finance-profit-ledger-table .status.debt::before {
  background: #d97706;
  box-shadow: 0 0 0 2px rgba(217, 119, 6, .13);
}

@media (max-width: 1440px) {
  body.erp-ui2 #finance .finance-workbench-toolbar {
    gap: 10px;
  }

  body.erp-ui2 #finance .finance-workbench-nav {
    gap: 7px !important;
  }

  body.erp-ui2 #finance .finance-workbench-nav .finance-workbench-nav-item {
    font-size: 12.5px !important;
  }

  body.erp-ui2 #finance .finance-toolbar-context {
    gap: 8px;
  }

  body.erp-ui2 #finance .finance-toolbar-context .search {
    width: 132px !important;
    flex-basis: 132px;
  }

  body.erp-ui2 #finance .finance-toolbar-context .finance-date {
    width: 112px !important;
    flex-basis: 112px;
  }

  body.erp-ui2 #finance .finance-toolbar-context .finance-filter-select,
  body.erp-ui2 #finance .finance-toolbar-context .lhx-select {
    width: 106px !important;
    flex-basis: 106px !important;
  }

  body.erp-ui2 #finance .finance-toolbar-context .finance-filter-period,
  body.erp-ui2 #finance .finance-toolbar-context .finance-filter-period + .lhx-select {
    width: 104px !important;
    flex-basis: 104px !important;
  }

}
#globalModal .finance-category-review-row { padding: 12px 0; border-bottom: 1px solid #e5e7eb; overflow-wrap: anywhere; }
#globalModal .finance-category-review-row strong { display: block; font-size: var(--erp-density-body, 13px); font-weight: 500; }
#globalModal .finance-category-review-row span,
#globalModal .finance-category-review-row p { display: block; margin: 6px 0 0; color: #667085; font-size: var(--erp-density-label, 12px); }
#globalModal .finance-expense-actions { display: flex; justify-content: flex-end; padding: 8px 0 12px; }
#globalModal .finance-expense-actions .finance-expense-delete {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  flex: 1 1 auto; width: 100%; min-width: 44px; max-width: 100%; height: 44px; min-height: 44px;
  padding: 0 12px; border: 1px solid #d7a6af; border-radius: 6px;
  font: inherit; font-size: var(--erp-density-body, 13px); white-space: nowrap;
  background: #fff; color: #b42338; cursor: pointer; box-shadow: none;
}
#globalModal .finance-expense-delete-icon {
  display: block; flex: 0 0 18px; width: 18px; height: 18px; background: currentColor;
  -webkit-mask: url('/assets/lucide-trash-2.svg') center / contain no-repeat;
  mask: url('/assets/lucide-trash-2.svg') center / contain no-repeat;
}
#globalModal .finance-expense-actions .finance-expense-delete:hover,
#globalModal .finance-expense-actions .finance-expense-delete:active { background: #fff3f4; border-color: #d7a6af; }
#globalModal .finance-expense-actions .finance-expense-delete:focus-visible { outline: 2px solid #b42338; outline-offset: 3px; }
/* Salary settlement keeps related amounts side by side on phone screens. */
#globalModal .finance-salary-form .detail-summary-field p { margin: 6px 0 0; font-variant-numeric: tabular-nums; }
#globalModal .finance-salary-form details { padding: 12px 0; }
@media (max-width: 760px) {
  #globalModal #modalBody #salarySettlementForm .detail-master-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #globalModal .finance-salary-form .detail-master-section:first-child .personnel-field { grid-column: 1 / -1; }
  #globalModal .finance-salary-form .detail-master-grid > * { min-width: 0; overflow-wrap: anywhere; }
  #globalModal .finance-salary-form input { max-width: 100% !important; }
  #phoneApp .phone-expense-view { column-gap: 8px; }
  #phoneApp .phone-expense-view h2 { flex: 0 0 auto; }
  #phoneApp .phone-expense-view-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; min-width: 0; margin-left: auto; }
}
.finance-expense-save-error:not([hidden]){margin:0 0 16px;padding:10px 12px;border-left:2px solid #c9183a;background:#fff5f6;color:#982338;font-size:13px;line-height:1.5;overflow-wrap:anywhere;}

#finance .finance-operating-profit { width:100%; margin:0; padding:8px 0 24px; }
#finance .finance-profit-controls { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-bottom:18px; border-bottom:1px solid var(--border,#e2e5eb); }
#finance .finance-profit-periods { display:flex; gap:4px; }
#finance .finance-profit-periods button { min-width:54px; min-height:38px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:inherit; font:inherit; padding:8px 12px; cursor:pointer; }
#finance .finance-profit-periods button[aria-pressed="true"] { color:#ce1234; border-bottom-color:#ce1234; }
#finance .finance-profit-date { display:flex; align-items:center; gap:6px; }
#finance .finance-profit-arrow { display:grid; place-items:center; width:38px; height:38px; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; }
#finance .finance-profit-chevron-left { transform:rotate(90deg); display:inline-flex; }
#finance .finance-profit-chevron-right { transform:rotate(-90deg); display:inline-flex; }
#finance .finance-profit-overview-band { display:grid; grid-template-columns:minmax(240px, .9fr) minmax(0,1.3fr); gap:40px; padding:28px 0; border-bottom:1px solid var(--border,#e2e5eb); align-items:center; }
#finance .finance-profit-result { padding:0; }
#finance .finance-profit-result p { font-size:var(--erp-density-meta,13px); color:#6b7280; line-height:1.6; margin:0 0 12px; }
#finance .finance-profit-result h2 { font-size:var(--erp-density-title,16px); font-weight:500; margin:0 0 10px; }
#finance .finance-profit-result h2 small { margin-left:10px; color:#6b7280; font-size:12px; }
#finance .finance-profit-amount { font-size:var(--erp-density-summary,24px); font-weight:600; font-variant-numeric:tabular-nums; line-height:1.4; overflow-wrap:anywhere; }
#finance .finance-profit-amount span { font-size:13px; font-weight:400; color:#6b7280; white-space:nowrap; }
#finance .finance-profit-amount.is-loss { color:#c82038; }
#finance .finance-profit-equation { display:grid; grid-template-columns:1fr; gap:0; margin:0; padding:0 0 0 32px; border-left:1px solid var(--border,#e2e5eb); }
#finance .finance-profit-equation>div { display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding:15px 0; }
#finance .finance-profit-equation>div+div { border-top:1px solid var(--border,#e2e5eb); }
#finance .finance-profit-equation dt { font-size:var(--erp-density-body,13px); color:#6b7280; margin:0; }
#finance .finance-profit-sign { display:inline-block; width:20px; color:#8b929b; }
#finance .finance-profit-equation dd { margin:0; font-size:18px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
#finance .finance-profit-details, #finance .finance-profit-issues { padding:18px 0; border-bottom:1px solid var(--border,#e2e5eb); }
#finance .finance-profit-issues { color:#9c5420; }
#finance .finance-profit-issues li { margin:8px 0; overflow-wrap:anywhere; }
#finance .finance-profit-details summary, #finance .finance-profit-issues summary { cursor:pointer; min-height:32px; align-content:center; }
#finance .finance-profit-details dl { margin:12px 0; }
#finance .finance-profit-details dl>div, #finance .finance-profit-products>div { display:flex; justify-content:space-between; gap:20px; padding:10px 0; }
#finance .finance-profit-details dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; }
#finance .finance-profit-products { border-top:1px solid var(--border,#e2e5eb); }
#finance .finance-profit-products small { display:block; font-size:12px; color:#6b7280; margin-top:4px; overflow-wrap:anywhere; }
#finance .finance-profit-tools { display:flex; gap:24px; border-bottom:1px solid var(--border,#e2e5eb); margin-bottom:20px; overflow-x:auto; }
#finance .finance-profit-tools .finance-tool-tab { flex:0 0 auto; min-height:44px; margin:0; padding:10px 0; background:transparent; border:0; border-bottom:2px solid transparent; border-radius:0; color:#6b7280; font:inherit; font-size:var(--erp-density-body,13px); cursor:pointer; }
#finance .finance-profit-tools button[aria-pressed="true"] { color:#c82038; border-bottom-color:#c82038; }
#finance .finance-supplier-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
#finance .finance-supplier-toolbar h2 { font-size:16px; margin:0; }
#finance .container-trial { width:100%; }
#finance .container-trial-heading { display:flex; justify-content:space-between; align-items:center; color:#6b7280; font-size:var(--erp-density-meta,12.5px); }
#finance .container-trial-section { display:grid; grid-template-columns:150px minmax(0,1fr); gap:28px; padding:22px 0; border-bottom:1px solid var(--border,#e2e5eb); }
#finance .container-trial-section h2 { margin:4px 0; font-size:var(--erp-density-title,16px); font-weight:500; }
#finance .container-trial-section-body { min-width:0; }
#finance .container-trial-add { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
#finance .container-trial-add>.lhx-select { flex:1; max-width:480px; min-width:0; }
#finance .container-trial-add>.action { flex-shrink:0; }
#finance .container-trial-cargo article { padding:18px 0; border-top:1px solid var(--border,#e2e5eb); }
#finance .container-trial-row-title { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:14px; }
#finance .container-trial-row-title>div, #finance .container-trial-row-title>label { flex:1; min-width:0; max-width:480px; }
#finance .container-trial-row-title strong { font-size:var(--erp-density-record,14px); overflow-wrap:anywhere; }
#finance .container-trial-row-title small, #finance .container-trial-identity small { display:block; color:#6b7280; margin-top:4px; font-size:12px; overflow-wrap:anywhere; }
#finance .container-trial-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px 18px; }
#finance .container-trial label { display:flex; flex-direction:column; gap:8px; color:#626d7c; font-size:var(--erp-density-label,12px); min-width:0; }
#finance .container-trial input { width:100%; min-width:0; height:var(--erp-density-control,34px); border:1px solid #dce1e8; border-radius:6px; padding:7px 10px; background:#fff; color:#202c3e; font:inherit; font-size:var(--erp-density-body,13px); box-sizing:border-box; }
#finance .container-trial input:focus-visible { outline:2px solid #929eab; outline-offset:2px; }
#finance .container-trial input[aria-invalid="true"] { border-color:#be6c7b; }
#finance .container-trial .lhx-select { min-width:0; width:100%; }
#finance .container-trial label>.lhx-select { flex:0 0 auto !important; width:100% !important; max-width:none !important; height:auto; }
#finance .container-trial .lhx-select-button { min-width:0; }
#finance .container-trial .finance-profit-arrow { flex-shrink:0; }
#finance .container-trial .control-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
#finance .container-trial-fee { padding:0 0 20px; }
#finance .container-trial-fee h3 { font-size:var(--erp-density-record,14px); margin:0 0 12px; font-weight:500; }
#finance .container-trial-tax { border-top:1px solid var(--border,#e2e5eb); padding-top:12px; }
#finance .container-trial-tax summary { min-height:38px; cursor:pointer; }
#finance .container-trial-tax .container-trial-fields { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:10px; }
#finance .container-trial-pending { color:#737b86; font-size:13px; line-height:1.7; }
#finance .container-trial-pending strong { font-weight:500; }
#finance .container-trial-pending ul { padding-left:18px; }
#finance .container-trial-totals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
#finance .container-trial-totals span { display:block; font-size:12px; color:#626d7c; margin-bottom:8px; }
#finance .container-trial-totals strong { font-size:18px; font-weight:500; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
#finance .container-trial-totals .is-loss { color:#c82038; }
#finance .container-trial-costs { display:flex; gap:16px 28px; flex-wrap:wrap; padding:16px 0; margin:16px 0 0; border-top:1px solid var(--border,#e2e5eb); font-size:12px; }
#finance .container-trial-costs>div { display:flex; gap:10px; }
#finance .container-trial-costs dt { color:#626d7c; }
#finance .container-trial-costs dd { margin:0; font-variant-numeric:tabular-nums; }
#finance .container-trial-result-rows article { display:grid; grid-template-columns:minmax(140px,.7fr) minmax(0,2fr); gap:24px; padding:16px 0; border-top:1px solid var(--border,#e2e5eb); }
#finance .container-trial-result-rows dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0; }
#finance .container-trial-result-rows dt { color:#626d7c; font-size:12px; margin-bottom:6px; }
#finance .container-trial-result-rows dd { margin:0; overflow-wrap:anywhere; font-size:14px; font-variant-numeric:tabular-nums; }
@media(max-width:1100px) {
  #finance .container-trial-section { grid-template-columns:120px minmax(0,1fr); gap:20px; }
  #finance .container-trial-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #finance .container-trial-result-rows article { grid-template-columns:1fr; gap:14px; }
  #finance .container-trial-totals { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  #finance .container-trial-section { grid-template-columns:1fr; gap:14px; padding:20px 0; }
  #finance .container-trial input { height:44px; font-size:16px; }
  #finance .container-trial-add { flex-wrap:wrap; gap:8px; }
  #finance .container-trial-add>.lhx-select { flex-basis:calc(100% - 52px); max-width:none; }
  #finance .container-trial-add>.action { margin-left:auto; }
  #finance .container-trial-result-rows dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #finance .container-trial-costs { display:grid; grid-template-columns:1fr; }
  #finance .container-trial-costs>div { justify-content:space-between; }
  #finance .container-trial-tax .container-trial-fields { grid-template-columns:1fr; }
  #finance .finance-profit-tools { gap:20px; margin-bottom:18px; }
  #finance .finance-operating-profit { padding-top:0; }
  #finance .finance-profit-controls { gap:8px; }
  #finance .finance-profit-periods button { min-height:44px; min-width:48px; padding:8px; }
  #finance .finance-profit-date { margin-left:auto; }
  #finance .finance-profit-date .finance-date-pill { width:145px; min-width:0; }
  #finance .finance-profit-arrow { width:44px; height:44px; }
  #finance .finance-profit-overview-band { grid-template-columns:1fr; gap:20px; padding:24px 0 12px; }
  #finance .finance-profit-result { padding:0; }
  #finance .finance-profit-equation { grid-template-columns:1fr; gap:0; padding:0; border-left:0; border-top:1px solid var(--border,#e2e5eb); }
  #finance .finance-profit-equation>div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
  #finance .finance-profit-equation dt { margin:0; font-size:14px; }
  #finance .finance-profit-equation dd { font-size:16px; text-align:right; }
  #finance .finance-profit-details summary, #finance .finance-profit-issues summary { min-height:44px; }
  #finance .finance-profit-products>div>span { min-width:0; overflow-wrap:anywhere; }
}

#returnManage .return-entry-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 0;
  padding: 13px 16px;
  border: 1px solid #E7E4DE;
  border-radius: 12px;
  background: #FCFCFA;
}

#returnManage .return-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(118px, 1fr)) minmax(174px, .78fr);
  gap: 0;
  margin: 14px 0 0;
  background: #FCFCFA;
  border: 1px solid #E7E4DE;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: none;
  align-items: stretch;
}

#returnManage .customer-kpi-item {
  position: relative;
  min-width: 0;
  padding: 12px 18px;
  background: transparent !important;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  text-align: left;
  display: block;
}

#returnManage .customer-kpi-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 13px;
  bottom: 13px;
  width: 1px;
  background: #E4E1DA;
}

#returnManage .kpi-title {
  color: #9BA2AA;
  font-size: 10.5px !important;
  font-weight: 470;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
}

#returnManage .customer-kpi-number {
  margin-top: 5px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 560 !important;
  text-align: left;
  letter-spacing: 0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

#returnManage .return-filterbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 138px 132px 132px auto;
  align-items: end;
  gap: 10px;
  min-width: min(100%, 820px);
}

#returnManage .return-history-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

#returnManage .return-history-head .history-title {
  margin: 0;
}

#returnManage .return-history-head .history-subtitle {
  margin: 5px 0 0;
}

#returnManage .return-filterbar .search {
  width: 100%;
  height: 36px;
  display: flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid #E3E6EB;
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-size: 13px !important;
}

#returnManage .return-filterbar .search-field {
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent !important;
  color: var(--text);
  font-size: 13px !important;
}

#returnManage .return-filterbar .search-field:focus {
  outline: none;
}

#returnManage .return-filter-control {
  min-width: 0;
}

#returnManage .return-date,
#returnManage .return-filterbar .add-btn {
  height: 36px;
}

#returnManage .return-filterbar .add-btn {
  white-space: nowrap;
}

#returnManage .return-note {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 420 !important;
}

.return-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.return-detail-card {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #E7E4DE;
  border-radius: 10px;
  background: #FCFCFA;
}

.return-detail-card b {
  display: block;
  margin: 0 0 5px;
  color: #9BA2AA;
  font-size: 10.5px !important;
  font-weight: 470;
}

.return-detail-card span {
  display: block;
  color: var(--ink);
  font-size: 13px !important;
  font-weight: 520;
  line-height: 1.35;
  word-break: break-word;
}

@media (max-width: 1120px) {
  #returnManage .return-entry-strip {
    align-items: stretch;
    flex-direction: column;
  }

  #returnManage .return-filterbar,
  #returnManage .return-kpi-strip {
    grid-template-columns: 1fr;
  }

  #returnManage .return-history-head {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }
}

#stockProcess .stock-process-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 14px 0 0;
  background: #FCFCFA;
  border: 1px solid #E7E4DE;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: none;
}

#stockProcess .customer-kpi-item {
  position: relative;
  min-width: 0;
  padding: 12px 18px;
  background: transparent !important;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  text-align: left;
  display: block;
}

#stockProcess .customer-kpi-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 13px;
  bottom: 13px;
  width: 1px;
  background: #E4E1DA;
}

#stockProcess .kpi-title {
  color: #9BA2AA;
  font-size: 10.5px !important;
  font-weight: 470;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
}

#stockProcess .customer-kpi-number {
  margin-top: 5px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 560 !important;
  text-align: left;
  letter-spacing: 0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

#stockProcess .batch2-workspace {
  background: var(--surface) !important;
  padding: 24px 28px !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow) !important;
}

#stockProcess .batch2-entry-grid {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.4fr) minmax(170px, .8fr) minmax(86px, .4fr) 92px minmax(210px, 1fr) minmax(150px, .55fr) !important;
  gap: 14px !important;
  align-items: end !important;
}

#stockProcess .form-label {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 520;
}

#stockProcess .master-input,
#stockProcess .form-input {
  width: 100%;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 10px !important;
  border: 1px solid #E3E6EB !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--text) !important;
  font-size: 13px !important;
  font-weight: 430 !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums;
}

#stockProcess .master-input:focus,
#stockProcess .form-input:focus {
  outline: none;
  border-color: #CBCFCF !important;
  box-shadow: 0 0 0 2px rgba(197, 15, 31, .04) !important;
}

#stockProcess .add-btn {
  height: 36px !important;
}

#stockProcess .primary-action-btn,
#stockProcess button.primary-action-btn[onclick*="submitStockProcess"] {
  width: 100%;
  min-width: 150px;
  height: 41px !important;
  min-height: 41px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #98101A !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  white-space: nowrap;
}

#stockProcess .primary-action-btn:hover,
#stockProcess .primary-action-btn:active,
#stockProcess button.primary-action-btn[onclick*="submitStockProcess"]:hover,
#stockProcess button.primary-action-btn[onclick*="submitStockProcess"]:active {
  border: 0 !important;
  background: #98101A !important;
  color: #fff !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

#stockProcess .primary-action-btn:disabled,
#stockProcess button.primary-action-btn[onclick*="submitStockProcess"]:disabled {
  border: 0 !important;
  background: #98101A !important;
  color: #fff !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  opacity: .45 !important;
}

#stockProcess .stock-process-filterbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 138px 132px 132px auto;
  align-items: end;
  gap: 10px;
  min-width: min(100%, 820px);
}

#stockProcess .stock-process-history-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

#stockProcess .stock-process-history-head .history-title {
  margin: 0;
}

#stockProcess .stock-process-history-head .history-subtitle {
  margin: 5px 0 0;
}

#stockProcess .stock-process-filterbar .search {
  width: 100%;
  height: 36px;
  display: flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid #E3E6EB;
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-size: 13px !important;
}

#stockProcess .stock-process-filterbar .search-field {
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent !important;
  color: var(--text);
  font-size: 13px !important;
}

#stockProcess .stock-process-filterbar .search-field:focus {
  outline: none;
}

#stockProcess .stock-process-filter-control {
  min-width: 0;
}

#stockProcess .process-date,
#stockProcess .stock-process-filterbar .add-btn {
  height: 36px !important;
  min-height: 36px !important;
}

#stockProcess input.process-date[type="date"] {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid #E3E6EB !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--text) !important;
  font-family: var(--font);
  font-size: 13px !important;
  font-weight: 430 !important;
  letter-spacing: 0 !important;
}

#stockProcess .stock-process-filterbar .add-btn {
  white-space: nowrap;
}

@media (max-width: 1280px) {
  #stockProcess .batch2-entry-grid {
    grid-template-columns: minmax(250px, 1.25fr) minmax(156px, .82fr) 84px 84px minmax(184px, 1fr) minmax(148px, .62fr) !important;
    gap: 12px !important;
  }
}

@media (max-width: 1120px) {
  #stockProcess .batch2-entry-grid,
  #stockProcess .stock-process-filterbar,
  #stockProcess .stock-process-kpi-strip {
    grid-template-columns: 1fr !important;
  }

  #stockProcess .stock-process-history-head {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }
}

/* V103 owns the dashboard; legacy anchors stay mounted for shared renderers. */
#home.home-chart-dashboard { background: var(--workbench-page-background) !important; }
#homeVisualDashboard,
#homeVisualDashboard .hd-split,
#homeVisualDashboard section { background: transparent !important; }
#home.home-chart-dashboard > :not(#homeVisualDashboard):not(#desktopSteward) { display: none !important; }
#homeVisualDashboard { --hd-line: #e1e5ec; --hd-muted: #7b8697; color: var(--ink, #303642); }
#homeVisualDashboard * { box-sizing: border-box; letter-spacing: 0; }
#homeVisualDashboard h2 { font-size: 21px; font-weight: 650; margin: 0; }
#homeVisualDashboard h3 { font-size: 17px; font-weight: 600; margin: 0; }
#homeVisualDashboard small { font-size: 11px; font-weight: 400; color: var(--hd-muted); white-space: nowrap; }
#homeVisualDashboard button { font-family: inherit; cursor: pointer; }
#homeVisualDashboard button:focus-visible, #homeVisualDashboard .hd-hit:focus-visible { outline: 2px solid #b52f49; outline-offset: 3px; }
#homeVisualDashboard .hd-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px 0 28px; }
#homeVisualDashboard .hd-context { font-size: 13px; color: var(--hd-muted); }
#homeVisualDashboard .hd-context strong { color: var(--ink); margin-left: 8px; }
#homeVisualDashboard .hd-filters { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 8px 0 24px; border-bottom: 1px solid var(--hd-line); color: var(--hd-muted); font-size: 13px; }
#homeVisualDashboard .hd-filter-actions { display: flex; align-items: center; gap: 12px; }
#homeVisualDashboard .hd-segments { display: flex; padding: 3px; border: 1px solid var(--hd-line); border-radius: 8px; }
#homeVisualDashboard .hd-segments button { border: 0; border-radius: 5px; padding: 9px 12px; background: transparent; color: #717c8d; font-size: 13px; white-space: nowrap; }
#homeVisualDashboard .hd-segments [aria-pressed=true] { color: #a4233b; background: #f9eef0; }
#homeVisualDashboard .hd-refresh { width: 40px; height: 40px; border: 1px solid var(--hd-line); border-radius: 8px; background: transparent; color: #737e90; }
#homeVisualDashboard .hd-refresh-glyph { font-size: 24px; line-height: 1; }
#homeVisualDashboard .hd-refresh:disabled { opacity: .4; cursor: wait; }
#homeVisualDashboard .hd-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 26px 0; border-bottom: 1px solid var(--hd-line); }
#homeVisualDashboard .hd-kpi { min-width: 0; padding: 0 26px; border-right: 1px solid var(--hd-line); }
#homeVisualDashboard .hd-kpi:first-child { padding-left: 0; }
#homeVisualDashboard .hd-kpi:last-child { border: 0; }
#homeVisualDashboard .hd-kpi > span { font-size: 13px; color: var(--hd-muted); }
#homeVisualDashboard .hd-kpi > strong { display: block; font-size: 28px; font-weight: 600; line-height: 1.4; margin: 15px 0 10px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
#homeVisualDashboard .hd-kpi p { font-size: 11px; min-height: 30px; margin: 0; color: var(--hd-muted); }
#homeVisualDashboard .hd-kpi p.hd-positive { color: #367866; }
#homeVisualDashboard .hd-kpi p.hd-negative { color: #b52f49; }
#homeVisualDashboard .hd-spark { display: block; width: 180px; max-width: 100%; height: 40px; }
#homeVisualDashboard .hd-split { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); border-bottom: 1px solid var(--hd-line); }
#homeVisualDashboard .hd-split > section { padding: 28px 0; min-width: 0; }
#homeVisualDashboard .hd-split > section:first-child { padding-right: 30px; }
#homeVisualDashboard .hd-split > section:last-child { padding-left: 30px; border-left: 1px solid var(--hd-line); }
#homeVisualDashboard .hd-heading { margin-bottom: 22px; }
#homeVisualDashboard .hd-heading p { margin: 10px 0 0; color: var(--hd-muted); font-size: 12px; }
#homeVisualDashboard .hd-legend { display: flex; gap: 24px; color: var(--hd-muted); font-size: 12px; margin-bottom: 12px; }
#homeVisualDashboard .hd-legend small { margin-left: auto; }
#homeVisualDashboard .hd-legend span::before, #homeVisualDashboard .hd-donut-legend span::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 2px; background: var(--tone); }
#homeVisualDashboard .hd-chart { position: relative; width: 100%; }
#homeVisualDashboard .hd-chart > svg { width: 100%; height: auto; aspect-ratio: 760/300; display: block; }
#homeVisualDashboard svg text { font-family: inherit; font-size: 11px; fill: var(--hd-muted); }
#homeVisualDashboard .hd-gridline { stroke: #e6eaf0; stroke-dasharray: 3 6; }
#homeVisualDashboard .hd-zero-line { stroke: #818b9b; stroke-width: 1; }
#homeVisualDashboard .hd-hit { fill: transparent; cursor: crosshair; }
#homeVisualDashboard .hd-hit:hover { fill: #b52f4909; }
#homeVisualDashboard .hd-tooltip { position: absolute; top: 0; left: 60px; right: 10px; width: fit-content; max-width: calc(100% - 70px); background: white; border: 1px solid var(--hd-line); border-radius: 6px; padding: 8px 12px; font-size: 12px; pointer-events: none; }
#homeVisualDashboard .hd-donut { display: grid; grid-template-columns: minmax(140px,1.2fr) minmax(100px,1fr); align-items: center; gap: 18px; min-height: 260px; }
#homeVisualDashboard .hd-donut svg { width: 100%; max-width: 270px; aspect-ratio: 1; justify-self: center; }
#homeVisualDashboard .hd-donut .hd-donut-value { font-size: 29px; fill: var(--ink); }
#homeVisualDashboard .hd-donut-legend { display: grid; gap: 23px; min-width: 0; }
#homeVisualDashboard .hd-donut-legend span { color: var(--hd-muted); font-size: 12px; display: block; }
#homeVisualDashboard .hd-donut-legend strong { display: block; margin-top: 9px; font-size: 19px; font-weight: 500; overflow-wrap: anywhere; }
#homeVisualDashboard .hd-bars { display: grid; gap: 23px; padding: 6px 0; }
#homeVisualDashboard .hd-bar { display: grid; grid-template-columns: 26px minmax(0,1fr) auto; column-gap: 12px; row-gap: 12px; align-items: baseline; font-size: 14px; }
#homeVisualDashboard .hd-rank { font-size: 11px; color: var(--hd-muted); }
#homeVisualDashboard .hd-bar-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
#homeVisualDashboard .hd-bar strong { font-size: 13px; font-weight: 500; white-space: nowrap; }
#homeVisualDashboard .hd-track { grid-column: 2/-1; height: 6px; border-radius: 3px; background: #edf0f2; overflow: hidden; }
#homeVisualDashboard .hd-track i { display: block; height: 100%; border-radius: 3px; }
#homeVisualDashboard .hd-operations { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 20px; padding-top: 12px; }
#homeVisualDashboard .hd-operations span { font-size: 13px; color: var(--hd-muted); }
#homeVisualDashboard .hd-operations strong { font-size: 30px; display: block; margin-top: 12px; font-weight: 500; }
#homeVisualDashboard .hd-stock-section, #homeVisualDashboard .hd-recent { padding: 28px 0; border-bottom: 1px solid var(--hd-line); }
#homeVisualDashboard .hd-stock-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 36px; }
#homeVisualDashboard .hd-stock { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; min-width: 0; }
#homeVisualDashboard .hd-stock strong { font-size: 13px; font-weight: 600; }
#homeVisualDashboard .hd-stock small { display: block; margin-top: 5px; white-space: normal; overflow-wrap: anywhere; }
#homeVisualDashboard .hd-stock > span { font-size: 14px; }
#homeVisualDashboard .hd-stock-track { display: flex; grid-column: 1/-1; background: #edf0f2; height: 8px; border-radius: 4px; overflow: hidden; }
#homeVisualDashboard .hd-stock p { grid-column: 1/-1; font-size: 11px; color: var(--hd-muted); margin: 0; }
#homeVisualDashboard .hd-stock-warning { color: #a66a23; font-style: normal; margin-left: 6px; }
#homeVisualDashboard .hd-order { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(180px,.5fr) 110px 15px; gap: 22px; align-items: center; padding: 20px 0; border: 0; border-bottom: 1px solid var(--hd-line); border-radius: 0; text-align: left; background: transparent; color: inherit; font-size: 14px; }
#homeVisualDashboard .hd-order:hover { background: #f8f9fb; }
#homeVisualDashboard .hd-order strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#homeVisualDashboard .hd-order time, #homeVisualDashboard .hd-order > span:nth-child(2) { color: var(--hd-muted); font-size: 12px; overflow-wrap: anywhere; }
#homeVisualDashboard .hd-order > span:nth-child(3) { min-width: 0; text-align: right; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
#homeVisualDashboard .hd-empty { color: var(--hd-muted); font-size: 13px; padding: 60px 0; text-align: center; }
@media(max-width:1200px) {
  #homeVisualDashboard .hd-kpi { padding: 0 16px; }
  #homeVisualDashboard .hd-kpi > strong { font-size: 23px; }
  #homeVisualDashboard .hd-donut { grid-template-columns: 1fr; gap: 10px; }
  #homeVisualDashboard .hd-donut svg { max-width: 210px; }
  #homeVisualDashboard .hd-donut-legend { grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media(max-width:760px) {
  body.mobile-full-mode .app-shell .shell-inner { padding: 0 8px !important; }
  body.mobile-full-mode .app-shell .brand .logo { width: 30px !important; height: 30px !important; }
  body.mobile-full-mode .app-shell .brand-name { font-size: 16px !important; white-space: nowrap !important; }
  body.mobile-full-mode .app-shell .shell-language-dropdown { width: 90px !important; }
  body.mobile-full-mode .app-shell .account-chip { width: 30px !important; padding: 0 !important; justify-content: center !important; }
  body.mobile-full-mode .app-shell .account-caret { display: none !important; }
  body.mobile-full-mode .app-shell .account-chip .account-name { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; }
  body.mobile-full-mode .app-shell .brand-bar { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; gap: 14px 8px !important; height: auto !important; padding: 12px !important; }
  body.mobile-full-mode .app-shell .brand { grid-column: 1 !important; min-width: 0 !important; }
  body.mobile-full-mode .app-shell .shell-actions { grid-column: 2 !important; grid-row: 1 !important; position: static !important; }
  body.mobile-full-mode .app-shell .module-nav { grid-column: 1/-1 !important; grid-row: 2 !important; position: static !important; transform: none !important; width: 100% !important; min-width: 0 !important; overflow-x: auto !important; justify-content: flex-start !important; }
  body.mobile-full-mode .app-shell .module-nav .nav-item { flex: 0 0 auto !important; }
  #homeVisualDashboard .hd-toolbar, #homeVisualDashboard .hd-filters { align-items: flex-start; flex-direction: column; gap: 16px; }
  #homeVisualDashboard .hd-filter-actions { width: 100%; justify-content: space-between; gap: 8px; }
  #homeVisualDashboard .hd-segments button { padding: 9px 8px; font-size: 12px; }
  #homeVisualDashboard .hd-kpis { grid-template-columns: 1fr 1fr; row-gap: 24px; }
  #homeVisualDashboard .hd-kpi { padding: 0 12px; }
  #homeVisualDashboard .hd-kpi:nth-child(odd) { padding-left: 0; }
  #homeVisualDashboard .hd-kpi:nth-child(even) { border: 0; }
  #homeVisualDashboard .hd-kpi > strong { font-size: 21px; }
  #homeVisualDashboard .hd-kpi > strong small { display: block; min-height: 16px; }
  #homeVisualDashboard .hd-chart > svg { aspect-ratio: 340/240; }
  #homeVisualDashboard .hd-split { grid-template-columns: 1fr; }
  #homeVisualDashboard .hd-split > section:first-child { padding-right: 0; }
  #homeVisualDashboard .hd-split > section:last-child { padding-left: 0; border-left: 0; border-top: 1px solid var(--hd-line); }
  #homeVisualDashboard .hd-donut { grid-template-columns: 1fr 1fr; }
  #homeVisualDashboard .hd-donut-legend { grid-template-columns: 1fr; }
  #homeVisualDashboard .hd-stock-list { grid-template-columns: 1fr; }
  #homeVisualDashboard .hd-order { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  #homeVisualDashboard .hd-order time { grid-column: 2; grid-row: 2; text-align: right; }
  #homeVisualDashboard .hd-order > span:nth-child(3) { grid-column: 2; grid-row: 1; }
  #homeVisualDashboard .hd-order > span:last-child { display: none; }
  #homeVisualDashboard .hd-bar { grid-template-columns: 18px minmax(0,1fr) auto; gap: 10px 6px; }
  #homeVisualDashboard .hd-bar strong { font-size: 12px; }
}

html.lang-zh .nav-ru,
html.lang-zh .nav-uz,
html.lang-zh .product-ru,
html.lang-zh .product-uz,
body.lang-zh .nav-ru,
body.lang-zh .nav-uz,
body.lang-zh .product-ru,
body.lang-zh .product-uz {
  display: none !important;
}

html.lang-ru .nav-cn,
html.lang-ru .nav-uz,
html.lang-ru .product-cn,
html.lang-ru .product-uz,
body.lang-ru .nav-cn,
body.lang-ru .nav-uz,
body.lang-ru .product-cn,
body.lang-ru .product-uz {
  display: none !important;
}

html.lang-uz .nav-cn,
html.lang-uz .nav-ru,
html.lang-uz .product-cn,
html.lang-uz .product-ru,
body.lang-uz .nav-cn,
body.lang-uz .nav-ru,
body.lang-uz .product-cn,
body.lang-uz .product-ru {
  display: none !important;
}

body.lang-uz .nav-uz,
html.lang-uz .nav-uz {
  display: block !important;
}

body.lang-uz .product-uz,
html.lang-uz .product-uz {
  display: inline !important;
}

body.lang-uz .login-overlay .login-lang-uz {
  background: #8F1D1D;
  color: #fff;
  border-color: #8F1D1D;
}

.login-overlay .login-language {
  gap: 6px;
}

.login-overlay .login-language-dropdown {
  width: 132px;
}

#globalModal #modalBody:has(.detail-record-layout) {
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
}

#modalBody .detail-record-layout {
  flex: 1;
  min-height: 0;
  grid-template-columns: 190px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}

#modalBody .detail-record-nav {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border-right: 1px solid var(--lh-border, #e5e7eb);
  padding-right: 12px;
}

#modalBody .detail-record-nav button {
  display: grid;
  gap: 2px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 9px 10px;
  border: 0;
  border-bottom: 1px solid var(--lh-border, #e5e7eb);
  border-left: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--lh-muted, #667085);
  font: inherit;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}

#modalBody .detail-record-nav button[aria-pressed="true"],
#modalBody .detail-record-nav button:hover {
  color: var(--red-deep, #c50f1f);
  border-left-color: currentColor;
  background: rgba(197, 15, 31, .035);
}

#modalBody .detail-record-date {
  color: var(--lh-muted, #667085);
  font-size: 12px;
}

#modalBody .detail-record-nav strong { font-weight: 600; }

#modalBody .detail-record-content { min-width: 0; }

#modalBody .detail-record-layout .detail-record-content {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}

#modalBody .detail-record-layout .detail-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 600px) {
  #modalBody .detail-record-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 150px) minmax(0, 1fr);
  }
  #modalBody .detail-record-nav {
    border-right: 0;
    border-bottom: 1px solid var(--lh-border, #e5e7eb);
    padding-right: 0;
  }
}

#modalBody .detail-record-nav button:focus-visible {
  outline: 2px solid var(--red-deep, #c50f1f);
  outline-offset: -2px;
}

#globalModal.modal-mask,
#paymentModal.modal-mask {
  align-items: stretch !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  background: rgba(17, 24, 39, 0.22) !important;
  backdrop-filter: blur(5px) !important;
  overflow: hidden !important;
}

#globalModal .modal-panel,
#paymentModal .modal-panel {
  width: min(800px, calc(100vw - 24px)) !important;
  max-width: min(800px, calc(100vw - 24px)) !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--lh-border, #e5e7eb) !important;
  border-right: 0 !important;
  border-radius: 12px 0 0 12px !important;
  background: var(--lh-surface, #fff) !important;
  box-shadow: 0 20px 54px rgba(15, 23, 42, 0.16) !important;
  color: var(--lh-text, #1f2328) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#paymentModal .modal-panel {
  width: min(760px, calc(100vw - 32px)) !important;
  max-width: min(760px, calc(100vw - 32px)) !important;
}

#globalModal.detail-master-modal[data-detail-kind="customer"]:has(#modal_phone):has(#modal_address) .modal-panel {
  width: min(760px, calc(100vw - 32px)) !important;
  max-width: min(760px, calc(100vw - 32px)) !important;
}

#globalModal .modal-panel h3,
#paymentModal .modal-panel h3 {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 18px 22px 12px !important;
  border-bottom: 1px solid var(--lh-border, #e5e7eb) !important;
  background: #fff !important;
  color: var(--lh-text, #1f2328) !important;
  -webkit-text-fill-color: var(--lh-text, #1f2328) !important;
  font-size: 19px !important;
  font-weight: 720 !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
}

#globalModal .modal-panel h3.detail-master-rich-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

#globalModal .detail-master-header-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}

#globalModal .detail-master-header-title {
  color: var(--lh-text, #1f2328) !important;
  font-size: 19px !important;
  font-weight: 740 !important;
  line-height: 1.25 !important;
}

#globalModal .detail-master-header-object {
  min-width: 0 !important;
  color: var(--lh-text, #1f2328) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

#globalModal .detail-master-header-meta {
  min-width: 0 !important;
  color: var(--lh-text-secondary, #667085) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

#globalModal .detail-master-header-badge {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  margin-top: 1px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(207, 20, 43, 0.16) !important;
  background: rgba(207, 20, 43, 0.07) !important;
  color: var(--lh-primary, #cf142b) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

#modalBody,
#paymentBody {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  overflow-x: hidden !important;
  padding: 14px 22px 20px !important;
  background: #fbfaf8 !important;
  scrollbar-width: thin !important;
}

#globalModal.detail-master-modal[data-detail-kind="goods"] #modalBody {
  padding: 28px 28px 32px !important;
  background: #fff !important;
}

#globalModal.detail-master-modal[data-detail-kind="goods"] .modal-panel {
  width: min(800px, calc(100vw - 24px)) !important;
  max-width: min(800px, calc(100vw - 24px)) !important;
}

#globalModal.detail-master-modal[data-detail-kind="goods"] .modal-panel h3.detail-master-rich-header {
  padding: 22px 28px 20px !important;
  align-items: center !important;
}

#globalModal.detail-master-modal[data-detail-kind="goods"] .detail-master-header-title {
  font-size: 18px !important;
  line-height: 1.2 !important;
}

#globalModal.detail-master-modal[data-detail-kind="goods"] .detail-master-header-copy {
  gap: 7px !important;
}

#globalModal.detail-master-modal[data-detail-kind="goods"] .detail-master-header-object {
  font-size: var(--erp-density-meta, 12.5px) !important;
  font-weight: 400 !important;
  color: #748094 !important;
}

#globalModal.detail-master-modal[data-detail-kind="goods"] .detail-master-header-badge {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #52796b !important;
  font-weight: 400 !important;
  gap: 6px;
}

#globalModal.detail-master-modal[data-detail-kind="goods"] .detail-master-header-badge::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

#globalModal.detail-master-modal[data-detail-kind="goods"]:has(#modal_status option[value="inactive"]:checked) .detail-master-header-badge {
  color: #7b8491 !important;
}

#globalModal.detail-master-modal[data-detail-kind="goods"] .modal-panel .btn-group {
  padding: 14px 28px !important;
  box-shadow: none !important;
}

#globalModal .modal-panel .btn-group,
#paymentModal .modal-panel .btn-group {
  flex: 0 0 auto !important;
  position: sticky !important;
  bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 9px 22px 11px !important;
  border-top: 1px solid var(--lh-border, #e5e7eb) !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.04) !important;
  backdrop-filter: blur(8px) !important;
  z-index: 5 !important;
}

#globalModal .modal-panel .btn,
#paymentModal .modal-panel .btn {
  min-height: 34px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

#globalModal .modal-panel .btn-outline,
#paymentModal .modal-panel .btn-outline {
  background: #fff !important;
  border: 1px solid var(--lh-border, #e5e7eb) !important;
  color: var(--lh-text, #1f2328) !important;
}

#modalBody .detail-master-form {
  display: grid !important;
  gap: 12px !important;
}

#modalBody .detail-product-compact-workspace {
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#modalBody .detail-product-compact-workspace .detail-compact-section {
  display: grid !important;
  grid-template-columns: 116px minmax(0, 1fr);
  column-gap: 28px;
  align-items: start;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modalBody .detail-product-compact-workspace .detail-compact-section + .detail-compact-section {
  margin-top: 17px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(229, 231, 235, 0.88) !important;
}

#modalBody .detail-product-compact-workspace .detail-compact-section h4 {
  margin: 2px 0 0 !important;
  color: var(--lh-text, #1f2328) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  overflow-wrap: anywhere;
}

#modalBody .detail-product-compact-workspace .detail-compact-grid,
#modalBody .detail-product-compact-workspace .detail-compact-grid:has(#modal_caseUnit),
#modalBody .detail-product-compact-workspace .detail-compact-grid:has(#modal_casePrice) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 20px !important;
  align-items: end;
}

#modalBody .detail-product-compact-workspace .form-group {
  min-width: 0;
  margin: 0 !important;
}

#modalBody .detail-product-compact-workspace .form-group:has(:is(#modal_caseUnit, #modal_minUnit, #modal_unitsPerCase)) {
  width: 100%;
  max-width: 160px;
}

#modalBody .detail-product-compact-workspace .form-group:has(:is(#modal_casePrice, #modal_unitPrice, #modal_status)) {
  width: 100%;
  max-width: 180px;
}

body.erp-ui2 #globalModal.detail-master-modal[data-detail-kind="goods"] .detail-compact-section + .detail-compact-section {
  margin-top: 26px !important;
  padding-top: 26px !important;
  border-top-color: #edf0f3 !important;
}

#modalBody .detail-product-compact-workspace .form-group label {
  margin-bottom: 7px !important;
  font-weight: 400 !important;
  color: #748094 !important;
  line-height: 1.5 !important;
}

#modalBody .detail-product-compact-workspace {
  --workbench-control-height: 36px;
}

#modalBody .detail-product-compact-workspace .form-input,
#modalBody .detail-product-compact-workspace .form-select {
  min-height: 36px !important;
  height: 36px !important;
  border-color: #e4e8ed !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-variant-numeric: lining-nums tabular-nums;
}

#modalBody .detail-product-compact-workspace .form-input:focus-visible {
  border-color: #cc8f98 !important;
  outline: 2px solid rgba(188, 23, 42, .12);
  outline-offset: 1px;
}

@media (max-width: 700px) {
  #globalModal.detail-master-modal[data-detail-kind="goods"] #modalBody {
    padding: 20px !important;
  }
  #modalBody .detail-product-compact-workspace .detail-compact-section {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 14px;
  }
  #modalBody .detail-product-compact-workspace .detail-compact-grid {
    max-width: 600px;
  }
}

@media (max-width: 440px) {
  #globalModal.detail-master-modal[data-detail-kind="goods"] :is(.modal-panel h3.detail-master-rich-header, #modalBody, .modal-panel .btn-group) {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  #modalBody .detail-product-compact-workspace .detail-compact-grid:not(:has(#modal_caseUnit)):not(:has(#modal_casePrice)) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #modalBody .detail-product-compact-workspace .detail-compact-grid {
    column-gap: 12px !important;
  }
}

#modalBody .detail-master-hero {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 16px 18px !important;
  border: 1px solid var(--lh-border, #e5e7eb) !important;
  border-radius: 10px !important;
  background: #fff !important;
}

#modalBody .detail-master-eyebrow {
  display: block !important;
  margin-bottom: 5px !important;
  color: var(--lh-text-secondary, #667085) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
}

#modalBody .detail-master-title {
  display: block !important;
  color: var(--lh-text, #1f2328) !important;
  font-size: 17px !important;
  font-weight: 720 !important;
  line-height: 1.3 !important;
}

#modalBody .detail-master-meta {
  margin-top: 5px !important;
  color: var(--lh-text-secondary, #667085) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#modalBody .detail-master-status {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(207, 20, 43, 0.16) !important;
  background: rgba(207, 20, 43, 0.07) !important;
  color: var(--lh-primary, #cf142b) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

#modalBody .detail-master-section,
#modalBody .modal-grid,
#paymentBody .modal-grid {
  border: 1px solid var(--lh-border, #e5e7eb) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

#modalBody .detail-master-section {
  padding: 14px 16px 16px !important;
}

#modalBody .detail-master-section-head {
  margin-bottom: 11px !important;
}

#modalBody .detail-master-section-head h4 {
  margin: 0 !important;
  color: var(--lh-text, #1f2328) !important;
  font-size: 14px !important;
  font-weight: 720 !important;
  line-height: 1.32 !important;
}

#modalBody .detail-master-section-head p {
  margin: 4px 0 0 !important;
  color: var(--lh-text-secondary, #667085) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#modalBody .detail-master-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 14px !important;
}

#modalBody .detail-master-field-full {
  grid-column: 1 / -1 !important;
}

#modalBody .modal-grid,
#paymentBody .modal-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 14px !important;
  padding: 14px 16px 16px !important;
}

#modalBody .modal-section-title,
#paymentBody .modal-section-title {
  grid-column: 1 / -1 !important;
  margin: 0 0 -2px !important;
  padding: 0 0 9px !important;
  border-bottom: 1px solid var(--lh-border, #e5e7eb) !important;
  color: var(--lh-text, #1f2328) !important;
  font-size: 14px !important;
  font-weight: 720 !important;
  line-height: 1.35 !important;
}

#modalBody .modal-section-title:not(:first-child),
#paymentBody .modal-section-title:not(:first-child) {
  margin-top: 10px !important;
}

#modalBody .form-group,
#paymentBody .form-group {
  min-width: 0 !important;
  margin: 0 !important;
}

#modalBody .form-group label,
#paymentBody .form-group label {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--lh-text-secondary, #667085) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}

#modalBody .form-input,
#modalBody .form-select,
#paymentBody .form-input,
#paymentBody .form-select {
  width: 100% !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 11px !important;
  border: 1px solid var(--lh-border, #d8dde6) !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  color: var(--lh-text, #1f2328) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 38px !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

#modalBody textarea.form-input,
#paymentBody textarea.form-input {
  height: auto !important;
  min-height: 82px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  line-height: 1.45 !important;
  resize: vertical !important;
}

#modalBody .form-select,
#paymentBody .form-select {
  appearance: none !important;
  padding-right: 34px !important;
  background-image: linear-gradient(45deg, transparent 50%, #7d8794 50%), linear-gradient(135deg, #7d8794 50%, transparent 50%) !important;
  background-position: calc(100% - 18px) 16px, calc(100% - 13px) 16px !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
}

#modalBody .form-input:focus,
#modalBody .form-select:focus,
#paymentBody .form-input:focus,
#paymentBody .form-select:focus {
  border-color: rgba(207, 20, 43, 0.42) !important;
  outline: 3px solid rgba(207, 20, 43, 0.09) !important;
}

#modalBody .form-input[readonly],
#modalBody .form-input:disabled,
#paymentBody .form-input[readonly],
#paymentBody .form-input:disabled {
  background: #f7f7f5 !important;
  color: var(--lh-text-secondary, #667085) !important;
}

#modalBody .detail-grid,
#paymentBody .detail-grid,
#modalBody .return-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 14px !important;
}

#modalBody .detail-card,
#paymentBody .detail-card,
#modalBody .return-detail-card {
  min-width: 0 !important;
  min-height: 82px !important;
  padding: 13px 14px !important;
  border: 1px solid var(--lh-border, #e5e7eb) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 6px !important;
}

#modalBody .detail-card b,
#paymentBody .detail-card b,
#modalBody .return-detail-card b {
  margin: 0 !important;
  color: var(--lh-text-secondary, #667085) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}

#modalBody .detail-card span,
#modalBody .detail-card div,
#paymentBody .detail-card span,
#paymentBody .detail-card div,
#modalBody .return-detail-card span {
  color: var(--lh-text, #1f2328) !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  line-height: 1.45 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

#modalBody .detail-table-wrap,
#paymentBody .detail-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 420px !important;
  overflow: auto !important;
  border: 1px solid var(--lh-border, #e5e7eb) !important;
  border-radius: 10px !important;
  background: #fff !important;
}

#modalBody .detail-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 24px;
  margin: 0 0 24px;
}
#modalBody .detail-summary-field { min-width: 0; }
#modalBody .detail-summary-field dt {
  color: var(--lh-text-secondary, #667085);
  font-size: 12px;
  margin-bottom: 6px;
}
#modalBody .detail-summary-field dd {
  color: var(--lh-text, #1f2328);
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
  overflow-wrap: anywhere;
}
#modalBody .detail-table-wrap.detail-table-flow {
  max-height: none !important;
  overflow: visible !important;
  border-radius: 6px !important;
}
#modalBody .detail-table-flow table { table-layout: fixed; }
#modalBody .detail-table-flow :is(th, td) { overflow-wrap: anywhere; }
#modalBody .detail-table-flow .detail-product-sku {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--lh-text-secondary, #667085);
}
@media (max-width: 600px) {
  #modalBody .detail-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

#modalBody .detail-table-wrap table,
#paymentBody .detail-table-wrap table {
  width: 100% !important;
  min-width: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#modalBody .detail-table-wrap table.detail-table-nowrap,
#paymentBody .detail-table-wrap table.detail-table-nowrap {
  table-layout: auto !important;
}

#modalBody .detail-table-wrap .detail-table-nowrap :is(th, td),
#paymentBody .detail-table-wrap .detail-table-nowrap :is(th, td) {
  white-space: nowrap !important;
}

#modalBody .detail-table-wrap th,
#modalBody .detail-table-wrap td,
#paymentBody .detail-table-wrap th,
#paymentBody .detail-table-wrap td {
  padding: 10px 12px !important;
  border-bottom: 1px solid var(--lh-border, #e5e7eb) !important;
  color: var(--lh-text, #1f2328) !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  vertical-align: top !important;
}

#modalBody .detail-table-wrap th,
#paymentBody .detail-table-wrap th {
  background: #f7f7f5 !important;
  color: var(--lh-text-secondary, #667085) !important;
  font-weight: 680 !important;
}

#modalBody .finance-modal-static {
  display: flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 0 11px !important;
  border: 1px solid var(--lh-border, #e5e7eb) !important;
  border-radius: 8px !important;
  background: #f7f7f5 !important;
  color: var(--lh-text-secondary, #667085) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

#modalBody .abbr-note,
#modalBody .muted,
#paymentBody .muted {
  color: var(--lh-text-secondary, #667085) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

@media (max-width: 760px) {
  #globalModal .modal-panel,
  #paymentModal .modal-panel {
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
  }
  #globalModal .modal-panel h3,
  #paymentModal .modal-panel h3 {
    padding: 18px 18px 13px !important;
    font-size: 18px !important;
  }
  #modalBody,
  #paymentBody {
    padding: 16px 18px 20px !important;
  }
  #globalModal .modal-panel .btn-group,
  #paymentModal .modal-panel .btn-group {
    padding: 13px 18px 16px !important;
  }
  #modalBody .detail-master-grid,
  #modalBody .modal-grid,
  #paymentBody .modal-grid,
  #modalBody .detail-grid,
  #paymentBody .detail-grid,
  #modalBody .return-detail-grid {
    grid-template-columns: 1fr !important;
  }
  #modalBody .detail-master-hero {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

#attendance .attendance-page {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

#attendance .attendance-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  min-height: 48px;
}

#attendance .attendance-title-block {
  min-width: 0;
}

#attendance .attendance-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}

#attendance .attendance-header-divider {
  height: 1px;
  background: rgba(15, 23, 42, .055);
}

#attendance .section-header .add-btn,
#attendance .add-btn {
  height: 36px;
  padding: 0 14px;
  border: 1px solid #DEDCD7;
  border-radius: 8px;
  background: #fff;
  color: #3E4650;
  font-size: 13px;
  font-weight: 540;
  line-height: 34px;
  box-shadow: 0 1px 0 rgba(17, 21, 28, .025);
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
}

#attendance .add-btn.subtle-action {
  color: #747C86;
  font-weight: 430;
  background: transparent;
  border-color: #E7E4DE;
}

#attendance .confirm {
  height: 36px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  background: var(--red-deep, #b91c1c);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 36px;
  box-shadow: none;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
}

#attendance .attendance-kpi-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  margin-left: 1px;
  border-left: 0;
}

#attendance .attendance-refresh-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #8A929C;
  cursor: pointer;
  padding: 0;
}

#attendance .attendance-refresh-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#attendance .attendance-refresh-icon:hover {
  background: #FAFAF8;
  border-color: transparent;
  color: #606A76;
}

#attendance .attendance-refresh-icon:active {
  background: #F5F3F0;
  color: #9f1239;
}

#attendance .attendance-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  min-width: 0;
}

#attendance .attendance-card-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}

#attendance .attendance-card h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.3;
  color: #0f172a;
  font-weight: 620;
}

#attendance .attendance-card p {
  margin: 3px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: #64748b;
}

#attendance .attendance-tab-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  border-bottom: 1px solid rgba(15, 23, 42, .065);
  margin-bottom: 0;
}

#attendance .attendance-tabs {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
  border-bottom: 0;
  margin-bottom: 0;
}

#attendance .attendance-tab-filter {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  min-width: 0;
}

#attendance .attendance-tab {
  position: relative;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #858D98;
  font: inherit;
  font-size: 14px;
  font-weight: 480;
  cursor: pointer;
  white-space: nowrap;
}

#attendance .attendance-tab.active {
  color: var(--red-deep, #b91c1c);
  font-weight: 650;
}

#attendance .attendance-tab.active::after {
  content: "";
  position: absolute;
  left: 3px;
  right: 3px;
  bottom: -1px;
  height: 1px;
  border-radius: 999px;
  background: var(--red-deep, #b91c1c);
}

#attendance .attendance-workbench-surface {
  border: 1px solid rgba(15, 23, 42, .065);
  border-radius: 10px;
  background: #fff;
  padding: 12px 16px;
  min-width: 0;
}

#attendance .attendance-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  min-width: 0;
}

#attendance .attendance-filter-left,
#attendance .attendance-filter-right {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  min-width: 0;
}

#attendance .attendance-filter-left {
  flex: 1 1 auto;
}

#attendance .attendance-filter-right {
  justify-content: flex-end;
  flex: 0 1 auto;
}

#attendance .attendance-filter-left h3 {
  margin: 0;
  color: #0f172a;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 620;
}

#attendance .attendance-filter-left p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

#attendance .attendance-surface-divider {
  height: 1px;
  margin: 8px -16px 0;
  background: rgba(15, 23, 42, .055);
}

#attendance .attendance-surface-divider + .history-surface,
#attendance .attendance-surface-divider + .attendance-table-wrap,
#attendance .attendance-surface-divider + .attendance-settings-body {
  margin-top: 0;
}

#attendance .attendance-search {
  width: min(320px, 34vw);
  height: 36px;
  display: flex;
  align-items: center;
  border: 1px solid #E3E6EB;
  border-radius: 8px;
  background: #fff;
  padding: 0 11px;
}

#attendance .attendance-search input {
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #404852;
  font: inherit;
  font-size: 13px;
}

#attendance .attendance-filter-select {
  width: 132px;
}

#attendance .attendance-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  align-items: end;
}

#attendance .attendance-form-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#attendance .attendance-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

#attendance .attendance-field > span {
  font-size: 12px;
  font-weight: 700;
  color: #475569;
}

#attendance .form-input,
#attendance .form-select {
  height: 36px !important;
  width: 100% !important;
  border: 1px solid #E3E6EB !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #404852 !important;
  font-size: 13px !important;
  font-family: inherit !important;
  box-shadow: none !important;
}

#attendance .form-input:focus,
#attendance .form-select:focus {
  outline: none !important;
  border-color: #D4D0C8 !important;
  box-shadow: 0 0 0 3px rgba(190, 18, 60, .08) !important;
}

#attendance .attendance-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

#attendance .attendance-inline-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

#attendance .attendance-link {
  border: 0;
  background: transparent;
  padding: 0;
  color: #9f1239;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

#attendance .attendance-link:hover,
#attendance .attendance-link:focus {
  text-decoration: underline;
}

#attendance .attendance-table-wrap {
  overflow-x: visible;
  width: 100%;
  min-width: 0;
  background: transparent;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
}

#attendance .attendance-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

#attendance .attendance-table.compact {
  min-width: 0;
}

#attendance .attendance-table th,
#attendance .attendance-table td {
  padding-left: 10px;
  padding-right: 10px;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

#attendance .attendance-table th {
  background: #FAFAF8;
  color: #7A838E;
  font-weight: 560;
}

#attendance .attendance-table td {
  color: #303640;
  vertical-align: middle;
}

#attendance .attendance-month-table th,
#attendance .attendance-month-table td {
  padding-left: 6px;
  padding-right: 6px;
}

#attendance .attendance-month-table th {
  font-size: 10px;
  line-height: 1.15;
}

#attendance .attendance-ledger-card {
  width: 100%;
}

#attendance .pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 420;
}

#attendance .pagination .page-stat {
  margin-right: auto;
  color: #9299A2;
}

#attendance .pagination .page-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

#attendance .pagination .page-icon,
#attendance .pagination .page-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  min-height: 30px;
  max-height: 30px;
  min-width: 30px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #66707C;
  font-size: 13px;
  line-height: 1;
  box-shadow: none;
  font-variant-numeric: tabular-nums;
}

#attendance .pagination .page-icon {
  font-size: 17px;
  font-weight: 430;
  color: #7A838E;
}

#attendance .pagination .page-number.active {
  background: #F5F3F0;
  border-color: #E7E3DD;
  color: #303640;
  font-weight: 560;
}

#attendance .pagination .page-icon:hover:not(:disabled),
#attendance .pagination .page-number:hover:not(:disabled) {
  background: #F8F8F6;
  border-color: #ECE8E1;
  color: #303640;
}

#attendance .pagination .page-icon:disabled {
  color: #CDD2D8;
  background: transparent;
  border-color: transparent;
  opacity: 1;
}

#attendance .attendance-date-field {
  width: 148px;
  gap: 4px;
  flex-shrink: 0;
}

#attendance .attendance-date-filter span {
  color: #8F98A3;
  font-weight: 540;
}

#attendance .attendance-date-filter .form-input {
  height: 34px !important;
  border-color: rgba(15, 23, 42, .12) !important;
}

#attendance .attendance-table .text-center.muted {
  padding-top: 16px;
  padding-bottom: 16px;
  color: #A0A7B1;
  font-weight: 420;
}

#attendance .attendance-table .text-center.muted::before {
  content: "";
  display: block;
  width: 22px;
  height: 1px;
  margin: 0 auto 7px;
  background: rgba(15, 23, 42, .12);
}

#attendance .attendance-table-wrap .table-pagination-footer {
  margin: 0;
  padding: 7px 10px 0;
  min-height: 38px;
  border-top: 1px solid rgba(15, 23, 42, .055);
}

#attendance .attendance-table-wrap .pagination .page-stat {
  color: #9AA2AC;
}

#attendance .attendance-table-wrap .pagination .page-controls {
  gap: 3px;
}

#attendance .attendance-table-wrap .pagination .page-icon,
#attendance .attendance-table-wrap .pagination .page-number {
  width: 26px;
  min-width: 26px;
  height: 26px;
  min-height: 26px;
  max-height: 26px;
  border-radius: 6px;
  color: #747D89;
  font-size: 12px;
}

#attendance .attendance-table-wrap .pagination .page-icon {
  font-size: 15px;
  color: #8A929C;
}

#attendance .attendance-table-wrap .pagination .page-number.active {
  background: #F6F3F0;
  border-color: #E6E0D8;
  color: #404852;
}

#attendance .attendance-settings {
  display: grid;
  gap: 0;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 12px;
  background: #fff;
  padding: 16px 18px;
}

#attendance .attendance-settings-intro h3 {
  margin: 0;
  color: #0f172a;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 620;
}

#attendance .attendance-settings-intro p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

#attendance .attendance-settings-body {
  display: grid;
  gap: 0;
}

#attendance .attendance-setting-section {
  padding: 12px 0;
  border-top: 1px solid rgba(15, 23, 42, .07);
}

#attendance .attendance-setting-section:first-of-type {
  padding-top: 0;
  border-top: 0;
}

#attendance .attendance-setting-section:last-child {
  padding-bottom: 0;
}

#attendance .status.rest {
  background: #f1f5f9;
  color: #475569;
}

#attendance .status.unverified,
#attendance .status.late {
  background: #fff1f2;
  color: #be123c;
}

#attendance .status.present,
#attendance .status.checked_out {
  background: #ecfdf5;
  color: #047857;
}

#attendance .status.missing {
  background: #fef3c7;
  color: #92400e;
}

#attendance .attendance-summary-line {
  margin-top: 6px;
  color: #64748b;
  font-size: 12px;
}

.attendance-detail-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.attendance-detail-summary > div {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.attendance-detail-summary b,
.attendance-detail-summary span {
  display: block;
}

.attendance-detail-summary b {
  font-size: 12px;
  color: #64748b;
  margin-bottom: 6px;
}

.attendance-detail-summary span {
  color: #0f172a;
  font-weight: 750;
}

.attendance-timeline {
  display: grid;
  gap: 10px;
}

.attendance-timeline-item {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 11px 0;
  border-bottom: 1px solid rgba(15, 23, 42, .07);
}

.attendance-timeline-item:last-child {
  border-bottom: 0;
}

.attendance-timeline-time {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  padding-top: 2px;
}

.attendance-timeline-main strong {
  color: #0f172a;
  font-size: 13px;
}

body.erp-ui2 #attendance .attendance-record-toolbar-filters .attendance-select-field {
  width: 136px !important;
  flex: 0 0 136px !important;
}

body.erp-ui2 #attendance .attendance-record-toolbar-filters .attendance-select-field > span {
  display: none !important;
}

body.erp-ui2 #attendance .attendance-record-date-range {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.erp-ui2 #attendance .attendance-record-date-range .attendance-date-field {
  width: 136px !important;
  flex: 0 0 136px !important;
}

body.erp-ui2 #attendance .attendance-record-date-range .attendance-date-field > span {
  display: none !important;
}

body.erp-ui2 #attendance .attendance-table .status {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #4f5b6d !important;
  font-size: 12.5px !important;
  font-weight: 540 !important;
  white-space: nowrap !important;
}

body.erp-ui2 #attendance .attendance-table .status::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: 0 0 0 2px rgba(203, 213, 225, .22);
}

body.erp-ui2 #attendance .attendance-table .status.present::before,
body.erp-ui2 #attendance .attendance-table .status.checked_out::before {
  background: #16a34a;
  box-shadow: 0 0 0 2px rgba(22, 163, 74, .13);
}

body.erp-ui2 #attendance .attendance-table .status.unverified::before,
body.erp-ui2 #attendance .attendance-table .status.late::before,
body.erp-ui2 #attendance .attendance-table .status.leave::before {
  background: #d97706;
  box-shadow: 0 0 0 2px rgba(217, 119, 6, .14);
}

body.erp-ui2 #attendance .attendance-table .status.missing::before {
  background: #94a3b8;
  box-shadow: 0 0 0 2px rgba(148, 163, 184, .16);
}

body.erp-ui2 #attendance .attendance-table .status.rest::before {
  background: #38bdf8;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, .14);
}

body.erp-ui2 #globalModal .attendance-correction-master {
  gap: 12px !important;
}

body.erp-ui2 #globalModal:has(.attendance-correction-master) {
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
}

body.erp-ui2 #globalModal:has(.attendance-correction-master) .modal-panel {
  width: min(520px, calc(100vw - 48px)) !important;
  max-width: 520px !important;
  height: auto !important;
  max-height: min(680px, calc(100dvh - 48px)) !important;
  margin: 0 !important;
  padding: 22px 22px 0 !important;
  border: 1px solid var(--lh-border, #e5e7eb) !important;
  border-radius: 14px !important;
  transform: none !important;
}

body.erp-ui2 #globalModal .attendance-correction-master .attendance-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

body.erp-ui2 #globalModal .attendance-correction-master .attendance-field > span,
body.erp-ui2 #globalModal .attendance-correction-master .form-group > label {
  color: #6f7b8d !important;
  font-size: 12px !important;
  font-weight: 520 !important;
}


@media (max-width: 1180px) {
  #attendance .attendance-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

#attendance .attendance-rest-request-table {
  width: 100%;
  table-layout: fixed;
}

#attendance .attendance-rest-request-table td {
  overflow-wrap: anywhere;
}

#personnel .personnel-page {
  display: flex;
  flex-direction: column;
  gap: 0;
}

#personnel .personnel-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 12px;
}

#personnel .personnel-page-header > div:first-child {
  min-width: 0;
}

#personnel .personnel-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  padding: 4px;
  width: fit-content;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(17, 21, 28, .025);
}

#personnel .personnel-tab {
  height: 30px;
  padding: 0 14px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

#personnel .personnel-tab.active {
  background: #fff1f2;
  color: #be123c;
}

#personnel .personnel-ledger-section {
  margin-top: 0;
}

#personnel .personnel-loading,
#personnel .personnel-error-state {
  min-height: 132px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#personnel .personnel-error-state {
  gap: 12px;
  color: var(--muted, #8a94a3);
}

#personnel .personnel-error-title {
  color: var(--text, #404852);
  font-size: 13px;
  font-weight: 560;
}

#personnel .history-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 12px;
}

#personnel .history-title {
  margin: 0;
  color: var(--ink, #101827);
  font-size: 18px;
  line-height: 1.22;
  font-weight: 620;
}

#personnel .history-subtitle {
  margin: 3px 0 0;
  color: var(--muted, #8a94a3);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 430;
}

#personnel .personnel-master-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
  flex-wrap: nowrap;
  margin-bottom: 0;
  flex-shrink: 0;
}

#personnel .search {
  width: 312px;
  height: 36px;
  display: flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid #E3E6EB;
  border-radius: 8px;
  background: #fff;
  color: var(--muted, #8a94a3);
  font-size: 13px;
}

#personnel .search-field {
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  color: var(--text, #404852);
  font-size: 13px;
  font-family: inherit;
}

#personnel .search-field:focus {
  outline: none;
}

#personnel .add-btn {
  height: 36px;
  padding: 0 14px;
  border: 1px solid #DEDCD7;
  border-radius: 8px;
  background: #FCFCFA;
  color: #303640;
  font-size: 13px;
  font-weight: 580;
  box-shadow: 0 1px 0 rgba(17, 21, 28, .025);
  white-space: nowrap;
}

#personnel .add-btn.subtle-action {
  color: #747C86;
  font-weight: 430;
  background: transparent;
  border-color: #E7E4DE;
}

#personnel .history-surface,
#personnel .personnel-surface {
  background: var(--history, #fff);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(28, 31, 35, .035);
}

#personnel .history-surface {
  overflow-x: auto;
  overflow-y: hidden;
}

#personnel .history-table,
#personnel .personnel-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

#personnel .personnel-table {
  min-width: 1100px;
}

#personnel .personnel-role-table {
  min-width: 920px;
}

#personnel .history-table th,
#personnel .personnel-table th {
  height: 37px;
  padding: 0 13px;
  background: #f5f4f1;
  color: #a6adb5;
  font-size: 10.5px;
  font-weight: 420;
  text-align: left;
  border-bottom: 1px solid var(--line-soft, #eceae5);
}

#personnel .history-table td,
#personnel .personnel-table td {
  height: 55px;
  padding: 0 13px;
  border-bottom: 1px solid #eceae5;
  color: #404852;
  font-size: 13px;
  vertical-align: middle;
}

#personnel .history-table tr:last-child td,
#personnel .personnel-table tr:last-child td {
  border-bottom: 0;
}

#personnel .history-table tr:hover td,
#personnel .personnel-table tr:hover td {
  background: #fbfbfa;
}

#personnel .personnel-main {
  color: var(--ink, #101827);
  font-weight: 650;
}

#personnel .personnel-muted {
  margin-top: 3px;
  color: var(--muted, #8a94a3);
  font-size: 12px;
}

#personnel .personnel-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #424a56;
  font-size: 13px;
  font-weight: 470;
}

#personnel .personnel-status::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #16a34a;
}

#personnel .personnel-status.off::before {
  background: #b28a85;
}

#personnel .personnel-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  white-space: nowrap;
}

#personnel .personnel-action {
  border: 0;
  background: transparent;
  padding: 0;
  color: #626a74;
  font-size: 12px;
  font-weight: 520;
  cursor: pointer;
}

#personnel .personnel-action:hover,
#personnel .personnel-action:focus {
  color: #9f1239;
  text-decoration: underline;
}

#personnel .pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 10px 0 0;
  color: var(--muted, #8a94a3);
  font-size: 12px;
  font-weight: 420;
}

#personnel .pagination .page-stat {
  margin-right: auto;
  color: #9299A2;
}

#personnel .pagination .page-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

#personnel .personnel-detail {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#personnel .personnel-section {
  padding-top: 14px;
  border-top: 1px solid #eceae5;
}

#personnel .personnel-section:first-child {
  padding-top: 0;
  border-top: 0;
}

#personnel .personnel-section h4 {
  margin: 0 0 12px;
  color: var(--ink, #101827);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
}

#personnel .personnel-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}

#personnel .personnel-form-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#personnel .personnel-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}

#personnel .personnel-field.wide {
  grid-column: 1 / -1;
}

#personnel .personnel-field span {
  color: #475569;
  font-size: 12px;
  font-weight: 700;
}

#personnel .personnel-field input,
#personnel .personnel-field select,
#personnel .personnel-field textarea {
  width: 100%;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid #dfe4ea;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font-size: 13px;
  font-family: inherit;
}

#personnel .personnel-field textarea {
  min-height: 72px;
  padding-top: 9px;
  resize: vertical;
}

#personnel .table-wrapper {
  overflow-x: auto;
}

#personnel .personnel-login-note {
  min-height: 36px;
  padding: 9px 11px;
  border: 1px solid #eceae5;
  border-radius: 8px;
  background: #fbfbfa;
  color: #64748b;
  font-size: 13px;
  line-height: 1.35;
  align-self: end;
}

#personnel .personnel-login-fields {
  display: contents;
}

#personnel .is-hidden {
  display: none !important;
}

#personnel .personnel-role-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

#personnel .personnel-role-summary div {
  min-height: 52px;
  padding: 10px 12px;
  border: 1px solid #eceae5;
  border-radius: 9px;
  background: #fbfbfa;
}

#personnel .personnel-role-summary span {
  display: block;
  margin-bottom: 5px;
  color: #8a94a3;
  font-size: 12px;
}

#personnel .personnel-role-summary b {
  color: #101827;
  font-size: 13px;
  font-weight: 680;
}

#personnel .personnel-permission-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  table-layout: fixed;
}

#personnel .personnel-permission-table th {
  height: 36px;
  padding: 0 12px;
  background: #f5f4f1;
  border-bottom: 1px solid #eceae5;
  color: #8a94a3;
  font-size: 11px;
  font-weight: 520;
  text-align: center;
}

#personnel .personnel-permission-table th:first-child,
#personnel .personnel-permission-table td:first-child {
  width: 28%;
  text-align: left;
}

#personnel .personnel-permission-table td {
  height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid #eceae5;
  color: #404852;
  font-size: 13px;
  text-align: center;
  vertical-align: middle;
}

#personnel .personnel-permission-table tr:last-child td {
  border-bottom: 0;
}

#personnel .personnel-permission-empty {
  color: #c6cbd1;
}

#personnel .personnel-permission-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

#personnel .personnel-permission-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

#personnel .personnel-permission-toggle span {
  width: 18px;
  height: 18px;
  border: 1px solid #dfe4ea;
  border-radius: 5px;
  background: #fff;
}

#personnel .personnel-permission-toggle input:checked + span {
  border-color: #f0b3bd;
  background: #fff1f2;
  box-shadow: inset 0 0 0 4px #fff1f2;
}

#personnel .personnel-permission-toggle input:checked + span::after {
  content: "✓";
  display: block;
  color: #be123c;
  font-size: 13px;
  line-height: 16px;
  text-align: center;
  font-weight: 800;
}

#personnel .personnel-permission-toggle input:disabled + span {
  opacity: .72;
  cursor: default;
}

@media (max-width: 1180px) {
  #personnel .personnel-page-header,
  #personnel .history-head {
    align-items: stretch;
    flex-direction: column;
  }
  #personnel .personnel-master-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  #personnel .search {
    width: 100%;
  }
  #personnel .personnel-role-summary,
  #personnel .personnel-form-grid,
  #personnel .personnel-form-grid.three {
    grid-template-columns: 1fr;
  }
}

/* ERP Workbench Master: shell + attendance reference refinement */
:root {
  --erp-master-bg: #fbfcff;
  --erp-master-ink: #121926;
  --erp-master-muted: #7d8796;
  --erp-master-line: rgba(109, 121, 139, .13);
  --erp-master-soft-line: rgba(109, 121, 139, .075);
  --erp-master-red: #d7132a;
  --workbench-bg: #fbfcff;
  --workbench-page-background:
    radial-gradient(circle at 0% 4%, rgba(215, 19, 42, .045), transparent 26%),
    radial-gradient(circle at 98% 90%, rgba(72, 130, 200, .075), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #fbfcff 46%, #f8fbff 100%);
  --workbench-surface: rgba(255, 255, 255, .96);
  --workbench-border: rgba(216, 222, 231, .82);
  --workbench-divider: rgba(113, 124, 143, .12);
  --workbench-text: #121926;
  --workbench-muted: #7d8796;
  --workbench-accent: #d7132a;
  --workbench-radius: 14px;
  --workbench-control-height: 34px;
  --workbench-search-width: 180px;
  --workbench-toolbar-gap: 32px;
  --workbench-page-inset: 42px;
  --workbench-page-top: 22px;
  --workbench-focus: 0 0 0 3px rgba(215, 19, 42, .07), 0 0 0 1px rgba(215, 19, 42, .10);
  --workbench-transition: 150ms ease;
}

/* Non-dashboard page metrics share the Finance inline summary language. */
.workbench-toolbar-context {
  --workbench-context-control-margin: 0;
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px 16px;
}

body.erp-ui2 .add-btn.refresh-action {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--workbench-control-height) !important;
  min-width: var(--workbench-control-height) !important;
  height: var(--workbench-control-height) !important;
  flex: 0 0 var(--workbench-control-height) !important;
  padding: 0 !important;
}

body.erp-ui2 .refresh-action svg {
  width: 16px;
  height: 16px;
  flex: none;
}

body.erp-ui2 .refresh-action > span:not(.control-icon) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

body.erp-ui2 .refresh-action:is(:hover, :focus-visible) > span:not(.control-icon) {
  top: calc(100% + 6px);
  right: 0;
  z-index: 20;
  width: max-content;
  height: auto;
  padding: 5px 8px;
  clip-path: none;
  border: 1px solid var(--workbench-border);
  border-radius: 6px;
  background: var(--workbench-surface);
  color: var(--workbench-text);
  font-size: 12px;
  font-weight: 460;
  pointer-events: none;
}

/* Keep tablet navigation out of the brand and account hit areas. */
@media (min-width: 761px) and (max-width: 1250px) {
  .app-shell .brand-bar {
    height: auto !important;
    min-height: 108px;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 16px !important;
    padding: 12px 0 !important;
  }
  .app-shell .brand { grid-column: 1; grid-row: 1; }
  .app-shell .shell-actions { grid-column: 2; grid-row: 1; }
  .app-shell .module-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
}

@media (max-width: 1420px) {
  :root { --workbench-search-width: 168px; }
}

.workbench-toolbar-context > .workbench-inline-summary {
  margin-left: auto;
}

.workbench-inline-summary {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 9px;
  color: var(--workbench-muted);
  font-size: 12px;
  line-height: 1;
}

.workbench-inline-metric {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  white-space: nowrap;
}

.workbench-inline-metric + .workbench-inline-metric {
  padding-left: 9px;
  border-left: 1px solid var(--workbench-divider);
}

.workbench-metric-label {
  color: #8994a6;
  font-weight: 460;
}

.workbench-metric-value {
  color: #253044;
  font-size: 12.5px;
  font-weight: 630;
  font-variant-numeric: tabular-nums;
}

.workbench-inline-metric.accent .workbench-metric-value {
  color: var(--workbench-accent);
}

html,
body.erp-ui2,
body.erp-ui2 #mainWrapper {
  min-height: 100vh !important;
}

body.erp-ui2.erp-authenticated {
  background: var(--workbench-page-background) !important;
  background-attachment: fixed !important;
}

body.erp-ui2.erp-app-ready.erp-authenticated::before {
  content: "";
  position: fixed;
  right: -120px;
  bottom: -180px;
  width: 560px;
  height: 420px;
  pointer-events: none;
  opacity: .14;
  background:
    linear-gradient(30deg, transparent 48%, rgba(122, 142, 170, .18) 49%, rgba(122, 142, 170, .18) 51%, transparent 52%) 0 0 / 76px 44px,
    linear-gradient(150deg, transparent 48%, rgba(122, 142, 170, .16) 49%, rgba(122, 142, 170, .16) 51%, transparent 52%) 0 0 / 76px 44px;
  z-index: 0;
}

body.erp-ui2 #mainWrapper {
  position: relative;
  background: transparent !important;
  z-index: 1;
}

body.erp-ui2 #mainWrapper > .container {
  position: relative;
  z-index: 1;
}

.app-shell {
  position: sticky !important;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, .9) !important;
  border-bottom: 0 !important;
  box-shadow: 0 1px 0 rgba(18, 24, 34, .015) !important;
  backdrop-filter: blur(20px);
}

/* Clip horizontal overflow without creating a competing scroll container. */
body.erp-ui2.erp-app-ready.erp-authenticated,
body.erp-ui2 #mainWrapper,
body.erp-ui2 #mainWrapper > .container {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

.app-shell::after {
  content: "";
  position: absolute;
  left: 42px;
  right: 42px;
  bottom: 0;
  height: 1px;
  pointer-events: none;
  opacity: .52;
  background: linear-gradient(90deg, transparent, rgba(215, 19, 42, .16), rgba(72, 130, 200, .13), rgba(255, 255, 255, .5), transparent);
}

#systemDialog.system-dialog-mask {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100001 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(15, 23, 42, .24) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
  backdrop-filter: blur(3px) !important;
  transition: opacity var(--workbench-transition), visibility var(--workbench-transition) !important;
}

#systemDialog.system-dialog-mask.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#systemDialog .system-dialog-panel {
  width: min(400px, calc(100vw - 48px)) !important;
  max-width: min(400px, calc(100vw - 48px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 48px) !important;
  margin: 0 auto !important;
  padding: 24px 26px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: visible !important;
  border: 1px solid rgba(216, 222, 231, .9) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .98) !important;
  color: var(--workbench-text) !important;
  box-shadow: 0 18px 44px rgba(31, 41, 55, .14) !important;
  transform: translateY(5px) scale(.985) !important;
  transition: transform 160ms ease !important;
}

#systemDialog.active .system-dialog-panel {
  transform: translateY(0) scale(1) !important;
}

#systemDialog .system-dialog-panel::before,
#systemDialog .system-dialog-panel::after {
  display: none !important;
  content: none !important;
}

#systemDialog .system-dialog-icon {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  border: 1px solid rgba(215, 19, 42, .18) !important;
  background: rgba(255, 247, 248, .9) !important;
  color: #b42330 !important;
  font-size: 18px !important;
  font-weight: 720 !important;
  line-height: 1 !important;
}

#systemDialog[data-dialog-mode="confirm"] .system-dialog-icon {
  border-color: rgba(86, 126, 180, .22) !important;
  background: rgba(245, 249, 255, .94) !important;
  color: #365d8f !important;
}

#systemDialog[data-dialog-mode="prompt"] .system-dialog-icon {
  border-color: rgba(113, 124, 143, .2) !important;
  background: rgba(248, 250, 252, .96) !important;
  color: #64748b !important;
}

#systemDialog .system-dialog-panel h3 {
  width: 100% !important;
  flex: 0 0 auto !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--workbench-text) !important;
  -webkit-text-fill-color: var(--workbench-text) !important;
  font-size: 17px !important;
  font-weight: 680 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

#systemDialog .system-dialog-body {
  width: 100% !important;
  color: var(--workbench-muted) !important;
  font-size: 13px !important;
  font-weight: 460 !important;
  line-height: 1.55 !important;
  text-align: center !important;
  white-space: pre-wrap !important;
}

#systemDialog .system-dialog-prompt {
  width: 100% !important;
  margin: 4px 0 0 !important;
}

#systemDialog .system-dialog-prompt[hidden] {
  display: none !important;
}

#systemDialog .system-dialog-prompt input {
  width: 100% !important;
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  padding: 0 12px !important;
  border: 1px solid var(--workbench-border) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .95) !important;
  color: var(--workbench-text) !important;
  font-size: 13px !important;
  outline: none !important;
}

#systemDialog .system-dialog-prompt input:focus {
  border-color: rgba(215, 19, 42, .22) !important;
  box-shadow: var(--workbench-focus) !important;
}

#systemDialog .system-dialog-actions {
  width: 100% !important;
  flex: 0 0 auto !important;
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

#systemDialog .system-dialog-actions .btn {
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  min-width: 92px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9px !important;
  border: 1px solid rgba(214, 222, 233, .78) !important;
  font-size: 13px !important;
  font-weight: 560 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

#systemDialog .system-dialog-actions .btn[hidden] {
  display: none !important;
}

#systemDialog .system-dialog-actions .btn:not(.btn-outline) {
  background: rgba(255, 255, 255, .78) !important;
  color: #273449 !important;
}

#systemDialog .system-dialog-actions .btn-outline {
  background: rgba(255, 255, 255, .66) !important;
  color: #596679 !important;
}

#systemDialog .system-dialog-actions .btn:hover {
  background: linear-gradient(135deg, rgba(215, 19, 42, .032), rgba(255, 255, 255, .94), rgba(86, 126, 180, .026)) !important;
  border-color: rgba(186, 199, 216, .9) !important;
  box-shadow: 0 7px 18px rgba(23, 31, 45, .038) !important;
  transform: translateY(-1px);
}

#systemDialog .system-dialog-actions .btn:focus-visible {
  outline: none !important;
  box-shadow: var(--workbench-focus) !important;
}

#systemDialog .system-dialog-actions .btn:active {
  transform: translateY(0);
}

.erp-success-mask {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(248, 250, 252, .34) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity var(--workbench-transition), visibility var(--workbench-transition) !important;
  backdrop-filter: blur(2px);
}

.erp-success-mask.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.erp-success-panel {
  width: min(380px, calc(100vw - 48px)) !important;
  min-height: 154px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 24px 28px 22px !important;
  border: 1px solid rgba(216, 222, 231, .9) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 18px 44px rgba(31, 41, 55, .10) !important;
  transform: translateY(4px) scale(.985) !important;
  transition: transform 160ms ease !important;
}

.erp-success-mask.active .erp-success-panel {
  transform: translateY(0) scale(1) !important;
}

.erp-success-icon {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  border: 1px solid rgba(34, 197, 94, .24) !important;
  background: rgba(240, 253, 244, .86) !important;
  color: #15803d !important;
}

.erp-success-icon svg {
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.erp-success-title {
  color: var(--workbench-text) !important;
  font-size: 17px !important;
  font-weight: 680 !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

.erp-success-body {
  color: var(--workbench-muted) !important;
  font-size: 13px !important;
  font-weight: 460 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

.shell-inner {
  padding: 0 42px !important;
}

.brand-bar {
  height: 74px !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(210px, 245px) minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  border-bottom: 0 !important;
}

.brand {
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.brand .logo,
.logo {
  width: 43px !important;
  height: 43px !important;
}

.brand-name {
  font-family: var(--erp-font-serif) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 540 !important;
  letter-spacing: .018em !important;
  color: #172031 !important;
}

.brand-meta {
  margin-top: 8px !important;
  font-size: 10.5px !important;
  line-height: 1.1 !important;
  font-weight: 360 !important;
  color: #8a94a6 !important;
  letter-spacing: .072em !important;
}

.shell-actions {
  justify-self: end !important;
  gap: 13px !important;
}

.shell-language-dropdown { width: 108px !important; }
.account-caret { color: #8792a4; font-size: 12px; line-height: 1; }

.account-dropdown {
  position: relative;
}

.account-chip {
  height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border-radius: 10px;
  border: 0;
  background: transparent;
  color: #172033;
  font: inherit;
  cursor: pointer;
  transition: background var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
}

.account-chip:hover,
.account-dropdown.open .account-chip {
  background: linear-gradient(135deg, rgba(215, 19, 42, .035), rgba(255, 255, 255, .78), rgba(72, 130, 200, .035));
  box-shadow: 0 7px 18px rgba(28, 38, 55, .035);
  color: #202a3d;
}

.account-chip:active {
  transform: translateY(1px);
}

.account-trigger-icon {
  width: 17px;
  height: 17px;
  display: inline-grid;
  place-items: center;
  color: #718098;
  flex: 0 0 17px;
}

.account-trigger-icon svg,
.account-caret svg {
  width: 17px;
  height: 17px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-name {
  max-width: 112px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  line-height: 1;
  color: #263247;
  font-weight: 520;
}

.account-caret {
  width: 13px;
  height: 13px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 13px;
  transition: transform var(--workbench-transition), color var(--workbench-transition);
}

.account-caret svg {
  width: 13px;
  height: 13px;
  stroke-width: 1.65;
}

.account-dropdown.open .account-caret {
  transform: rotate(180deg);
  color: #5d687b;
}

.account-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 40;
  width: 178px;
  padding: 6px;
  border: 1px solid rgba(214, 220, 229, .92);
  border-radius: 12px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 18px 44px rgba(23, 31, 45, .13);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity var(--workbench-transition), transform var(--workbench-transition), visibility var(--workbench-transition);
}

.account-dropdown.open .account-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.account-menu-head,
.account-menu-item {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 42px;
  padding: 7px 8px;
  border-radius: 9px;
}

.account-menu-head {
  border-bottom: 1px solid rgba(226, 232, 240, .64);
  border-radius: 9px 9px 5px 5px;
}

.account-menu-item {
  margin-top: 5px;
  border: 0;
  background: transparent;
  color: #364257;
  font: inherit;
  font-size: 13px;
  font-weight: 520;
  cursor: pointer;
  transition: background var(--workbench-transition), color var(--workbench-transition), transform var(--workbench-transition);
}

.account-menu-item:hover {
  background: #f7f8fb;
  color: #b91224;
}

.account-menu-item:active {
  transform: translateY(1px);
}

.account-menu-icon {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  color: #7b8798;
  flex: 0 0 24px;
}

.account-menu-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-menu-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.account-menu-label {
  font-size: 13px;
  font-weight: 430;
  color: #8a94a6;
}

.account-menu-name {
  font-size: 13px;
  color: #1f293b;
  font-weight: 570;
}

.module-nav {
  height: 40px !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  justify-content: center !important;
  overflow: visible !important;
}

.app-shell .module-nav .nav-item {
  flex: 0 0 auto;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 11px !important;
  color: #5e697b !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), transform var(--workbench-transition), box-shadow var(--workbench-transition) !important;
}

.app-shell .module-nav .nav-item.has-popover {
  padding-right: 9px !important;
}

.primary-nav-caret {
  width: 12px;
  height: 12px;
  display: inline-grid;
  place-items: center;
  color: currentColor;
  opacity: .58;
  transition: transform 170ms ease, opacity var(--workbench-transition) !important;
}

.primary-nav-caret svg {
  width: 12px;
  height: 12px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.app-shell .module-nav .nav-item.is-open .primary-nav-caret {
  opacity: .82;
  transform: rotate(180deg);
}

.app-shell .module-nav .nav-item:hover {
  color: #1d2637 !important;
  background: linear-gradient(135deg, rgba(215, 19, 42, .045), rgba(255, 255, 255, .82), rgba(72, 130, 200, .04)) !important;
  border-color: rgba(214, 222, 233, .72) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(28, 38, 55, .035);
}

.app-shell .module-nav .nav-item.active {
  color: #b91224 !important;
  font-weight: 620 !important;
  background: linear-gradient(135deg, rgba(215, 19, 42, .07), rgba(255, 255, 255, .84), rgba(72, 130, 200, .06)) !important;
  border-color: rgba(215, 19, 42, .10) !important;
  box-shadow: 0 9px 22px rgba(215, 19, 42, .035);
}

.app-shell .module-nav .nav-item:active {
  transform: translateY(0);
}

.app-shell .module-nav .nav-item.active::after {
  content: none !important;
}

.nav-icon {
  position: relative;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  color: currentColor;
}

.nav-icon svg {
  width: 17px;
  height: 17px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .72;
}

.erp-secondary-nav {
  position: relative;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 42px;
  border-top: 0;
  border-bottom: 0;
  background: transparent;
}

.erp-secondary-nav::after {
  content: none;
}

.erp-secondary-nav:empty {
  display: none;
}

.erp-secondary-nav.is-hidden {
  display: none !important;
}

.organization-local-toolbar {
  width: 100% !important;
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}

.organization-toolbar-nav {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
  white-space: nowrap !important;
}

.organization-toolbar-nav .erp-secondary-nav-item.org-toolbar-item {
  height: var(--workbench-control-height) !important;
  padding: 0 2px 0 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #667286 !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  box-shadow: none !important;
}

.organization-toolbar-nav .erp-secondary-nav-item.org-toolbar-item:hover {
  color: #253044 !important;
  background: transparent !important;
  transform: translateY(-1px);
}

.organization-toolbar-nav .erp-secondary-nav-item.org-toolbar-item.active {
  color: var(--erp-master-red) !important;
  font-weight: 630 !important;
  background: transparent !important;
}

.organization-toolbar-nav .erp-secondary-nav-item.org-toolbar-item::before {
  left: 0 !important;
}

.organization-toolbar-nav .erp-secondary-nav-item.org-toolbar-item::after {
  content: none !important;
}

.erp-secondary-nav-list {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.erp-secondary-nav-context {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}

.erp-secondary-nav-context .attendance-date-pill {
  width: 150px !important;
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(214, 222, 233, .78) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .68) !important;
  color: #172033 !important;
  box-shadow: 0 1px 0 rgba(17, 21, 28, .018) !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
}

.erp-secondary-nav-context .attendance-month-pill {
  width: 140px !important;
}

.erp-secondary-nav-context .attendance-date-pill:hover {
  background: #fff !important;
  border-color: rgba(185, 197, 213, .92) !important;
  box-shadow: 0 8px 20px rgba(23, 31, 45, .035) !important;
  transform: translateY(-1px);
}

.erp-secondary-nav-context .attendance-date-pill:focus-within {
  border-color: rgba(215, 19, 42, .26) !important;
  box-shadow: var(--workbench-focus) !important;
  background: #fff !important;
}

.erp-secondary-nav-context .attendance-date-icon,
.erp-secondary-nav-context .attendance-date-caret {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  color: #7c8798 !important;
}

.erp-secondary-nav-context .attendance-date-icon svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.55 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.erp-secondary-nav-context .attendance-date-caret svg {
  width: 13px !important;
  height: 13px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.erp-secondary-nav-context .attendance-date-filter .form-input {
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  max-height: var(--workbench-control-height) !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #172033 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  text-align: left !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.erp-secondary-nav-context .attendance-date-filter .form-input::-webkit-calendar-picker-indicator {
  opacity: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.erp-primary-popover {
  position: absolute;
  z-index: 40;
  min-width: 158px;
  max-width: 230px;
  padding: 6px;
  border: 1px solid rgba(214, 222, 233, .88);
  border-radius: 12px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 18px 44px rgba(23, 31, 45, .13);
}

.erp-primary-popover[hidden] {
  display: none !important;
}

.erp-primary-popover-item {
  position: relative;
  width: 100%;
  height: 36px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #465266;
  font: inherit;
  font-size: 13px;
  font-weight: 510;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--workbench-transition), color var(--workbench-transition), transform var(--workbench-transition) !important;
}

.erp-primary-popover-item:hover {
  background: rgba(247, 249, 252, .9);
  color: #202a3d;
  transform: translateY(-1px);
}

.erp-primary-popover-item:active {
  transform: translateY(0);
}

.erp-primary-popover-item.active {
  background: linear-gradient(135deg, rgba(215, 19, 42, .075), rgba(255, 255, 255, .88), rgba(72, 130, 200, .045));
  color: #b91224;
  font-weight: 620;
}

.erp-primary-popover-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border: 1px solid rgba(144, 156, 174, .66);
  border-radius: 999px;
  background: transparent;
}

.erp-primary-popover-item.active .erp-primary-popover-dot {
  border-color: var(--erp-master-red);
  box-shadow: inset 0 0 0 2px #fff;
  background: radial-gradient(circle, var(--erp-master-red) 0 2px, transparent 2.5px);
}

.erp-secondary-nav-item {
  position: relative;
  height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 1px 0 15px;
  border: 0;
  background: transparent;
  color: #707b8d;
  font: inherit;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0;
  cursor: pointer;
  transition: color var(--workbench-transition), transform var(--workbench-transition) !important;
}

.erp-secondary-nav-item.org-flat-item {
  height: 32px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #657184;
  font-size: 13px;
  font-weight: 520;
  background: transparent;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
}

.erp-secondary-nav-item.org-flat-item::before,
.erp-secondary-nav-item.org-flat-item::after {
  content: none !important;
  display: none !important;
}

.erp-secondary-nav-item.org-flat-item:hover {
  color: #253044;
  background: rgba(247, 249, 252, .78);
  border-color: rgba(214, 222, 233, .56);
}

.erp-secondary-nav-item.org-flat-item.active {
  color: #b91224;
  font-weight: 620;
  background: linear-gradient(135deg, rgba(215, 19, 42, .075), rgba(255, 255, 255, .86), rgba(72, 130, 200, .045));
  border-color: rgba(215, 19, 42, .085);
  box-shadow: 0 6px 18px rgba(215, 19, 42, .028);
}

.erp-secondary-nav-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(144, 156, 174, .7);
  border-radius: 999px;
  background: transparent;
  transform: translateY(-50%);
  transition: border-color var(--workbench-transition), background var(--workbench-transition), box-shadow var(--workbench-transition) !important;
}

.erp-secondary-nav-item:hover {
  color: #202a3d;
  transform: translateY(-1px);
}

.erp-secondary-nav-item:active {
  transform: translateY(0);
}

.erp-secondary-nav-item:hover::before {
  border-color: rgba(215, 19, 42, .48);
}

.erp-secondary-nav-item.active {
  color: var(--erp-master-red);
  font-weight: 635;
}

.erp-secondary-nav-item.active::before {
  border-color: var(--erp-master-red);
  box-shadow: inset 0 0 0 2px #fff;
  background: radial-gradient(circle, var(--erp-master-red) 0 2px, transparent 2.5px);
}

.erp-secondary-nav-item.active::after {
  content: none;
}

.app-shell .module-nav #navPersonnel,
.app-shell .module-nav #navAttendance,
.app-shell .module-nav #navSalespeople,
.app-shell .module-nav #nav-ltrcms {
  display: none !important;
}

#attendance.page {
  padding: var(--workbench-page-top) var(--workbench-page-inset) 34px !important;
}

#attendance .attendance-page {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

#attendance .attendance-page-header {
  min-height: 0 !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 14px !important;
}

#attendance .attendance-title-block h1,
#attendance .attendance-title-block h2 {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1.16 !important;
  font-weight: 620 !important;
  color: var(--workbench-text) !important;
}

#attendance .attendance-title-block p {
  margin: 5px 0 0 !important;
  color: var(--workbench-muted) !important;
  font-size: 13px !important;
  font-weight: 410 !important;
  line-height: 1.35 !important;
}

#attendance .attendance-header-divider {
  display: none !important;
}

#attendance .attendance-header-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  min-width: 0 !important;
}

#attendance .attendance-refresh-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  color: #586477 !important;
  transition: background var(--workbench-transition), color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
}

#attendance .attendance-refresh-icon svg {
  width: 14px !important;
  height: 14px !important;
  stroke-width: 1.55 !important;
}

#attendance .attendance-refresh-icon:hover {
  background: rgba(244, 247, 251, .92) !important;
  box-shadow: 0 5px 16px rgba(23, 31, 45, .055);
  transform: translateY(-1px);
}

#attendance .attendance-refresh-icon:active {
  transform: translateY(0);
}

#attendance .attendance-tab-row {
  min-height: var(--workbench-control-height) !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 12px !important;
  border-bottom: 0 !important;
}

#attendance .attendance-tabs {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: fit-content !important;
  padding: 4px !important;
  border: 1px solid rgba(214, 222, 233, .72) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .58) !important;
  box-shadow: 0 1px 0 rgba(17, 21, 28, .018) !important;
}

#attendance .attendance-tab {
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 13px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  color: #667286 !important;
  font-weight: 540 !important;
  transition: background var(--workbench-transition), color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
}

#attendance .attendance-tab:hover {
  color: #253044 !important;
  background: rgba(247, 249, 252, .82) !important;
  transform: translateY(-1px);
}

#attendance .attendance-tab:active {
  transform: translateY(0);
}

#attendance .attendance-tab.active {
  color: #b91224 !important;
  font-weight: 540 !important;
  background: linear-gradient(135deg, rgba(215, 19, 42, .08), rgba(255, 255, 255, .84), rgba(72, 130, 200, .05)) !important;
  box-shadow: inset 0 0 0 1px rgba(215, 19, 42, .075) !important;
}

#attendance .attendance-tab.active::after {
  content: none !important;
}

#attendance .attendance-tab-filter {
  align-items: center !important;
}

#attendance .attendance-date-field {
  width: 148px !important;
}

#attendance .attendance-date-pill {
  width: 150px !important;
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(214, 222, 233, .78) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .68) !important;
  color: #172033 !important;
  box-shadow: 0 1px 0 rgba(17, 21, 28, .018) !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
}

#attendance .attendance-month-pill {
  width: 140px !important;
}

#attendance .attendance-date-pill:hover {
  background: #fff !important;
  border-color: rgba(185, 197, 213, .92) !important;
  box-shadow: 0 8px 20px rgba(23, 31, 45, .035) !important;
  transform: translateY(-1px);
}

#attendance .attendance-date-pill:active {
  transform: translateY(0);
}

#attendance .attendance-date-pill:focus-within {
  border-color: rgba(215, 19, 42, .26) !important;
  box-shadow: var(--workbench-focus) !important;
  background: #fff !important;
}

#attendance .attendance-date-icon,
#attendance .attendance-date-caret {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  color: #7c8798 !important;
}

#attendance .attendance-date-icon svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.55 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#attendance .attendance-date-caret svg {
  width: 13px !important;
  height: 13px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#attendance .attendance-date-filter span {
  font-size: 11.5px !important;
  color: #838d9d !important;
  font-weight: 430 !important;
}

#attendance .attendance-date-pill > span {
  font-size: initial !important;
  font-weight: initial !important;
}

#attendance .attendance-date-filter .form-input {
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  max-height: var(--workbench-control-height) !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #172033 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  text-align: left !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: border-color var(--workbench-transition), box-shadow var(--workbench-transition), background var(--workbench-transition) !important;
}

#attendance .attendance-date-filter .form-input:focus {
  box-shadow: none !important;
}

#attendance .attendance-date-filter .form-input::-webkit-calendar-picker-indicator {
  opacity: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#attendance .attendance-tab-row .attendance-date-filter :is(input.form-input, .date-input, .lonhow-date-ymd) {
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  max-height: var(--workbench-control-height) !important;
  line-height: var(--workbench-control-height) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#attendance .attendance-workbench-surface {
  border: 1px solid var(--workbench-border) !important;
  border-radius: var(--workbench-radius) !important;
  background: var(--workbench-surface) !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 12px 34px rgba(29, 40, 56, .035) !important;
}

#attendance .attendance-master-toolbar {
  margin-bottom: 12px !important;
}

#attendance .attendance-toolbar-context {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  white-space: nowrap !important;
}

body.erp-ui2 :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select, .form-input, .date-input, .lonhow-date-ymd):focus,
body.erp-ui2 :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select, .form-input, .date-input, .lonhow-date-ymd):focus-visible {
  outline: none !important;
  border-color: rgba(215, 19, 42, .26) !important;
  box-shadow: var(--workbench-focus) !important;
}

body.erp-ui2 :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select, .form-input, .date-input, .lonhow-date-ymd) {
  transition: border-color var(--workbench-transition), box-shadow var(--workbench-transition), background var(--workbench-transition) !important;
}

#attendance .history-surface.attendance-table-wrap {
  background: var(--workbench-surface) !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

#attendance .attendance-table th {
  height: 44px !important;
  padding-left: 11px !important;
  padding-right: 11px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #fafbfe !important;
  color: #6d788b !important;
  font-size: 12px !important;
  font-weight: 530 !important;
  border-bottom: 1px solid rgba(226, 232, 240, .74) !important;
}

#attendance .attendance-table td {
  height: 52px !important;
  padding-left: 11px !important;
  padding-right: 11px !important;
  border-bottom-color: rgba(226, 232, 240, .82) !important;
  color: var(--workbench-text) !important;
  font-size: 13px !important;
}

#attendance .attendance-table th:first-child,
#attendance .attendance-table td:first-child {
  padding-left: 20px !important;
}

#attendance .attendance-table th:last-child,
#attendance .attendance-table td:last-child {
  padding-right: 20px !important;
}

#attendance .attendance-table tbody tr:hover td {
  background: rgba(248, 250, 253, .72) !important;
}

#attendance .attendance-empty-cell {
  height: 106px !important;
  padding: 0 !important;
  text-align: center !important;
  color: #8c97a8 !important;
}

#attendance .attendance-empty-state {
  display: inline-grid;
  justify-items: center;
  gap: 5px;
  color: #929baa;
  font-size: 12.5px;
  font-weight: 420;
}

#attendance .attendance-empty-icon {
  position: relative;
  width: 28px;
  height: 22px;
  border: 1px solid rgba(202, 211, 224, .64);
  border-radius: 6px;
  background: linear-gradient(180deg, #fff, #f6f8fb);
}

#attendance .attendance-empty-icon::before {
  content: "";
  position: absolute;
  left: 7px;
  top: -6px;
  width: 12px;
  height: 9px;
  border: 1px solid rgba(194, 204, 218, .78);
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  background: #fbfcff;
}

#attendance .attendance-empty-icon::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: -5px;
  height: 5px;
  border-radius: 999px;
  background: rgba(194, 204, 218, .18);
}

#attendance .attendance-table .text-center.muted::before {
  display: none !important;
}

#attendance .attendance-table-wrap .table-pagination-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 10px 20px 12px !important;
  border-top: 1px solid rgba(226, 232, 240, .72) !important;
  background: rgba(255, 255, 255, .82) !important;
}

#attendance .attendance-table-wrap .pagination .page-stat {
  color: #6e7a8d !important;
  font-size: 13px !important;
}

#attendance .attendance-table-wrap .pagination .page-controls {
  gap: 6px !important;
}

#attendance .attendance-table-wrap .pagination .page-icon,
#attendance .attendance-table-wrap .pagination .page-number {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  border-radius: 8px !important;
  border-color: rgba(207, 216, 228, .72) !important;
  background: rgba(250, 251, 253, .74) !important;
  color: #657184 !important;
  font-size: 13px !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), transform var(--workbench-transition), box-shadow var(--workbench-transition) !important;
}

#attendance .attendance-table-wrap .pagination .page-icon:hover:not(:disabled),
#attendance .attendance-table-wrap .pagination .page-number:hover:not(:disabled) {
  background: #fff !important;
  border-color: rgba(160, 174, 194, .88) !important;
  box-shadow: 0 5px 14px rgba(23, 31, 45, .055);
  transform: translateY(-1px);
}

#attendance .attendance-table-wrap .pagination .page-icon:active:not(:disabled),
#attendance .attendance-table-wrap .pagination .page-number:active:not(:disabled) {
  transform: translateY(0);
}

#attendance .attendance-table-wrap .pagination .page-number.active {
  background: #f1f5ff !important;
  border-color: #9bbbf2 !important;
  color: #285fac !important;
}

#attendance .attendance-filter-bar {
  min-height: 54px !important;
  padding: 10px 20px !important;
}

#attendance .attendance-record-toolbar-filters {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

#attendance .attendance-search {
  width: 258px !important;
  height: var(--workbench-control-height) !important;
  border-color: rgba(214, 222, 233, .78) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .68) !important;
  transition: border-color var(--workbench-transition), box-shadow var(--workbench-transition), background var(--workbench-transition) !important;
}

#attendance .attendance-search:focus-within {
  border-color: rgba(215, 19, 42, .26) !important;
  box-shadow: var(--workbench-focus) !important;
  background: #fff !important;
}

#attendance .attendance-filter-left,
#attendance .attendance-filter-right {
  align-items: center !important;
  gap: 8px !important;
}

#attendance .attendance-record-toolbar-filters .attendance-field {
  width: auto !important;
  min-width: 0 !important;
  height: var(--workbench-control-height) !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
}

#attendance .attendance-record-toolbar-filters .attendance-date-field {
  width: 150px !important;
}

#attendance .attendance-filter-select {
  width: 132px !important;
}

#attendance .attendance-record-toolbar-filters .attendance-filter-select {
  width: 142px !important;
}

#attendance .attendance-record-toolbar-filters .attendance-field > span {
  flex: 0 0 auto !important;
  line-height: 1 !important;
}

#attendance .attendance-record-toolbar-filters .form-input,
#attendance .attendance-record-toolbar-filters .form-select {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

#attendance .attendance-filter-select span,
#attendance .attendance-field > span {
  font-size: 11.5px !important;
  color: #838d9d !important;
  font-weight: 430 !important;
}

#attendance .form-input,
#attendance .form-select {
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  max-height: var(--workbench-control-height) !important;
  border-radius: 9px !important;
  border-color: rgba(214, 222, 233, .78) !important;
  background: rgba(255, 255, 255, .68) !important;
  color: #172033 !important;
}

#attendance .attendance-surface-divider {
  margin: 0 !important;
  background: rgba(226, 232, 240, .72) !important;
}

#attendance .attendance-settings-intro {
  padding: 16px 20px 14px !important;
}

#attendance .attendance-settings-intro h3 {
  font-size: 16px !important;
  font-weight: 620 !important;
}

#attendance .attendance-settings-intro p {
  color: var(--workbench-muted) !important;
  font-size: 12px !important;
  font-weight: 410 !important;
}

#attendance .attendance-settings-body {
  padding: 0 20px 18px !important;
}

#attendance .attendance-setting-section {
  padding: 16px 0 !important;
  border-top: 1px solid rgba(226, 232, 240, .72) !important;
}

#attendance .attendance-setting-section:first-child {
  border-top: 0 !important;
}

#attendance .attendance-card-head {
  margin-bottom: 12px !important;
}

#attendance .attendance-card-head h3 {
  font-size: 15px !important;
  font-weight: 620 !important;
}

#attendance .attendance-card-head p,
#attendance .attendance-summary-line {
  color: var(--workbench-muted) !important;
  font-size: 12px !important;
  font-weight: 410 !important;
}

#attendance .attendance-form-grid {
  gap: 10px 12px !important;
}

#attendance .attendance-actions .confirm,
#attendance .attendance-card-head .confirm,
#attendance .attendance-actions .add-btn {
  height: var(--workbench-control-height) !important;
  border-radius: 9px !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
}

#attendance .attendance-actions .confirm,
#attendance .attendance-card-head .confirm {
  border: 1px solid rgba(215, 19, 42, .18) !important;
  background: rgba(215, 19, 42, .075) !important;
  color: #a70f20 !important;
  font-weight: 620 !important;
}

#attendance .attendance-actions .add-btn {
  border: 1px solid rgba(214, 222, 233, .72) !important;
  background: rgba(255, 255, 255, .46) !important;
  color: #657184 !important;
  font-weight: 500 !important;
}

#attendance .attendance-card-head .attendance-save-settings-btn:disabled {
  cursor: wait !important;
  opacity: .68 !important;
  transform: none !important;
  box-shadow: none !important;
}

#attendance .attendance-settings-body {
  display: grid !important;
  gap: 0 !important;
  padding: 0 !important;
}

#attendance .attendance-setting-surface {
  padding: 16px 18px 18px !important;
  border: 1px solid var(--workbench-border) !important;
  border-radius: var(--workbench-radius) !important;
  background: var(--workbench-surface) !important;
  box-shadow: 0 12px 34px rgba(29, 40, 56, .035) !important;
  overflow: visible !important;
}

#attendance .attendance-settings-master-surface {
  overflow: visible !important;
}

#attendance .attendance-settings-master-surface .attendance-setting-section {
  padding: 17px 0 !important;
  border-top: 1px solid rgba(226, 232, 240, .74) !important;
}

#attendance .attendance-settings-master-surface .attendance-setting-section:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}

#attendance .attendance-settings-master-surface .attendance-setting-section:last-child {
  padding-bottom: 0 !important;
}

#attendance .attendance-setting-surface + .attendance-setting-surface {
  margin-top: 0 !important;
}

#attendance .attendance-setting-surface .attendance-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: var(--workbench-control-height) !important;
  margin: 0 0 14px !important;
}

#attendance .attendance-setting-surface .attendance-card-head h3 {
  margin: 0 !important;
  color: var(--workbench-text) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 620 !important;
}

#attendance .attendance-card-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  min-width: 0 !important;
}

#attendance .attendance-setting-surface .attendance-summary-line {
  margin: 0 !important;
  white-space: nowrap !important;
  color: var(--workbench-muted) !important;
}

#attendance .attendance-rules-grid {
  grid-template-columns: 1.04fr 1.14fr 1fr 1fr 1.22fr 1.22fr !important;
}

#attendance .attendance-rules-grid .attendance-field:nth-child(n + 7) {
  grid-column: span 2;
}

#attendance .attendance-employee-grid {
  grid-template-columns: .88fr 1fr 1.34fr 1fr 1fr 1.08fr !important;
}

#attendance .attendance-rest-grid {
  grid-template-columns: minmax(220px, 1.2fr) minmax(170px, .82fr) minmax(260px, 2fr) !important;
}

#attendance .attendance-setting-surface .attendance-form-grid {
  align-items: start !important;
  gap: 12px 12px !important;
}

#attendance .attendance-setting-surface .attendance-field {
  gap: 5px !important;
}

#attendance .attendance-setting-surface .attendance-field > span {
  min-height: 15px !important;
  color: #7a8597 !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  font-weight: 430 !important;
}

#attendance .attendance-input-shell {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  max-height: var(--workbench-control-height) !important;
  border: 1px solid rgba(214, 222, 233, .78) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #172033 !important;
  transition: border-color var(--workbench-transition), box-shadow var(--workbench-transition), background var(--workbench-transition), transform var(--workbench-transition) !important;
}

#attendance .attendance-input-shell:hover {
  border-color: rgba(185, 197, 213, .92) !important;
  background: #fff !important;
}

#attendance .attendance-input-shell:focus-within {
  outline: none !important;
  border-color: rgba(215, 19, 42, .24) !important;
  box-shadow: var(--workbench-focus) !important;
  background: #fff !important;
}

#attendance .attendance-input-shell .form-input {
  height: calc(var(--workbench-control-height) - 2px) !important;
  min-height: calc(var(--workbench-control-height) - 2px) !important;
  max-height: calc(var(--workbench-control-height) - 2px) !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}

#attendance .attendance-control-date .attendance-input-shell .form-input,
#attendance .attendance-control-time .attendance-input-shell .form-input {
  padding-left: 34px !important;
  padding-right: 28px !important;
  cursor: pointer !important;
}

#attendance .attendance-control-icon,
#attendance .attendance-control-caret {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #8a95a6 !important;
  pointer-events: none !important;
}

#attendance .attendance-control-icon {
  left: 11px !important;
}

#attendance .attendance-control-caret {
  right: 9px !important;
}

#attendance .attendance-control-icon svg,
#attendance .attendance-control-caret svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#attendance .attendance-input-shell:focus-within .attendance-control-icon,
#attendance .attendance-input-shell:focus-within .attendance-control-caret,
#attendance .attendance-input-shell:hover .attendance-control-icon,
#attendance .attendance-input-shell:hover .attendance-control-caret {
  color: #657184 !important;
}


#attendance .attendance-settings-table-wrap {
  margin-top: 14px !important;
  border: 1px solid rgba(226, 232, 240, .82) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
}

#attendance .attendance-settings-table-wrap .attendance-table th,
#attendance .attendance-settings-table-wrap .attendance-table td {
  height: 44px !important;
}

#attendance .attendance-settings-table-wrap .attendance-table th:first-child,
#attendance .attendance-settings-table-wrap .attendance-table td:first-child {
  padding-left: 18px !important;
}

#attendance .attendance-settings-table-wrap .attendance-table th:last-child,
#attendance .attendance-settings-table-wrap .attendance-table td:last-child {
  padding-right: 18px !important;
}

#attendance .attendance-time-inline {
  display: block !important;
  max-width: 132px !important;
}

#attendance .schedule-cell {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}

#attendance .schedule-current {
  color: var(--workbench-muted) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

#attendance .schedule-future {
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

#attendance .attendance-date-inline {
  max-width: 138px !important;
}

#attendance .attendance-time-inline .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

#attendance .attendance-time-inline .form-input {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
}

#attendance .attendance-bind-state {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  color: var(--workbench-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

#attendance .attendance-bind-state.is-bound {
  color: #256f4b !important;
}

#attendance .attendance-bind-state.is-unbound {
  color: #8a7280 !important;
}

#attendance .attendance-bind-actions {
  align-items: center !important;
  gap: 10px !important;
}

#attendance .attendance-bind-actions .is-muted-action {
  color: #7a8597 !important;
}

@media (max-width: 1420px) {
  :root {
    --workbench-page-inset: 32px;
  }
  .shell-inner {
    padding: 0 32px !important;
  }

  .brand-bar {
    grid-template-columns: minmax(188px, 218px) minmax(0, 1fr) auto !important;
    gap: 12px !important;
  }

  .brand {
    gap: 10px !important;
  }

  .brand .logo,
  .logo {
    width: 40px !important;
    height: 40px !important;
  }

  .brand-name {
    font-size: 18px !important;
  }

  .brand-meta {
    font-size: 10px !important;
    letter-spacing: .06em !important;
  }

  .app-shell .module-nav {
    gap: 5px !important;
  }

  .app-shell .module-nav .nav-item {
    padding: 0 8px !important;
    font-size: 12.8px !important;
    gap: 6px !important;
  }

  html.lang-ru .app-shell .module-nav .nav-item,
  html.lang-uz .app-shell .module-nav .nav-item {
    padding: 0 6px !important;
    font-size: 12.4px !important;
  }

  .nav-icon,
  .nav-icon svg {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
  }

  .shell-actions {
    gap: 10px !important;
  }

  .erp-secondary-nav {
    height: 42px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    gap: 12px !important;
  }

  .erp-secondary-nav-list {
    gap: 4px !important;
  }

  .erp-secondary-nav-item.org-flat-item {
    padding: 0 9px !important;
    font-size: 12.4px !important;
  }

  html.lang-ru .erp-secondary-nav-item.org-flat-item,
  html.lang-uz .erp-secondary-nav-item.org-flat-item {
    padding: 0 7px !important;
    font-size: 12px !important;
  }

  .erp-secondary-nav-context .attendance-date-pill {
    width: 142px !important;
  }

  .erp-secondary-nav-context .attendance-month-pill {
    width: 132px !important;
  }

  .organization-local-toolbar {
    gap: 10px !important;
  }

  .organization-toolbar-nav {
    gap: 6px !important;
  }

  .organization-toolbar-nav .erp-secondary-nav-item.org-toolbar-item {
    padding-left: 13px !important;
    font-size: 12.4px !important;
  }

  html.lang-ru .organization-toolbar-nav,
  html.lang-uz .organization-toolbar-nav {
    gap: 4px !important;
  }

  html.lang-ru .organization-toolbar-nav .erp-secondary-nav-item.org-toolbar-item,
  html.lang-uz .organization-toolbar-nav .erp-secondary-nav-item.org-toolbar-item {
    padding-left: 12px !important;
    font-size: 11.8px !important;
  }
  #attendance .attendance-toolbar-context {
    gap: 7px !important;
  }

  #attendance .attendance-search {
    width: 205px !important;
  }

  #attendance .attendance-record-toolbar-filters {
    gap: 6px !important;
  }

  #attendance .attendance-record-toolbar-filters .attendance-date-field {
    width: 128px !important;
  }

  #attendance .attendance-record-toolbar-filters .attendance-filter-select {
    width: 116px !important;
  }

  html.lang-ru #attendance .attendance-record-toolbar-filters .attendance-field > span,
  html.lang-uz #attendance .attendance-record-toolbar-filters .attendance-field > span {
    display: none !important;
  }


  #personnel .search {
    width: 260px !important;
  }
}

#personnel.page {
  padding: var(--workbench-page-top) var(--workbench-page-inset) 34px !important;
}

#personnel .personnel-page-header {
  display: none !important;
  margin-bottom: 0 !important;
}

#personnel .personnel-master-toolbar {
  margin-bottom: 12px !important;
  width: 100% !important;
  justify-content: space-between !important;
  gap: 14px !important;
}

#personnel .personnel-local-nav,
#personnel .personnel-toolbar-actions {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

#personnel .personnel-local-nav {
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
}

#personnel .personnel-toolbar-actions {
  justify-content: flex-end !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  white-space: nowrap !important;
}

#personnel .history-surface {
  border: 1px solid var(--workbench-border) !important;
  border-radius: var(--workbench-radius) !important;
  background: var(--workbench-surface) !important;
  overflow: hidden !important;
  box-shadow: 0 12px 34px rgba(29, 40, 56, .035) !important;
}

#personnel .search {
  height: var(--workbench-control-height) !important;
  min-height: var(--workbench-control-height) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 11px !important;
  border-color: rgba(214, 222, 233, .78) !important;
  background: rgba(255, 255, 255, .66) !important;
  transition: border-color var(--workbench-transition), box-shadow var(--workbench-transition), background var(--workbench-transition), transform var(--workbench-transition) !important;
}

#personnel .search:hover {
  border-color: rgba(186, 199, 216, .82) !important;
  background: rgba(255, 255, 255, .86) !important;
}

#personnel .search:focus-within {
  border-color: rgba(178, 80, 92, .16) !important;
  box-shadow: 0 0 0 2px rgba(215, 19, 42, .018) !important;
  background: #fff !important;
}

#personnel .search-control-icon {
  width: 15px !important;
  height: 15px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  color: #7f8da2 !important;
  transition: color var(--workbench-transition) !important;
}

#personnel .search-control-icon svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#personnel .search:hover .search-control-icon,
#personnel .search:focus-within .search-control-icon {
  color: #68778d !important;
}

#personnel .search-field {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: #334155 !important;
}

#personnel .personnel-searchbox {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  line-height: var(--workbench-control-height) !important;
  cursor: text !important;
  -webkit-user-modify: read-write-plaintext-only;
  caret-color: #334155;
}

#personnel .personnel-searchbox[data-empty="true"]::before {
  content: attr(data-placeholder);
  color: #b3bfce !important;
  opacity: 1 !important;
  font-weight: 430 !important;
  pointer-events: none;
}

#personnel .search-field::-webkit-search-decoration,
#personnel .search-field::-webkit-search-cancel-button,
#personnel .search-field::-webkit-search-results-button,
#personnel .search-field::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

#personnel .add-btn,
#personnel .personnel-tab {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
}

#personnel .add-btn {
  height: var(--workbench-control-height) !important;
  border-radius: 9px !important;
  border-color: rgba(214, 222, 233, .78) !important;
  background: rgba(255, 255, 255, .68) !important;
  color: #3a4658 !important;
  font-weight: 540 !important;
}

#personnel .add-btn.primary-action {
  border-color: rgba(214, 222, 233, .78) !important;
  background: rgba(255, 255, 255, .68) !important;
  color: #273449 !important;
  font-weight: 560 !important;
}

#personnel .add-btn.subtle-action {
  border-color: rgba(214, 222, 233, .78) !important;
  background: rgba(255, 255, 255, .68) !important;
  color: #4d5a6e !important;
  font-weight: 540 !important;
}

#personnel .add-btn:active,
#personnel .personnel-tab:active {
  transform: translateY(0);
}

#personnel .control-icon {
  width: 15px;
  height: 15px;
  display: inline-grid;
  place-items: center;
  color: currentColor;
}

#personnel .control-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#personnel .personnel-tabs {
  border-color: rgba(214, 222, 233, .72) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .58) !important;
  box-shadow: 0 1px 0 rgba(17, 21, 28, .018) !important;
}

#personnel .personnel-tab {
  height: 28px !important;
  border-radius: 8px !important;
  color: #667286 !important;
  font-weight: 540 !important;
}

#personnel .personnel-tab:hover {
  color: #253044 !important;
  background: rgba(247, 249, 252, .82) !important;
}

#personnel .personnel-tab.active {
  background: linear-gradient(135deg, rgba(215, 19, 42, .08), rgba(255, 255, 255, .84), rgba(72, 130, 200, .05)) !important;
  color: #b91224 !important;
  box-shadow: inset 0 0 0 1px rgba(215, 19, 42, .075) !important;
}

#personnel .personnel-table {
  min-width: 0 !important;
}

#personnel .personnel-role-table {
  min-width: 0 !important;
}

#personnel .history-table th,
#personnel .personnel-table th {
  height: 44px !important;
  padding: 0 11px !important;
  background: #fafbfe !important;
  color: #6d788b !important;
  font-size: 12px !important;
  font-weight: 530 !important;
  border-bottom: 1px solid rgba(226, 232, 240, .74) !important;
}

#personnel .history-table td,
#personnel .personnel-table td {
  height: 52px !important;
  padding: 0 11px !important;
  border-bottom: 1px solid rgba(226, 232, 240, .72) !important;
  color: var(--workbench-text) !important;
}

#personnel .history-table th:first-child,
#personnel .personnel-table th:first-child,
#personnel .history-table td:first-child,
#personnel .personnel-table td:first-child {
  padding-left: 20px !important;
}

#personnel .history-table th:last-child,
#personnel .personnel-table th:last-child,
#personnel .history-table td:last-child,
#personnel .personnel-table td:last-child {
  padding-right: 20px !important;
}

#personnel .history-table tr:hover td,
#personnel .personnel-table tr:hover td {
  background: rgba(248, 250, 253, .72) !important;
}

#personnel .personnel-main {
  font-weight: 600 !important;
}

#personnel .personnel-muted {
  color: var(--workbench-muted) !important;
  font-weight: 410 !important;
}

#personnel .personnel-status {
  gap: 7px !important;
  align-items: center !important;
}

#personnel .personnel-status::before {
  width: 6px !important;
  height: 6px !important;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, .08);
}

#personnel .personnel-status.off::before {
  box-shadow: 0 0 0 3px rgba(178, 138, 133, .08);
}

#personnel .personnel-status.neutral::before {
  background: #a7b0bf !important;
  box-shadow: 0 0 0 3px rgba(148, 163, 184, .1);
}

#personnel .personnel-actions {
  gap: 4px 14px !important;
  flex-wrap: wrap;
  min-width: 0;
}

#personnel .personnel-action {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
  border-radius: 7px !important;
  padding: 4px 1px !important;
  color: #697386 !important;
  transition: color var(--workbench-transition), background var(--workbench-transition), transform var(--workbench-transition) !important;
}

#personnel .personnel-action:hover,
#personnel .personnel-action:focus {
  color: #b91224 !important;
  text-decoration: none !important;
}

#personnel .personnel-action:active {
  transform: translateY(1px);
}

#personnel .pagination.table-pagination-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 10px 20px 12px !important;
  border-top: 1px solid rgba(226, 232, 240, .72) !important;
  background: rgba(255, 255, 255, .82) !important;
}

#personnel .pagination .page-stat {
  margin-right: auto !important;
  color: #6e7a8d !important;
  font-size: 13px !important;
}

#personnel .pagination .page-controls {
  gap: 6px !important;
}

#personnel .pagination .page-icon,
#personnel .pagination .page-number {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  border-radius: 8px !important;
  border-color: rgba(207, 216, 228, .72) !important;
  background: rgba(250, 251, 253, .74) !important;
  color: #657184 !important;
  font-size: 13px !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), transform var(--workbench-transition), box-shadow var(--workbench-transition) !important;
}

#personnel .pagination .page-icon:hover:not(:disabled),
#personnel .pagination .page-number:hover:not(:disabled) {
  background: #fff !important;
  border-color: rgba(160, 174, 194, .88) !important;
  box-shadow: 0 5px 14px rgba(23, 31, 45, .055);
  transform: translateY(-1px);
}

#personnel .pagination .page-icon:active:not(:disabled),
#personnel .pagination .page-number:active:not(:disabled) {
  transform: translateY(0);
}

#personnel .pagination .page-number.active {
  background: #f1f5ff !important;
  border-color: #9bbbf2 !important;
  color: #285fac !important;
}

#globalModal:has(#modalBody .personnel-detail) .modal-panel {
  width: min(800px, calc(100vw - 32px)) !important;
  max-width: min(800px, calc(100vw - 32px)) !important;
  background: var(--workbench-surface, #fff) !important;
  border-color: var(--workbench-border, rgba(218, 225, 235, .86)) !important;
  box-shadow: 0 18px 46px rgba(29, 40, 56, .14) !important;
}

#globalModal:has(#modalBody .personnel-detail) .modal-panel h3 {
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 14px 22px 13px !important;
  border-bottom: 1px solid var(--workbench-divider, rgba(224, 231, 241, .82)) !important;
  background: rgba(255, 255, 255, .96) !important;
}

#globalModal:has(#modalBody .personnel-detail) #modalBody {
  padding: 18px 24px 22px !important;
  background: #fff !important;
}

#globalModal:has(#modalBody .personnel-detail) .btn-group {
  min-height: 62px !important;
  padding: 10px 24px !important;
  border-top: 1px solid var(--workbench-divider, rgba(224, 231, 241, .82)) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 -8px 20px rgba(29, 40, 56, .035) !important;
}

#globalModal:has(#modalBody .personnel-detail) .btn-group .btn {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(214, 222, 233, .82) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #374255 !important;
  font-size: 13px !important;
  font-weight: 560 !important;
  box-shadow: 0 1px 0 rgba(17, 21, 28, .018) !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
}

#globalModal:has(#modalBody .personnel-detail) .btn-group .btn:not(.btn-outline) {
  color: #8d1020 !important;
  border-color: rgba(215, 19, 42, .18) !important;
  background: rgba(255, 255, 255, .82) !important;
}

#globalModal:has(#modalBody .personnel-detail) .btn-group .btn:hover {
  background: linear-gradient(135deg, rgba(215, 19, 42, .032), rgba(255, 255, 255, .94), rgba(86, 126, 180, .026)) !important;
  border-color: rgba(186, 199, 216, .92) !important;
  box-shadow: 0 7px 18px rgba(23, 31, 45, .038) !important;
  transform: translateY(-1px);
}

#globalModal:has(#modalBody .personnel-detail) .btn-group .btn:active {
  transform: translateY(0);
}

#modalBody .personnel-detail {
  display: grid !important;
  gap: 22px !important;
  padding: 0 !important;
  color: var(--workbench-text, #1f2937) !important;
}

#globalModal .personnel-modal-header-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

#globalModal .personnel-modal-title {
  color: #172033;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.25;
}

#globalModal .personnel-modal-meta {
  min-width: 0;
  color: #7b8798;
  font-size: 12px;
  font-weight: 460;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#globalModal .personnel-modal-close {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #7b8798;
  cursor: pointer;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), transform var(--workbench-transition);
}

#globalModal .personnel-modal-close svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
}

#globalModal .personnel-modal-close:hover {
  background: rgba(248, 250, 252, .9);
  border-color: rgba(214, 222, 233, .82);
  color: #334155;
}

#globalModal .personnel-modal-close:active {
  transform: translateY(1px);
}

#modalBody .personnel-section {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modalBody .personnel-section + .personnel-section {
  padding-top: 21px !important;
  border-top: 1px solid var(--workbench-divider, rgba(224, 231, 241, .82)) !important;
}

#modalBody .personnel-section-head {
  margin: 0 0 11px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

#modalBody .personnel-section-head h4 {
  margin: 0 !important;
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
}

#modalBody .personnel-section-head p {
  margin: 4px 0 0 !important;
  color: #7b8798 !important;
  font-size: 12px !important;
  font-weight: 430 !important;
  line-height: 1.45 !important;
}

#modalBody .personnel-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 13px 16px !important;
}

#modalBody .personnel-form-grid.salary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#modalBody .personnel-profile-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#modalBody .personnel-profile-grid .personnel-field.wide {
  grid-column: 1 / -1 !important;
}

#modalBody .personnel-account-grid {
  grid-template-columns: 1fr !important;
}

#modalBody .personnel-account-grid .personnel-login-fields {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1.45fr) minmax(118px, .86fr) !important;
  gap: 13px 14px !important;
}

#modalBody .personnel-password-fields {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 13px 14px !important;
}

#modalBody .personnel-login-note {
  grid-column: 1 / -1 !important;
  margin: -2px 0 1px !important;
}

#modalBody .personnel-login-note.is-hidden {
  display: none !important;
}

#modalBody .personnel-password-fields.is-hidden {
  display: none !important;
}

#modalBody .personnel-reset-password-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 11px !important;
  border: 1px solid rgba(214, 222, 233, .78) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #4d5a6e !important;
  font-size: 12px !important;
  font-weight: 540 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), color var(--workbench-transition), box-shadow var(--workbench-transition), transform var(--workbench-transition) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

#modalBody .personnel-reset-password-action.is-hidden {
  display: none !important;
}

#modalBody .personnel-reset-password-action:hover {
  background: linear-gradient(135deg, rgba(215, 19, 42, .032), rgba(255, 255, 255, .94), rgba(86, 126, 180, .026)) !important;
  border-color: rgba(186, 199, 216, .9) !important;
  color: #2f3b4e !important;
  box-shadow: 0 7px 18px rgba(23, 31, 45, .038) !important;
  transform: translateY(-1px);
}

#modalBody .personnel-reset-password-action:focus-visible {
  outline: none !important;
  box-shadow: var(--workbench-focus) !important;
}

#modalBody .personnel-reset-password-action:active {
  transform: translateY(0);
}

#modalBody .personnel-attendance-grid {
  grid-template-columns: minmax(132px, 1fr) minmax(138px, 1fr) minmax(118px, .88fr) !important;
}

#modalBody .personnel-conditional-field {
  min-width: 0 !important;
}

#modalBody .personnel-conditional-field.is-hidden,
#modalBody .personnel-field.is-hidden {
  display: none !important;
}

#modalBody .personnel-salary-grid {
  grid-template-columns: minmax(118px, 1fr) minmax(118px, 1fr) minmax(118px, 1fr) minmax(126px, .9fr) minmax(176px, 1.05fr) !important;
}

#modalBody .personnel-field {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

#modalBody .personnel-field.wide {
  grid-column: 1 / -1 !important;
}

#modalBody .personnel-field > span {
  color: #667286 !important;
  font-size: 12px !important;
  font-weight: 560 !important;
  line-height: 1.25 !important;
}

#modalBody .personnel-field input,
#modalBody .personnel-field select,
#modalBody .personnel-field textarea {
  width: 100% !important;
  height: var(--workbench-control-height, 34px) !important;
  min-height: var(--workbench-control-height, 34px) !important;
  padding: 0 11px !important;
  border: 1px solid rgba(214, 222, 233, .82) !important;
  border-radius: 9px !important;
  background-color: rgba(255, 255, 255, .76) !important;
  color: #253044 !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: var(--workbench-control-height, 34px) !important;
  box-shadow: none !important;
  transition: background var(--workbench-transition), border-color var(--workbench-transition), box-shadow var(--workbench-transition), color var(--workbench-transition) !important;
}

#modalBody .personnel-password-control {
  position: relative !important;
}

#modalBody .personnel-password-control input {
  padding-right: 38px !important;
}

#modalBody .personnel-password-toggle {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #7b8798 !important;
  cursor: pointer !important;
  transition: background var(--workbench-transition), color var(--workbench-transition) !important;
}

#modalBody .personnel-password-toggle:hover,
#modalBody .personnel-password-toggle.is-active {
  background: rgba(248, 250, 252, .92) !important;
  color: #9b1b2a !important;
}

#modalBody .personnel-password-toggle svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.55 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#modalBody .personnel-field input:hover,
#modalBody .personnel-field select:hover,
#modalBody .personnel-field textarea:hover {
  background-color: #fff !important;
  border-color: rgba(186, 199, 216, .9) !important;
}

#modalBody .personnel-field input:focus,
#modalBody .personnel-field select:focus,
#modalBody .personnel-field textarea:focus {
  outline: none !important;
  border-color: rgba(178, 80, 92, .16) !important;
  box-shadow: 0 0 0 2px rgba(215, 19, 42, .018) !important;
  background-color: #fff !important;
}

#modalBody .personnel-field input[readonly],
#modalBody .personnel-field textarea[readonly],
#modalBody .personnel-field input:disabled,
#modalBody .personnel-field select:disabled,
#modalBody .personnel-field textarea:disabled {
  background-color: #f7f9fc !important;
  border-color: rgba(218, 225, 235, .72) !important;
  color: #6b7789 !important;
  opacity: 1 !important;
}

#modalBody .personnel-field select {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 34px !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%237b8798' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: right 11px center !important;
  background-size: 14px 14px !important;
  background-repeat: no-repeat !important;
}


#modalBody .personnel-field input[type="date"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-left: 34px !important;
  padding-right: 32px !important;
  cursor: pointer !important;
  min-width: 0 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3.25' y='4.25' width='11.5' height='10.5' rx='2.2' stroke='%237b8798' stroke-width='1.35'/%3E%3Cpath d='M5.5 2.8v3M12.5 2.8v3M3.7 7.3h10.6' stroke='%237b8798' stroke-width='1.35' stroke-linecap='round'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%237b8798' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: left 11px center, right 10px center !important;
  background-size: 15px 15px, 13px 13px !important;
  background-repeat: no-repeat !important;
}

#modalBody .personnel-field input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0 !important;
  width: 30px !important;
  height: 100% !important;
  position: static !important;
  cursor: pointer !important;
}

#modalBody .personnel-field.date-field input[type="date"]:hover {
  background-color: #fff !important;
}

#modalBody .personnel-field textarea {
  height: 82px !important;
  min-height: 82px !important;
  max-height: 120px !important;
  padding: 9px 11px !important;
  line-height: 1.45 !important;
  resize: vertical !important;
}

#modalBody .personnel-field.number-field input {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}

#modalBody .personnel-login-fields {
  display: contents !important;
}

#modalBody .personnel-login-note.is-hidden,
#modalBody .personnel-login-fields.is-hidden {
  display: none !important;
}

#modalBody .personnel-account-grid .personnel-login-fields {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1.45fr) minmax(118px, .86fr) !important;
  gap: 13px 14px !important;
}

#modalBody .personnel-detail > .personnel-section .personnel-muted {
  margin-top: 9px !important;
  color: #7b8798 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#globalModal.personnel-readonly-detail-modal:has(#modalBody .personnel-detail) .btn-group .btn-outline {
  display: none !important;
}

#globalModal.personnel-readonly-detail-modal:has(#modalBody .personnel-detail) .btn-group .btn {
  color: #374255 !important;
  border-color: rgba(214, 222, 233, .82) !important;
  background: rgba(255, 255, 255, .72) !important;
}

#modalBody .personnel-readonly-detail {
  gap: 21px !important;
}

#modalBody .personnel-readonly-grid {
  display: grid !important;
  grid-template-columns: minmax(118px, 1fr) minmax(118px, 1fr) minmax(118px, 1fr) minmax(126px, .9fr) minmax(176px, 1.05fr) !important;
  gap: 13px 14px !important;
}

#modalBody .role-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#modalBody .personnel-readonly-field {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

#modalBody .personnel-readonly-field.wide {
  grid-column: 1 / -1 !important;
}

#modalBody .personnel-readonly-field span {
  color: #667286 !important;
  font-size: 12px !important;
  font-weight: 560 !important;
  line-height: 1.25 !important;
}

#modalBody .personnel-readonly-field strong {
  min-height: var(--workbench-control-height, 34px) !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  color: #253044 !important;
  font-size: 13px !important;
  font-weight: 580 !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}

#modalBody .personnel-readonly-field.amount-field strong {
  justify-content: flex-start !important;
  font-variant-numeric: tabular-nums !important;
}

#modalBody .personnel-readonly-field.note-field strong {
  min-height: 38px !important;
  align-items: flex-start !important;
  padding-top: 2px !important;
  color: #4b5565 !important;
  font-weight: 520 !important;
}

#modalBody .salary-history-surface {
  border-radius: var(--workbench-radius, 12px) !important;
  border: 1px solid var(--workbench-border, rgba(218, 225, 235, .86)) !important;
  box-shadow: 0 14px 34px rgba(28, 31, 35, .035) !important;
  overflow: hidden !important;
}

#modalBody .role-permission-surface {
  border-radius: var(--workbench-radius, 12px) !important;
  border: 1px solid var(--workbench-border, rgba(218, 225, 235, .86)) !important;
  box-shadow: 0 14px 34px rgba(28, 31, 35, .035) !important;
  overflow: hidden !important;
}

#modalBody .salary-history-table {
  width: 100% !important;
  min-width: 0 !important;
}

#modalBody .readonly-permission-table {
  width: 100% !important;
  min-width: 0 !important;
}

#modalBody .salary-history-table th,
#modalBody .salary-history-table td {
  padding-left: 18px !important;
  padding-right: 18px !important;
}

#modalBody .readonly-permission-table th,
#modalBody .readonly-permission-table td {
  height: 44px !important;
  padding: 0 14px !important;
  text-align: center !important;
  vertical-align: middle !important;
}

#modalBody .readonly-permission-table th:first-child,
#modalBody .readonly-permission-table td:first-child {
  padding-left: 22px !important;
  text-align: left !important;
}

#modalBody .readonly-permission-table th:last-child,
#modalBody .readonly-permission-table td:last-child {
  padding-right: 22px !important;
}

#modalBody .readonly-permission-table .personnel-main {
  color: #253044 !important;
  font-size: 13px !important;
  font-weight: 580 !important;
  line-height: 1.35 !important;
}

#modalBody .personnel-permission-state {
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  color: #9aa7b8 !important;
  font-size: 13px !important;
  font-weight: 560 !important;
  line-height: 1 !important;
}

#modalBody .personnel-permission-state.allowed {
  color: #9b1b2a !important;
  background: rgba(215, 19, 42, .045) !important;
  border: 1px solid rgba(215, 19, 42, .10) !important;
}

#modalBody .personnel-permission-state.allowed svg {
  width: 14px !important;
  height: 14px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Salespeople totals share the controls row and wrap only when space is insufficient. */
body.erp-ui2 #mainWrapper #salespeople .salespeople-summary {
  display: flex !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
}
body.erp-ui2 #mainWrapper #salespeople .salespeople-summary .workbench-inline-metric {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.erp-ui2 #mainWrapper #salespeople .salespeople-summary .workbench-inline-metric::after { display: none !important; }

#modalBody .personnel-permission-state.denied {
  color: #b8c1cf !important;
}

#modalBody .salary-history-table .amount-cell {
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

#modalBody .personnel-readonly-empty {
  height: 104px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 7px !important;
  color: #8a96a8 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

#modalBody .personnel-readonly-empty svg {
  width: 25px !important;
  height: 25px !important;
  fill: none !important;
  stroke: #c9d3e1 !important;
  stroke-width: 1.35 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

@media (max-width: 760px) {
  #modalBody .personnel-form-grid,
  #modalBody .personnel-form-grid.salary-grid,
  #modalBody .personnel-profile-grid,
  #modalBody .personnel-account-grid .personnel-login-fields,
  #modalBody .personnel-password-fields,
  #modalBody .personnel-attendance-grid,
  #modalBody .personnel-salary-grid,
  #modalBody .personnel-readonly-grid,
  #modalBody .role-summary-grid {
    grid-template-columns: 1fr !important;
  }

  #modalBody .personnel-profile-grid .personnel-field.wide {
    grid-column: auto !important;
  }
}
body.erp-ui2 #customer .customer-overview .workbench-inline-metric {
  padding: 0 !important;
  border: 0 !important;
  min-width: 0;
  flex-wrap: wrap;
}

/* ERP Full-System Master: scoped expansion of the locked Workbench, Detail, and Readonly masters. */
body.erp-ui2 {
  --full-master-surface: var(--workbench-surface, rgba(255, 255, 255, .96));
  --full-master-border: var(--workbench-border, rgba(216, 222, 231, .82));
  --full-master-divider: var(--workbench-divider, rgba(113, 124, 143, .12));
  --full-master-text: var(--workbench-text, #121926);
  --full-master-muted: var(--workbench-muted, #7d8796);
  --full-master-accent: var(--workbench-accent, #d7132a);
  --full-master-radius: var(--workbench-radius, 14px);
  --full-master-control-height: var(--workbench-control-height, 34px);
  --full-master-focus: var(--workbench-focus, 0 0 0 3px rgba(215, 19, 42, .07), 0 0 0 1px rgba(215, 19, 42, .10));
}

body.erp-ui2 .erp-full-master-page {
  padding-top: var(--workbench-page-top) !important;
}

body.erp-ui2 .erp-full-master-page > .page-header:not(.product-page-header) {
  display: none !important;
}

body.erp-ui2 .erp-full-master-page :is(.product-page-header, .history-head, .items-head) {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 12px;
}

body.erp-ui2 .erp-full-master-page :is(.product-title-block, .history-head > div:first-child, .items-head > div:first-child) {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: var(--full-master-control-height);
  color: #566174;
  font-size: 13px;
  font-weight: 560;
  white-space: nowrap;
}

body.erp-ui2 .erp-full-master-page :is(.product-title-block, .history-head > div:first-child, .items-head > div:first-child)::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  border: 1px solid rgba(215, 19, 42, .72);
  background: radial-gradient(circle, rgba(215, 19, 42, .88) 0 2px, transparent 2.5px);
}

body.erp-ui2 .erp-full-master-page :is(.product-title-block.erp-local-toolbar-left, .history-head > .erp-local-toolbar-left:first-child)::before {
  content: none !important;
}

body.erp-ui2 .erp-full-master-page .erp-local-toolbar-left {
  min-width: 0 !important;
  flex: 0 1 auto !important;
}

body.erp-ui2 .erp-full-master-page .erp-local-toolbar-nav {
  max-width: 100% !important;
}

body.erp-ui2 .erp-full-master-page .erp-local-toolbar-nav :is(.nav-cn, .nav-ru, .nav-uz) {
  font: inherit !important;
  line-height: inherit !important;
  letter-spacing: 0 !important;
}

body.erp-ui2 .erp-full-master-page :is(.product-page-header .master-toolbar, .history-head .search, .history-head .master-toolbar, .history-head .salespeople-toolbar, .stock-process-filterbar, .return-filterbar, .batch2-ltrcms-toolbar, .items-head > button) {
  margin-left: auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

body.erp-ui2 .erp-full-master-page :is(.page-title, .history-title, .items-title) {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 560 !important;
  color: #566174 !important;
  letter-spacing: 0 !important;
}

body.erp-ui2 .erp-full-master-page :is(.page-subtitle, .history-subtitle, .items-subtitle) {
  display: none !important;
}

body.erp-ui2 .erp-full-master-page :is(.master-section, .history) {
  margin-top: 0 !important;
}

body.erp-ui2 .erp-full-master-page :is(.history-surface, .table-wrapper, .erp-master-ledger-surface) {
  width: 100% !important;
  background: var(--full-master-surface) !important;
  border: 1px solid var(--full-master-border) !important;
  border-radius: var(--full-master-radius) !important;
  box-shadow: 0 14px 34px rgba(28, 31, 35, .035) !important;
  overflow: hidden !important;
}

body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) {
  width: 100% !important;
  min-width: 0 !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
}

body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) th {
  height: 42px !important;
  padding: 0 14px !important;
  border-bottom: 1px solid rgba(221, 227, 236, .78) !important;
  background: rgba(247, 249, 252, .86) !important;
  color: #68758a !important;
  font-size: 12px !important;
  font-weight: 520 !important;
  text-align: left !important;
  letter-spacing: 0 !important;
}

body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) td {
  height: 54px !important;
  padding: 0 14px !important;
  border-bottom: 1px solid rgba(226, 231, 239, .72) !important;
  color: #253044 !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}

body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) tr:last-child td {
  border-bottom: 0 !important;
}

body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) th:first-child,
body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) td:first-child {
  padding-left: 22px !important;
}

body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) th:last-child,
body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) td:last-child {
  padding-right: 22px !important;
}

body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) tbody tr:hover td {
  background: rgba(248, 250, 253, .82) !important;
}

body.erp-ui2 .erp-full-master-page :is(.ledger-main, .so) {
  color: #182235 !important;
  font-size: 13px !important;
  font-weight: 620 !important;
  line-height: 1.35 !important;
}

body.erp-ui2 .erp-full-master-page :is(.muted, .sku-code, .sp-muted, .return-note) {
  color: #8490a3 !important;
  font-size: 12px !important;
  font-weight: 430 !important;
}

body.erp-ui2 .erp-full-master-page :is(.actions, .personnel-actions) {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  white-space: nowrap !important;
  position: relative !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

body.erp-ui2 .erp-full-master-page :is(.action, .sp-action, .personnel-action) {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 1px !important;
  border: 0 !important;
  background: transparent !important;
  color: #536072 !important;
  font-size: 12px !important;
  font-weight: 520 !important;
  font-family: inherit !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 1 !important;
  appearance: none !important;
  transition: color 150ms ease, transform 150ms ease !important;
}

body.erp-ui2 .erp-full-master-page :is(.action, .sp-action, .personnel-action):hover {
  color: var(--full-master-accent) !important;
}

body.erp-ui2 .erp-full-master-page :is(.action, .sp-action, .personnel-action):active {
  transform: translateY(1px);
}

body.erp-ui2 .erp-full-master-page .pagination.table-pagination-footer {
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border-top: 1px solid rgba(221, 227, 236, .74) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  background: rgba(255, 255, 255, .78) !important;
}

body.erp-ui2 .erp-full-master-page .pagination .page-stat {
  margin-right: auto !important;
  color: #7f8a9d !important;
  font-size: 12px !important;
  font-weight: 460 !important;
}

body.erp-ui2 .erp-full-master-page .pagination :is(.page-controls, .page-actions) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

body.erp-ui2 .erp-full-master-page .pagination :is(.page-icon, .page-number, .page-btn) {
  min-width: 32px !important;
  width: auto !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(218, 225, 235, .75) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .62) !important;
  color: #6d7889 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease !important;
}

body.erp-ui2 .erp-full-master-page .pagination .page-number.active {
  background: rgba(247, 249, 252, .94) !important;
  border-color: rgba(174, 188, 210, .72) !important;
  color: #1b2536 !important;
}

body.erp-ui2 .erp-full-master-page .pagination :is(.page-icon, .page-number, .page-btn):hover:not(:disabled) {
  background: rgba(255, 255, 255, .96) !important;
  border-color: rgba(196, 207, 223, .94) !important;
  color: #1d2637 !important;
}

body.erp-ui2 .erp-full-master-page .pagination :is(.page-icon, .page-number, .page-btn):active:not(:disabled) {
  transform: translateY(1px) !important;
}

body.erp-ui2 .erp-full-master-page .pagination :is(.page-icon, .page-btn):disabled {
  opacity: .42 !important;
  cursor: default !important;
}

body.erp-ui2 .erp-full-master-page :is(.search, .search-box) {
  height: var(--full-master-control-height) !important;
  min-height: var(--full-master-control-height) !important;
  display: inline-flex !important;
  align-items: center !important;
  width: min(390px, 34vw) !important;
  padding: 0 11px !important;
  border: 1px solid rgba(214, 222, 233, .86) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .66) !important;
  box-shadow: none !important;
  transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease !important;
}

body.erp-ui2 .erp-full-master-page :is(.search, .search-box):focus-within {
  border-color: rgba(215, 19, 42, .18) !important;
  box-shadow: 0 0 0 2px rgba(215, 19, 42, .045) !important;
  background: rgba(255, 255, 255, .92) !important;
}

body.erp-ui2 .erp-full-master-page :is(.search-field, .search-input) {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #1e293b !important;
  font-size: 13px !important;
}

body.erp-ui2 :is(.erp-full-master-page, #finance) :is(.add-btn, .btn, .confirm, .compact-confirm, .primary-action-btn, .secondary-tool) {
  height: var(--full-master-control-height) !important;
  min-height: var(--full-master-control-height) !important;
  padding: 0 13px !important;
  border: 1px solid rgba(214, 222, 233, .86) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .66) !important;
  color: #344052 !important;
  font-size: 13px !important;
  font-weight: 540 !important;
  box-shadow: none !important;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease, transform 150ms ease !important;
}

body.erp-ui2 :is(.erp-full-master-page, #finance) :is(.add-btn, .btn, .secondary-tool, .subtle-action):not(.primary-action):not(.primary-action-btn):not(.confirm):not(.compact-confirm):not(.danger):not(:disabled):hover,
body.erp-ui2 :is(.erp-full-master-page, #finance) :is(.btn-outline, .secondary-button):not(:disabled):hover {
  border: 1px solid rgba(215, 19, 42, .16) !important;
  background: linear-gradient(135deg, rgba(215, 19, 42, .045), rgba(255, 255, 255, .9), rgba(72, 130, 200, .035)) !important;
  color: #1d2637 !important;
  box-shadow: 0 8px 18px rgba(30, 41, 59, .045) !important;
  transform: translateY(-1px);
}

body.erp-ui2 :is(.erp-full-master-page, #finance) :is(.add-btn, .btn, .secondary-tool, .subtle-action):not(.primary-action):not(.primary-action-btn):not(.confirm):not(.compact-confirm):not(.danger):not(:disabled):active,
body.erp-ui2 :is(.erp-full-master-page, #finance) :is(.btn-outline, .secondary-button):not(:disabled):active {
  transform: translateY(0);
}

body.erp-ui2 :is(.erp-full-master-page, #finance) :is(.confirm, .compact-confirm, .primary-action-btn, .add-btn.primary-action):not(:disabled) {
  border-color: var(--full-master-accent) !important;
  background: var(--full-master-accent) !important;
  color: #fff !important;
}

body.erp-ui2 :is(.erp-full-master-page, #finance) :is(.confirm, .compact-confirm, .primary-action-btn, .add-btn.primary-action):not(:disabled):hover {
  border-color: #c70f24 !important;
  background: linear-gradient(135deg, #d7132a, #c70f24) !important;
  color: #fff !important;
  box-shadow: 0 10px 20px rgba(215, 19, 42, .12) !important;
  transform: translateY(-1px);
}

body.erp-ui2 :is(.erp-full-master-page, #finance) :is(.confirm, .compact-confirm, .primary-action-btn, .add-btn.primary-action):not(:disabled):active {
  transform: translateY(0);
}

body.erp-ui2 .erp-full-master-page :is(input:not([type="checkbox"]):not([type="radio"]), textarea, .master-input, .form-input, .money-input, .note-field) {
  border-color: rgba(214, 222, 233, .86) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #1e293b !important;
  box-shadow: none !important;
}

body.erp-ui2 .erp-full-master-page :is(input:not([type="checkbox"]):not([type="radio"]), textarea, .master-input, .form-input, .money-input, .note-field):focus,
body.erp-ui2 .erp-full-master-page :is(.money-input, .note-field):focus-within {
  outline: 0 !important;
  border-color: rgba(215, 19, 42, .18) !important;
  box-shadow: 0 0 0 2px rgba(215, 19, 42, .045) !important;
}

body.erp-ui2 .erp-date-control {
  position: relative;
  display: inline-flex;
  width: 100%;
  min-width: 0;
  height: var(--full-master-control-height);
  border-radius: 10px;
}

body.erp-ui2 .erp-date-control .erp-date-native {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: .01 !important;
  cursor: pointer !important;
}

body.erp-ui2 .erp-date-trigger {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid rgba(214, 222, 233, .86);
  border-radius: 10px;
  background: rgba(255, 255, 255, .72);
  color: #1f2a3c;
  font-size: 13px;
  font-weight: 520;
  line-height: 1;
  pointer-events: none;
}

body.erp-ui2 .erp-date-trigger svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  fill: none;
  stroke: #8793a6;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.erp-ui2 .erp-date-trigger [data-date-value] {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #2d384b;
}

body.erp-ui2 .erp-date-trigger .erp-date-chevron {
  width: 13px;
  height: 13px;
}

body.erp-ui2 .erp-date-control:hover .erp-date-trigger,
body.erp-ui2 .erp-date-control:focus-within .erp-date-trigger {
  border-color: rgba(215, 19, 42, .18);
  background: rgba(255, 255, 255, .94);
}

body.erp-ui2 .erp-date-control:focus-within .erp-date-trigger {
  box-shadow: 0 0 0 2px rgba(215, 19, 42, .045);
}

body.erp-ui2 .erp-full-master-page :is(.customer-kpi-strip, .stock-process-kpi-strip, .return-kpi-strip, .batch2-summary-strip) {
  border-color: var(--full-master-border) !important;
  border-radius: var(--full-master-radius) !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.erp-ui2 .erp-dashboard-master-page :is(.home-panel, .chart-card, .finance-card) {
  border: 1px solid var(--full-master-border) !important;
  border-radius: var(--full-master-radius) !important;
  background: var(--full-master-surface) !important;
  box-shadow: 0 14px 34px rgba(28, 31, 35, .03) !important;
}

body.erp-ui2 #globalModal.detail-master-modal .modal-panel,
body.erp-ui2 #paymentModal .modal-panel {
  border-color: var(--full-master-border) !important;
  border-radius: 14px 0 0 14px !important;
  background: #fff !important;
}

body.erp-ui2 #globalModal.detail-master-modal #modalBody,
body.erp-ui2 #paymentModal #paymentBody {
  background: #fff !important;
}

body.erp-ui2 #globalModal.detail-master-modal :is(.detail-master-section, .modal-grid),
body.erp-ui2 #paymentModal :is(.detail-master-section, .modal-grid) {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.erp-ui2 #globalModal.detail-master-modal .detail-master-section + .detail-master-section,
body.erp-ui2 #globalModal.detail-master-modal .detail-compact-section + .detail-compact-section {
  margin-top: 18px !important;
  padding-top: 17px !important;
  border-top: 1px solid var(--full-master-divider) !important;
}

body.erp-ui2 #globalModal.detail-master-modal .detail-card {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.erp-ui2 #globalModal.detail-master-modal .detail-card b {
  margin: 0 0 5px !important;
  color: #7f8a9d !important;
  font-size: 12px !important;
  font-weight: 560 !important;
}

body.erp-ui2 #globalModal.detail-master-modal .detail-card span,
body.erp-ui2 #globalModal.detail-master-modal .detail-card div {
  color: #1f2a3c !important;
  font-size: 13px !important;
  font-weight: 580 !important;
}

@media (max-width: 1366px) {
  body.erp-ui2 .erp-full-master-page :is(.product-page-header, .history-head, .items-head) {
    gap: 10px;
  }

  body.erp-ui2 .erp-full-master-page :is(.product-page-header .master-toolbar, .history-head .search, .history-head .master-toolbar, .history-head .salespeople-toolbar, .stock-process-filterbar, .return-filterbar, .batch2-ltrcms-toolbar, .items-head > button) {
    gap: 8px;
  }

  body.erp-ui2 .erp-full-master-page :is(.search, .search-box) {
    width: min(320px, 28vw) !important;
  }

  body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) th,
  body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) td {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }

  body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) th:first-child,
  body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) td:first-child {
    padding-left: 18px !important;
  }

  body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) th:last-child,
  body.erp-ui2 .erp-full-master-page :is(.history-table, .master-table, .erp-master-ledger-table) td:last-child {
    padding-right: 18px !important;
  }
}

/* LONHOW ERP Batch 1: Inventory / Stock Workbench final master closeout. */
body.erp-ui2 #mainWrapper #stockin .history-surface {
  border-radius: 8px !important;
  box-shadow: none !important;
  background: rgba(255, 255, 255, .72) !important;
  overflow-x: auto;
}
body.erp-ui2 #mainWrapper #stockin .history-table {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 700px !important;
}
body.erp-ui2 #mainWrapper #stockin .history-table thead th {
  padding: 8px 24px !important;
  background: rgba(248, 249, 251, .62) !important;
  color: #778296 !important;
}
body.erp-ui2 #mainWrapper #stockin .history-table .stockin-list-row > td {
  padding: 10px 24px !important;
  border-bottom: 1px solid rgba(220, 226, 234, .6) !important;
  background: transparent !important;
  font-variant-numeric: lining-nums tabular-nums;
}
body.erp-ui2 #mainWrapper #stockin .history-table .stockin-list-row:hover > td {
  background: rgba(244, 247, 250, .64) !important;
}
body.erp-ui2 #stockin .stockin-list-name {
  display: block;
  font-size: var(--erp-density-record, 14px);
  font-weight: 600;
  line-height: 1.45;
  color: #283344;
  overflow-wrap: anywhere;
}
body.erp-ui2 #stockin :is(.stockin-list-sku, .stockin-list-conversion) {
  margin-top: 3px;
  color: #7b8698;
  font-size: var(--erp-density-meta, 12.5px);
  line-height: 1.4;
  overflow-wrap: anywhere;
}
body.erp-ui2 #stockin .stockin-list-batch {
  color: #68758a;
  overflow-wrap: anywhere;
}
body.erp-ui2 #mainWrapper #stockin .history-table :is(th:nth-child(3), .stockin-list-quantity) {
  text-align: right !important;
}
body.erp-ui2 #stockin .stockin-list-amount {
  font-size: var(--erp-density-record, 14px);
  font-weight: 600;
  color: #283344;
  white-space: nowrap;
}
body.erp-ui2 #stockin .stockin-list-unit {
  margin-left: 5px;
  font-size: var(--erp-density-label, 12px);
  font-weight: 400;
  color: #68758a;
}
body.erp-ui2 #mainWrapper #stockin .history-table :is(th:last-child, .stockin-list-expiry) {
  text-align: right !important;
}
body.erp-ui2 #stockin .stockin-list-expiry {
  white-space: nowrap;
  color: #4c596d;
}
body.erp-ui2 .inventory-batch1-page {
  padding-top: var(--workbench-page-top) !important;
}

body.erp-ui2 .inventory-batch1-page > .page-header.inventory-batch1-toolbar {
  display: flex !important;
}

body.erp-ui2 .inventory-batch1-toolbar {
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: var(--workbench-toolbar-gap) !important;
  margin: 0 0 12px !important;
}

body.erp-ui2 .inventory-batch1-actions {
  margin-left: var(--workbench-context-control-margin, auto) !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

body.erp-ui2 #stockProcess .inventory-batch1-toolbar .stock-process-filterbar {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

body.erp-ui2 .inventory-batch1-actions .search {
  width: var(--workbench-search-width) !important;
  flex: 0 0 var(--workbench-search-width) !important;
}

body.erp-ui2 .inventory-batch1-actions .inventory-filter-select,
body.erp-ui2 .inventory-batch1-actions > .lhx-select {
  width: 148px !important;
  min-width: 0 !important;
  flex: 0 0 148px !important;
}

body.erp-ui2 .inventory-batch1-actions .compact-filter,
body.erp-ui2 .inventory-batch1-actions .stock-process-filter-control {
  width: 128px !important;
  flex: 0 0 128px !important;
}

body.erp-ui2 .inventory-more {
  position: relative !important;
  flex: 0 0 auto !important;
}

body.erp-ui2 .inventory-more-menu {
  position: absolute !important;
  z-index: 1200 !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  min-width: 186px !important;
  display: grid !important;
  gap: 2px !important;
  padding: 6px !important;
  border: 1px solid var(--workbench-border, rgba(216, 222, 231, .9)) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 18px 40px rgba(16, 24, 40, .12) !important;
}

body.erp-ui2 .inventory-more-menu[hidden] {
  display: none !important;
}

body.erp-ui2 .inventory-more-menu button {
  min-height: 34px !important;
  width: 100% !important;
  padding: 7px 9px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #1f2937 !important;
  font-size: 13px !important;
  font-weight: 560 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  cursor: pointer !important;
}

body.erp-ui2 .inventory-more-menu button:hover,
body.erp-ui2 .inventory-more-menu button:focus-visible {
  outline: none !important;
  background: rgba(188, 23, 42, .08) !important;
  color: #a11222 !important;
}

body.erp-ui2 .inventory-action-panel {
  margin: 0 0 12px !important;
  padding: 16px 18px !important;
  border: 1px solid var(--workbench-border, rgba(216, 222, 231, .82)) !important;
  border-radius: var(--workbench-radius, 14px) !important;
  background: rgba(255, 255, 255, .84) !important;
  box-shadow: 0 14px 34px rgba(28, 31, 35, .028) !important;
}

body.erp-ui2 .inventory-action-panel[hidden] {
  display: none !important;
}

body.erp-ui2 .inventory-panel-head {
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 12px !important;
  padding: 0 0 11px !important;
  border-bottom: 1px solid var(--workbench-divider, rgba(113, 124, 143, .12)) !important;
}

body.erp-ui2 .inventory-panel-head .section-label {
  margin: 0 !important;
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

body.erp-ui2 :is(#stockin, #stockProcess, #fbo) .entry-grid,
body.erp-ui2 :is(#stockin, #stockProcess, #fbo) .batch2-entry-grid {
  display: grid !important;
  grid-template-columns: minmax(230px, 1.45fr) minmax(132px, .75fr) minmax(92px, .48fr) minmax(130px, .7fr) minmax(160px, .9fr) minmax(118px, .56fr) !important;
  align-items: end !important;
  gap: 12px !important;
}

body.erp-ui2 #fbo .batch2-entry-grid {
  grid-template-columns: minmax(230px, 1.45fr) minmax(148px, .78fr) minmax(92px, .5fr) minmax(92px, .45fr) minmax(126px, .6fr) minmax(140px, .72fr) minmax(150px, .86fr) minmax(118px, .56fr) !important;
}

body.erp-ui2 :is(#stockin, #stockProcess, #fbo) :is(.entry-field, .field, .form-group) {
  min-width: 0 !important;
}

body.erp-ui2 :is(#stockin, #stockProcess, #fbo) :is(.field-label, .form-label, .v10-fbo-line label) {
  display: block !important;
  margin: 0 0 6px !important;
  color: #667286 !important;
  font-size: 12px !important;
  font-weight: 560 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

body.erp-ui2 :is(#stockin, #stockProcess, #fbo) :is(.master-input, .form-input, .readonly-value) {
  width: 100% !important;
  height: var(--workbench-control-height, 34px) !important;
  min-height: var(--workbench-control-height, 34px) !important;
  padding: 0 11px !important;
  border: 1px solid rgba(214, 222, 233, .82) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .76) !important;
  color: #253044 !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: var(--workbench-control-height, 34px) !important;
  box-shadow: none !important;
  outline: none !important;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease !important;
}

body.erp-ui2 :is(#stockin, #stockProcess, #fbo) :is(.master-input, .form-input):hover {
  border-color: rgba(186, 199, 216, .9) !important;
  background: #fff !important;
}

body.erp-ui2 :is(#stockin, #stockProcess, #fbo) :is(.master-input, .form-input):focus {
  border-color: rgba(215, 19, 42, .18) !important;
  box-shadow: 0 0 0 2px rgba(215, 19, 42, .045) !important;
  outline: none !important;
}


body.erp-ui2 .inventory-date-range {
  display: inline-grid !important;
  grid-template-columns: 126px 126px !important;
  gap: 8px !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}

body.erp-ui2 .inventory-date-range[hidden] {
  display: none !important;
}


body.erp-ui2 #processTbody .status,
body.erp-ui2 #fboTbody .status,
body.erp-ui2 #fboTbody .v80-fbo-flow {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #253044 !important;
  font-size: 13px !important;
  font-weight: 560 !important;
  box-shadow: none !important;
}

body.erp-ui2 #fbo .v10-fbo-items {
  margin-top: 13px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

body.erp-ui2 #fbo .v10-fbo-empty {
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 12px !important;
  border: 1px dashed rgba(214, 222, 233, .82) !important;
  border-radius: 10px !important;
  background: rgba(248, 250, 252, .7) !important;
  color: #7f8a9d !important;
  font-size: 13px !important;
}

body.erp-ui2 #fbo .v10-fbo-line {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.35fr) minmax(110px, .55fr) minmax(96px, .45fr) minmax(210px, .95fr) auto !important;
  align-items: end !important;
  gap: 11px !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--workbench-divider, rgba(113, 124, 143, .12)) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.erp-ui2 #fbo .v10-fbo-stock {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #7f8a9d !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.erp-ui2 #fbo .v10-fbo-savebar {
  margin-top: 13px !important;
  padding-top: 13px !important;
  border-top: 1px solid var(--workbench-divider, rgba(113, 124, 143, .12)) !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 9px !important;
}

body.erp-ui2 #fbo .v80-settle-field {
  display: none !important;
}

body.erp-ui2 #fbo.v80-fbo-settle .v80-settle-field {
  display: block !important;
}

body.erp-ui2 #fbo :is(.v18-fbo-edit-btn, .v80-fbo-edit-btn, .btn-sample-delete) {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(214, 222, 233, .82) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #536072 !important;
  font-size: 12px !important;
  font-weight: 520 !important;
  box-shadow: none !important;
}

body.erp-ui2 :is(#stockin, #stockProcess, #fbo) .action-field :is(.confirm, .compact-confirm, .primary-action-btn),
body.erp-ui2 #fbo .v10-fbo-savebar .btn:first-child,
body.erp-ui2 .inventory-batch1-actions .add-btn:not(.subtle-action):last-child {
  border-color: transparent !important;
  background: #b91224 !important;
  color: #fff !important;
}

body.erp-ui2 :is(#stockin, #stockProcess, #fbo) .action-field :is(.confirm, .compact-confirm, .primary-action-btn):hover,
body.erp-ui2 #fbo .v10-fbo-savebar .btn:first-child:hover,
body.erp-ui2 .inventory-batch1-actions .add-btn:not(.subtle-action):last-child:hover {
  background: #9f1020 !important;
  color: #fff !important;
}

body.erp-ui2 .history-surface :is(.num, .qty-cell, .price-cell) {
  text-align: left !important;
  font-variant-numeric: tabular-nums !important;
}

@media (max-width: 1366px) {
  body.erp-ui2 .inventory-batch1-actions {
    gap: 8px !important;
  }

  body.erp-ui2 .inventory-batch1-actions .inventory-filter-select,
  body.erp-ui2 .inventory-batch1-actions > .lhx-select {
    width: 126px !important;
    flex-basis: 126px !important;
  }

  body.erp-ui2 .inventory-batch1-actions .compact-filter,
  body.erp-ui2 .inventory-batch1-actions .stock-process-filter-control {
    width: 112px !important;
    flex-basis: 112px !important;
  }

  body.erp-ui2 .inventory-date-range {
    grid-template-columns: 114px 114px !important;
  }

  body.erp-ui2 #fbo .batch2-entry-grid {
    grid-template-columns: minmax(190px, 1.3fr) minmax(130px, .78fr) minmax(82px, .42fr) minmax(82px, .42fr) minmax(112px, .52fr) minmax(124px, .62fr) minmax(130px, .75fr) minmax(106px, .52fr) !important;
  }
}

@media (max-width: 1120px) {
  body.erp-ui2 .inventory-batch1-toolbar,
  body.erp-ui2 .inventory-batch1-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.erp-ui2 .inventory-batch1-actions .search,
  body.erp-ui2 .inventory-batch1-actions .inventory-filter-select,
  body.erp-ui2 .inventory-batch1-actions .lhx-select,
  body.erp-ui2 .inventory-batch1-actions .compact-filter,
  body.erp-ui2 .inventory-batch1-actions .stock-process-filter-control {
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  body.erp-ui2 :is(#stockin, #stockProcess, #fbo) .entry-grid,
  body.erp-ui2 :is(#stockin, #stockProcess, #fbo) .batch2-entry-grid,
  body.erp-ui2 #fbo .v10-fbo-line {
    grid-template-columns: 1fr !important;
  }
}

/* Product rows group identity, stock and prices without changing the shared tables. */
body.erp-ui2 #product .history-table {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 22px;
}
body.erp-ui2 #product .history-table colgroup { display: none; }
body.erp-ui2 #product .history-table thead {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
body.erp-ui2 #product #goodsTbody { display: block; }
body.erp-ui2 #product .product-list-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.65fr) minmax(180px, 1fr) minmax(150px, .85fr) 108px;
  align-items: center;
  gap: 24px;
  padding: var(--erp-density-row-space, 12px) 0;
  border-bottom: 1px solid var(--line, #e2e7ef);
  background: transparent !important;
}
body.erp-ui2 #product .product-list-row:last-child { border-bottom: 0; }
body.erp-ui2 #product .history-table .product-list-row > td {
  display: block !important;
  min-width: 0;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  white-space: normal !important;
}
body.erp-ui2 #product .product-list-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-bottom: 4px;
}
body.erp-ui2 #product .product-list-name {
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text, #303640);
  font-family: inherit;
  font-size: var(--erp-density-title, 16px);
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}
body.erp-ui2 #product .product-list-name:hover { color: var(--primary, #af3048); }
body.erp-ui2 #product :is(.product-list-name, .product-list-actions button):focus-visible {
  outline: 2px solid var(--primary, #af3048);
  outline-offset: 4px;
}
body.erp-ui2 #product .product-list-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #527e70;
  font-size: 12px;
  line-height: 1.6;
  white-space: nowrap;
}
body.erp-ui2 #product .product-list-status::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
body.erp-ui2 #product .product-list-status.is-inactive { color: #8a6d60; }
body.erp-ui2 #product .product-list-sku {
  color: var(--muted, #79879e);
  font-size: var(--erp-density-meta, 12.5px);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body.erp-ui2 #product .product-list-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 3px;
  color: var(--muted, #79879e);
  font-size: var(--erp-density-meta, 12.5px);
  line-height: 1.4;
}
body.erp-ui2 #product .product-list-meta > span + span {
  padding-left: 10px;
  border-left: 1px solid var(--line, #e2e7ef);
}
body.erp-ui2 #product .history-table td.product-list-stock {
  padding-left: 24px !important;
  border-left: 1px solid var(--line, #e2e7ef) !important;
}
body.erp-ui2 #product .product-list-label {
  margin-bottom: 4px;
  color: var(--muted, #79879e);
  font-size: var(--erp-density-label, 12px);
  line-height: 1.4;
}
body.erp-ui2 #product .product-list-label > span { margin-left: 6px; font-size: 11px; }
body.erp-ui2 #product .product-list-stock .ledger-main {
  flex-basis: 100%;
  font-size: var(--erp-density-metric, 18px) !important;
  line-height: 1.25;
  font-weight: 600;
  overflow-wrap: anywhere;
}
body.erp-ui2 #product .product-list-price .price-cell > div:first-child {
  font-size: var(--erp-density-title, 16px) !important;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
body.erp-ui2 #product :is(.stock-cell, .price-cell) .muted {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.4;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
body.erp-ui2 #product .product-list-stock .stock-cell {
  display: flex !important;
  flex-wrap: wrap;
  column-gap: 10px;
}
body.erp-ui2 #product .product-list-actions .actions {
  justify-content: center !important;
  flex-wrap: wrap;
  gap: 4px 14px;
}
body.erp-ui2 #product .product-list-actions .action { min-height: 32px; font-size: 13px; }
body.erp-ui2 #product .product-list-empty { display: block; }
body.erp-ui2 #product .product-list-empty td { display: block; padding: 40px 16px !important; height: auto !important; }

@media (max-width: 1120px) {
  body.erp-ui2 #product .product-page-header { display: flex !important; gap: 20px !important; }
  body.erp-ui2 #product .inventory-batch1-actions {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  body.erp-ui2 #product .inventory-batch1-actions .search {
    grid-column: 1 / -1;
    width: 100% !important;
  }
  body.erp-ui2 #product .inventory-batch1-actions > .lhx-select { grid-column: span 3; min-width: 0 !important; }
  body.erp-ui2 #product .inventory-batch1-actions > .refresh-action { grid-column: span 1; }
  body.erp-ui2 #product .inventory-batch1-actions > .inventory-more { grid-column: span 2; }
  body.erp-ui2 #product .inventory-batch1-actions > .add-btn:not(.subtle-action) { grid-column: span 3; width: 100% !important; }
  body.erp-ui2 #product .inventory-more-trigger { width: 100% !important; }
}

@media (max-width: 1100px) {
  body.erp-ui2 #product .product-list-row {
    grid-template-columns: minmax(0, 1.3fr) minmax(150px, 1fr) minmax(135px, .85fr) 82px;
    gap: 18px;
  }
  body.erp-ui2 #product .history-table td.product-list-stock { padding-left: 18px !important; }
}
@media (max-width: 700px) {
  body.erp-ui2 #product .history-table { padding: 0 16px; }
  body.erp-ui2 #product .product-list-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px 16px;
    padding: 14px 0;
  }
  body.erp-ui2 #product .product-list-identity { grid-column: 1 / -1; }
  body.erp-ui2 #product .history-table td.product-list-stock { padding-left: 0 !important; border-left: 0 !important; }
  body.erp-ui2 #product .product-list-stock .ledger-main { font-size: var(--erp-density-metric, 18px) !important; }
  body.erp-ui2 #product .product-list-price .price-cell > div:first-child { font-size: var(--erp-density-title, 16px) !important; white-space: normal; }
  body.erp-ui2 #product .product-list-actions { grid-column: 1 / -1; }
  body.erp-ui2 #product .product-list-actions .actions { justify-content: flex-end !important; }
}

/* LONHOW ERP Batch 2: Sales / Customer / People Workbench final master closeout. */
body.erp-ui2 .sales-batch2-page,
body.erp-ui2 #salespeople.sales-batch2-page {
  padding-top: var(--workbench-page-top) !important;
}

body.erp-ui2 .sales-batch2-page > .page-header.sales-batch2-toolbar,
body.erp-ui2 #salespeople .sales-batch2-toolbar {
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: var(--workbench-toolbar-gap) !important;
  margin: 0 0 12px !important;
}

body.erp-ui2 .sales-batch2-page .page-title,
body.erp-ui2 .sales-batch2-page .page-subtitle,
body.erp-ui2 #salespeople.sales-batch2-page .page-title,
body.erp-ui2 #salespeople.sales-batch2-page .page-subtitle,
body.erp-ui2 .sales-batch2-page .history-head {
  display: none !important;
}

body.erp-ui2 .sales-batch2-actions {
  margin-left: var(--workbench-context-control-margin, auto) !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

body.erp-ui2 .sales-batch2-actions .search,
body.erp-ui2 #salespeople .sales-batch2-actions .search {
  position: relative !important;
  width: var(--workbench-search-width) !important;
  flex: 0 0 var(--workbench-search-width) !important;
  height: var(--workbench-control-height, 34px) !important;
  min-height: var(--workbench-control-height, 34px) !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 11px 0 34px !important;
  border: 1px solid var(--erp-master-field-border, #e4e8ed) !important;
  border-radius: var(--erp-master-field-radius, 6px) !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: none !important;
  transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease !important;
}

body.erp-ui2 .sales-batch2-actions .search::before,
body.erp-ui2 #salespeople .sales-batch2-actions .search::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  opacity: .72;
  background: no-repeat center / 14px 14px url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m21 21-4.35-4.35' stroke='%238793A6' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='11' cy='11' r='6.2' stroke='%238793A6' stroke-width='1.8'/%3E%3C/svg%3E");
}

body.erp-ui2 .sales-batch2-actions .search:focus-within,
body.erp-ui2 #salespeople .sales-batch2-actions .search:focus-within {
  border-color: var(--erp-master-field-focus, #8995a1) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: none !important;
}

body.erp-ui2 .sales-batch2-actions .search-field,
body.erp-ui2 #salespeople .sales-batch2-actions .search-field {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #1e293b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.erp-ui2 .sales-batch2-page :is(.form-input, .master-input, .note-field, .money-input),
body.erp-ui2 #salespeople :is(.form-input, .master-input) {
  height: var(--workbench-control-height, 34px) !important;
  min-height: var(--workbench-control-height, 34px) !important;
  border: 1px solid rgba(214, 222, 233, .86) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #253044 !important;
  box-shadow: none !important;
  outline: none !important;
}

body.erp-ui2 .sales-batch2-page :is(.form-input, .master-input, .note-field):focus,
body.erp-ui2 #salespeople :is(.form-input, .master-input):focus,
body.erp-ui2 .sales-batch2-page :is(.money-input):focus-within {
  border-color: rgba(215, 19, 42, .18) !important;
  box-shadow: 0 0 0 2px rgba(215, 19, 42, .045) !important;
  outline: none !important;
}

body.erp-ui2 .sales-batch2-page :is(.add-btn, .btn, .confirm, .secondary-tool),
body.erp-ui2 #salespeople :is(.add-btn, .btn, .secondary-tool) {
  height: var(--workbench-control-height, 34px) !important;
  min-height: var(--workbench-control-height, 34px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(214, 222, 233, .86) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #344052 !important;
  font-size: 13px !important;
  font-weight: 560 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

body.erp-ui2 .sales-batch2-page :is(.add-btn, .btn, .secondary-tool):not(.primary-action):not(.primary-action-btn):not(.confirm):not(.danger):not(:disabled):hover,
body.erp-ui2 #salespeople :is(.add-btn, .btn, .secondary-tool):not(.primary-action):not(.primary-action-btn):not(.confirm):not(.danger):not(:disabled):hover {
  border: 1px solid rgba(215, 19, 42, .16) !important;
  background: linear-gradient(135deg, rgba(215, 19, 42, .045), rgba(255, 255, 255, .94), rgba(72, 130, 200, .035)) !important;
  color: #1d2637 !important;
}

body.erp-ui2 .sales-batch2-page .add-btn:not(.secondary-tool),
body.erp-ui2 .sales-batch2-page .confirm,
body.erp-ui2 #salespeople .add-btn:not(.secondary-tool) {
  border-color: rgba(185, 192, 205, .72) !important;
  background: rgba(255, 255, 255, .92) !important;
  color: #222b3a !important;
}

body.erp-ui2 .sales-batch2-page :is(.history-surface, .erp-master-ledger-surface),
body.erp-ui2 #salespeople :is(.history-surface, .erp-master-ledger-surface) {
  width: 100% !important;
  overflow: hidden !important;
  border: 1px solid rgba(216, 222, 231, .82) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .76) !important;
  box-shadow: 0 14px 34px rgba(28, 31, 35, .03) !important;
}

body.erp-ui2 .sales-batch2-page :is(.history-table, .erp-master-ledger-table),
body.erp-ui2 #salespeople :is(.history-table, .erp-master-ledger-table) {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

body.erp-ui2 .sales-batch2-page :is(.history-table, .erp-master-ledger-table) th,
body.erp-ui2 #salespeople :is(.history-table, .erp-master-ledger-table) th {
  height: 38px !important;
  padding: 0 13px !important;
  background: rgba(247, 248, 250, .92) !important;
  border-bottom: 1px solid rgba(113, 124, 143, .09) !important;
  color: #8d98a8 !important;
  font-size: 11px !important;
  font-weight: 560 !important;
  text-align: left !important;
}

body.erp-ui2 .sales-batch2-page :is(.history-table, .erp-master-ledger-table) td,
body.erp-ui2 #salespeople :is(.history-table, .erp-master-ledger-table) td {
  height: 56px !important;
  padding: 0 13px !important;
  border-bottom: 1px solid rgba(113, 124, 143, .08) !important;
  color: #344052 !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}

body.erp-ui2 .sales-batch2-page :is(.history-table, .erp-master-ledger-table) tr:last-child td,
body.erp-ui2 #salespeople :is(.history-table, .erp-master-ledger-table) tr:last-child td {
  border-bottom: 0 !important;
}

body.erp-ui2 .sales-batch2-page .num,
body.erp-ui2 #salespeople .num {
  text-align: left !important;
  font-variant-numeric: tabular-nums !important;
}

body.erp-ui2 .sales-batch2-page .ledger-main,
body.erp-ui2 #salespeople .ledger-main {
  display: inline-block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  color: #172033 !important;
  font-weight: 650 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  vertical-align: bottom !important;
}

body.erp-ui2 .sales-batch2-page .muted,
body.erp-ui2 #salespeople .muted,
body.erp-ui2 #salespeople .sp-muted {
  color: #7d8796 !important;
  font-size: 12px !important;
  font-weight: 440 !important;
}

body.erp-ui2 .sales-batch2-page .actions,
body.erp-ui2 #salespeople .actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  row-gap: 4px !important;
  flex-wrap: wrap !important;
}

body.erp-ui2 .sales-batch2-page .action,
body.erp-ui2 #salespeople .action,
body.erp-ui2 #salespeople .sp-action {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 1px !important;
  border: 0 !important;
  background: transparent !important;
  color: #747f90 !important;
  font-size: 12px !important;
  font-weight: 540 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 1 !important;
  appearance: none !important;
}

body.erp-ui2 .sales-batch2-page .action:first-child,
body.erp-ui2 #salespeople .action:first-child,
body.erp-ui2 #salespeople .sp-action:first-child {
  color: #3f4b5d !important;
}

body.erp-ui2 .sales-batch2-page :is(.action-del, .danger-action, .danger),
body.erp-ui2 #salespeople :is(.action-del, .danger-action, .danger) {
  color: #a86966 !important;
}

body.erp-ui2 .sales-batch2-page .status,
body.erp-ui2 #salespeople .status,
body.erp-ui2 #salespeople .sp-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #424a56 !important;
  font-size: 13px !important;
  font-weight: 520 !important;
}

body.erp-ui2 .sales-batch2-page .status::before,
body.erp-ui2 #salespeople .status::before,
body.erp-ui2 #salespeople .sp-status::before {
  content: "" !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #86aa8b !important;
  opacity: .78 !important;
}

body.erp-ui2 .sales-batch2-page .status:is(.due, .partial)::before {
  background: #a88f87 !important;
}

body.erp-ui2 .sales-batch2-page .status:is(.void, .returned)::before,
body.erp-ui2 #salespeople .sp-status.sp-departed::before {
  background: #b28a85 !important;
}

body.erp-ui2 #returnManage .return-kpi-strip {
  display: none !important;
}

body.erp-ui2 #sale.sales-special-page .workbench {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 300px) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

body.erp-ui2 #sale.sales-special-page .builder,
body.erp-ui2 #sale.sales-special-page .summary {
  border: 1px solid rgba(216, 222, 231, .82) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .78) !important;
  box-shadow: 0 14px 34px rgba(28, 31, 35, .03) !important;
}

body.erp-ui2 #sale.sales-special-page .builder {
  padding: 18px 20px 18px !important;
}

body.erp-ui2 #sale.sales-special-page .summary {
  padding: 20px 18px !important;
}

body.erp-ui2 #sale.sales-special-page .summary::before {
  display: none !important;
}

body.erp-ui2 #sale.sales-special-page .command-strip {
  grid-template-columns: minmax(230px, 1.2fr) minmax(260px, 1.1fr) minmax(136px, .58fr) !important;
  gap: 12px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid rgba(113, 124, 143, .11) !important;
}

body.erp-ui2 #sale.sales-special-page .items-head {
  margin: 16px 0 8px !important;
  padding: 0 !important;
}

body.erp-ui2 #sale.sales-special-page .items-title,
body.erp-ui2 #sale.sales-special-page .summary-title {
  color: #172033 !important;
  font-size: 16px !important;
  font-weight: 650 !important;
}

body.erp-ui2 #sale.sales-special-page .items-subtitle {
  color: #7d8796 !important;
  font-size: 12px !important;
  font-weight: 440 !important;
}

body.erp-ui2 #sale.sales-special-page .editable-table th {
  height: 36px !important;
  color: #8d98a8 !important;
  font-weight: 560 !important;
}

body.erp-ui2 #sale.sales-special-page .editable-table td {
  height: 58px !important;
}

body.erp-ui2 #sale.sales-special-page .summary-total {
  font-size: 31px !important;
  font-weight: 680 !important;
  letter-spacing: 0 !important;
}

body.erp-ui2 #sale.sales-special-page .confirm {
  width: 100% !important;
  margin-top: 18px !important;
}

body.erp-ui2 #sale.sales-special-page .sales-batch2-history {
  margin-top: 14px !important;
}

body.erp-ui2 .sales-batch2-date-range {
  display: inline-grid !important;
  grid-template-columns: 132px 132px !important;
  gap: 8px !important;
}

body.erp-ui2 .sales-batch2-date-range[hidden] {
  display: none !important;
}

body.erp-ui2 #returnManage .return-filterbar {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  min-width: 0 !important;
}

body.erp-ui2 #returnManage .return-filter-control,
body.erp-ui2 #returnManage .compact-filter {
  width: 128px !important;
  flex: 0 0 128px !important;
}

body.erp-ui2 #returnManage .return-filterbar .search {
  width: var(--workbench-search-width) !important;
  min-width: var(--workbench-search-width) !important;
  flex: 0 0 var(--workbench-search-width) !important;
}

body.erp-ui2 #customer .customer-filterbar .search {
  width: var(--workbench-search-width) !important;
}


body.erp-ui2 #sale .custom-select-menu {
  border: 1px solid rgba(214, 220, 229, .96) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 18px 42px rgba(23, 31, 45, .13) !important;
}

body.erp-ui2 #sale .custom-select-option {
  min-height: 34px !important;
  border-radius: 8px !important;
}

body.erp-ui2 #sale .custom-select-option:is(:hover, .is-active, .selected) {
  background: rgba(215, 19, 42, .065) !important;
}

body.erp-ui2 .sales-batch2-page .pagination,
body.erp-ui2 #salespeople .pagination {
  margin: 0 !important;
  padding: 10px 13px !important;
  border-top: 1px solid rgba(113, 124, 143, .08) !important;
}

@media (max-width: 1366px) {
  body.erp-ui2 .sales-batch2-actions {
    gap: 7px !important;
  }

  body.erp-ui2 #sale.sales-special-page .workbench {
    grid-template-columns: minmax(0, 1fr) 266px !important;
    gap: 12px !important;
  }

  body.erp-ui2 #sale.sales-special-page .command-strip {
    grid-template-columns: minmax(190px, 1.05fr) minmax(210px, 1fr) minmax(120px, .52fr) !important;
    gap: 10px !important;
  }

  body.erp-ui2 #returnManage .return-filter-control,
  body.erp-ui2 #returnManage .compact-filter {
    width: 118px !important;
    flex-basis: 118px !important;
  }

  body.erp-ui2 .sales-batch2-date-range {
    grid-template-columns: 118px 118px !important;
  }
}

@media (max-width: 1180px) {
  body.erp-ui2 .sales-batch2-toolbar,
  body.erp-ui2 #salespeople .sales-batch2-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.erp-ui2 .sales-batch2-actions {
    width: 100% !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  body.erp-ui2 .sales-batch2-actions .search {
    width: min(100%, 360px) !important;
    flex: 1 1 260px !important;
  }

  body.erp-ui2 #sale.sales-special-page .workbench {
    grid-template-columns: 1fr !important;
  }

  body.erp-ui2 #sale.sales-special-page .summary {
    max-width: none !important;
  }
}
/* Return entry uses the shared drawer, inputs, selects and ledger surfaces. */
.customer-return-fields,
.customer-return-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
}
.customer-return-orders {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 16px 0;
  padding: 16px 0;
  border-top: 1px solid var(--full-master-divider);
}
.customer-return-orders label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  cursor: pointer;
}
.customer-return-ledger {
  width: 100%;
  table-layout: fixed;
}
.customer-return-ledger :is(th, td) {
  overflow-wrap: anywhere;
}
.customer-return-ledger .form-input {
  width: 100%;
  min-width: 0;
  text-align: right;
}
.customer-return-bottom {
  margin-top: 20px;
  align-items: end;
}
.customer-return-bottom strong {
  display: block;
  margin-top: 8px;
}
#returnDraftError { color: var(--brand-red, #d7132a); }
#globalModal.detail-master-modal[data-detail-kind="sale-product-picker"] .modal-panel {
  width: min(960px, calc(100vw - 24px)) !important;
  max-width: min(960px, calc(100vw - 24px)) !important;
}
#globalModal.detail-master-modal[data-detail-kind="sale-product-picker"] #modalBody {
  display: flex;
  overflow: hidden !important;
  padding: 0 28px !important;
  background: var(--lh-surface, #fff) !important;
}
.sale-product-picker { min-width: 0; width: 100%; min-height: 0; display: flex; flex-direction: column; }
.sale-product-toolbar { flex: 0 0 auto; padding-top: 18px; }
.sale-product-picker #saleProductSearch { width: 100%; }
.sale-product-selection { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 14px 0; color: var(--lh-muted, #667085); font-size: var(--erp-density-body, 13px); }
.sale-product-selection label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.sale-product-picker input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--brand-red, #d7132a); cursor: pointer; }
.sale-product-choice, .sale-product-columns { display: grid; grid-template-columns: 18px minmax(0, 1fr) 112px 104px 172px; gap: 16px; align-items: center; padding: 12px 8px; }
.sale-product-columns { flex: 0 0 auto; border-block: 1px solid var(--lh-border, #e5e7eb); color: var(--lh-muted, #667085); font-size: var(--erp-density-label, 12px); }
#saleProductChoices { flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-gutter: stable; }
.sale-product-columns { overflow-y: hidden; scrollbar-width: thin; scrollbar-gutter: stable; }
.sale-product-choice { min-height: 78px; border-bottom: 1px solid var(--lh-border, #e5e7eb); font-size: var(--erp-density-body, 13px); }
.sale-product-choice:hover { background: rgba(31, 35, 40, .018); }
.sale-product-choice.is-selected { background: rgba(215, 19, 42, .025); }
#globalModal #modalBody .sale-product-choice, #globalModal #modalBody .sale-product-choice label { color: var(--lh-text, #1f2328) !important; font-weight: 400 !important; }
.sale-product-choice :is(input, select):focus-visible { outline: 2px solid var(--brand-red, #d7132a); outline-offset: 3px; }
.sale-product-choice > span, .sale-product-choice label, .sale-product-entry { min-width: 0; overflow-wrap: anywhere; }
.sale-product-identity { cursor: pointer; }
.sale-product-entry { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
.sale-product-quantity, .sale-product-unit { display: grid; gap: 6px; }
#modalBody .sale-product-entry .form-input { width: 100%; min-width: 0; height: var(--erp-density-control, 34px); padding: 6px 8px !important; font-variant-numeric: tabular-nums; }
.sale-product-entry .lhx-select { min-width: 0; width: 100%; }
.sale-product-unit-value { display: flex; align-items: center; height: var(--erp-density-control, 34px); padding-inline: 12px; }
#modalBody .sale-product-quantity .form-input { text-align: right; }
#modalBody .sale-product-entry .form-input:disabled { opacity: .45; cursor: not-allowed; }
#modalBody .sale-product-quantity .form-input[aria-invalid="true"] { border-color: var(--brand-red, #d7132a) !important; }
.sale-product-choice strong { font-weight: 600; font-size: var(--erp-density-record, 14px); }
.sale-product-choice small { display: block; color: var(--lh-muted, #667085); font-size: 12px; line-height: 1.6; }
.sale-product-price, .sale-product-price-heading { text-align: right; font-variant-numeric: tabular-nums; }
.sale-product-stock { font-variant-numeric: tabular-nums; }
.sale-product-empty { padding: 48px 12px; text-align: center; color: var(--lh-muted, #667085); }
#saleProductError { flex: 0 0 auto; color: var(--brand-red, #d7132a); margin: 0; }
#saleProductError:not(:empty) { padding-block: 10px; }
@media (min-width: 701px) {
  .sale-product-stock > small, .sale-product-price > small:first-child, .sale-product-entry > :is(label, div) > small { display: none; }
}
@media (max-width: 700px) {
  #globalModal.detail-master-modal[data-detail-kind="sale-product-picker"] .modal-panel { width: 100vw !important; max-width: 100vw !important; border-radius: 0 !important; }
  #globalModal.detail-master-modal[data-detail-kind="sale-product-picker"] #modalBody { padding-inline: 16px !important; }
  .sale-product-columns { display: none; }
  .sale-product-selection { font-size: 12px; gap: 8px; }
  .sale-product-choice { grid-template-columns: 18px minmax(0, 1fr) minmax(95px, .65fr); gap: 8px 10px; padding: 12px 4px; font-size: 14px; }
  .sale-product-choice > input { grid-row: 1 / 3; }
  .sale-product-identity { grid-column: 2; grid-row: 1 / 3; }
  .sale-product-stock, .sale-product-price { grid-column: 3; text-align: right; }
  .sale-product-entry { grid-column: 2 / -1; grid-row: 3; }
  .sale-product-entry { grid-template-columns: 100px 100px; }
}
@media (max-width: 600px) {
  .customer-return-fields,
  .customer-return-bottom { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .customer-return-ledger :is(th, td) { padding: 8px 4px; }
}

/* Sales orders reuse the product identity/metric/action hierarchy without changing accounting values. */
body.erp-ui2 #mainWrapper #sale .history-surface:has(.sales-order-list) {
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .76) !important;
}
body.erp-ui2 #mainWrapper #sale table.sales-order-list {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 22px !important;
}
body.erp-ui2 #sale .sales-order-list thead {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
body.erp-ui2 #sale #salesTbody { display: block; }
body.erp-ui2 #mainWrapper #sale .sales-order-row {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)) 156px;
  align-items: center;
  gap: 22px;
  padding: var(--erp-density-row-space) 0;
  border-bottom: 1px solid var(--erp-master-rule);
  background: transparent !important;
}
body.erp-ui2 #sale .sales-order-row:last-child { border-bottom: 0 !important; }
body.erp-ui2 #mainWrapper #sale .sales-order-list .sales-order-row > td {
  display: block !important;
  min-width: 0;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
  background: transparent !important;
  white-space: normal !important;
}
body.erp-ui2 #sale .sales-order-heading {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
}
body.erp-ui2 #sale .sales-order-customer {
  font-size: var(--erp-density-title);
  font-weight: 600;
  line-height: 1.4;
  color: var(--text, #303640);
  overflow-wrap: anywhere;
}
body.erp-ui2 #sale .sales-order-heading .status { font-size: var(--erp-density-label) !important; }
body.erp-ui2 #sale .sales-order-reference {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin-top: 6px;
  color: var(--erp-master-muted);
  font-size: var(--erp-density-meta);
  font-variant-numeric: lining-nums tabular-nums;
}
body.erp-ui2 #mainWrapper #sale .sales-order-reference :is(.so, .date) {
  font-size: inherit !important;
  font-weight: 400 !important;
  color: inherit !important;
  white-space: nowrap;
}
body.erp-ui2 #sale .sales-order-reference .date { border-left: 1px solid var(--erp-master-rule); padding-left: 12px; }
body.erp-ui2 #mainWrapper #sale .sales-order-list td.sales-order-total {
  border-left: 1px solid var(--erp-master-rule) !important;
  padding-left: 22px !important;
}
body.erp-ui2 #sale .sales-order-label {
  margin-bottom: 5px;
  color: var(--erp-master-muted);
  font-size: var(--erp-density-label);
  line-height: 1.4;
}
body.erp-ui2 #sale .sales-order-label > span { margin-left: 4px; font-size: 11px; }
body.erp-ui2 #sale .sales-order-value {
  color: #303640;
  font-size: var(--erp-density-title);
  line-height: 1.4;
  font-variant-numeric: lining-nums tabular-nums;
  overflow-wrap: anywhere;
}
body.erp-ui2 #sale .sales-order-total .sales-order-value { font-size: var(--erp-density-metric); font-weight: 600; }
body.erp-ui2 #sale .sales-order-due .sales-order-value { color: #a33449; }
@media (min-width: 901px) {
  body.erp-ui2 #mainWrapper #sale .sales-order-list td:is(.sales-order-total,.sales-order-paid,.sales-order-due,.sales-order-clear),
  body.erp-ui2 #mainWrapper #finance table.erp-record-list td.erp-record-metric {
    text-align: right !important;
    font-variant-numeric: lining-nums tabular-nums;
  }
}
body.erp-ui2 #sale .sales-order-clear .sales-order-value { color: #527e70; }
body.erp-ui2 #sale .sales-order-total .muted { margin-top: 3px; }
body.erp-ui2 #mainWrapper #sale .sales-order-actions .actions {
  justify-content: center !important;
  gap: 4px 14px !important;
}
body.erp-ui2 #sale .sales-order-actions .action:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
body.erp-ui2 #sale .sales-order-empty { display: block; }
body.erp-ui2 #mainWrapper #sale .sales-order-empty td { display: block; height: auto !important; padding: 32px 16px !important; }
@media (max-width: 1100px) {
  body.erp-ui2 #mainWrapper #sale .sales-order-row { grid-template-columns: minmax(0, 1.8fr) repeat(3, minmax(0, 1fr)) 100px; gap: 16px; }
  body.erp-ui2 #mainWrapper #sale .sales-order-list td.sales-order-total { padding-left: 16px !important; }
}
@media (max-width: 900px) {
  body.erp-ui2 #mainWrapper #sale table.sales-order-list { padding: 0 16px !important; }
  body.erp-ui2 #mainWrapper #sale .sales-order-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 10px; }
  body.erp-ui2 #sale .sales-order-identity, body.erp-ui2 #sale .sales-order-actions { grid-column: 1 / -1; }
  body.erp-ui2 #mainWrapper #sale .sales-order-list td.sales-order-total { border-left: 0 !important; padding-left: 0 !important; }
  body.erp-ui2 #mainWrapper #sale .sales-order-actions .actions { justify-content: flex-end !important; }
}

/* Return documents keep full source references within the compact record master. */
body.erp-ui2 #mainWrapper #returnManage .history-surface:has(.return-record-list) {
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .76) !important;
}
body.erp-ui2 #mainWrapper #returnManage table.return-record-list {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 22px !important;
}
body.erp-ui2 #returnManage .return-record-list thead {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
body.erp-ui2 #returnManage #returnTbody { display: block; }
body.erp-ui2 #mainWrapper #returnManage .return-record-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.15fr) minmax(0, 1.35fr) minmax(0, 1fr) 132px;
  align-items: center;
  gap: 24px;
  padding: var(--erp-density-row-space) 0;
  border-bottom: 1px solid var(--erp-master-rule);
  background: transparent !important;
}
body.erp-ui2 #returnManage .return-record-row:last-child { border-bottom: 0 !important; }
body.erp-ui2 #mainWrapper #returnManage .return-record-list .return-record-row > td {
  display: block !important;
  min-width: 0;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
  background: transparent !important;
  white-space: normal !important;
}
body.erp-ui2 #returnManage .return-record-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
body.erp-ui2 #returnManage .return-record-customer {
  font-size: var(--erp-density-title);
  font-weight: 600;
  line-height: 1.4;
  color: var(--text, #303640);
  overflow-wrap: anywhere;
}
body.erp-ui2 #returnManage .return-record-heading .status { font-size: var(--erp-density-label) !important; }
body.erp-ui2 #returnManage .return-record-reference {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin-top: 6px;
  color: var(--erp-master-muted);
  font-size: var(--erp-density-meta);
  font-variant-numeric: lining-nums tabular-nums;
}
body.erp-ui2 #mainWrapper #returnManage .return-record-reference :is(.so, .date) {
  font-size: inherit !important;
  font-weight: 400 !important;
  color: inherit !important;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal !important;
}
body.erp-ui2 #returnManage .return-record-reference .date { white-space: nowrap !important; }
body.erp-ui2 #mainWrapper #returnManage .return-record-list td.return-record-source {
  border-left: 1px solid var(--erp-master-rule) !important;
  padding-left: 24px !important;
}
body.erp-ui2 #returnManage .return-record-label {
  margin-bottom: 5px;
  color: var(--erp-master-muted);
  font-size: var(--erp-density-label);
  line-height: 1.4;
}
body.erp-ui2 #returnManage .return-record-label > span { margin-left: 4px; font-size: 11px; }
body.erp-ui2 #returnManage .return-record-orders { display: grid; gap: 3px; font-size: var(--erp-density-meta); font-variant-numeric: lining-nums tabular-nums; }
body.erp-ui2 #returnManage .return-record-orders > span { overflow-wrap: anywhere; }
body.erp-ui2 #returnManage .return-record-product { font-size: var(--erp-density-record); line-height: 1.4; overflow-wrap: anywhere; }
body.erp-ui2 #returnManage .return-record-meta { margin-top: 3px; color: var(--erp-master-muted); font-size: var(--erp-density-label); line-height: 1.4; overflow-wrap: anywhere; }
body.erp-ui2 #returnManage .return-record-value { color: #303640; font-size: var(--erp-density-metric); font-weight: 600; line-height: 1.4; font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
body.erp-ui2 #mainWrapper #returnManage .return-record-actions .actions { justify-content: center !important; gap: 4px 14px !important; }
body.erp-ui2 #returnManage .return-record-actions .action:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
body.erp-ui2 #returnManage .return-record-empty { display: block; }
body.erp-ui2 #mainWrapper #returnManage .return-record-empty td { display: block; height: auto !important; padding: 32px 16px !important; }
@media (max-width: 1100px) {
  body.erp-ui2 #mainWrapper #returnManage .return-record-row { gap: 16px; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1fr) 90px; }
  body.erp-ui2 #mainWrapper #returnManage .return-record-list td.return-record-source { padding-left: 16px !important; }
}
@media (max-width: 900px) {
  body.erp-ui2 #mainWrapper #returnManage table.return-record-list { padding: 0 16px !important; }
  body.erp-ui2 #mainWrapper #returnManage .return-record-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
  body.erp-ui2 #returnManage .return-record-identity { grid-column: 1 / -1; }
  body.erp-ui2 #mainWrapper #returnManage .return-record-list td.return-record-source { border-left: 0 !important; padding-left: 0 !important; }
  body.erp-ui2 #mainWrapper #returnManage .return-record-actions .actions { justify-content: flex-end !important; }
}

/* Approved product-list density, shared by every ERP workspace and drawer.
   Keep layout, field widths, status colors, chart geometry and business logic owned by their modules. */
body.erp-ui2 {
  --erp-density-version: compact-v2;
  --erp-density-title: 16px;
  --erp-density-record: 14px;
  --erp-density-body: 13px;
  --erp-density-meta: 12.5px;
  --erp-density-label: 12px;
  --erp-density-metric: 18px;
  --erp-density-summary: 24px;
  --erp-density-control: 34px;
  --erp-density-row-space: 12px;
  --erp-density-section-space: 18px;
  --erp-master-muted: #748094;
  --erp-master-rule: #e6e9ee;
  --erp-master-field-border: #e4e8ed;
  --erp-master-section-gap: 26px;
  --workbench-control-height: var(--erp-density-control);
  --full-master-control-height: var(--erp-density-control);
}

/* Product-list hierarchy across workspaces. Ledger columns retain their meaning. */
body.erp-ui2 #mainWrapper .page:not(#product):not(#home)
  :is(.history-surface, .table-wrapper, .personnel-table-wrap, .attendance-table-wrap) {
  box-shadow: none !important;
  border-color: var(--erp-master-rule) !important;
}
body.erp-ui2 #mainWrapper .page:not(#product)
  :is(.history-table, .master-table, .personnel-table, .attendance-table) th {
  background: rgba(248, 249, 251, .7) !important;
  color: #68758a !important;
}
body.erp-ui2 #mainWrapper .page:not(#product)
  :is(.history-table, .master-table, .personnel-table, .attendance-table) td {
  border-bottom-color: var(--erp-master-rule) !important;
  font-variant-numeric: lining-nums tabular-nums;
}
body.erp-ui2 #mainWrapper .page:not(#product)
  :is(.muted, .sku-code, .sp-muted, .personnel-muted, .attendance-muted) {
  color: var(--erp-master-muted) !important;
}
body.erp-ui2 #mainWrapper .page:not(#product)
  :is(.customer-kpi-strip, .stock-process-kpi-strip, .return-kpi-strip, .batch2-summary-strip,
      .personnel-kpis, .attendance-kpis) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Ordinary drawers use the approved editor width; transaction tables keep their wider layout. */
body.erp-ui2 #globalModal.modal-mask:has(.attendance-correction-master) {
  align-items: stretch !important;
  justify-content: flex-end !important;
  padding: 0 !important;
}
body.erp-ui2 #globalModal.modal-mask:has(.attendance-correction-master) .modal-panel {
  height: 100dvh !important;
  max-height: 100dvh !important;
  padding: 0 !important;
  border-right: 0 !important;
  border-radius: 12px 0 0 12px !important;
}
body.erp-ui2 #globalModal:not([data-detail-kind="goods"]):has(
  .detail-master-customer, .detail-master-salesperson, .detail-master-handover, .stockin-detail-form, .fbo-detail-form,
  .personnel-detail:not(.personnel-readonly-detail), .attendance-correction-master,
  .finance-master-form, #finPriceAmount, #finRepPay, #finAdvAmount, #finAdvActAmount):has(#modalBody) .modal-panel,
body.erp-ui2 #paymentModal .modal-panel {
  width: min(800px, calc(100vw - 24px)) !important;
  max-width: min(800px, calc(100vw - 24px)) !important;
}
body.erp-ui2 #globalModal[data-detail-kind="customer-return"] .modal-panel,
body.erp-ui2 #globalModal:has(.sp-customer-detail-wrap) .modal-panel {
  width: min(960px, calc(100vw - 24px)) !important;
  max-width: min(960px, calc(100vw - 24px)) !important;
}
body.erp-ui2 #globalModal #modalBody .finance-advance-action-modal .detail-master-section.finance-advance-settle-field[hidden] { display: none !important; }
body.erp-ui2 #globalModal #modalBody .finance-advance-action-modal .form-group:has(#finAdvActNote) { grid-column: 1 / -1; }
body.erp-ui2 #globalModal #modalBody .customer-return-bottom { margin-top: 0; }
body.erp-ui2 #globalModal #modalBody .customer-return-orders { margin-top: 8px; padding-top: 0; border-top: 0; }
body.erp-ui2 #globalModal .customer-return-orders input[type="checkbox"] {
  width: 16px; height: 16px; flex: 0 0 16px; margin: 0;
  accent-color: var(--brand-red, #d7132a);
}
body.erp-ui2 #globalModal #modalBody .customer-return-ledger :is(td.num, th:last-child) { text-align: right !important; }
body.erp-ui2 #globalModal .modal-panel > .btn-group .btn { white-space: nowrap !important; }
body.erp-ui2 #globalModal:not([data-detail-kind="goods"]):has(#modalBody) .modal-panel > h3,
body.erp-ui2 #paymentModal .modal-panel > h3 {
  padding: 22px 28px 20px !important;
  background: #fff !important;
  border-bottom-color: var(--erp-master-rule) !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere;
}
body.erp-ui2 #globalModal:not([data-detail-kind="goods"]):not([data-detail-kind="sale-product-picker"]):has(#modalBody) #modalBody,
body.erp-ui2 #paymentModal #paymentBody {
  padding: 28px 28px 32px !important;
  background: #fff !important;
}
body.erp-ui2 #globalModal:not([data-detail-kind="goods"]):has(#modalBody) .modal-panel > .btn-group,
body.erp-ui2 #paymentModal .modal-panel > .btn-group {
  flex-wrap: wrap !important;
  padding: 14px 28px !important;
  box-shadow: none !important;
  border-top-color: var(--erp-master-rule) !important;
}
body.erp-ui2 #globalModal:not([data-detail-kind="goods"]):has(#modalBody) .modal-panel > .btn-group .btn,
body.erp-ui2 #paymentModal .modal-panel > .btn-group .btn {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 72px !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  height: var(--erp-density-control) !important;
  min-height: var(--erp-density-control) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
}
body.erp-ui2 #paymentModal .payment-master-section {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 28px;
}
body.erp-ui2 #paymentModal .payment-master-section h4 {
  font-size: var(--erp-density-record);
  line-height: 1.6;
  margin: 2px 0 0;
}
body.erp-ui2 #paymentModal .payment-master-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  min-width: 0;
}
body.erp-ui2 #paymentModal .payment-master-fields .form-group { margin: 0; min-width: 0; }
body.erp-ui2 #paymentModal .form-group:has(#newPayOwner) { grid-column: 1 / -1; }
body.erp-ui2 #paymentModal #newPayOwner { border: 0 !important; padding: 0 !important; background: transparent !important; }
body.erp-ui2 #paymentModal #newPayAmount { max-width: 180px; }
body.erp-ui2 #paymentModal .payment-master-history {
  margin-top: 26px;
  padding-top: 26px;
  border-top: 1px solid var(--erp-master-rule);
}
body.erp-ui2 #paymentModal .payment-master-history > strong { font-size: var(--erp-density-record); }
body.erp-ui2 #paymentModal .payment-master-history > div { max-height: none !important; }
body.erp-ui2 #paymentModal .payment-row {
  display: grid !important;
  grid-template-columns: 90px 130px minmax(90px, 1fr) minmax(120px, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--erp-master-rule);
  font-size: var(--erp-density-body);
}
body.erp-ui2 #paymentModal .payment-row span { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  body.erp-ui2 #paymentModal .payment-master-section { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.erp-ui2 #paymentModal .payment-master-fields { grid-template-columns: minmax(0, 1fr); }
  body.erp-ui2 #paymentModal .payment-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
body.erp-ui2 #globalModal #modalBody .finance-master-form .form-group:has(:is(#finPriceNote, #finAdvPurpose, #finAdvNote)) { grid-column: 1 / -1; }
body.erp-ui2 #globalModal:not(.personnel-readonly-detail-modal):has(#modalBody .personnel-detail) #modalConfirmBtn {
  background: var(--primary, #f60016) !important;
  border-color: var(--primary, #f60016) !important;
  color: #fff !important;
}
body.erp-ui2 #globalModal:not(.personnel-readonly-detail-modal):has(#modalBody .personnel-detail) #modalConfirmBtn:hover {
  filter: brightness(.94);
}
body.erp-ui2 #globalModal:not([data-detail-kind="goods"]) :is(.detail-master-header-copy, .personnel-modal-header-copy) {
  gap: 7px !important;
}
body.erp-ui2 #globalModal:not([data-detail-kind="goods"]) :is(.detail-master-header-object, .personnel-modal-meta) {
  font-size: var(--erp-density-meta) !important;
  font-weight: 400 !important;
  color: var(--erp-master-muted) !important;
}
body.erp-ui2 #globalModal:not([data-detail-kind="goods"]) .detail-master-header-badge {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-weight: 400 !important;
  max-width: 35%;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.5 !important;
}

/* Reuse existing semantic groups for aligned drawer sections. */
body.erp-ui2 #stockinEntryPanel[hidden] { display: none !important; }
body.erp-ui2 #fboEntryPanel[hidden] { display: none !important; }
body.erp-ui2 #globalModal #fboEntryPanel {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.erp-ui2 #globalModal #fboEntryPanel .field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
body.erp-ui2 #globalModal #fboEntryPanel .field-wide { grid-column: 1 / -1; }
body.erp-ui2 #globalModal #fboEntryPanel .action-field { align-items: flex-start; }
body.erp-ui2 #globalModal #fboEntryPanel .action-field button {
  appearance: none;
  height: var(--erp-density-control);
  padding: 0 14px;
  border: 1px solid var(--erp-master-field-border);
  border-radius: 6px;
  background: #fff;
  color: var(--lh-text, #1f2328);
  font: inherit;
  cursor: pointer;
}
body.erp-ui2 #globalModal #fboEntryPanel .action-field button:hover { border-color: #cc8f98; }
body.erp-ui2 #globalModal #fboEntryPanel .field:has(:is(#fboUnitSelect, #fboQty, #fboSettleAmount)) { max-width: 180px; }
body.erp-ui2 #globalModal #fboEntryPanel .v80-settle-field { display: none !important; }
body.erp-ui2 #globalModal #fboEntryPanel.v80-fbo-settle .v80-settle-field { display: flex !important; }
body.erp-ui2 #globalModal #modalBody #fboEntryPanel.is-editing :is(.action-field, .fbo-lines-section) { display: none !important; }
body.erp-ui2 #globalModal #fboEntryPanel :is(.v10-fbo-items, .v10-fbo-empty) {
  margin: 0;
  padding: 0;
  min-width: 0;
  border: 0;
  background: transparent;
}
body.erp-ui2 #globalModal #fboEntryPanel .v10-fbo-empty {
  color: var(--erp-master-muted);
  font-size: var(--erp-density-body);
}
body.erp-ui2 #globalModal #fboEntryPanel .v10-fbo-line {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 20px;
  padding: 0 0 18px;
  margin: 0 0 18px;
  border: 0;
  border-bottom: 1px solid var(--erp-master-rule);
  border-radius: 0;
  background: transparent;
}
body.erp-ui2 #globalModal #fboEntryPanel .v10-fbo-line > div { min-width: 0; }
body.erp-ui2 #globalModal #fboEntryPanel .v10-fbo-line:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
body.erp-ui2 #globalModal #fboEntryPanel .v10-fbo-line > div:first-child,
body.erp-ui2 #globalModal #fboEntryPanel .v10-fbo-stock { grid-column: 1 / -1; }
body.erp-ui2 #globalModal #fboEntryPanel .v10-fbo-line label {
  display: block;
  margin-bottom: 7px;
  color: var(--erp-master-muted);
  font-size: var(--erp-density-label);
  font-weight: 400;
}
body.erp-ui2 #globalModal #fboEntryPanel .v10-fbo-stock {
  color: var(--erp-master-muted);
  font-size: var(--erp-density-label);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.erp-ui2 #globalModal #fboEntryPanel .btn-sample-delete {
  justify-self: end;
  grid-column: 2;
  background: transparent !important;
  border: 0 !important;
  color: var(--primary) !important;
  padding: 0 !important;
  min-width: 0 !important;
  box-shadow: none !important;
}
body.erp-ui2 #globalModal #stockGoodsHint { display: none !important; }
body.erp-ui2 #globalModal #stockinEntryPanel {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.erp-ui2 #globalModal #stockinEntryPanel .stockin-wide-field { grid-column: 1 / -1; }
body.erp-ui2 #globalModal #stockinEntryPanel .form-group { display: flex !important; }
body.erp-ui2 #globalModal #stockinEntryPanel .stockin-short-field { max-width: 180px; }
body.erp-ui2 #globalModal #stockinEntryPanel #stockNote {
  height: auto !important;
  min-height: 90px !important;
  resize: vertical;
}
body.erp-ui2 #globalModal #stockinEntryPanel .stockin-expiry-value {
  min-height: var(--erp-density-control);
  display: flex;
  align-items: center;
  font-size: var(--erp-density-body);
  font-variant-numeric: tabular-nums;
}
body.erp-ui2 #globalModal #modalBody .detail-master-section:has(> .detail-master-section-head + .detail-master-grid),
body.erp-ui2 #globalModal #modalBody .personnel-section:has(> .personnel-section-head + .personnel-form-grid) {
  display: grid !important;
  grid-template-columns: 116px minmax(0, 1fr) !important;
  gap: 0 28px !important;
  align-items: start;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}
body.erp-ui2 #globalModal #modalBody :is(.detail-master-section-head, .personnel-section-head) {
  margin: 2px 0 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-width: 0;
}
body.erp-ui2 #globalModal #modalBody :is(.detail-master-section-head, .personnel-section-head) h4 {
  font-size: var(--erp-density-record) !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  overflow-wrap: anywhere;
}
body.erp-ui2 #globalModal #modalBody .personnel-detail { gap: var(--erp-master-section-gap) !important; }
body.erp-ui2 #globalModal #modalBody .detail-master-section + .detail-master-section:has(> .detail-master-section-head),
body.erp-ui2 #globalModal #modalBody .personnel-section + .personnel-section:has(> .personnel-section-head) {
  padding-top: var(--erp-master-section-gap) !important;
  border-top: 1px solid var(--erp-master-rule) !important;
}
body.erp-ui2 #globalModal #modalBody .detail-master-section + .detail-master-section {
  margin-top: var(--erp-master-section-gap) !important;
}
body.erp-ui2 #globalModal #modalBody :is(.detail-master-grid, .personnel-form-grid, .personnel-login-fields, .personnel-password-fields),
body.erp-ui2 :is(#modalBody, #paymentBody) .modal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 20px !important;
  min-width: 0;
}
body.erp-ui2 #globalModal #modalBody .personnel-account-grid { grid-template-columns: minmax(0, 1fr) !important; }
body.erp-ui2 #globalModal #modalBody .finance-expense-detail .personnel-field:has(> #finExpAmount),
body.erp-ui2 #globalModal #modalBody .finance-expense-detail #finExpAmount {
  width: 100% !important;
  max-width: none !important;
  font-variant-numeric: tabular-nums;
}
body.erp-ui2 #globalModal #modalBody .personnel-password-fields.is-hidden { display: none !important; }
body.erp-ui2 :is(#modalBody, #paymentBody) .modal-grid {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.erp-ui2 :is(#modalBody, #paymentBody) .modal-section-title {
  font-size: var(--erp-density-record) !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  border-bottom-color: var(--erp-master-rule) !important;
}
body.erp-ui2 #globalModal #modalBody .personnel-reset-password-action {
  max-width: 100%;
  height: auto !important;
  white-space: normal !important;
  line-height: 1.4 !important;
  padding: 6px 8px !important;
}

/* Read-only values are typography, not a grid of input-like cards. */
body.erp-ui2 #globalModal #modalBody :is(.detail-grid, .return-detail-grid, .attendance-detail-summary),
body.erp-ui2 #paymentModal #paymentBody .detail-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 28px !important;
  margin-bottom: 26px !important;
}
body.erp-ui2 #globalModal #modalBody :is(.detail-card, .return-detail-card, .attendance-detail-summary > div),
body.erp-ui2 #paymentModal #paymentBody .detail-card {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 7px !important;
}
body.erp-ui2 #globalModal #modalBody .personnel-readonly-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px 24px !important;
}
body.erp-ui2 #globalModal #modalBody .detail-master-grid > .detail-card:not(.detail-master-field-full) {
  grid-column: auto !important;
}
body.erp-ui2 #globalModal #modalBody .detail-master-customer [data-category-discount-input] {
  max-width: 140px !important;
}
/* Customer workspaces use the same compact sections as the product master. */
body.erp-ui2 #customer .customer-overview {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px 16px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
}
body.erp-ui2 #mainWrapper #customer .customer-location:not(:empty) {
  margin-left: 12px;
  padding-left: 12px;
  border-left: 1px solid var(--erp-master-rule);
}
body.erp-ui2 #globalModal #modalBody .detail-master-customer .detail-master-section {
  grid-template-columns: 116px minmax(0, 1fr) !important;
  gap: 0 20px !important;
}
body.erp-ui2 #globalModal #modalBody .detail-master-customer .detail-master-section + .detail-master-section {
  margin-top: 24px !important;
  padding-top: 24px !important;
}
body.erp-ui2 #globalModal #modalBody .detail-master-customer .detail-master-grid:has([data-category-discount-input]) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
body.erp-ui2 #paymentModal .customer-payment-heading > span { display: block; }
body.erp-ui2 #paymentModal .customer-payment-name {
  font-size: var(--erp-density-body);
  font-weight: 400;
  margin-top: 6px;
}
body.erp-ui2 #paymentModal .customer-payment-name .customer-phone {
  display: inline-block;
  margin-left: 16px;
  font-size: var(--erp-density-meta);
  color: var(--erp-master-muted);
  font-variant-numeric: tabular-nums;
}
body.erp-ui2 #paymentModal .customer-payment-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 22px;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--erp-master-rule);
}
body.erp-ui2 #paymentModal .customer-payment-overview dt { font-size: var(--erp-density-label); color: var(--erp-master-muted); }
body.erp-ui2 #paymentModal .customer-payment-overview dt small { font-size: inherit; }
body.erp-ui2 #paymentModal .customer-payment-overview dd { margin: 6px 0 0; font-size: var(--erp-density-metric); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.erp-ui2 #paymentModal .customer-payment-overview > div:last-child dd { color: var(--workbench-text, #26303c); font-weight: 600; }
body.erp-ui2 #paymentModal .payment-master-section {
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 20px;
}
body.erp-ui2 #paymentModal .payment-master-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 20px;
}
body.erp-ui2 #paymentModal .form-group:has(#newPayOwner) { display: grid !important; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 4px 12px; padding-bottom: 4px; }
body.erp-ui2 #paymentModal .form-group:has(#newPayOwner) > label { margin: 0; }
body.erp-ui2 #paymentModal #newPayOwner { width: 100% !important; min-width: 0; text-align: left; }
body.erp-ui2 #paymentModal .form-group:has(#newPayNote),
body.erp-ui2 #paymentModal .payment-order-field { grid-column: 1 / -1; }
body.erp-ui2 #paymentModal .payment-order-field :is(select,.lhx-select,.lhx-select-trigger) { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
body.erp-ui2 :is(#sale .sales-order-heading, #phoneApp .phone-row-end) .settlement-badge {
  display: inline-flex !important; align-items: center !important; justify-content: center;
  width: fit-content; max-width: 100%; padding: 2px 0 !important; gap: 7px !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  background: transparent !important; color: var(--settlement-text) !important;
  font-size: 12px !important; font-weight: 500 !important; line-height: 1.45 !important;
  white-space: normal; overflow-wrap: anywhere;
}
body.erp-ui2 :is(#sale .sales-order-heading, #phoneApp .phone-row-end) .settlement-badge::before {
  content: ""; display: block !important; position: static !important;
  width: 6px !important; height: 6px !important; flex: 0 0 6px;
  margin: 0 !important; border: 0 !important; border-radius: 50% !important;
  background: var(--settlement-dot) !important;
  box-shadow: 0 0 0 2px var(--settlement-halo) !important;
  transform: none !important; opacity: 1 !important;
}
body.erp-ui2 #phoneApp .phone-row-end .settlement-badge { display: flex !important; margin: 6px 0 0 auto !important; }
body.erp-ui2 .settlement-badge.due { --settlement-text: #ae1733; --settlement-dot: #c63e55; --settlement-halo: #f9e8ec; }
body.erp-ui2 .settlement-badge.partial { --settlement-text: #89530a; --settlement-dot: #b78630; --settlement-halo: #f7efdf; }
body.erp-ui2 .settlement-badge.clear { --settlement-text: #176342; --settlement-dot: #378565; --settlement-halo: #e6f2ec; }
body.erp-ui2 .settlement-badge.void { --settlement-text: #616976; --settlement-dot: #8b929d; --settlement-halo: #edf0f3; }
body.erp-ui2 .settlement-badge.returned { --settlement-text: #315b82; --settlement-dot: #527da2; --settlement-halo: #e9f0f7; }
body.erp-ui2 #paymentModal #newPayOwner { height: auto !important; min-height: 26px !important; font-size: var(--erp-density-body); }
body.erp-ui2 #paymentModal .payment-master-history { margin-top: 22px; padding-top: 20px; }
body.erp-ui2 #paymentModal .payment-master-history > .payment-history-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
body.erp-ui2 #paymentModal .payment-history-heading small { font-size: var(--erp-density-label); color: var(--erp-master-muted); font-weight: 400; }
body.erp-ui2 #paymentModal .payment-row {
  grid-template-columns: minmax(0, 1fr) minmax(110px, 150px) 60px !important;
  gap: 12px !important;
  padding: 12px 0 !important;
}
body.erp-ui2 #paymentModal .payment-record-identity { display: grid; gap: 4px; min-width: 0; }
body.erp-ui2 #paymentModal .payment-record-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
body.erp-ui2 #paymentModal .payment-record-date { font-weight: 600; font-variant-numeric: tabular-nums; }
body.erp-ui2 #paymentModal :is(.payment-record-note, .payment-record-owner) { font-size: var(--erp-density-meta); color: var(--workbench-muted); }
body.erp-ui2 #paymentModal .payment-record-amount { text-align: right; font-weight: 500; font-size: var(--erp-density-record); font-variant-numeric: tabular-nums; }
body.erp-ui2 #paymentModal .payment-record-action { border: 0; background: none; padding: 8px 0; font: inherit; text-align: right; cursor: pointer; }
@media (max-width: 700px) {
  body.erp-ui2 #globalModal #modalBody .detail-master-customer .detail-master-section { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  body.erp-ui2 #paymentModal .payment-master-section { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.erp-ui2 #paymentModal .payment-master-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
  body.erp-ui2 #paymentModal .payment-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 8px !important; }
  body.erp-ui2 #paymentModal .payment-record-identity { grid-column: 1 / -1; }
  body.erp-ui2 #paymentModal .payment-record-amount { text-align: left; }
  body.erp-ui2 #paymentModal .payment-record-action { justify-self: end; }
}
@media (max-width: 420px) {
  body.erp-ui2 #paymentModal .form-group:has(#newPayOwner) { grid-template-columns: minmax(0, 1fr); }
  body.erp-ui2 #paymentModal .customer-payment-name .customer-phone { display: block; margin: 4px 0 0; }
  body.erp-ui2 #paymentModal .customer-payment-overview { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-bottom: 14px; margin-bottom: 16px; }
  body.erp-ui2 #paymentModal .customer-payment-overview > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  body.erp-ui2 #paymentModal .customer-payment-overview dd { margin: 0; font-size: var(--erp-density-record); }
  body.erp-ui2 #globalModal #modalBody .detail-master-customer .detail-master-grid:has([data-category-discount-input]) { grid-template-columns: minmax(0, 1fr) !important; }
  body.erp-ui2 #paymentModal .payment-master-fields { grid-template-columns: minmax(0, 1fr); }
}
body.erp-ui2 #globalModal #modalBody :is(.salary-history-surface, .role-permission-surface, .detail-table-wrap) {
  box-shadow: none !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  overflow-x: auto !important;
}
body.erp-ui2 #globalModal #modalBody :is(.salary-history-table, .personnel-permission-table) {
  min-width: 640px !important;
}
body.erp-ui2 #globalModal #modalBody :is(.salary-history-table, .personnel-permission-table) :is(th, td) {
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Field sizes follow semantics; text, names and dates are never forced into short controls. */
body.erp-ui2 :is(#modalBody, #paymentBody) :is(.form-group > label, .personnel-field > span,
  .detail-card > b, .return-detail-card > b, .attendance-detail-summary b, .personnel-readonly-field > span) {
  color: var(--erp-master-muted) !important;
  font-weight: 400 !important;
  font-size: var(--erp-density-label) !important;
  line-height: 1.5 !important;
}
body.erp-ui2 :is(#modalBody, #paymentBody) :is(.form-input, .personnel-field > input, .personnel-field > textarea) {
  border-color: var(--erp-master-field-border) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-size: var(--erp-density-body) !important;
  font-variant-numeric: lining-nums tabular-nums;
}
body.erp-ui2 :is(#modalBody, #paymentBody) .personnel-field > input {
  min-height: var(--erp-density-control) !important;
  height: var(--erp-density-control) !important;
}
body.erp-ui2 #globalModal:not([data-detail-kind="goods"]) #modalBody :is(.form-group, .personnel-field):has(> input[type="number"]):not(.wide):not([style*="grid-column"]),
body.erp-ui2 #globalModal #modalBody .detail-master-salesperson .form-group:has(:is(#sp_status, #sp_selfRate, #sp_transferredRate)) {
  width: 100%;
  max-width: 180px;
}
body.erp-ui2 :is(#modalBody, #paymentBody) :is(.form-input, .personnel-field > input, .personnel-field > textarea):focus {
  border-color: #8995a1 !important;
  outline: none !important;
  box-shadow: none !important;
}

@media (max-width: 700px) {
  body.erp-ui2 #globalModal:not([data-detail-kind="goods"]):not([data-detail-kind="sale-product-picker"]):has(#modalBody) #modalBody,
  body.erp-ui2 #paymentModal #paymentBody { padding: 20px !important; }
  body.erp-ui2 #globalModal #modalBody .detail-master-section:has(> .detail-master-section-head + .detail-master-grid),
  body.erp-ui2 #globalModal #modalBody .personnel-section:has(> .personnel-section-head + .personnel-form-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 14px !important;
  }
  body.erp-ui2 #globalModal #modalBody .personnel-readonly-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 440px) {
  body.erp-ui2 #globalModal:not([data-detail-kind="goods"]):has(#modalBody) :is(.modal-panel > h3, #modalBody, .modal-panel > .btn-group),
  body.erp-ui2 #paymentModal :is(.modal-panel > h3, #paymentBody, .modal-panel > .btn-group) {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.erp-ui2 #globalModal #modalBody :is(.detail-master-grid, .personnel-form-grid, .personnel-login-fields,
    .personnel-password-fields, .personnel-readonly-grid, .detail-grid, .return-detail-grid, .attendance-detail-summary),
  body.erp-ui2 :is(#modalBody, #paymentBody) .modal-grid,
  body.erp-ui2 #paymentModal #paymentBody .detail-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Tables retain their columns: compact density is not a replacement for accounting structure. */
body.erp-ui2 #mainWrapper :is(#stockin, #stockProcess, #sale, #returnManage, #salespeople, #customer, #ltrcms, #fbo, #finance, #personnel, #attendance)
  :is(.history-table, .master-table, .personnel-table, .attendance-table, .editable-table) th,
body.erp-ui2 :is(#globalModal, #paymentModal) .detail-table-wrap th {
  height: 36px !important;
  padding: 8px 14px !important;
  font-size: var(--erp-density-label) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-align: left;
  vertical-align: middle !important;
  white-space: normal !important;
  border-bottom: 1px solid var(--workbench-border) !important;
  letter-spacing: 0;
}
body.erp-ui2 #mainWrapper :is(#stockin, #stockProcess, #sale, #returnManage, #salespeople, #customer, #ltrcms, #fbo, #finance, #personnel, #attendance)
  :is(.history-table, .master-table, .personnel-table, .attendance-table, .editable-table) td,
body.erp-ui2 :is(#globalModal, #paymentModal) .detail-table-wrap td {
  height: 48px !important;
  padding: 10px 14px !important;
  font-size: var(--erp-density-body) !important;
  line-height: 1.45 !important;
  vertical-align: middle !important;
  border-bottom-color: var(--workbench-divider) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
body.erp-ui2 #mainWrapper :is(#stockin, #stockProcess, #sale, #returnManage, #salespeople, #customer, #ltrcms, #fbo, #finance, #personnel, #attendance)
  :is(.ledger-main, .so, .customer-name, .personnel-name, .attendance-person-name) {
  font-size: var(--erp-density-record) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
body.erp-ui2 :is(.page, #globalModal, #paymentModal)
  :is(.muted, .sku-code, .sp-muted, .return-note, .field-hint, .finance-kpi-note) {
  font-size: var(--erp-density-label) !important;
  line-height: 1.4 !important;
}

/* Center each action group inside its own cell; wrap complete commands, never individual words. */
body.erp-ui2 :is(.page, #globalModal, #paymentModal)
  td:has(> :is(.actions, .personnel-actions, .finance-advance-actions)) {
  text-align: center !important;
}
body.erp-ui2 :is(.page, #globalModal, #paymentModal)
  table:has(tbody > tr > td:last-child > :is(.actions, .personnel-actions, .finance-advance-actions)) thead th:last-child {
  text-align: center !important;
}
body.erp-ui2 :is(.page:not(#product), #globalModal, #paymentModal)
  td > :is(.actions, .personnel-actions, .finance-advance-actions) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 4px 12px !important;
  min-width: 0;
}
body.erp-ui2 :is(.page:not(#product), #globalModal, #paymentModal)
  td :is(.action, .sp-action, .personnel-action, .finance-advance-action-btn) {
  min-height: 32px !important;
  font-size: var(--erp-density-body) !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

/* Shared text hierarchy. Navigation and branding intentionally remain unchanged. */
body.erp-ui2 :is(.page, #globalModal, #paymentModal)
  :is(.items-title, .summary-title, .modal-section-title, .detail-section-title,
      .attendance-section-title, .personnel-section-title, .finance-calc-section-title) {
  font-size: var(--erp-density-title) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0;
}
body.erp-ui2 :is(#globalModal, #paymentModal) :is(.modal-title, #modalTitle, #paymentTitle) {
  font-size: var(--erp-density-metric) !important;
  line-height: 1.4 !important;
  letter-spacing: 0;
}
body.erp-ui2 :is(.page, #globalModal, #paymentModal)
  :is(.field-label, .form-label, .finance-calc-field > span, .detail-card > b) {
  font-size: var(--erp-density-label) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
body.erp-ui2 :is(.page, #globalModal, #paymentModal)
  :is(input.form-input:not([type=checkbox]):not([type=radio]), input.master-input,
      input.money-input, select.form-select) {
  min-height: var(--erp-density-control) !important;
  height: var(--erp-density-control) !important;
  font-size: var(--erp-density-body) !important;
}
body.erp-ui2 :is(.page, #globalModal, #paymentModal) textarea.form-input {
  font-size: var(--erp-density-body) !important;
  line-height: 1.5 !important;
}
body.erp-ui2 :is(#globalModal, #paymentModal) :is(.detail-card > span, .detail-card > div) {
  font-size: var(--erp-density-body) !important;
  line-height: 1.45 !important;
}
body.erp-ui2 #globalModal.detail-master-modal .detail-master-section + .detail-master-section,
body.erp-ui2 #globalModal.detail-master-modal .detail-compact-section + .detail-compact-section {
  margin-top: var(--erp-density-section-space) !important;
  padding-top: var(--erp-density-row-space) !important;
}
body.erp-ui2 #mainWrapper :is(#sale, #finance) :is(.sales-summary-number, .summary-total, .customer-kpi-number) {
  font-size: var(--erp-density-summary) !important;
  line-height: 1.3 !important;
}
body.erp-ui2 :is(#personnel, #attendance) :is(.personnel-kpi-value, .attendance-kpi-value) {
  font-size: var(--erp-density-metric) !important;
}
body.erp-ui2 #globalModal .sale-product-choice {
  min-height: 78px;
  padding-top: var(--erp-density-row-space);
  padding-bottom: var(--erp-density-row-space);
  font-size: var(--erp-density-body);
}

/* Dashboard stays visual, with restrained metrics and the existing transparent master background. */
body.erp-ui2 #homeVisualDashboard h2 { font-size: var(--erp-density-metric); }
body.erp-ui2 #homeVisualDashboard h3 { font-size: var(--erp-density-title); }
body.erp-ui2 #homeVisualDashboard .hd-toolbar { padding-top: 8px; padding-bottom: var(--erp-density-section-space); }
body.erp-ui2 #homeVisualDashboard .hd-filters { padding-bottom: var(--erp-density-section-space); }
body.erp-ui2 #homeVisualDashboard .hd-kpis { padding: var(--erp-density-section-space) 0; }
body.erp-ui2 #homeVisualDashboard .hd-kpi > strong {
  font-size: var(--erp-density-summary);
  margin: 8px 0 6px;
  line-height: 1.3;
}
body.erp-ui2 #homeVisualDashboard .hd-split > section,
body.erp-ui2 #homeVisualDashboard :is(.hd-stock-section, .hd-recent) {
  padding-top: var(--erp-density-section-space);
  padding-bottom: var(--erp-density-section-space);
}
body.erp-ui2 #homeVisualDashboard .hd-heading { margin-bottom: 16px; }
body.erp-ui2 #homeVisualDashboard .hd-bars { gap: 16px; }
body.erp-ui2 #homeVisualDashboard .hd-bar { row-gap: 8px; }
body.erp-ui2 #homeVisualDashboard .hd-operations { gap: 18px 20px; }
body.erp-ui2 #homeVisualDashboard .hd-operations strong { font-size: var(--erp-density-summary); margin-top: 8px; }
body.erp-ui2 #homeVisualDashboard .hd-donut-legend strong { font-size: var(--erp-density-metric); margin-top: 6px; }
body.erp-ui2 #homeVisualDashboard .hd-order { padding-top: var(--erp-density-row-space); padding-bottom: var(--erp-density-row-space); }

@media (max-width: 1100px) {
  body.erp-ui2 :is(.page:not(#product), #globalModal, #paymentModal)
    :is(.history-surface, .table-wrapper, .detail-table-wrap) {
    max-width: 100%;
    overflow-x: auto !important;
  }
  body.erp-ui2 #mainWrapper .page:not(#product)
    .history-table:not(.sales-order-list):not(.return-record-list):not(.erp-record-list):has(tr > :nth-child(5)) { min-width: 640px !important; }
  body.erp-ui2 #mainWrapper .page:not(#product)
    .history-table:not(.erp-record-list):has(tr > :nth-child(7)) { min-width: 880px !important; }
  body.erp-ui2 #mainWrapper .page:not(#product)
    .history-table:not(.erp-record-list):has(tr > :nth-child(10)) { min-width: 1040px !important; }
}
@media (max-width: 700px) {
  body.erp-ui2 #homeVisualDashboard .hd-kpi > strong { font-size: 21px; }
  body.erp-ui2 #personnel .organization-local-toolbar {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    min-width: 0 !important;
  }
  body.erp-ui2 #personnel .organization-toolbar-nav {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
  }
  body.erp-ui2 #personnel .personnel-toolbar-actions {
    width: 100% !important;
    flex: 0 0 auto !important;
    flex-wrap: wrap !important;
  }
  body.erp-ui2 #personnel .personnel-toolbar-actions .search {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
  body.erp-ui2 #finance .finance-toolbar-action-group {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    max-width: 100% !important;
  }
}

/* Keep salesperson controls and rows on the product master's density. */
body.erp-ui2 #mainWrapper #salespeople .sales-batch2-actions > :is(#salespeopleStatusFilter, .lhx-select) {
  width: 148px !important;
  min-width: 0 !important;
  flex: 0 0 148px !important;
}
body.erp-ui2 #mainWrapper #salespeople .salespeople-identity {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
}
body.erp-ui2 #mainWrapper #salespeople .salespeople-identity .sp-status {
  padding: 0 !important;
  min-width: 0 !important;
  font-size: var(--erp-density-label) !important;
  font-weight: 400 !important;
}
body.erp-ui2 #mainWrapper #salespeople table.erp-record-list td[data-record-field="actions"] > .salespeople-row-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 8px !important;
}
body.erp-ui2 #mainWrapper #salespeople .salespeople-row-actions .sp-action {
  margin: 0 !important;
  padding: 4px 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: inherit;
  text-align: center;
}
body.erp-ui2 #mainWrapper #salespeople .salespeople-row-actions .sp-action:focus-visible {
  outline: 2px solid var(--lh-primary, #bc304c);
  outline-offset: 2px;
}
@media (max-width: 1100px) {
  body.erp-ui2 #mainWrapper #salespeople .salespeople-row-actions { max-width: 300px; margin-left: auto; }
}

/* Record lists share product density while preserving each module's column contract. */
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list {
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 22px !important;
  border: 0 !important;
  background: transparent !important;
  table-layout: auto !important;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list > colgroup { display: none; }
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list > thead {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list > tbody { display: block; width: 100%; }
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list .erp-record-row {
  display: grid !important;
  grid-template-columns: var(--record-columns);
  grid-template-areas: var(--record-desktop);
  align-items: center;
  column-gap: 24px;
  row-gap: 4px;
  height: auto !important;
  min-height: 86px;
  padding: var(--erp-density-row-space) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--workbench-divider) !important;
  background: transparent !important;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list .erp-record-row:last-child { border-bottom: 0 !important; }
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list .erp-record-row:hover { background: rgba(124,139,157,.025) !important; }
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list .erp-record-row > td {
  display: block !important;
  grid-area: var(--record-area);
  min-width: 0 !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: var(--erp-density-body) !important;
  line-height: 1.45 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
  font-variant-numeric: lining-nums tabular-nums;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td[data-record-label]::before {
  content: attr(data-record-label);
  display: block;
  margin-bottom: 5px;
  font-size: var(--erp-density-label);
  font-weight: 400;
  color: var(--workbench-muted, #718096);
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td:is([data-record-field="identity"], [data-record-field="actions"])::before { display: none; }
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td.erp-record-inline {
  font-size: var(--erp-density-meta) !important;
  color: var(--workbench-muted, #718096);
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td.erp-record-inline::before {
  display: inline;
  margin: 0 8px 0 0;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td.erp-record-inline :is(.ledger-main, .muted) { display: inline; margin-right: 8px; }
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td[data-record-field="identity"] {
  font-size: var(--erp-density-title) !important;
  font-weight: 600;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td[data-record-field="identity"] :is(.ledger-main, .personnel-main, .stockin-list-name, strong) {
  font-size: var(--erp-density-title) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list :is(.muted, .stockin-list-sku, .stockin-list-conversion) {
  margin-top: 4px;
  font-size: var(--erp-density-meta) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td.erp-record-metric {
  font-size: var(--erp-density-metric) !important;
  font-weight: 500;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td.erp-record-metric :is(.ledger-main, .stockin-list-amount) {
  font-size: var(--erp-density-metric) !important;
  font-weight: 500 !important;
}
body.erp-ui2 #mainWrapper table.erp-record-list td[data-record-field] :is(.ledger-main, .personnel-main, .muted) {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
body.erp-ui2 #mainWrapper table.erp-record-list td[data-record-field] :is(.status, .sp-status, .personnel-status) {
  max-width: 100%;
  height: auto !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td.erp-record-divider {
  border-left: 1px solid var(--workbench-divider) !important;
  padding-left: 24px !important;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td[data-record-field="actions"] { text-align: center !important; }
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td[data-record-field="actions"] > div {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px 12px !important;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td :is(.action, .personnel-action, .finance-action, button) {
  min-height: 32px !important;
  white-space: normal !important;
  overflow-wrap: normal;
}
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list .erp-record-empty { display: block; }
body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list .erp-record-empty > td {
  display: block;
  height: auto !important;
  padding: 28px 0 !important;
  text-align: center !important;
  background: transparent !important;
}
@media (max-width: 1400px) {
  body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list .erp-record-row { column-gap: 16px; }
}
@media (max-width: 1100px) {
  body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list { padding: 0 16px !important; }
  body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list .erp-record-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: var(--record-mobile);
    row-gap: 12px;
  }
  body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td.erp-record-divider { border-left: 0 !important; padding-left: 0 !important; }
  body.erp-ui2 #mainWrapper :is(#stockin, #fbo, #customer, #salespeople, #ltrcms, #displayAssets, #personnel, #finance, #attendance) table.erp-record-list td[data-record-field="actions"] > div { justify-content: flex-end !important; }
}
body.erp-ui2 #mainWrapper #attendance :is(.attendance-settings-body, .attendance-setting-surface, .attendance-setting-section, .attendance-table-wrap) {
  min-width: 0 !important;
  max-width: 100%;
}
body.erp-ui2 #mainWrapper #attendance .attendance-settings-body { grid-template-columns: minmax(0, 1fr); }
body.erp-ui2 #mainWrapper #attendance .attendance-table-wrap { overflow-x: auto; }
body.erp-ui2 #mainWrapper #attendance .attendance-binding-table { min-width: 940px !important; }
@media (max-width: 1100px) {
  body.erp-ui2 #mainWrapper :is(#customer, #salespeople, #returnManage, #sale) .sales-batch2-actions {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    width: 100% !important;
  }
  body.erp-ui2 #mainWrapper :is(#customer, #salespeople, #returnManage, #sale) .sales-batch2-actions .search {
    flex: 1 1 100% !important;
    width: 100% !important;
    height: var(--erp-density-control) !important;
    min-height: var(--erp-density-control) !important;
    max-height: var(--erp-density-control) !important;
  }
  body.erp-ui2 #mainWrapper #attendance :is(.attendance-rules-grid, .attendance-rest-grid) { grid-template-columns: minmax(0, 1fr) !important; }
  body.erp-ui2 #mainWrapper #attendance .attendance-rules-grid .attendance-field { grid-column: auto !important; }
  body.erp-ui2 #mainWrapper #attendance :is(.attendance-card-head, .attendance-card-actions, .attendance-actions) {
    flex-wrap: wrap !important;
    max-width: 100%;
  }
  body.erp-ui2 #mainWrapper #attendance .attendance-setting-surface .attendance-summary-line { white-space: normal !important; }
}

/* Lock the background without changing its scroll position while a drawer is open. */
html:has(body.erp-ui2 :is(#globalModal, #paymentModal).active),
body.erp-ui2:has(:is(#globalModal, #paymentModal).active) {
  overflow: hidden !important;
}
body.erp-ui2 :is(#globalModal, #paymentModal) :is(#modalBody, #paymentBody) {
  overscroll-behavior-y: contain;
}

/* All drawers scroll at the outer edge, with sticky header and actions. */
body.erp-ui2 :is(#globalModal, #paymentModal).modal-mask .modal-panel {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
}
body.erp-ui2 :is(#globalModal, #paymentModal).modal-mask .modal-panel > h3 {
  position: sticky !important;
  top: 0;
  z-index: 2;
}
body.erp-ui2 :is(#globalModal, #paymentModal).modal-mask .modal-panel :is(#modalBody, #paymentBody) {
  flex: 1 0 auto !important;
  overflow: visible !important;
}
body.erp-ui2 :is(#globalModal, #paymentModal).modal-mask .modal-panel > .btn-group {
  position: sticky !important;
  bottom: 0;
  z-index: 2;
}
body.erp-ui2 :is(#modalBody, #paymentBody) :is(.detail-table-wrap, .history-surface, .table-wrapper, .salary-history-surface, .role-permission-surface, .sp-customer-detail-wrap) {
  height: auto !important;
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
body.erp-ui2 #modalBody :is(#saleProductChoices, .detail-record-nav, .detail-record-content) {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.erp-ui2 #modalBody :is(#saleProductChoices, .sale-product-columns) { scrollbar-gutter: auto; }
body.erp-ui2 #modalBody .detail-record-layout {
  flex: 0 0 auto;
  grid-template-rows: auto !important;
  align-content: start;
}
body.erp-ui2 #globalModal:is([data-detail-kind="sale-detail"], [data-detail-kind="return-detail"], [data-detail-kind="salesperson-detail"], [data-detail-kind="advance-detail"]) #modalBody {
  --sale-detail-rule: var(--workbench-divider, #e8ebef);
}
body.erp-ui2 #modalBody .sale-detail-overview { position: relative; padding: 0 0 22px; }
body.erp-ui2 #modalBody .sale-detail-currency { display: block; text-align: right; color: var(--lh-text-secondary); font-size: 11px; margin-bottom: 8px; }
body.erp-ui2 #modalBody .sale-detail-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; gap: 20px; }
body.erp-ui2 #modalBody .salesperson-detail-totals { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.erp-ui2 #modalBody .finance-advance-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.erp-ui2 #modalBody .finance-advance-fields { margin: 0; }
body.erp-ui2 #globalModal #modalBody .finance-advance-detail .detail-record-content > .detail-master-section {
  padding: var(--erp-master-section-gap) 0 !important;
  border-top: 1px solid var(--workbench-divider) !important;
}
body.erp-ui2 #modalBody .finance-advance-detail .detail-record-nav { align-self: start; }
body.erp-ui2 #globalModal #modalBody .finance-advance-detail.detail-record-layout .detail-master-section {
  grid-template-columns: minmax(0, 1fr) !important;
  row-gap: 16px !important;
}
body.erp-ui2 #globalModal #modalBody .finance-advance-action-modal .form-group:has(:is(#finAdvActAmount, #finAdvActNote)) {
  width: 100%;
  max-width: none;
}
body.erp-ui2 #modalBody .finance-advance-action-modal .form-group:has(#finAdvActNote) { grid-column: 1 / -1; }
body.erp-ui2 #modalBody .finance-advance-create-modal .personnel-field { width: 100%; max-width: none; min-width: 0; margin: 0; }
body.erp-ui2 #globalModal #modalBody .finance-advance-create-modal .personnel-field:has(> input[type="number"]),
body.erp-ui2 #globalModal #modalBody .finance-advance-create-modal input[type="number"] { width: 100% !important; max-width: none !important; font-variant-numeric: tabular-nums; }
body.erp-ui2 #modalBody .finance-advance-create-modal .personnel-field[hidden] { display: none !important; }
body.erp-ui2 #modalBody .finance-advance-create-modal .wide { grid-column: 1 / -1; }
body.erp-ui2 #modalBody .finance-advance-create-modal textarea { min-height: 82px; resize: vertical; }
body.erp-ui2 #modalBody .finance-advance-error { color: var(--lh-primary, #e60023); margin: 12px 0 0; }
body.erp-ui2 #modalBody .sale-detail-totals > div { min-width: 0; border-left: 1px solid var(--sale-detail-rule); padding-left: 20px; }
body.erp-ui2 #modalBody .sale-detail-totals > div:first-child { border: 0; padding-left: 0; }
body.erp-ui2 #modalBody .sale-detail-totals dt { font-size: 12px; color: var(--lh-text-secondary); margin-bottom: 8px; }
body.erp-ui2 #modalBody .sale-detail-totals dd { margin: 0; font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.erp-ui2 #modalBody .sale-detail-section { padding: 20px 0 0; margin: 0 0 20px; border-top: 1px solid var(--sale-detail-rule); }
body.erp-ui2 #modalBody .sale-detail-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 12px; }
body.erp-ui2 #modalBody .sale-detail-section-heading h4 { margin: 0; font-size: 14px; font-weight: 600; }
body.erp-ui2 #modalBody .sale-detail-section-heading > span { font-size: 12px; color: var(--lh-text-secondary); }
body.erp-ui2 #modalBody .sale-detail-lines { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
body.erp-ui2 #modalBody .sale-detail-product-col { width: 40%; }
body.erp-ui2 #modalBody .sale-detail-qty-col { width: 13%; }
body.erp-ui2 #modalBody .sale-detail-price-col { width: 24%; }
body.erp-ui2 #modalBody .sale-detail-amount-col { width: 23%; }
body.erp-ui2 #modalBody .sale-detail-lines :is(th, td) { padding: 12px 0 12px 14px !important; height: auto !important; text-align: right !important; vertical-align: top !important; border-bottom: 1px solid var(--sale-detail-rule) !important; font-size: 13px !important; line-height: 1.5 !important; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.erp-ui2 #modalBody .sale-detail-lines th { padding-top: 8px !important; padding-bottom: 8px !important; background: transparent !important; font-size: 12px !important; font-weight: 400 !important; color: var(--lh-text-secondary) !important; }
body.erp-ui2 #modalBody .sale-detail-lines :is(th, td):first-child { padding-left: 0 !important; text-align: left !important; }
body.erp-ui2 #modalBody .sale-detail-lines tbody tr { background: transparent !important; }
body.erp-ui2 #modalBody .sale-detail-lines td strong { font-weight: 600; }
body.erp-ui2 #modalBody .sale-detail-product { display: block; font-size: 14px; font-weight: 500; }
body.erp-ui2 #modalBody .sale-detail-totals .return-detail-state { font-size: 14px; line-height: 1.6; font-weight: 500; }
body.erp-ui2 #modalBody .return-detail-line-meta { margin-top: 6px; color: var(--lh-text-secondary); font-size: 12px; }
body.erp-ui2 #modalBody .return-detail-order { font-size: 12px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.erp-ui2 #modalBody .sale-detail-sku { display: block; color: var(--lh-text-secondary); font-size: 12px; margin-top: 4px; overflow-wrap: anywhere; }
body.erp-ui2 #modalBody .sale-detail-gift { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--sale-detail-rule); font-size: 13px; }
body.erp-ui2 #modalBody .sale-detail-gift > div { min-width: 0; }
body.erp-ui2 #modalBody .sale-detail-gift > span { flex-shrink: 0; font-variant-numeric: tabular-nums; }
body.erp-ui2 #modalBody .sale-detail-note { margin: 0 0 12px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; font-size: 13px; }
body.erp-ui2 #modalBody .sale-detail-logistics { display: flex; flex-wrap: wrap; gap: 10px 20px; font-size: 12px; color: var(--lh-text-secondary); }
body.erp-ui2 #modalBody .sale-detail-logistics strong { font-weight: 400; font-variant-numeric: tabular-nums; }
body.erp-ui2 #globalModal[data-detail-kind="sale-detail"] #saleRackDetail { margin: 0; padding: 20px 0 0; border-top: 1px solid var(--sale-detail-rule); }
body.erp-ui2 #globalModal[data-detail-kind="sale-detail"] #saleRackDetail h4 { font-size: 14px; margin: 0 0 12px; }
body.erp-ui2 #globalModal[data-detail-kind="sale-detail"] .sale-rack-detail-line { display: grid; grid-template-columns: 1fr auto auto; gap: 20px; font-size: 13px; padding: 12px 0; }
body.erp-ui2 #globalModal:is([data-detail-kind="rack-store"],[data-detail-kind="rack-offline"]) .modal-panel > h3#modalTitle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 12px 28px !important;
  font-size: 18px !important;
}
body.erp-ui2 #globalModal:is([data-detail-kind="rack-store"],[data-detail-kind="rack-offline"]) .modal-panel > .btn-group { display: none !important; }
body.erp-ui2 #globalModal:is([data-detail-kind="rack-store"],[data-detail-kind="rack-offline"]) .personnel-modal-close:focus-visible { outline: 1px solid #8995a1; outline-offset: 1px; }
body.erp-ui2 #globalModal .rack-detail { color: #25313b; font-size: 14px; line-height: 1.5; }
body.erp-ui2 #globalModal .rack-detail-identity { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
body.erp-ui2 #globalModal .rack-detail-identity > strong { min-width: 0; font-size: 17px; font-weight: 600; overflow-wrap: anywhere; }
body.erp-ui2 #globalModal .rack-detail-status { display: inline-flex; align-items: center; gap: 7px; flex: 0 1 auto; max-width: 45%; font-size: 12px; color: #697581; overflow-wrap: anywhere; }
body.erp-ui2 #globalModal .rack-detail-status::before { content: ''; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 2px color-mix(in srgb,currentColor 12%,white); }
body.erp-ui2 #globalModal .rack-detail-status.active { color: #176342; }
body.erp-ui2 #globalModal .rack-detail-status.pending { color: #89530a; }
body.erp-ui2 #globalModal .rack-detail-status.damaged { color: #ae1733; }
body.erp-ui2 #globalModal .rack-detail-source { margin: 5px 0 0; color: #697581; font-size: 12px; }
body.erp-ui2 #globalModal .rack-detail-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 24px; margin: 20px 0 0; padding-top: 20px; border-top: 1px solid #e5e8ec; }
body.erp-ui2 #globalModal .rack-detail-facts > div { min-width: 0; }
body.erp-ui2 #globalModal .rack-detail-facts dt { color: #697581; font-size: 12px; overflow-wrap: anywhere; }
body.erp-ui2 #globalModal .rack-detail-facts dd { margin: 5px 0 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.erp-ui2 #globalModal .rack-detail-assets { margin-top: 20px; padding-top: 18px; border-top: 1px solid #e5e8ec; }
body.erp-ui2 #globalModal .rack-detail-assets h4 { margin: 0 0 6px; font-size: 13px; font-weight: 500; color: #697581; }
body.erp-ui2 #globalModal .rack-detail-assets ul { list-style: none; padding: 0; margin: 0; }
body.erp-ui2 #globalModal .rack-detail-assets li { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: 1px solid #edf0f2; font-variant-numeric: tabular-nums; }
body.erp-ui2 #globalModal .rack-detail-assets li:last-child { border-bottom: 0; }
body.erp-ui2 #globalModal .rack-detail-assets li > span { overflow-wrap: anywhere; }
body.erp-ui2 #globalModal .rack-detail-assets time { color: #697581; font-size: 12px; }
body.erp-ui2 #globalModal:is([data-detail-kind="rack-store"],[data-detail-kind="rack-offline"]) #modalBody:focus-visible { outline: 1px solid #8995a1; outline-offset: -3px; }
@media screen and (max-width: 760px), screen and (max-width: 1024px) and (max-height: 600px) and (pointer: coarse) {
  body.erp-ui2.erp-phone #globalModal:is([data-detail-kind="rack-store"],[data-detail-kind="rack-offline"]) .modal-panel > h3#modalTitle { padding: 10px 20px !important; }
  body.erp-ui2.erp-phone #globalModal:is([data-detail-kind="rack-store"],[data-detail-kind="rack-offline"]).modal-mask { align-items: flex-end !important; justify-content: center !important; }
  body.erp-ui2.erp-phone #globalModal:is([data-detail-kind="rack-store"],[data-detail-kind="rack-offline"]):has(#modalBody).modal-mask .modal-panel {
    height: auto !important;
    max-height: calc(100dvh - max(24px,env(safe-area-inset-top))) !important;
    border-radius: 8px 8px 0 0 !important;
    padding-top: 0 !important;
  }
  body.erp-ui2.erp-phone #globalModal:is([data-detail-kind="rack-store"],[data-detail-kind="rack-offline"]).modal-mask .modal-panel #modalBody {
    flex: 0 1 auto !important;
    padding: 20px 20px max(20px,env(safe-area-inset-bottom)) !important;
  }
  body.erp-ui2.erp-phone #globalModal .rack-detail-wide { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  body.erp-ui2 #modalBody .salesperson-detail-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
  body.erp-ui2 #modalBody .salesperson-detail-totals > div:nth-child(odd) { border-left: 0; padding-left: 0; }
  body.erp-ui2 #modalBody .sale-detail-totals { gap: 10px; }
  body.erp-ui2 #modalBody .sale-detail-totals > div { padding-left: 10px; }
  body.erp-ui2 #modalBody .sale-detail-totals dd { font-size: 16px; }
  body.erp-ui2 #modalBody .sale-detail-lines :is(tbody, tr, td) { display: block; width: auto; }
  body.erp-ui2 #modalBody .sale-detail-lines :is(thead, colgroup) { display: none; }
  body.erp-ui2 #modalBody .sale-detail-lines tr { padding: 12px 0; border-bottom: 1px solid var(--sale-detail-rule); }
  body.erp-ui2 #modalBody .sale-detail-lines td { border: 0 !important; padding: 4px 0 !important; }
  body.erp-ui2 #modalBody .sale-detail-lines td[data-label]::before { content: attr(data-label); float: left; color: var(--lh-text-secondary); font-size: 12px; }
  body.erp-ui2 #modalBody .sale-detail-lines td:first-child { margin-bottom: 8px; }
}

/* Personnel forms and salary details share the bounded product drawer. */
body.erp-ui2 #globalModal:has(.personnel-salary-detail) .modal-panel { width: min(800px, calc(100vw - 24px)) !important; max-width: min(800px, calc(100vw - 24px)) !important; }
body.erp-ui2 #globalModal #modalBody .personnel-editor .personnel-field { margin: 0 !important; min-width: 0; }
body.erp-ui2 #globalModal #modalBody .personnel-editor textarea { min-height: 54px !important; height: 54px !important; resize: vertical; }
body.erp-ui2 #globalModal #modalBody .personnel-editor .personnel-login-fields.is-hidden { display: none !important; }
body.erp-ui2 #globalModal #modalBody .personnel-editor .personnel-toggle-field { display: flex; align-items: center; align-self: center; gap: 9px; min-height: var(--erp-density-control); color: inherit; font-size: var(--erp-density-body); line-height: 1.5; cursor: pointer; }
body.erp-ui2 #globalModal #modalBody .personnel-editor .personnel-toggle-input { appearance: auto; width: 16px !important; height: 16px !important; min-height: 16px !important; flex: 0 0 16px; margin: 0; accent-color: #ed0020; cursor: pointer; }
body.erp-ui2 #globalModal #modalBody .personnel-editor .personnel-toggle-field:has(input:disabled) { color: var(--erp-master-muted); cursor: default; }
body.erp-ui2 #globalModal #modalBody .personnel-editor .personnel-toggle-input:focus-visible { outline: 2px solid #cc8f98; outline-offset: 3px; }
body.erp-ui2 #globalModal #modalBody .personnel-editor .personnel-field:has(:is(#personnelStatus, #personnelErpLanguage)) { max-width: 180px; }
body.erp-ui2 #globalModal #modalBody .personnel-editor .personnel-reset-password-action { height: auto !important; min-height: 30px !important; padding: 5px 8px !important; border-radius: 6px !important; line-height: 1.4 !important; white-space: normal; }
body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .personnel-section:has(> .salary-current-grid) { display: grid !important; grid-template-columns: 116px minmax(0,1fr); gap: 0 28px; padding: 0 !important; }
body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-current-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 18px 20px !important; }
body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .personnel-readonly-field strong { min-height: 0 !important; font-size: var(--erp-density-body) !important; line-height: 1.5 !important; font-weight: 400 !important; }
body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .amount-field strong { font-size: var(--erp-density-metric) !important; font-weight: 600 !important; }
body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-surface { margin-top: 14px; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; }
body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table { table-layout: fixed; min-width: 0 !important; }
body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table :is(th,td) { padding: 12px 10px !important; height: auto !important; font-size: var(--erp-density-body) !important; white-space: normal !important; overflow-wrap: anywhere; }
body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table :is(th,td):is(:nth-child(3),:nth-child(4)) { text-align: right !important; font-variant-numeric: tabular-nums; }
body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .personnel-salary-empty { margin: 14px 0 0; padding: 0; color: var(--erp-master-muted); font-size: var(--erp-density-body); }
@media (max-width: 700px) {
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .personnel-section:has(> .salary-current-grid) { grid-template-columns: minmax(0,1fr); gap: 14px; }
}
@media (max-width: 600px) {
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table { display: block !important; }
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table :is(tbody,tr,td) { display: block; }
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table thead { display: none; }
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 16px; padding: 14px 0; border-top: 1px solid var(--erp-master-rule); }
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table td { padding: 0 !important; border: 0 !important; text-align: left !important; }
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table td:is(:nth-child(3),:nth-child(4)) { text-align: left !important; }
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table td:last-child { grid-column: 1 / -1; }
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-history-table td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--erp-master-muted); font-size: var(--erp-density-label); }
}
@media (max-width: 440px) {
  body.erp-ui2 #globalModal #modalBody .personnel-salary-detail .salary-current-grid { grid-template-columns: minmax(0,1fr) !important; }
}

/* Personnel uses one aligned record, with identity metadata kept together. */
body.erp-ui2 #personnel [data-record-profile="personnel"] .personnel-record-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
body.erp-ui2 #personnel [data-record-profile="personnel"] .personnel-record-meta { margin-top: 6px; color: var(--erp-master-muted); font-size: var(--erp-density-meta); font-weight: 400; line-height: 1.4; }
body.erp-ui2 #personnel [data-record-profile="personnel"] .personnel-record-meta > span { margin-right: 4px; }
body.erp-ui2 #personnel [data-record-profile="personnel"] .personnel-status { font-size: var(--erp-density-label); font-weight: 400; }
body.erp-ui2 #personnel [data-record-profile="personnel"] .personnel-status::before { box-shadow: none; }
body.erp-ui2 #mainWrapper #personnel [data-record-profile="personnel"] .erp-record-row { min-height: 90px; }
body.erp-ui2 #mainWrapper #personnel [data-record-profile="personnel"] td[data-record-field="account"] .personnel-main { font-size: var(--erp-density-body); font-weight: 500; }
body.erp-ui2 #mainWrapper #personnel [data-record-profile="personnel"] td[data-record-field="account"] .personnel-muted { font-size: var(--erp-density-meta); line-height: 1.4; margin-top: 4px; }
@media (max-width: 1100px) {
  body.erp-ui2 #mainWrapper #personnel [data-record-profile="personnel"] .erp-record-row { row-gap: 14px; }
}

/* Role records and their read-only matrix share the compact personnel master. */
body.erp-ui2 #mainWrapper #personnel table.erp-record-list[data-record-profile="personnel"] td:is([data-record-field="job"],[data-record-field="login"],[data-record-field="attendance"])::before { display: none !important; }
body.erp-ui2 #mainWrapper #personnel [data-record-profile="personnel"] .personnel-hire-meta { margin-left: 12px; color: var(--erp-master-muted); }
body.erp-ui2 #mainWrapper #personnel [data-record-profile="personnel"] td[data-record-field="account"] { align-self: end; }
body.erp-ui2 #mainWrapper #personnel [data-record-profile="personnel"] td[data-record-field="login"] { align-self: start; }
body.erp-ui2 #mainWrapper #attendance .erp-record-list td[data-record-field="identity"] > .muted { display: none; }
body.erp-ui2 #mainWrapper #attendance table.erp-record-list[data-record-profile="attendance-today"] .erp-record-row td[data-record-field="date"] { display: none !important; }
body.erp-ui2 #mainWrapper #attendance table.erp-record-list td[data-record-field="type"]::before { display: none !important; }
body.erp-ui2 #mainWrapper #attendance .erp-record-list .status { display: inline-flex; align-items: center; gap: 6px; }
body.erp-ui2 #mainWrapper #attendance .erp-record-list .status::before { position: static; margin: 0; flex-shrink: 0; box-shadow: none; }
body.erp-ui2 #mainWrapper #attendance .attendance-settings-master-surface { padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.erp-ui2 #mainWrapper #attendance .attendance-settings-body { padding: 0 !important; }
body.erp-ui2 #mainWrapper #attendance .attendance-setting-section { padding: 20px 0 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
body.erp-ui2 #mainWrapper #attendance .attendance-rule-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 48px; }
body.erp-ui2 #mainWrapper #attendance .attendance-rule-group { min-width: 0; }
body.erp-ui2 #mainWrapper #attendance .attendance-rule-group h4 { margin: 0 0 12px; font-size: var(--erp-density-body); font-weight: 500; }
body.erp-ui2 #mainWrapper #attendance .attendance-rules-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 14px 20px !important; }
body.erp-ui2 #mainWrapper #attendance .attendance-rules-grid > .attendance-field { grid-column: auto !important; min-width: 0; }
body.erp-ui2 #mainWrapper #attendance .attendance-binding-table .form-input { width: 100% !important; min-width: 0 !important; max-width: 100%; }
body.erp-ui2 #mainWrapper #attendance .attendance-table-wrap:has(.erp-record-list) { overflow: visible !important; box-shadow: none !important; }
body.erp-ui2 #mainWrapper #attendance .attendance-binding-table .schedule-cell { min-width: 0; }
body.erp-ui2 #mainWrapper #attendance .attendance-binding-table .attendance-time-inline { display: block; width: 100% !important; min-width: 0 !important; max-width: 100%; }
body.erp-ui2 #mainWrapper #attendance table.erp-record-list .action { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.erp-ui2 #mainWrapper #attendance .attendance-record-toolbar-filters { flex-wrap: wrap; }
body.erp-ui2 #mainWrapper #attendance .attendance-rules-grid input[type="time"]::-webkit-calendar-picker-indicator { opacity: 0; }
@media (min-width: 1101px) {
  body.erp-ui2 #mainWrapper #personnel table.erp-record-list[data-record-profile="personnel"] td[data-record-field="login"],
  body.erp-ui2 #mainWrapper #attendance table.erp-record-list[data-record-profile="attendance-records"] td[data-record-field="plan"] { padding-left: 24px !important; }
  body.erp-ui2 #mainWrapper #attendance table.erp-record-list[data-record-profile="attendance-monthly"] td:is([data-record-field="identity"],[data-record-field="expected"],[data-record-field="rest"],[data-record-field="minutes"]) { align-self: end; }
  body.erp-ui2 #mainWrapper #attendance table.erp-record-list[data-record-profile="attendance-monthly"] td:is([data-record-field="type"],[data-record-field="attended"],[data-record-field="late"],[data-record-field="penalty"]) { align-self: start; }
  body.erp-ui2 #mainWrapper #attendance table.erp-record-list[data-record-profile="attendance-monthly"] td[data-record-field="attended"] { padding-left: 24px !important; }
}
@media (max-width: 1100px) {
  body.erp-ui2 #mainWrapper #attendance .attendance-master-toolbar { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 16px !important; }
  body.erp-ui2 #mainWrapper #attendance .organization-toolbar-nav { display: flex !important; flex-wrap: wrap !important; width: 100% !important; min-width: 0 !important; max-width: 100%; overflow: visible !important; row-gap: 10px; }
  body.erp-ui2 #mainWrapper #attendance .attendance-toolbar-context { width: 100% !important; max-width: 100%; min-width: 0; flex-wrap: wrap !important; justify-content: flex-start !important; margin: 0 !important; }
  body.erp-ui2 #mainWrapper #attendance .attendance-record-toolbar-filters { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; width: 100% !important; min-width: 0 !important; }
  body.erp-ui2 #mainWrapper #attendance .attendance-record-toolbar-filters > :is(.attendance-search,.attendance-record-date-range) { grid-column: 1 / -1; }
  body.erp-ui2 #mainWrapper #attendance .attendance-record-toolbar-filters :is(.attendance-search,.attendance-field) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
}
@media (max-width: 700px) {
  body.erp-ui2 #mainWrapper #attendance .attendance-rule-groups { grid-template-columns: minmax(0,1fr); }
  body.erp-ui2 #mainWrapper #attendance .attendance-rules-grid { grid-template-columns: minmax(0,1fr) !important; }
}
body.erp-ui2 #personnel [data-record-profile="roles"] .personnel-role-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
body.erp-ui2 #personnel [data-record-profile="roles"] .personnel-role-login { font-size: var(--erp-density-label); color: var(--erp-master-muted); font-weight: 400; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-readonly-section:has(.role-summary-grid) { display: grid; grid-template-columns: 116px minmax(0,1fr); gap: 28px; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .role-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 18px 24px; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-readonly-field strong { min-height: 0 !important; padding: 0 !important; font-size: var(--erp-density-body); font-weight: 400 !important; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .role-permission-surface { margin-top: 14px; overflow: visible !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table { width: 100%; min-width: 0 !important; table-layout: fixed; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table :is(th,td) { height: auto; padding: 10px 8px !important; white-space: normal !important; overflow-wrap: anywhere !important; vertical-align: middle; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table :is(th,td):first-child { width: 28%; padding-left: 0 !important; text-align: left; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-state { width: 22px; height: 22px; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none; font-size: 17px !important; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-state.allowed { color: #238953 !important; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-state.denied { color: #7b8492 !important; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-empty { color: #b7bfca !important; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table { display: block !important; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table tbody { display: block; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table tr { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 14px 0; border-top: 1px solid var(--erp-master-rule); }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table td { display: flex; align-items: center; justify-content: space-between; width: 128px !important; height: auto !important; padding: 0 !important; border: 0 !important; text-align: left !important; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table td:first-child { width: 200px !important; }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table td[data-label]::before { content: attr(data-label); color: var(--erp-master-muted); font-size: var(--erp-density-label); }
body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table td[data-state="not-applicable"] { display: none; }
@media (max-width: 700px) {
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-readonly-section:has(.role-summary-grid) { grid-template-columns: minmax(0,1fr); gap: 14px; }
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table { display: block !important; }
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table tbody { display: block; }
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table thead { display: none; }
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 20px; padding: 14px 0; border-top: 1px solid var(--erp-master-rule); }
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table td { display: flex; align-items: center; justify-content: space-between; width: auto !important; height: auto !important; padding: 0 !important; border: 0 !important; text-align: left !important; }
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table td:first-child { width: auto !important; grid-column: 1 / -1; margin-bottom: 4px; }
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table td[data-label]::before { content: attr(data-label); color: var(--erp-master-muted); font-size: var(--erp-density-label); }
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-table td[data-state="not-applicable"] { display: none; }
  body.erp-ui2 #globalModal #modalBody .personnel-role-readonly-detail .personnel-permission-state { flex: 0 0 22px; }
}

/* Calculator views keep live fields in the DOM while separating the working tasks. */
body.erp-ui2 #finance .finance-calculator-views [hidden] { display: none !important; }
body.erp-ui2 #finance .finance-calculator-views .finance-cost-calculator { display: block; margin: 0; }
body.erp-ui2 #finance .finance-calc-view-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 18px; border-bottom: 1px solid var(--erp-master-rule); padding-bottom: 10px; }
body.erp-ui2 #finance .finance-calc-view-tabs { display: flex; flex-wrap: wrap; gap: 6px 24px; min-width: 0; }
body.erp-ui2 #finance .finance-calc-purchase-default { flex-shrink: 0; }
body.erp-ui2 #finance .finance-calc-view-tabs button { font: inherit; font-size: var(--erp-density-body); color: var(--lh-text-secondary); border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; padding: 10px 0; cursor: pointer; }
body.erp-ui2 #finance .finance-calc-view-tabs button[aria-selected="true"] { color: var(--erp-master-red, #d7132a); border-bottom-color: currentColor; }
body.erp-ui2 #finance .finance-calc-view-tabs button:focus-visible { outline: 2px solid var(--erp-master-red, #d7132a); outline-offset: 3px; }
body.erp-ui2 #finance .finance-calculator-views :is(.finance-calc-workspace-surface, .finance-calc-price-surface, .finance-calc-results) { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-condition-area { padding: 0 0 18px; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-price-head { padding: 16px 0; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-price-head p { display: none; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-workspace-divider { margin: 0; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-price-surface table { background: #fff; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-price-surface td { padding-top: 12px; padding-bottom: 12px; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-results { position: static; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 24px; padding: 0; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-results > h3 { grid-column: 1 / -1; margin: 0; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-result-group { margin: 0; padding: 0; border: 0; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-result-group + .finance-calc-result-group { border-left: 1px solid var(--lh-border, #e3e7ed); padding-left: 24px; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-result { gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--lh-border, #e3e7ed); }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-result strong { font-size: var(--erp-density-record); font-variant-numeric: tabular-nums; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-result.final-net strong { font-size: var(--erp-density-title); }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-missing { grid-column: 1 / -1; background: transparent; border-radius: 0; border-top: 1px solid var(--lh-border, #e3e7ed); padding: 14px 0; margin: 0; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-detail-link { justify-self: start; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-cost-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); margin: 0; padding: 0; border: 0; gap: 36px; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-fixed-template-section { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--lh-border, #e3e7ed); }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-side-stack { align-content: start; height: auto; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-fields { gap: 16px 24px; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; position: sticky; bottom: 0; z-index: 5; background: #fff; border-top: 1px solid var(--lh-border, #e3e7ed); padding: 12px 0; margin-top: 24px; }
body.erp-ui2 #finance .finance-calculator-views .finance-calc-draft-status { margin-right: auto; align-self: center; font-size: var(--erp-density-label); color: var(--lh-text-secondary); }
body.erp-ui2 #finance #calc-pane-records > .history { margin: 0; }
/* Editable product records follow the product master without changing the paired data order. */
body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger { display: block; width: 100%; min-width: 0 !important; padding: 0 22px; background: rgba(255, 255, 255, .76); border: 1px solid var(--workbench-border); border-radius: 8px; }
body.erp-ui2 #finance .finance-calc-purchase-ledger colgroup { display: none; }
body.erp-ui2 #finance .finance-calc-purchase-ledger thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.erp-ui2 #finance .finance-calc-purchase-ledger tbody { display: block; }
body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger tr { display: grid; grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr) 180px; align-items: center; gap: 24px; padding: var(--erp-density-row-space) 0; border-bottom: 1px solid var(--erp-master-rule); }
body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger tr:last-child { border-bottom: 0; }
body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger td { display: block; width: auto; min-width: 0; height: auto !important; border: 0 !important; padding: 0 !important; background: transparent !important; }
body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger td:nth-child(3) { border-left: 1px solid var(--erp-master-rule) !important; padding-left: 24px !important; }
body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger td[colspan] { grid-column: 1 / -1; padding: 24px 0 !important; }
body.erp-ui2 #finance .finance-calc-purchase-ledger .finance-calc-product-name { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; overflow: visible; white-space: normal; }
body.erp-ui2 #finance .finance-calc-purchase-ledger .finance-calc-product-title { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
body.erp-ui2 #finance .finance-calc-purchase-ledger .finance-calc-product-sku { font-size: var(--erp-density-meta); line-height: 1.4; color: var(--erp-master-muted); white-space: normal; overflow-wrap: anywhere; }
body.erp-ui2 #finance .finance-calc-purchase-ledger .finance-calc-product-dot { display: none; }
body.erp-ui2 #finance .finance-calc-purchase-ledger .finance-calc-field > span { display: block; color: var(--erp-master-muted); font-size: var(--erp-density-label); }
body.erp-ui2 #finance .finance-calc-purchase-ledger :is(.finance-calc-field, .finance-calc-input-row) { width: 100%; }
body.erp-ui2 #finance .finance-calc-purchase-ledger .finance-calc-input-row.has-unit { grid-template-columns: minmax(0, 132px) auto; }
body.erp-ui2 #finance .finance-calc-purchase-ledger .finance-calc-input-row em { min-width: 0; font-size: var(--erp-density-label); }
@media (max-width: 1100px) {
  body.erp-ui2 #mainWrapper #finance:has(.finance-calculator-views) .finance-workbench-toolbar { flex-direction: column; align-items: stretch; }
  body.erp-ui2 #mainWrapper #finance:has(.finance-calculator-views) .finance-workbench-nav { flex-wrap: wrap !important; min-width: 0; max-width: 100%; justify-content: flex-start; }
  body.erp-ui2 #mainWrapper #finance:has(.finance-calculator-views) .finance-toolbar-context { flex-wrap: wrap; width: 100%; margin-left: 0; justify-content: flex-start; white-space: normal; }
  body.erp-ui2 #mainWrapper #finance:has(.finance-calculator-views) .finance-inline-summary { flex: 1 1 200px; justify-content: flex-start; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-results { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-result-group + .finance-calc-result-group { border-left: 0; padding-left: 0; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-cost-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger tr { grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1fr) 150px; gap: 16px; }
}
@media (max-width: 600px) {
  body.erp-ui2 #finance .finance-calc-view-toolbar { flex-direction: column; align-items: stretch; }
  body.erp-ui2 #finance .finance-calc-view-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-price-head { flex-direction: column; align-items: stretch; gap: 12px; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-price-head button { max-width: 100%; white-space: normal; height: auto; min-height: var(--erp-density-control); }
  body.erp-ui2 #finance .finance-calc-purchase-default { white-space: normal; height: auto; min-height: var(--erp-density-control); }
  body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger { padding: 0 12px; }
  body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger tr { grid-template-columns: minmax(0, 1fr) 140px; gap: 0 12px; padding: 0; border-bottom: 0; }
  body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger td { align-self: stretch; align-content: center; padding: 12px 0 !important; border-bottom: 1px solid var(--erp-master-rule) !important; }
  body.erp-ui2 #mainWrapper #finance .finance-calc-purchase-ledger td:nth-child(3) { border-left: 0 !important; padding-left: 0 !important; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-price-cell .finance-calc-input-row.has-unit { width: 100%; grid-template-columns: minmax(0, 1fr) auto; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-price-cell .finance-calc-input-row em { min-width: 0; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-fixed-result-line { flex-wrap: wrap; justify-content: flex-start; margin-left: 0; padding-left: 0; border-left: 0; white-space: normal; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-workspace-surface > .history-table .finance-calc-price-spacer { display: none; }
  body.erp-ui2 #finance .finance-calc-view-tabs button { text-align: left; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-fields { grid-template-columns: minmax(0, 1fr); }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-actions > button { flex: 1 1 130px; white-space: normal; min-height: var(--erp-density-control); height: auto; }
  body.erp-ui2 #finance .finance-calculator-views .finance-calc-draft-status { flex-basis: 100%; }
}

/* Role defaults and individual exceptions share the same flat permission editor. */
body.erp-ui2 #globalModal #modalBody #personnelPermissionFields { display: block !important; min-width: 0; }
body.erp-ui2 #globalModal .personnel-section-permissions .personnel-permission-group { grid-template-columns: 90px minmax(0, 1fr); gap: 12px; }
body.erp-ui2 #globalModal .personnel-permission-group { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--workbench-border, #e2e7ef); }
body.erp-ui2 #globalModal .personnel-permission-group h4 { margin: 0; font-size: var(--erp-density-body); font-weight: 500; }
body.erp-ui2 #globalModal .personnel-permission-group > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
body.erp-ui2 #globalModal .personnel-permission-choice { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; font-size: var(--erp-density-body); cursor: pointer; }
body.erp-ui2 #globalModal .personnel-permission-choice input { width: 16px !important; height: 16px !important; flex: 0 0 16px; margin: 0; accent-color: #e90022; }
body.erp-ui2 #globalModal .personnel-permission-choice span { overflow-wrap: anywhere; }
body.erp-ui2 #globalModal .personnel-permission-choice small { color: #a34527; font-size: var(--erp-density-label); }
body.erp-ui2 #globalModal .personnel-section-permissions .personnel-section-head { gap: 12px; }
body.erp-ui2 #globalModal .personnel-section-permissions button { white-space: normal; text-align: left; background: #fff; border: 1px solid var(--erp-master-rule, #e2e7ef); border-radius: 6px; color: inherit; font: inherit; font-size: var(--erp-density-label); line-height: 1.4; padding: 6px 8px; cursor: pointer; }
@media (max-width: 700px) {
  body.erp-ui2 #globalModal .personnel-permission-group, body.erp-ui2 #globalModal .personnel-section-permissions .personnel-permission-group { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  body.erp-ui2 #globalModal .personnel-permission-group > div { grid-template-columns: minmax(0, 1fr); }
}

/* Short inventory toolbars stay a compact row, with search wrapping on phones. */
@media (max-width: 1120px) {
  body.erp-ui2 #mainWrapper :is(#stockin, #fbo) .inventory-batch1-actions {
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
  }
  body.erp-ui2 #mainWrapper :is(#stockin, #fbo) .inventory-batch1-actions .search {
    flex: 1 1 200px !important;
    min-width: 0 !important;
    width: auto !important;
    height: var(--erp-density-control) !important;
  }
  body.erp-ui2 #mainWrapper :is(#stockin, #fbo) .inventory-batch1-actions > .add-btn { flex: 0 0 auto !important; width: auto !important; }
}
@media (max-width: 600px) {
  body.erp-ui2 #mainWrapper :is(#stockin, #fbo) .inventory-batch1-actions .search { flex-basis: 100% !important; }
}

/* Profit records retain every financial field while grouping product identity. */
body.erp-ui2 #mainWrapper #finance table.erp-record-list[data-record-profile="profit"] td.erp-record-metric {
  text-align: right !important;
  font-size: var(--erp-density-title) !important;
}
body.erp-ui2 #mainWrapper #finance table.erp-record-list[data-record-profile="profit"] td:is([data-record-field="sku"], [data-record-field="status"])::before { display: none; }
body.erp-ui2 #mainWrapper #finance table.erp-record-list[data-record-profile="profit"] td[data-record-field="sku"] { color: var(--workbench-muted) !important; }
body.erp-ui2 #mainWrapper #finance table.erp-record-list[data-record-profile="profit"] .status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
@media (max-width: 1100px) {
  body.erp-ui2 #mainWrapper #finance table.erp-record-list[data-record-profile="profit"] td.erp-record-metric { text-align: left !important; }
  body.erp-ui2 #mainWrapper #finance:has(.finance-profit-ledger-table) .finance-workbench-toolbar { flex-direction: column; align-items: stretch; }
  body.erp-ui2 #mainWrapper #finance:has(.finance-profit-ledger-table) .finance-workbench-nav { flex-wrap: wrap !important; min-width: 0; max-width: 100%; justify-content: flex-start; }
  body.erp-ui2 #mainWrapper #finance:has(.finance-profit-ledger-table) .finance-toolbar-context { flex-wrap: wrap; width: 100%; margin-left: 0; justify-content: flex-start; white-space: normal; }
  body.erp-ui2 #mainWrapper #finance:has(.finance-profit-ledger-table) .finance-inline-summary { flex-basis: 100%; justify-content: flex-start; }
}

/* Customer identities retain their compact metadata; balances use the shared record master. */
body.erp-ui2 #mainWrapper #customer table.erp-record-list {
  --record-columns: minmax(0, 1.8fr) repeat(3, minmax(0, 1fr)) 142px !important;
}
body.erp-ui2 #mainWrapper #customer table.erp-record-list .erp-record-row { min-height: 82px; row-gap: 3px; }
body.erp-ui2 #mainWrapper #customer table.erp-record-list td[data-record-field="phone"] { font-variant-numeric: tabular-nums; }
body.erp-ui2 #mainWrapper #customer table.erp-record-list td[data-record-field="phone"]::before { display: none; }
@media (max-width: 700px) {
  body.erp-ui2 #mainWrapper :is(#customer, #salespeople, #displayAssets) .erp-local-toolbar-left { min-width: 0 !important; max-width: 100%; }
  body.erp-ui2 #mainWrapper :is(#customer, #salespeople, #displayAssets) .erp-local-toolbar-nav { flex-wrap: wrap !important; min-width: 0 !important; max-width: 100%; row-gap: 8px; }
}
/* Expense controls share the compact form master. */
body.erp-ui2 #globalModal .finance-expense-detail [hidden] { display: none !important; }
body.erp-ui2 #globalModal .finance-expense-detail input[readonly] { color: #66747e; background: #f8f9fa; }
body.erp-ui2 #globalModal .finance-handler-fact output {
  display: block;
  min-height: var(--erp-density-control, 34px);
  padding-block: 7px;
  color: inherit;
  overflow-wrap: anywhere;
}
body.erp-ui2 #globalModal #modalBody .finance-expense-readonly .sale-detail-totals { grid-template-columns: minmax(0,1fr); }
body.erp-ui2 #globalModal #modalBody .finance-expense-readonly .sale-detail-totals dd { font-size: 26px; line-height: 1.35; }
body.erp-ui2 #globalModal #modalBody .finance-expense-readonly .sale-detail-totals small { font-size: 12px; font-weight: 400; color: var(--lh-text-secondary); margin-left: 6px; }
body.erp-ui2 #globalModal #modalBody .finance-expense-readonly .finance-expense-facts { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 20px 18px; margin: 0; }
body.erp-ui2 #globalModal #modalBody .finance-expense-facts dd { margin: 5px 0 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
body.erp-ui2 #globalModal #modalBody .finance-expense-audit { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #e4e8ed; font-size: 12px; color: var(--lh-text-secondary); }
body.erp-ui2 #globalModal #modalBody .finance-expense-audit dd { margin: 0; overflow-wrap: anywhere; }
/* Capitalize interface labels only; identifiers and user-entered values retain their casing. */
body.erp-ui2 :is(.nav-cn,.nav-ru,.nav-uz,.form-label,.detail-master-section-head,dt,th,.modal-title,.phone-header h1,.phone-section-title,.phone-steps,.phone-segments,.erp-phone-dock,.attendance-field > span,.detail-summary-label,.phone-attendance-checks summary) { text-transform: capitalize; }
body.erp-ui2 button:not(.phone-row):not(.phone-link):not([data-select-trigger]):not(.lhx-select-option) { text-transform: capitalize; }
body.erp-ui2 input::placeholder, body.erp-ui2 textarea::placeholder { text-transform: capitalize; }
body.erp-ui2 .account-chip .account-name { text-transform: none; }
body.erp-ui2 :is(.form-group > label,.phone-section-head > h2,.phone-overview > .phone-section-head > span,.phone-two-metrics > div > span) { text-transform: capitalize; }

/* The product pager owns pagination density and current-page treatment. */
body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px 16px !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 12px 22px !important;
  border-top: 1px solid var(--erp-master-rule, #e2e7ef) !important;
}
body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master .page-stat {
  min-width: 0;
  margin-right: auto !important;
  padding: 0 !important;
  font-size: var(--erp-density-label, 12px) !important;
  color: var(--erp-master-muted, #7f8a9d) !important;
}
body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master .page-controls {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  max-width: 100%;
}
body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master :is(.page-icon, .page-number) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  border: 1px solid var(--erp-master-rule, #e2e7ef) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #66707c !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
}
body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master :is(.page-icon, .page-number):hover:not(:disabled) {
  background: #fff5f6 !important;
  border-color: #f3c4cb !important;
  color: var(--erp-master-red, #d7132a) !important;
}
body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master .page-number:is(.active, [aria-current="page"]),
body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master .page-number:is(.active, [aria-current="page"]):hover {
  background: #fff0f2 !important;
  border-color: #f0b7c1 !important;
  color: var(--erp-master-red, #d7132a) !important;
  font-weight: 600 !important;
}
body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master button:focus-visible {
  outline: 2px solid var(--erp-master-red, #d7132a) !important;
  outline-offset: 2px !important;
}
body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master button:disabled {
  background: transparent !important;
  border-color: transparent !important;
  color: #cdd2d8 !important;
  opacity: 1 !important;
  cursor: default !important;
}

/* One field boundary: compound controls own the border, their inputs do not. */
body.erp-ui2 {
  --erp-master-field-focus: #8995a1;
  --erp-master-field-radius: 6px;
}
body.erp-ui2 :is(#mainWrapper, #globalModal, #paymentModal, #systemDialog) :is(
  input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="submit"], [type="button"]), textarea, select,
  .search, .search-box, .attendance-search, .phone-search, .money-input, .note-field,
  .attendance-input-shell, .attendance-date-pill, .finance-date-trigger, .erp-date-trigger) {
  border-color: var(--erp-master-field-border) !important;
  border-radius: var(--erp-master-field-radius) !important;
  box-shadow: none !important;
}
body.erp-ui2 :is(#mainWrapper, #globalModal, #paymentModal, #systemDialog) :is(
  input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="submit"], [type="button"]), textarea, select):is(:focus, :focus-visible),
body.erp-ui2 :is(#mainWrapper, #globalModal, #paymentModal, #systemDialog) :is(
  .search, .search-box, .attendance-search, .phone-search, .money-input, .note-field,
  .attendance-input-shell, .attendance-date-pill):focus-within,
body.erp-ui2 :is(#mainWrapper, #globalModal, #paymentModal, #systemDialog) :is(.erp-date-control, .finance-date-pill):focus-within :is(.erp-date-trigger, .finance-date-trigger) {
  border-color: var(--erp-master-field-focus) !important;
  outline: none !important;
  box-shadow: none !important;
}
body.erp-ui2 :is(#mainWrapper, #globalModal, #paymentModal, #systemDialog) :is(
  .search, .search-box, .attendance-search, .phone-search, .money-input, .note-field,
  .attendance-input-shell, .attendance-date-pill, .finance-date-pill, .erp-date-control) input,
body.erp-ui2 :is(#mainWrapper, #globalModal, #paymentModal, #systemDialog) :is(
  .search, .search-box, .attendance-search, .phone-search, .money-input, .note-field,
  .attendance-input-shell, .attendance-date-pill, .finance-date-pill, .erp-date-control) input:is(:focus, :focus-visible) {
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
body.erp-ui2 :is(#mainWrapper, #globalModal, #paymentModal, #systemDialog) :is(input, textarea, select)[aria-invalid="true"],
body.erp-ui2 :is(#mainWrapper, #globalModal, #paymentModal, #systemDialog) :is(input, textarea, select)[aria-invalid="true"]:is(:focus, :focus-visible),
body.erp-ui2 :is(#mainWrapper, #globalModal, #paymentModal, #systemDialog) :is(
  .search, .search-box, .attendance-search, .phone-search, .money-input, .note-field,
  .attendance-input-shell, .attendance-date-pill):has(input[aria-invalid="true"]) {
  border-color: var(--erp-master-red, #d7132a) !important;
}
@media (max-width: 600px) {
  body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master { padding: 12px !important; }
  body.erp-ui2 :is(#mainWrapper, #globalModal) .pagination.pagination-master .page-controls { width: 100%; justify-content: center !important; }
}

/* ERP_FINAL_ACCEPTANCE: approved direction; isolated acceptance branch only. */
body.erp-ui2:not(.erp-phone) #mainWrapper :is(.erp-record-row,.sales-order-row,.product-list-row) { padding-top:16px!important; padding-bottom:16px!important; }
body.erp-ui2:not(.erp-phone) #mainWrapper :is(.sales-order-total .sales-order-value,.erp-record-metric-value) { font-size:20px!important; line-height:1.35!important; }
body.erp-ui2:not(.erp-phone) #mainWrapper :is(.sales-order-reference,.erp-record-meta,.product-list-sku) { color:#657180!important; font-size:12px!important; }
body.erp-ui2:not(.erp-phone) #mainWrapper :is(.sales-order-label,.erp-record-label,.product-list-label) { color:#657180!important; }
body.erp-ui2 #mainWrapper :is(.erp-record-row,.sales-order-row,.product-list-row) { border-bottom-color:#e3e6eb!important; }
body.erp-ui2:not(.erp-phone) #mainWrapper :is(#finance,#attendance) table.erp-record-list .erp-record-row { padding:12px 0!important; min-height:78px!important; }
body.erp-ui2:not(.erp-phone) #mainWrapper :is(#finance,#attendance) table.erp-record-list td[data-record-label]::before { color:#657180!important; }
body.erp-ui2:not(.erp-phone) #mainWrapper #finance table.erp-record-list td.erp-record-metric { text-align:right!important; padding-right:22px!important; }
body.erp-ui2:not(.erp-phone) #mainWrapper #finance table.erp-record-list td.erp-record-metric .ledger-main { font-size:18px!important; font-weight:600!important; }
body.erp-ui2:not(.erp-phone) #mainWrapper #product .product-list-sku { color:#657180!important; }
body.erp-phone #phoneApp .phone-row { padding:16px 0!important; gap:14px!important; align-items:flex-start!important; }
body.erp-phone #phoneApp .phone-row > :first-child { flex:1 1 58%; min-width:0; }
body.erp-phone #phoneApp .phone-row-end { flex:0 1 42%!important; padding-top:2px; }
body.erp-phone #phoneApp .phone-row strong { font-size:15px!important; line-height:1.5!important; }
body.erp-phone #phoneApp .phone-row small { margin-top:6px!important; line-height:1.5!important; color:#63707b!important; }
body.erp-phone #phoneApp .phone-row b { font-size:15px!important; line-height:1.5!important; }
body.erp-phone #phoneApp .phone-expense-summary { padding:14px 0 16px!important; }
body.erp-phone #phoneApp .phone-expense-summary > strong { font-size:24px!important; margin:6px 0 12px!important; }

.erp-expense-assist {
  display: grid;
  gap: 10px;
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--erp-master-rule, #e1e5eb);
  font-size: 14px;
  min-width: 0;
}
.erp-expense-assist textarea.form-input {
  width: 100%;
  min-height: 76px;
  resize: vertical;
  font: inherit;
  line-height: 1.5;
  box-sizing: border-box;
}
.erp-assist-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.erp-assist-actions button { min-height: 40px; white-space: normal; }
.erp-assist-actions label { display: flex; align-items: center; gap: 6px; }
.erp-expense-assist [hidden] { display: none !important; }
.erp-expense-assist p { margin: 0; line-height: 1.5; overflow-wrap: anywhere; color: var(--erp-master-muted, #697586); }
.erp-expense-assist [data-assist-suggestion] { justify-self: start; text-align: left; min-height: 40px; }
.erp-expense-review > summary { padding: 10px 0; cursor: pointer; font-size: 14px; line-height: 1.5; }
.erp-attention-toggle { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: 0 0 12px; font-size: 14px; }
.erp-attention-toggle input { width: 16px; height: 16px; flex: 0 0 16px; accent-color: var(--primary, #e4002b); }
.erp-customer-commercial { border-top: 1px solid var(--erp-master-rule, #e1e5eb); }
.erp-customer-commercial > summary { cursor: pointer; padding: 14px 0; line-height: 1.5; font-size: 14px; }
.erp-commercial-summary { color: var(--erp-master-muted, #697586); font-size: 13px; overflow-wrap: anywhere; }
.phone-row-main small.phone-attention-note { color: #925600; }
@media (max-width: 760px) {
  .erp-assist-actions button { min-height: 44px !important; }
  .erp-expense-assist textarea.form-input { font-size: 16px; }
}

.erp-steward { padding:18px 0; margin-bottom:18px; border-bottom:1px solid #e1e5eb; color:inherit; letter-spacing:0; }
.erp-steward header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.erp-steward h2,.erp-steward h3 { margin:0; font-weight:600; font-size:16px; }
.erp-steward h3 { font-size:13px; margin:14px 0 6px; }
.erp-steward small,.erp-steward dt,.erp-steward .steward-empty { color:#647184; font-size:12px; }
.erp-steward button { font:inherit; color:inherit; cursor:pointer; }
.erp-steward .steward-refresh { width:36px; height:36px; border:1px solid #dce2eb; border-radius:6px; background:transparent; font-size:22px; }
.erp-steward button:focus-visible { outline:2px solid #b52f49; outline-offset:2px; }
.erp-steward .steward-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:18px 0; }
.erp-steward .steward-facts>div { min-width:0; }
.erp-steward dd { margin:6px 0 0; font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.erp-steward .steward-loss { color:#b52f49; }
.erp-steward .steward-item { display:grid; grid-template-columns:minmax(0,1fr) auto 12px; align-items:center; gap:12px; width:100%; text-align:left; padding:10px 0; background:none; border:0; border-bottom:1px solid #e8ebef; border-radius:0; font-size:13px; }
.erp-steward .steward-item span { overflow-wrap:anywhere; }
.erp-steward .steward-item strong { font-variant-numeric:tabular-nums; font-weight:500; }
.erp-steward .steward-updated { display:block; margin-top:10px; }
.erp-steward .steward-attention { display:contents; }
@media(min-width:768px) {
 #desktopSteward {
   display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);
   column-gap:36px; row-gap:0; position:relative;
   grid-template-rows:auto min-content minmax(0,1fr);
   padding:20px 0 24px; margin-bottom:24px; border-bottom:1px solid #dde2e8;
 }
 #desktopSteward > header { grid-column:1/-1; margin-bottom:18px; min-height:36px; }
 #desktopSteward > header h2 { font-size:18px; line-height:1.4; color:#252a32; }
 #desktopSteward > header small { display:none; }
 #desktopSteward .steward-refresh { flex:0 0 36px; background:#fff; }
 #desktopSteward .steward-refresh:hover { background:#f4f5f7; border-color:#bfc7d1; }
 #desktopSteward .steward-facts {
   grid-column:1; grid-row:2/4; grid-template-columns:repeat(3,minmax(0,1fr));
   gap:0; margin:0; padding:0; background:none; align-content:start;
 }
 #desktopSteward .steward-facts > div { padding:16px 18px 0 0; min-width:0; }
 #desktopSteward .steward-facts > .steward-profit { grid-column:1/-1; padding:0 0 18px; border-bottom:1px solid #e1e5ea; }
 #desktopSteward .steward-facts dt { font-size:12px; line-height:1.5; color:#657180; }
 #desktopSteward .steward-facts dd { font-size:20px; line-height:1.4; margin-top:7px; color:#242b34; }
 #desktopSteward .steward-facts .steward-profit dd { font-size:30px; line-height:1.3; margin-top:8px; }
 #desktopSteward .steward-currency { font-size:10px; font-weight:400; color:#7c8794; white-space:nowrap; }
 #desktopSteward .steward-profit .steward-currency { font-size:12px; }
 #desktopSteward .steward-facts .steward-loss { color:#b52f49; }
 #desktopSteward .steward-facts small { display:block; margin-top:4px; font-size:11px; }
 #desktopSteward > h3 { grid-column:2; grid-row:2; align-self:stretch; margin:0; padding:2px 0 12px 28px; border-left:1px solid #e1e5ea; font-size:14px; color:#414b58; }
 #desktopSteward .steward-attention { display:block; grid-column:2; grid-row:3; min-width:0; align-self:stretch; padding-left:28px; border-left:1px solid #e1e5ea; }
 #desktopSteward .steward-item { min-height:48px; padding:12px 0; gap:16px; font-size:13px; line-height:1.5; }
 #desktopSteward .steward-item strong { white-space:nowrap; font-size:14px; color:#29323e; }
 #desktopSteward .steward-item > span:last-child { color:#8993a0; text-align:right; }
 #desktopSteward .steward-item:hover { background:#faf4f5; }
 #desktopSteward .steward-item:last-child { border-bottom:0; }
 #desktopSteward .steward-empty { margin:0; padding:18px 0; line-height:1.7; }
 #desktopSteward .steward-updated { position:absolute; top:30px; right:52px; margin:0; font-size:11px; color:#788492; line-height:1.5; }
 #desktopSteward > [role="status"] { grid-column:1/-1; margin:0; padding:18px 0; color:#657180; }
}
@media(min-width:768px) and (max-width:1199px) {
 #desktopSteward { grid-template-columns:minmax(0,1fr); grid-template-rows:none; }
 #desktopSteward .steward-facts { grid-column:1; grid-row:auto; }
 #desktopSteward > h3 { grid-column:1; grid-row:auto; margin-top:20px; padding-left:0; border-left:0; }
 #desktopSteward .steward-attention { grid-column:1; grid-row:auto; padding-left:0; border-left:0; }
 #desktopSteward .steward-updated { position:static; grid-column:1; margin-top:14px; }
}
@media(max-width:760px) {
 .erp-steward .steward-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .erp-steward .steward-refresh { width:44px; height:44px; }
 .erp-steward .steward-item { min-height:44px; }
}

#displayAssets .rack-summary { gap: 28px; padding: 14px 0; margin-bottom: 18px; }
#displayAssets .rack-summary > div { min-width: 96px; gap: 5px; }
#displayAssets .rack-summary span { font-size: var(--erp-density-label,12px); }
#displayAssets .rack-summary strong { font-size: var(--erp-density-metric,18px); font-weight: 600; }
#rackLedger { border: 1px solid var(--lh-border,#dfe4eb); border-radius: 8px; background: rgba(255,255,255,.65); }
#rackLedger table { width: 100%; table-layout: fixed; }
#rackLedger th { font-size: var(--erp-density-label,12px); font-weight: 400; }
#rackLedger td { padding: var(--erp-density-row-space,12px) 20px; font-size: var(--erp-density-body,13px); vertical-align: middle; }
#rackLedger td strong { font-size: var(--erp-density-record,14px); font-weight: 600; }
#rackLedger .muted { font-size: var(--erp-density-meta,12.5px); }
#rackLedger .rack-number { font-size: var(--erp-density-metric,18px); }
#rackLedger .rack-actions { gap: 10px; }
#rackLedger .pagination { padding: 12px 20px; margin: 0; }
#rackForm .detail-master-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#globalModal[data-detail-kind="rack"] .modal-panel { width: min(800px,100vw) !important; }
.sale-rack-lines { border-top: 1px solid var(--lh-border,#dfe4eb); padding: 16px 0; }
.sale-rack-lines h4 { font-size: var(--erp-density-record,14px); margin: 0 0 12px; }
.sale-rack-line { display: grid; grid-template-columns: minmax(160px,2fr) 1fr minmax(130px,1fr) 1fr auto; gap: 14px; align-items: center; padding: 6px 0; }
.sale-rack-line input { width: 86px; }
.sale-rack-detail-line { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 24px; padding: 8px 0; }
#saleRackDetail { border-top: 1px solid var(--lh-border,#dfe4eb); margin-top: 18px; padding-top: 14px; }
#saleRackDetail h4 { font-size: var(--erp-density-record,14px); font-weight: 600; margin: 0 0 8px; }
@media(max-width:640px) {
  body.erp-ui2 #sale .command-strip { display: grid !important; grid-template-columns: minmax(0,1fr) !important; }
  body.erp-ui2 #sale .command-strip > div { min-width: 0; }
  body.erp-ui2 #sale .sale-lines-scroll { max-width: 100%; overflow-x: auto; }
  body.erp-ui2 #sale .editable-table { min-width: 680px; }
  #rackLedger table { min-width: 760px; }
  #rackForm .detail-master-grid { grid-template-columns: minmax(0,1fr); }
  #displayAssets .rack-summary { gap: 14px 20px; }
  .sale-rack-line { grid-template-columns: minmax(0,1fr) auto; }
  .sale-rack-line strong { grid-column: 1/-1; }
}

#phoneApp { display: none; }
html.erp-phone-session, html.erp-phone-session body { overscroll-behavior-y: none; }
@media screen and (max-width: 760px), screen and (max-width: 1024px) and (max-height: 600px) and (pointer: coarse) {
  body.erp-phone :is([onclick*="printSale"], [onclick*="printReturn"], [onclick*="window.print"], [data-action="print"], [data-print-action]) { display: none !important; }
  #phoneApp .phone-attendance-period { display: flex; justify-content: flex-end; margin: 12px 0; }
  #phoneApp .phone-attendance-period .phone-date-input { width: 178px; max-width: 100%; margin: 0; }
  #phoneApp .phone-attendance-summary, #phoneApp .phone-attendance-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px 12px; padding: 16px 0; }
  #phoneApp .phone-attendance-summary { border-bottom: 1px solid #e4e8e5; }
  #phoneApp :is(.phone-attendance-summary,.phone-attendance-metrics) dt { color: #737d77; font-size: 11px; overflow-wrap: anywhere; }
  #phoneApp :is(.phone-attendance-summary,.phone-attendance-metrics) dd { margin: 5px 0 0; font-size: 15px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
  #phoneApp .phone-attendance-summary dd { font-size: 21px; }
  #phoneApp .phone-attendance-row .phone-section-head { align-items: baseline; }
  #phoneApp .phone-attendance-row .phone-section-head > * { min-width: 0; overflow-wrap: anywhere; }
  #phoneApp .phone-attendance-status, #phoneApp .phone-finance-status { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; font-size: 12px; color: #616976; line-height: 1.5; }
  #phoneApp :is(.phone-attendance-status,.phone-finance-status)::before { content: ''; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 2px color-mix(in srgb, currentColor 12%, white); }
  #phoneApp .phone-attendance-status.unverified, #phoneApp .phone-attendance-status.late, #phoneApp .phone-finance-status.pending { color: #89530a; }
  #phoneApp .phone-finance-status.debt { color: #ae1733; }
  #phoneApp .phone-finance-status.paid { color: #176342; }
  #phoneApp .phone-attendance-status.leave { color: #946321; }
  #phoneApp .phone-attendance-status.checked_out, #phoneApp .phone-attendance-status.present { color: #277249; }
  #phoneApp .phone-attendance-checks { font-size: 12px; color: #6c766f; }
  #phoneApp .phone-attendance-checks summary { min-height: 36px; cursor: pointer; }
  #phoneApp[data-route="attendance"] .phone-rail-track { border-bottom: 1px solid #e7e9ec; }
  #phoneApp[data-route="attendance"] .phone-rail-track > button { font-size: 13px; }
  #phoneApp .phone-attendance-row p { margin: 10px 0; overflow-wrap: anywhere; }
  #phoneApp .phone-refresh-status { position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid #e3e7e5; border-radius: 50%; background: #fff; color: #a6122b; pointer-events: none; }
  #phoneApp .phone-refresh-status svg { width: 17px; height: 17px; transform: rotate(calc(var(--pull-progress,0) * 240deg)); }
  #phoneApp .phone-refresh-status span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  #phoneApp.phone-refreshing .phone-refresh-status svg, #phoneApp.phone-refreshing .phone-refresh svg { animation: phone-refresh-spin 900ms linear infinite; }
  #phoneApp.phone-refresh-failed .phone-refresh-status { width: max-content; max-width: calc(100% - 40px); height: auto; padding: 8px 12px; border-radius: 4px; font-size: 12px; }
  #phoneApp.phone-refresh-failed .phone-refresh-status svg { display: none; }
  #phoneApp.phone-refresh-failed .phone-refresh-status span { position: static; width: auto; height: auto; clip-path: none; }
  @keyframes phone-refresh-spin { to { transform: rotate(360deg); } }
  @media (prefers-reduced-motion: reduce) { #phoneApp.phone-refreshing .phone-refresh-status svg, #phoneApp.phone-refreshing .phone-refresh svg { animation: none; } }
  body.erp-ui2.erp-phone { padding: 0 !important; background: #fff !important; color: #202624; }
  body.erp-phone #mainWrapper { padding: 0 !important; }
  body.erp-phone #mainWrapper > :not(#phoneApp), body.erp-phone .module-nav { display: none !important; }
  body.erp-phone #phoneApp { display: block; background: #fff; min-height: 100dvh; font: 14px/1.5 var(--erp-font-serif); color: #202624; letter-spacing: 0; }
  #phoneApp *, #phoneApp *::before, #phoneApp *::after { box-sizing: border-box; letter-spacing: 0; }
  body.erp-phone #phoneApp, body.erp-phone #phoneApp * { font-family: var(--erp-font-serif) !important; }
  #phoneApp button, #phoneApp input { font: inherit; }
  #phoneApp button { cursor: pointer; touch-action: manipulation; }
  #phoneApp button:disabled { cursor: default; opacity: .45; }
  #phoneApp button:focus-visible { outline: 2px solid #8d99a5; outline-offset: 2px; }
  #phoneApp button:active { filter: brightness(.96); }
  #phoneApp [hidden] { display: none !important; }
  #phoneApp :is(h1,h2,p,dl) { margin: 0; }
  #phoneApp .phone-header { display: flex; align-items: center; gap: 10px; position: sticky; top: 0; z-index: 100; min-height: 68px; padding: max(10px,env(safe-area-inset-top)) 20px 10px; background: #fff; border-bottom: 1px solid #edf0ee; }
  #phoneApp .phone-header .logo { width: 27px !important; height: 32px !important; object-fit: contain; flex: 0 0 27px; }
  #phoneApp .phone-header h1 { font-size: 19px; line-height: 1.3; font-weight: 650; flex: 1; min-width: 0; overflow-wrap: anywhere; outline: none; }
  #phoneApp .phone-icon { display: grid; place-items: center; width: 42px; height: 44px; flex: 0 0 42px; background: none; border: 0; padding: 8px; color: #67726d; font-size: 23px; }
  #phoneApp .phone-icon svg { width: 19px; height: 19px; }
  #phoneApp .phone-add { position: relative; isolation: isolate; background: none; color: #fff; border: 0; border-radius: 50%; min-width: 44px; }
  #phoneApp .phone-add::before { content: ''; position: absolute; inset: 9px; z-index: -1; border-radius: 50%; background: #ce1234; }
  #phoneApp .phone-add svg { width: 14px; height: 14px; stroke-width: 1.7; }
  #phoneApp .phone-content { padding: 22px 20px calc(94px + env(safe-area-inset-bottom)); max-width: 640px; margin: auto; min-width: 0; }
  #phoneApp .phone-date { color: #818984; font-size: 12px; margin-bottom: 18px; }
  #phoneApp .phone-section-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-width: 0; }
  #phoneApp h2, #phoneApp .phone-section-title { font-size: 16px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
  #phoneApp .phone-overview > .phone-section-head > span, #phoneApp .phone-balance > span { font-size: 13px; color: #647169; }
  #phoneApp .phone-hero-number { font-size: 32px; font-weight: 600; line-height: 1.25; font-variant-numeric: tabular-nums; padding: 22px 0; overflow-wrap: anywhere; }
  #phoneApp .phone-hero-number small { display: block; margin-top: 7px; font-size: 11px; font-weight: 500; color: #79857e; }
  #phoneApp .phone-two-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  #phoneApp .phone-two-metrics > div + div { border-left: 1px solid #e5eae7; padding-left: 16px; }
  #phoneApp .phone-two-metrics span { display: block; font-size: 12px; color: #78827c; }
  #phoneApp .phone-two-metrics strong { display: block; font-size: 16px; margin-top: 5px; font-weight: 550; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
  #phoneApp .phone-overview { padding-bottom: 24px; border-bottom: 1px solid #e8ece9; }
  #phoneApp .phone-actions { padding: 18px 0 24px; }
  #phoneApp .phone-actions .phone-rail-track > button { border: 0; padding: 10px 0; min-height: 78px; background: none; color: #48574e; display: flex; flex-direction: column; align-items: center; gap: 10px; flex: 0 0 76px; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
  #phoneApp .phone-actions .phone-rail-track > button:first-child { color: #da1235; }
  #phoneApp :is(.nav-icon, .nav-icon svg) { display: block; width: 22px !important; height: 22px !important; flex: 0 0 22px; }
  #phoneApp .phone-text { border: 0; background: transparent; color: #748077; min-height: 44px; padding: 0; font-size: 12px; }
  #phoneApp .phone-list { margin-top: 8px; }
  #phoneApp .phone-row { display: flex; width: 100%; align-items: center; gap: 14px; padding: 20px 0; min-height: 85px; text-align: left; border: 0; border-bottom: 1px solid #edf0ed; background: #fff; color: inherit; border-radius: 0; }
  #phoneApp .phone-row-main { flex: 1; min-width: 0; }
  #phoneApp .phone-row strong { display: block; font-size: 15px; font-weight: 550; overflow-wrap: anywhere; }
  #phoneApp .phone-row small { display: block; color: #626e79; font-size: 12px; line-height: 1.6; margin-top: 5px; overflow-wrap: anywhere; }
  #phoneApp .phone-row small.phone-finance-status { display: flex; width: fit-content; margin-left: auto; }
  #phoneApp .phone-row-end { text-align: right; flex: 0 1 44%; min-width: 0; }
  #phoneApp .phone-row b { font-size: 14px; font-weight: 550; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
  #phoneApp .phone-row .phone-warning { color: #a3612c; }
  #phoneApp .phone-chevron { color: #a2aaa4; font-size: 20px; }
  #phoneApp .phone-search { display: flex; align-items: center; gap: 10px; padding: 0 12px; height: 44px; border: 1px solid #dce1e5; background: #fff; border-radius: 5px; margin-bottom: 16px; color: #77828b; }
  #phoneApp .phone-search:focus-within { border-color: #8995a1; box-shadow: none; }
  #phoneApp .phone-search > svg { width: 18px; height: 18px; flex: 0 0 18px; }
  #phoneApp .phone-search input { width: 100%; min-width: 0; height: 42px; padding: 0; border: 0; outline: 0; background: transparent; font-size: 16px; font-weight: 400; color: #25342b; box-shadow: none; }
  #phoneApp .phone-search input::placeholder { color: #687580; font-weight: 400; }
  body.erp-ui2.erp-phone #phoneApp .phone-search input:is(:focus,:focus-visible) { border: 0 !important; outline: none !important; box-shadow: none !important; background: transparent !important; }
  #phoneApp .phone-currency, #phoneApp .phone-row .phone-currency { display: inline; font-size: 11px; font-weight: 400; color: #626e79; white-space: nowrap; margin: 0 0 0 3px; }
  #phoneApp .phone-rail { display: flex; align-items: center; gap: 2px; min-width: 0; width: 100%; }
  #phoneApp .phone-rail-track { display: flex; flex: 1; min-width: 0; gap: 8px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
  #phoneApp .phone-rail-track::-webkit-scrollbar { display: none; }
  #phoneApp .phone-rail-track > button { flex: 0 0 auto; min-height: 44px; padding: 8px 10px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: #6e7982; white-space: nowrap; }
  #phoneApp .phone-rail-track > button[aria-pressed="true"] { color: #c61334; border-bottom-color: #c61334; }
  #phoneApp .phone-rail-arrow { flex: 0 0 28px; width: 28px; min-height: 44px; padding: 5px; border: 0; background: none; color: #7b858d; display: grid; place-items: center; }
  #phoneApp .phone-rail-arrow svg { width: 16px; height: 16px; }
  #phoneApp .phone-rail-arrow:disabled { opacity: .2; }
  #phoneApp .phone-month { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid #e7e9ec; }
  #phoneApp .phone-month input { min-width: 0; max-width: calc(100% - 88px); min-height: 44px; border: 0; background: #fff; color: #27313a; padding: 8px; text-align: center; font-size: 16px; }
  body.erp-ui2.erp-phone #phoneApp .phone-month input { border: 1px solid transparent !important; border-radius: 6px !important; outline: none !important; box-shadow: none !important; }
  body.erp-ui2.erp-phone #phoneApp .phone-month input:is(:focus,:focus-visible) { border-color: #8995a1 !important; background: #f8f9fb !important; }
  #phoneApp .phone-expense-summary { padding: 18px 0 22px; }
  #phoneApp .phone-expense-summary > span { color: #75818a; font-size: 12px; }
  #phoneApp .phone-expense-summary > strong { display: block; font-size: 27px; font-weight: 550; margin: 6px 0 18px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
  #phoneApp .phone-expense-totals { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
  #phoneApp .phone-expense-totals span { display: block; font-size: 11px; color: #75818a; overflow-wrap: anywhere; }
  #phoneApp .phone-expense-totals b { display: block; font-size: 13px; font-weight: 500; margin-top: 5px; overflow-wrap: anywhere; }
  #phoneApp .phone-category-totals { margin: 12px 0; padding: 8px 0; border-bottom: 1px solid #e7e9ec; }
  #phoneApp .phone-category-totals > div { display: flex; justify-content: space-between; gap: 16px; padding: 5px 0; font-size: 12px; }
  #phoneApp .phone-category-totals dt { color: #75818a; overflow-wrap: anywhere; }
  #phoneApp .phone-category-totals dd { margin: 0; text-align: right; }
  #phoneApp .phone-expense-view { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; border-bottom: 1px solid #edf0ee; }
  #phoneApp .phone-expense-view h2 { font-size: 14px; font-weight: 500; }
  #phoneApp .phone-expense-view button { display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 0 8px 12px; color: #64717e; border: 0; background: none; font-size: 12px; }
  #phoneApp .phone-expense-view svg { width: 14px; height: 14px; }
  #phoneApp .phone-category-totals > div { min-height: 48px; align-items: center; border-bottom: 1px solid #edf0ee; }
  body.erp-phone #phoneCostHost #finance { display: block !important; padding: 0 !important; margin: 0 !important; }
  body.erp-phone #phoneCostHost #finance > :not(#financeBody) { display: none !important; }
  body.erp-phone #phoneCostHost :is(.finance-calculator-master,.finance-calc-section,.finance-calc-workspace-surface,.finance-calc-subpanel,.finance-calc-panel,.finance-calc-view-toolbar,.finance-calc-condition-area) { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; min-width: 0 !important; }
  body.erp-phone #phoneCostHost .finance-calc-view-toolbar { display: block !important; }
  body.erp-phone #phoneCostHost .finance-calc-view-tabs { display: flex !important; flex-wrap: nowrap !important; width: auto !important; border: 0 !important; }
  body.erp-phone #phoneCostHost .finance-calc-view-tabs > button { flex: 0 0 auto !important; white-space: nowrap !important; }
  body.erp-phone #phoneCostHost .finance-calc-view-tabs button { font-size: 13px !important; min-height: 44px !important; padding: 8px !important; }
  body.erp-phone #phoneCostHost .finance-calc-purchase-default { margin: 14px 0 !important; font-size: 12px !important; min-height: 40px !important; }
  body.erp-phone #phoneCostHost :is(.finance-cost-calculator,.finance-calc-top-controls,.finance-calc-fields,.finance-calc-grid,.finance-calc-result-grid) { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 18px !important; width: 100% !important; min-width: 0 !important; }
  body.erp-phone #phoneCostHost .finance-calc-top-controls { padding: 18px 0 !important; }
  body.erp-phone #phoneCostHost :is(.finance-calc-top-control,.finance-calc-field,.finance-calc-fixed-result-line) { width: 100% !important; max-width: none !important; min-width: 0 !important; grid-column: auto !important; flex-basis: auto !important; }
  body.erp-phone #phoneCostHost :is(input,select,.lhx-select-trigger) { font-size: 16px !important; min-height: 44px !important; max-width: 100% !important; }
  body.erp-phone #phoneCostHost :is(.finance-calc-section h3,.finance-calc-results > h3) { font-size: 16px !important; margin: 18px 0 12px !important; }
  body.erp-phone #phoneCostHost .finance-calc-section p { font-size: 12px !important; line-height: 1.6 !important; margin: 0 0 14px !important; }
  body.erp-phone #phoneCostHost .finance-calc-actions { position: static !important; display: flex !important; flex-wrap: wrap !important; padding: 18px 0 !important; gap: 10px !important; }
  body.erp-phone #phoneCostHost .finance-calc-actions > button { flex: 1 1 120px !important; min-height: 44px !important; white-space: normal !important; font-size: 13px !important; }
  body.erp-phone #phoneCostHost :is(.finance-calc-purchase-ledger,.finance-calc-purchase-ledger tbody,.phone-cost-records,.phone-cost-records tbody) { display: block !important; width: 100% !important; min-width: 0 !important; }
  body.erp-phone #phoneCostHost :is(.finance-calc-purchase-ledger,.phone-cost-records) :is(thead,colgroup) { display: none !important; }
  body.erp-phone #phoneCostHost .finance-calc-purchase-ledger tr { display: grid !important; grid-template-columns: minmax(0,1fr) 118px !important; padding: 0 !important; }
  body.erp-phone #phoneCostHost .finance-calc-purchase-ledger td { display: block !important; width: auto !important; min-width: 0 !important; padding: 16px 0 !important; border-bottom: 1px solid #e7e9ec !important; }
  body.erp-phone #phoneCostHost .finance-calc-product-name { font-size: 14px !important; overflow-wrap: anywhere !important; }
  body.erp-phone #phoneCostHost .finance-calc-purchase-ledger .finance-calc-input-line { max-width: 118px !important; width: 100% !important; }
  body.erp-phone #phoneCostHost .finance-calc-purchase-ledger input { width: 88px !important; min-width: 0 !important; }
  body.erp-phone #phoneCostHost .phone-cost-records tr { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 14px !important; padding: 18px 0 !important; border-bottom: 1px solid #e7e9ec !important; }
  body.erp-phone #phoneCostHost .phone-cost-records td { display: block !important; width: auto !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; white-space: normal !important; overflow-wrap: anywhere; }
  body.erp-phone #phoneCostHost .phone-cost-records td::before { content: attr(data-phone-label); display: block; font-size: 11px; color: #78828b; margin-bottom: 5px; }
  body.erp-phone #phoneCostHost [hidden] { display: none !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneCostHost #finance :is(.history-surface,.finance-calc-purchase-ledger) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneCostHost #finance .phone-cost-records { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneCostHost #finance .phone-cost-records td { background: none !important; text-align: left !important; }
  #phoneApp .phone-segments { display: flex; gap: 20px; width: max-content; max-width: 100%; border-bottom: 1px solid #e7e9ec; padding: 0; }
  #phoneApp .phone-segments + .phone-search { margin-top: 16px; }
  #phoneApp .phone-segments button { min-height: 44px; border: 0; border-bottom: 2px solid transparent; background: none; padding: 8px 2px; border-radius: 0; font-size: 13px; color: #75818a; }
  #phoneApp .phone-segments button[aria-pressed="true"] { border-bottom-color: #ce1234; color: #ce1234; box-shadow: none; }
  #phoneApp .phone-empty { padding: 56px 16px; text-align: center; color: #8a938d; }
  #phoneApp .phone-empty button { display: block; margin: 18px auto 0; }
  #phoneApp .phone-more { width: 100%; margin-top: 12px; min-height: 48px; border: 0; color: #63766a; background: #f4f6f4; border-radius: 6px; }
  #phoneApp .phone-person { padding: 8px 0 25px; border-bottom: 1px solid #e8ece9; }
  #phoneApp .phone-person h2 { font-size: 24px; font-weight: 600; }
  #phoneApp .phone-person p { color: #7c8880; font-size: 13px; margin-top: 10px; overflow-wrap: anywhere; }
  #phoneApp .phone-person a { color: #387855; text-decoration: none; }
  #phoneApp .phone-balance { padding: 25px 0; }
  #phoneApp .phone-inline-actions { display: flex; gap: 12px; padding-bottom: 32px; }
  #phoneApp :is(.phone-primary,.phone-secondary) { min-height: 48px; padding: 10px 20px; border-radius: 8px; font-weight: 550; }
  #phoneApp .phone-primary { border: 1px solid #df1234; background: #df1234; color: #fff; }
  #phoneApp .phone-secondary { border: 1px solid #e1e7e1; background: #fff; color: #354e3f; }
  #phoneApp .phone-inline-actions > button { flex: 1; }
  #phoneApp .phone-facts > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 0; border-bottom: 1px solid #e8ece9; }
  #phoneApp .phone-facts dt { font-size: 13px; color: #7c8880; }
  #phoneApp .phone-facts dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
  #phoneApp .phone-account-mark { width: 48px; height: 48px; display: grid; place-items: center; background: #eff4ef; border-radius: 8px; color: #587560; margin-bottom: 18px; }
  #phoneApp .phone-account-links { margin: 18px 0; }
  #phoneApp .phone-hub { padding: 8px 0 18px; border-bottom: 1px solid #e8ece9; }
  #phoneApp .phone-hub h2 { margin: 0; font-size: 24px; font-weight: 600; }
  #phoneApp .phone-hub p { margin: 8px 0 0; color: #7c8880; font-size: 13px; }
  #phoneApp .phone-version { margin: 24px 0 6px; padding: 18px 16px; border: 1px solid #e4e9e5; border-radius: 8px; background: #fbfcfb; }
  #phoneApp .phone-version-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  #phoneApp .phone-version-head strong { font-size: 16px; color: #24362b; }
  #phoneApp .phone-version .phone-facts { margin-top: 8px; }
  #phoneApp .phone-version .phone-facts > div { padding: 13px 0; }
  #phoneApp .phone-version-status { margin: 14px 0 0; color: #617166; font-size: 13px; }
  #phoneApp .phone-version-current { color: #427454; }
  #phoneApp .phone-version-error { color: #a33a4a; }
  #phoneApp .phone-version-note { margin: 8px 0 0; color: #7c8880; font-size: 12px; }
  #phoneApp .phone-version-action { width: 100%; margin-top: 14px; }
  #phoneApp .phone-link { display: flex; align-items: center; gap: 14px; width: 100%; padding: 21px 0; min-height: 62px; border: 0; border-bottom: 1px solid #edf0ed; background: transparent; color: #536d5d; text-align: left; }
  #phoneApp .phone-link > span:nth-last-child(2) { flex: 1; color: #27392e; }
  #phoneApp .phone-logout { border: 0; background: #f6f7f5; color: #9c3445; width: 100%; min-height: 48px; border-radius: 8px; margin-top: 18px; }
  #phoneApp .phone-date-input { width: 100%; min-height: 48px; border: 1px solid #e1e7e1; border-radius: 8px; padding: 10px 14px; font-size: 16px; color: #293b30; background: #fff; }
  #phoneApp .phone-attendance-row { padding: 16px 0; border-bottom: 1px solid #e8ece9; }
  #phoneApp .phone-attendance-row > small { display: block; color: #819086; margin: 5px 0 0; }
  #phoneApp .phone-attendance-row .phone-attendance-metrics { padding: 12px 0 0; }
  #phoneApp .phone-attendance-checks { margin-top: 12px; }
  #phoneApp .phone-attendance-row .phone-section-head > span:not(.phone-attendance-status) { font-size: 12px; color: #657b6a; }
  #phoneApp .erp-phone-dock { position: fixed; inset: auto 0 0; z-index: 110; display: flex; background: #fff; border-top: 1px solid #e8ece9; padding: 7px 12px max(10px,env(safe-area-inset-bottom)); }
  #phoneApp .erp-phone-dock > button { display: flex; flex: 1; flex-direction: column; align-items: center; gap: 6px; min-width: 0; min-height: 52px; padding: 5px 0; border: 0; background: none; color: #909991; font-size: 10px; }
  #phoneApp .erp-phone-dock > button[aria-current] { color: #d91135; }
  body.erp-phone-keyboard #phoneApp .erp-phone-dock, body.erp-unauthenticated #phoneApp { display: none; }
  #phoneApp .phone-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding-bottom: 0; border-bottom: 1px solid #e7e9ec; }
  #phoneApp .phone-steps button { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; min-height: 48px; padding: 8px 0; border: 0; border-bottom: 2px solid transparent; background: none; color: #75818a; font-size: 13px; }
  #phoneApp .phone-steps button > span:first-child { display: none; }
  #phoneApp .phone-step-label { display: block; width: 100%; overflow-wrap: anywhere; line-height: 1.4; }
  #phoneApp .phone-steps button[aria-current="step"] { color: #cd1434; border-bottom-color: #cd1434; }
  #phoneApp .phone-steps button[aria-current="step"] > span:first-child { background: #ce1334; color: white; }
  #phoneApp .phone-next { width: 100%; position: sticky; bottom: 85px; margin-top: 20px; }
  /* The phone owns the workflow; controls below retain their shared IDs and handlers. */
  body.erp-phone #phoneOrderHost #sale { display: block !important; margin: 0 !important; padding: 20px 0 !important; }
  body.erp-phone #phoneOrderHost #sale > :is(.page-header,.history), body.erp-phone #phoneOrderHost :is(.section-label,.items-head .subtitle) { display: none !important; }
  body.erp-phone #phoneOrderHost :is(.workbench,.builder,.summary) { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
  body.erp-phone #phoneOrderHost .command-strip { display: grid !important; grid-template-columns: minmax(0,1fr) !important; padding: 0 !important; margin: 0 !important; gap: 22px !important; }
  body.erp-phone #phoneOrderHost .command-strip > div { width: 100% !important; max-width: none !important; min-width: 0 !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #phoneOrderHost #sale .command-strip { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 22px !important; padding: 0 !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #phoneOrderHost #sale .command-strip > div { grid-column: 1 !important; width: 100% !important; min-width: 0 !important; max-width: none !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #phoneOrderHost[data-step="1"] #sale .command-strip { display: none !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #phoneOrderHost #sale .money-input { display: flex !important; align-items: center !important; height: 48px !important; min-height: 48px !important; padding: 0 14px !important; border: 1px solid #dce1e7 !important; border-radius: 6px !important; background: #fff !important; box-shadow: none !important; overflow: hidden; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #phoneOrderHost #sale .money-input:focus-within { border-color: #8995a1 !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #phoneOrderHost #sale #salePaidAmount { flex: 1; width: 0 !important; min-width: 0 !important; height: 46px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; outline: none !important; box-shadow: none !important; background: transparent !important; font-size: 16px !important; font-weight: 500 !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #phoneOrderHost #sale .money-input > span { flex: 0 0 auto; font-size: 11px !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #saleCustomerDropdownHost .custom-select { width: 100% !important; border: 0 !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #saleCustomerDropdownHost .custom-select-trigger { width: 100% !important; min-height: 48px !important; height: auto !important; padding: 12px 38px 12px 14px !important; border: 1px solid #dce1e7 !important; border-radius: 6px !important; background: #fff !important; box-shadow: none !important; font-size: 16px !important; font-weight: 500 !important; text-align: left !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #saleCustomerDropdownHost .customer-value { font-size: 16px !important; font-weight: 500 !important; white-space: normal !important; overflow-wrap: anywhere; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #saleCustomerDropdownHost .custom-select-menu { width: 100% !important; min-width: 0 !important; left: 0 !important; border: 1px solid #dce1e7 !important; border-radius: 6px !important; box-shadow: 0 8px 24px #17212b14 !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #saleCustomerDropdownHost .custom-select-option { min-height: 48px !important; padding: 12px 14px !important; font-size: 15px !important; white-space: normal !important; overflow-wrap: anywhere; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #saleCategoryDiscountDisplay { display: flex !important; flex-wrap: wrap !important; gap: 12px 24px !important; padding: 0 !important; border: 0 !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneApp #saleCategoryDiscountDisplay :is(strong,b) { font-size: 18px !important; font-weight: 500 !important; }
  body.erp-phone #phoneOrderHost :is(input:not([type="hidden"]),select,.lhx-select-trigger,.customer-trigger,.customer-dropdown-trigger) { font-size: 16px !important; min-height: 46px !important; max-width: 100% !important; }
  body.erp-phone #phoneOrderHost[data-step="0"] :is(.items-head,#saleItemsContainer,.note-row,.summary,.phone-order-paid,.sale-gift-box,.display-asset-gift-panel),
  body.erp-phone #phoneOrderHost[data-step="1"] :is(.command-strip,.note-row,.summary),
  body.erp-phone #phoneOrderHost[data-step="2"] :is(.items-head,#saleItemsContainer,.command-strip > div:not(.phone-order-paid),.sale-gift-box,.display-asset-gift-panel) { display: none !important; }
  body.erp-phone #phoneOrderHost .items-head { display: flex !important; gap: 10px; align-items: center !important; justify-content: space-between; margin: 0 0 16px !important; }
  body.erp-phone #phoneOrderHost[data-step="0"] .items-head, body.erp-phone #phoneOrderHost[data-step="2"] .items-head { display: none !important; }
  body.erp-phone #phoneOrderHost .items-head button { min-height: 44px !important; }
  body.erp-phone #phoneOrderHost .note-row { margin: 20px 0 !important; }
  body.erp-phone #phoneOrderHost .confirm { width: 100% !important; min-height: 48px !important; font-size: 16px !important; }
  body.erp-phone #phoneOrderHost .summary-total { font-size: 28px !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale :is(.builder,.summary) { padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: none !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale :is(.sale-lines-scroll,.editable-table) { width: 100% !important; min-width: 0 !important; overflow: visible !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .editable-table :is(thead,colgroup) { display: none !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale :is(.editable-table,.editable-table tbody) { display: block !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .editable-row { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 16px !important; padding: 20px 0 !important; border-bottom: 1px solid #e5eae7 !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .editable-row td { display: block !important; min-width: 0 !important; width: auto !important; padding: 0 !important; border: 0 !important; text-align: left !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .editable-row :is(.product-cell,.action-cell) { grid-column: 1 / -1; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .editable-row td:not(.product-cell):not(.action-cell)::before { content: attr(data-phone-label); display: block; font-size: 12px; color: #7c8880; margin-bottom: 8px; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .editable-row .action-cell { text-align: right !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .editable-row .custom-select { width: 100% !important; max-width: none !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale :is(.custom-select-trigger,.qty-control) { border: 1px solid #e2e8e2 !important; border-radius: 6px !important; min-height: 46px !important; padding: 10px 12px !important; width: 100% !important; font-size: 15px !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .price-readonly { display: flex !important; align-items: center; min-height: 46px; font-size: 16px !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .price-readonly::after { content: 'UZS'; margin-left: 6px; font-size: 11px; font-weight: 400; color: #78828b; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .editable-row .phone-clean-source { display: none !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .delete-link { min-height: 44px !important; padding: 8px 12px !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .product-main { white-space: normal !important; overflow-wrap: anywhere; font-size: 15px !important; }
  body.erp-phone #phoneApp #phoneOrderHost #sale .manual-gift-panel { border: 0 !important; background: none !important; margin-top: 18px !important; padding: 0 !important; }
  #phoneApp .phone-order-review { padding: 22px 0 8px; }
  #phoneApp .phone-order-review > strong { display: block; margin-bottom: 12px; font-size: 16px; }
  #phoneApp .phone-order-review > div { display: flex; justify-content: space-between; gap: 18px; color: #718178; font-size: 13px; padding: 8px 0; }
  body.erp-phone #phoneOrderHost[data-step="0"] :is(#saleRackLines,.manual-gift-section), body.erp-phone #phoneOrderHost[data-step="2"] :is(#saleRackLines,.manual-gift-section) { display: none !important; }

  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal).modal-mask .modal-panel { width: 100% !important; max-width: 100% !important; height: 100dvh !important; max-height: 100dvh !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding-top: env(safe-area-inset-top) !important; font-family: var(--erp-font-serif) !important; }
  body.erp-ui2.erp-phone #globalModal:has(#modalBody).modal-mask .modal-panel { width: 100% !important; max-width: 100% !important; border-radius: 0 !important; margin: 0 !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal):has(.modal-panel) .modal-panel { display: flex !important; flex-direction: column !important; overflow: hidden !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal).modal-mask .modal-panel :is(#modalBody,#paymentBody) { flex: 1 1 0 !important; min-height: 0 !important; overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain; padding-bottom: 24px !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal):has(#modalBody,#paymentBody) .modal-panel > :is(h3,.btn-group) { position: static !important; flex: 0 0 auto !important; }
  body.erp-ui2.erp-phone #globalModal:not([data-detail-kind="goods"]):has(.detail-master-customer,.detail-master-salesperson,.detail-master-handover,.stockin-detail-form,.fbo-detail-form,.personnel-detail:not(.personnel-readonly-detail),.attendance-correction-master,.finance-master-form,#finPriceAmount,#finRepPay,#finAdvAmount,#finAdvActAmount):has(#modalBody) .modal-panel { width: 100% !important; max-width: 100% !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal) .modal-panel > h3 { padding: 16px !important; font-size: 19px !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal) :is(#modalBody,.modal-body) { padding: 20px !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select,.lhx-select-trigger) { font-size: 16px !important; min-height: 46px !important; }
  body.erp-ui2.erp-phone #paymentModal #newPayAmount { width: 100% !important; max-width: none !important; }
  body.erp-ui2.erp-phone #paymentModal .payment-master-fields { grid-template-columns: minmax(0,1fr) !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal) .personnel-modal-close { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal) :is(.modal-actions,.modal-footer,.modal-panel > .btn-group) { padding: 12px 16px max(12px,env(safe-area-inset-bottom)) !important; gap: 10px !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal) :is(.modal-actions,.modal-footer,.modal-panel > .btn-group) > button { flex: 1 1 0 !important; min-height: 48px !important; height: auto !important; font-size: 15px !important; white-space: normal !important; }
  body.erp-ui2.erp-phone #globalModal:not([data-detail-kind="goods"]):has(#modalBody) .modal-panel > .btn-group .btn { min-height: 48px !important; height: auto !important; flex: 1 1 0 !important; white-space: normal !important; }
  body.erp-ui2.erp-phone :is(#globalModal,#paymentModal) :is(.detail-master-close,.modal-close) { min-width: 44px !important; min-height: 44px !important; }
  body.erp-ui2.erp-phone #globalModal.modal-mask:has(.finance-expense-detail) {
    top: var(--expense-viewport-top, 0px) !important; left: var(--expense-viewport-left, 0px) !important;
    bottom: auto !important; right: auto !important;
    width: var(--expense-viewport-width, 100%) !important; height: var(--expense-viewport-height, 100%) !important;
  }
  body.erp-ui2.erp-phone #globalModal.modal-mask:has(#modalBody .finance-expense-detail) .modal-panel {
    height: 100% !important; max-height: 100% !important; min-height: 0 !important;
  }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-choice { display: grid !important; grid-template-columns: 24px minmax(0,1fr) !important; gap: 10px 12px !important; padding: 18px 0 !important; align-items: start !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-columns { display: none !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .modal-panel { display: flex !important; flex-direction: column !important; overflow: hidden !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"].modal-mask .modal-panel #modalBody { display: flex !important; flex: 1 1 0 !important; min-height: 0 !important; overflow: hidden !important; padding: 0 16px !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-picker { flex: 1 1 0; min-height: 0; overflow: hidden; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] #saleProductChoices { min-height: 0 !important; overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] :is(.modal-panel > h3,.modal-panel > .btn-group) { flex: 0 0 auto !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-choice > input { grid-column: 1 !important; grid-row: 1 !important; width: 20px !important; height: 20px !important; margin-top: 3px !important; accent-color: #ce1234; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-identity { grid-column: 2 !important; grid-row: 1 !important; min-height: 44px; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-identity strong { font-size: 16px !important; font-weight: 550 !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-identity small { font-size: 12px !important; line-height: 1.5 !important; overflow-wrap: anywhere; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] :is(.sale-product-spec,.sale-product-identity > small:nth-of-type(2)) { display: none !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] :is(.sale-product-stock,.sale-product-price) { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; grid-column: 2 !important; grid-row: auto !important; text-align: left !important; font-size: 14px !important; line-height: 1.5 !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] :is(.sale-product-stock,.sale-product-price) small { display: inline !important; font-size: 12px !important; margin: 0 !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-entry { grid-column: 2 !important; grid-row: auto !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; margin-top: 4px; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-choice:not(.is-selected) .sale-product-entry { display: none !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] #saleProductSearch { border: 1px solid #dce1e7 !important; border-radius: 6px !important; box-shadow: none !important; padding: 11px 14px !important; font-weight: 400 !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] #saleProductSearch:is(:focus,:focus-visible) { outline: none !important; box-shadow: none !important; border-color: #8995a1 !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-selection { min-height: 44px; font-size: 12px !important; gap: 12px !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] .sale-product-selection label { display: flex; align-items: center; gap: 10px; min-height: 44px; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind="sale-product-picker"] :is(.sale-product-quantity,.sale-product-unit) { display: grid !important; grid-template-rows: 18px 44px !important; gap: 6px !important; margin: 0 !important; }
  body.erp-phone .login-overlay { padding-top: max(40px,env(safe-area-inset-top)) !important; }
  body.erp-phone .login-overlay .login-brand-panel { border: 0 !important; padding-bottom: 0 !important; }
  body.erp-phone .login-overlay .login-brand-lockup { flex-direction: column !important; text-align: center !important; gap: 12px !important; }
  body.erp-phone .login-overlay .login-brand-mark { width: 56px !important; height: 56px !important; }
  body.erp-phone .login-overlay .login-brand-name { font-size: 24px !important; }
  body.erp-phone .login-overlay .login-brand-meta { font-size: 13px !important; }
  body.erp-phone .login-overlay .login-form-head { margin: 30px 0 20px !important; }
  body.erp-phone .login-overlay .login-form-title { font-size: 22px !important; }
  body.erp-phone .login-overlay .login-input { background: #f7f8fa !important; border-color: #e4e7ed !important; border-radius: 8px !important; }
  body.erp-phone .login-overlay .login-submit { border-radius: 8px !important; }
  body.erp-phone .login-overlay .login-options { margin: 12px 0 20px !important; }
  @media (max-width: 359px) {
    #phoneApp .phone-content { padding-left: 16px; padding-right: 16px; }
    #phoneApp .phone-header { padding-left: 16px; padding-right: 16px; gap: 5px; }
    #phoneApp .phone-segments button { padding-left: 9px; padding-right: 9px; }
  }
  @media (max-height: 650px) {
    body.erp-phone .login-overlay { padding-top: max(20px,env(safe-area-inset-top)) !important; }
    body.erp-phone .login-overlay .login-brand-lockup { flex-direction: row !important; text-align: left !important; }
    body.erp-phone .login-overlay .login-brand-mark { width: 40px !important; height: 40px !important; }
    body.erp-phone .login-overlay .login-form-head { margin: 22px 0 16px !important; }
  }
}
@media (max-width: 760px), (max-width: 1024px) and (max-height: 600px) and (pointer: coarse) {
  #phoneApp .phone-expense-filter { margin: 12px 0 0; max-width: 240px; }
  #phoneApp .phone-overview .phone-section-head { flex-wrap: wrap; gap: 8px; }
}

/* Presentation only. Authentication, hidden states and desktop are not overridden. */
@media screen and (max-width: 767px) {
  body.erp-ui2 {
    --mp-canvas: #fff;
    --mp-background: #fff;
    --mp-surface: #fff;
    --mp-focus: #edf2f1;
    --mp-ink: #252c31;
    --mp-muted: #667178;
    --mp-line: #dfe4e2;
    --mp-brand: #bd2a43;
    --mp-success: #30634f;
    --mp-warning: #886020;
  }
  body.erp-ui2.erp-phone { background: var(--mp-background) fixed !important; }
  body.erp-ui2 #phoneApp { background: var(--mp-background); background-attachment: fixed; color: var(--mp-ink); font-size: 14px; letter-spacing: 0; }
  #phoneApp .phone-content { padding: 16px 16px calc(88px + env(safe-area-inset-bottom)); }
  body.erp-ui2 #phoneApp .phone-header { display: grid; grid-template-columns: 40px minmax(0,1fr) 44px; min-height: 72px; padding: max(10px,env(safe-area-inset-top)) 16px 10px; gap: 12px; border-color: var(--mp-line); background: var(--mp-background) fixed !important; }
  #phoneApp .phone-header .logo { width: 40px !important; height: 40px !important; object-fit: contain; }
  #phoneApp .phone-brand-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
  #phoneApp .phone-brand-copy strong { font-size: 19px; line-height: 1.3; font-weight: 650; }
  #phoneApp .phone-brand-identity { font-size: 12px; line-height: 1.5; color: var(--mp-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #phoneApp .phone-notifications-button svg { width: 23px; height: 23px; }
  #phoneApp .phone-page-heading { display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 8px 16px 0; }
  #phoneApp .phone-page-heading h1 { flex: 1; min-width: 0; margin: 0; font-size: 18px; line-height: 1.4; font-weight: 600; outline: none; }
  #phoneApp .phone-page-heading [data-action="back"] { margin-left: -10px; }
  #phoneApp .phone-page-heading .phone-add { margin-left: auto; }
  #phoneApp .phone-icon { color: var(--mp-muted); }
  #phoneApp .phone-add::before { inset: 8px; border-radius: 50%; background: var(--mp-brand); }
  #phoneApp .phone-add svg { width: 16px; height: 16px; color: #fff; }
  #phoneApp h2 { font-size: 15px; line-height: 1.5; }
  #phoneApp .phone-section-head { min-height: 44px; margin-bottom: 4px; }
  #phoneApp .phone-text { color: var(--mp-muted); }
  #phoneApp .phone-home-context { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin: 0 0 14px; }
  #phoneApp .phone-home-context strong { font-size: 13px; font-weight: 500; }
  #phoneApp .phone-home-context .phone-date { margin: 0; font-size: 12px; color: var(--mp-muted); }
  #phoneApp .phone-home-kpis { border: 1px solid var(--mp-line); border-radius: 8px; background: var(--mp-surface); margin-bottom: 24px; }
  #phoneApp .phone-home-kpis > div { padding: 16px 14px; min-height: 90px; border-color: var(--mp-line); }
  #phoneApp .phone-home-kpis span { color: var(--mp-muted); font-size: 12px; line-height: 1.5; }
  #phoneApp .phone-home-kpis strong { color: var(--mp-ink); font-size: 20px; font-weight: 650; line-height: 1.45; margin-top: 6px; }
  #phoneApp .phone-home-kpis > div:nth-child(3) strong { color: var(--mp-brand); }
  #phoneApp .phone-currency { font-size: 11.5px; color: var(--mp-muted); font-weight: 400; }
  #phoneApp .phone-trend { margin: 0 0 20px; padding: 0; border: 0; }
  #phoneApp .phone-trend-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  #phoneApp .phone-trend-heading h2 { min-width: 0; margin: 0; }
  #phoneApp .phone-trend-ranges { display: flex; flex-shrink: 0; gap: 2px; }
  #phoneApp .phone-trend-ranges button { appearance: none; border: 0; border-bottom: 2px solid transparent; background: transparent; min-width: 44px; min-height: 44px; padding: 4px 6px; color: var(--mp-muted); font: inherit; font-size: 11.5px; cursor: pointer; }
  #phoneApp .phone-trend-ranges button[aria-pressed="true"] { color: var(--mp-brand); border-color: var(--mp-brand); }
  #phoneApp .phone-trend-ranges button:focus-visible { outline: 2px solid var(--mp-brand); outline-offset: 1px; }
  #phoneApp .phone-trend-total { display: flex; align-items: baseline; gap: 12px; margin: 8px 0 0; }
  #phoneApp .phone-trend-total > span { font-size: 12px; color: var(--mp-muted); }
  #phoneApp .phone-trend-total strong { font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }
  #phoneApp .phone-trend-bar { fill: #bd2a43; opacity: .72; }
  #phoneApp .phone-trend-bar.negative { fill: var(--mp-warning); }
  #phoneApp .phone-trend-dates { display: flex; justify-content: space-between; color: var(--mp-muted); font-size: 11.5px; }
  #phoneApp .phone-trend-empty { min-height: 108px; display: grid; place-items: center; font-size: 12px; color: var(--mp-muted); }
  #phoneApp .phone-today-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: -10px 0 20px; }
  #phoneApp .phone-today-summary > div { display: flex; flex-direction: column; gap: 5px; }
  #phoneApp .phone-today-summary span { color: var(--mp-muted); font-size: 12px; }
  #phoneApp .phone-today-summary strong { font-weight: 500; font-size: 14px; font-variant-numeric: tabular-nums; }
  #phoneApp .phone-trend .premium-trend-head { align-items: baseline; }
  #phoneApp .phone-trend .premium-trend-head span { font-size: 12px; color: var(--mp-muted); }
  #phoneApp .phone-trend .premium-trend-svg { height: 108px; margin-top: 10px; }
  #phoneApp .premium-trend-line { stroke: #417367; stroke-width: 2; }
  #phoneApp .premium-trend-dot { fill: #417367; }
  #phoneApp .premium-trend-area { fill: #417367; opacity: .07; }
  #phoneApp .premium-trend-grid { stroke: var(--mp-line); stroke-width: .65; }
  #phoneApp .phone-actions { padding: 4px 0 18px; }
  #phoneApp .phone-actions .phone-rail-track { gap: 8px; }
  #phoneApp .phone-actions .phone-rail-arrow,
  #phoneApp .phone-actions .phone-rail-track > button:nth-child(n+5) { display: none; }
  #phoneApp .phone-actions .phone-rail-track > button { flex: 0 0 calc((100% - 24px) / 4); min-height: 72px; font-size: 12px; gap: 8px; color: var(--mp-muted); }
  #phoneApp .phone-actions .phone-rail-track > button:first-child { color: var(--mp-brand); }
  body.erp-ui2 #phoneApp .phone-actions .nav-icon { padding: 8px; box-sizing: content-box; background: transparent !important; border-radius: 0; box-shadow: none; }
  #phoneApp .phone-search { background: var(--mp-surface); border-color: var(--mp-line); border-radius: 8px; margin-bottom: 12px; }
  #phoneApp .phone-search input { font-size: 14px; color: var(--mp-ink); }
  #phoneApp .phone-search:focus-within { border-color: var(--mp-brand); }
  #phoneApp .phone-segments { gap: 18px; margin-bottom: 12px; border-color: var(--mp-line); }
  #phoneApp .phone-segments button { color: var(--mp-muted); font-size: 13px; }
  #phoneApp .phone-segments button[aria-pressed="true"] { color: var(--mp-brand); border-color: var(--mp-brand); }
  #phoneApp[data-route="home"] .phone-list,
  #phoneApp[data-route="orders"] .phone-list,
  #phoneApp[data-route="customers"] .phone-list,
  #phoneApp[data-route="inventory"] .phone-list { margin: 0; padding: 0 14px; background: var(--mp-surface); border-block: 1px solid var(--mp-line); }
  #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"],[data-route="inventory"]) .phone-row {
    display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 12px; min-height: 100px; padding: 16px 0; background: transparent; border-color: var(--mp-line);
  }
  #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"],[data-route="inventory"]) .phone-row:last-child { border-bottom: 0; }
  #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"],[data-route="inventory"]) :is(.phone-row-main,.phone-row-end) { display: contents; }
  #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"],[data-route="inventory"]) .phone-row-main strong { grid-column: 1 / -1; grid-row: 1; font-size: 15px; color: var(--mp-ink); font-weight: 600; }
  #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"],[data-route="inventory"]) .phone-row-main small { grid-column: 1 / -1; grid-row: 3; margin: 2px 0 0; font-size: 12px; color: var(--mp-muted); }
  #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"],[data-route="inventory"]) .phone-row-end b { grid-column: 1; grid-row: 2; font-size: 18px; font-weight: 600; text-align: left; line-height: 1.45; }
  #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"],[data-route="inventory"]) .phone-row-end > small { grid-column: 2; grid-row: 2; margin: 0; text-align: right; max-width: 136px; align-self: center; font-size: 11.5px; color: var(--mp-muted); }
  #phoneApp .phone-row .phone-warning { color: var(--mp-warning); }
  #phoneApp .phone-row .phone-chevron { display: none; }
  #phoneApp .phone-row .settlement-badge { padding: 3px 6px; border: 0; border-radius: 6px; background: #f5f2e9; color: var(--mp-warning); }
  #phoneApp .phone-row .settlement-badge::before { width: 5px; height: 5px; box-shadow: none; }
  #phoneApp .phone-row .phone-currency { display: inline; font-size: 11.5px; }
  body.erp-ui2 #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"],[data-route="inventory"]) .phone-row { gap: 5px 12px !important; }
  body.erp-ui2 #phoneApp .phone-row-main small { margin-top: 2px !important; }
  body.erp-ui2 #phoneApp .phone-row-end b { font-size: 18px !important; line-height: 1.45 !important; }
  body.erp-ui2 #phoneApp .phone-row-end > small { margin-top: 0 !important; }
  body.erp-ui2 #phoneApp .phone-row .settlement-badge.due { color: var(--mp-warning) !important; }
  body.erp-ui2 #phoneApp .phone-row .settlement-badge.due::before { background: var(--mp-warning) !important; box-shadow: none !important; }
  body.erp-ui2 #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"]) .phone-row { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); min-height: 82px; padding: 12px 0; gap: 7px 10px !important; }
  body.erp-ui2 #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"]) .phone-row-main strong { grid-column: 1; grid-row: 1; align-self: center; overflow-wrap: anywhere; }
  body.erp-ui2 #phoneApp:is([data-route="home"],[data-route="orders"],[data-route="customers"]) .phone-row-main small { grid-column: 2; grid-row: 1; align-self: center; text-align: right; font-size: 11px; line-height: 1.5; margin: 0 !important; overflow-wrap: anywhere; }
  #phoneApp .phone-customer-phone { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
  body.erp-ui2 #phoneApp[data-route="customers"] .phone-row-main .phone-customer-phone { display: flex !important; font-size: 12.5px; }
  #phoneApp .phone-customer-phone svg { width: 14px; height: 14px; flex-shrink: 0; }
  #phoneApp .phone-customer-phone span { min-width: 0; }
  body.erp-ui2 #phoneApp[data-route="inventory"] .phone-row { grid-template-columns: minmax(0,1fr) auto; min-height: 72px; padding: 12px 0; gap: 3px 14px !important; }
  body.erp-ui2 #phoneApp[data-route="inventory"] .phone-row-main strong { grid-column: 1; grid-row: 1; }
  body.erp-ui2 #phoneApp[data-route="inventory"] .phone-row-main small { grid-column: 1; grid-row: 2; margin: 0 !important; }
  body.erp-ui2 #phoneApp[data-route="inventory"] .phone-row-end b { grid-column: 2; grid-row: 1; text-align: right; }
  body.erp-ui2 #phoneApp[data-route="inventory"] .phone-row-end > small { grid-column: 2; grid-row: 2; margin: 0 !important; }
  #phoneApp .phone-facts > div { padding: 16px 0; gap: 16px; align-items: baseline; border-color: var(--mp-line); }
  #phoneApp .phone-facts dt { color: var(--mp-muted); font-size: 12px; }
  #phoneApp .phone-facts dd { font-size: 14px; color: var(--mp-ink); }
  #phoneApp .phone-person { padding: 4px 0 18px; border-color: var(--mp-line); }
  #phoneApp .phone-person h2 { font-size: 20px; line-height: 1.5; overflow-wrap: anywhere; }
  #phoneApp .phone-person p { font-size: 12px; color: var(--mp-muted); }
  #phoneApp[data-route="account"] .phone-person { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 14px; padding: 8px 0 16px; }
  body.erp-ui2 #phoneApp .phone-account-mark { width: 64px; height: 64px; margin: 0; border-radius: 0; background: transparent !important; color: var(--mp-brand); box-shadow: none; }
  body.erp-ui2 #phoneApp .phone-account-mark :is(.nav-icon,svg) { width: 44px !important; height: 44px !important; }
  #phoneApp .phone-version { padding: 18px 0 0; border: 0; border-radius: 0; margin: 8px 0 0; background: none; }
  #phoneApp .phone-version .phone-facts > div:last-child { border-bottom: 0; }
  #phoneApp .phone-version-head strong { font-size: 15px; color: var(--mp-ink); }
  #phoneApp .phone-version-status { padding: 12px; border-radius: 6px; background: var(--mp-focus); font-size: 12px; color: var(--mp-success); }
  #phoneApp .phone-logout { margin-top: 24px; min-height: 44px; color: var(--mp-brand); background: #fff; border: 1px solid var(--mp-line); }
  #phoneApp .phone-primary { background: var(--mp-brand); border-color: var(--mp-brand); min-height: 44px; }
  #phoneApp .phone-secondary { min-height: 44px; color: var(--mp-ink); border-color: var(--mp-line); }
  #phoneApp .erp-phone-dock { background: #fff; border-color: var(--mp-line); padding: 5px 10px max(7px,env(safe-area-inset-bottom)); }
  #phoneApp .erp-phone-dock > button { position: relative; color: var(--mp-muted); gap: 4px; min-height: 52px; font-size: 11px; }
  #phoneApp .erp-phone-dock > button[aria-current] { color: var(--mp-brand); font-weight: 600; }
  #phoneApp .erp-phone-dock > button[aria-current]::before { content: ''; position: absolute; top: -6px; width: 22px; height: 2px; background: var(--mp-brand); }
  #phoneApp .erp-phone-dock :is(.nav-icon,.nav-icon svg) { width: 20px !important; height: 20px !important; }
  body.erp-ui2 #phoneApp .phone-attendance-period { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 12px; margin: 12px 0 18px; background: #f7f8f8; border: 1px solid var(--mp-line); border-radius: 8px; }
  #phoneApp .phone-attendance-period > span { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--mp-muted); }
  #phoneApp .phone-attendance-period > span svg { width: 18px; height: 18px; flex-shrink: 0; }
  body.erp-ui2 #phoneApp .phone-attendance-period .phone-date-input { width: 176px; min-width: 0; max-width: 65%; min-height: 44px; padding: 6px 4px; margin: 0; border: 0; border-radius: 4px; background: transparent; font-size: 14px; text-align: right; }
  #phoneApp .phone-attendance-period:focus-within { border-color: var(--mp-brand); }
  #phoneApp .phone-attendance-tabs .phone-rail { margin: 0; }
  body.erp-ui2.erp-phone #mainWrapper #phoneCostHost #finance .finance-supplier-prices .finance-calc-purchase-ledger tr { gap: 0 !important; }
  body.erp-ui2.erp-phone #mainWrapper #phoneCostHost #finance .finance-supplier-prices .finance-calc-purchase-ledger td:nth-child(odd) { padding-right: 12px !important; }
  body.erp-phone #phoneApp .phone-notifications [data-steward-host] { display: block !important; padding: 0; border: 0; background: none; }
  #phoneApp .phone-notifications .erp-steward > :is(header,.steward-facts,h3) { display: none; }
  #phoneApp .phone-notifications .erp-steward:has(> [role="status"]) > header { display: flex; justify-content: flex-end; }
  #phoneApp .phone-notifications .erp-steward > header > div { display: none; }
  #phoneApp .phone-notifications .steward-item { min-height: 64px; padding: 14px 0; }
  #phoneApp .phone-notifications .steward-updated { display: block; margin-top: 16px; color: var(--mp-muted); font-size: 12px; }

  /* Only presentation properties of the existing login state owner. */
  body.erp-ui2.erp-phone #loginOverlay { background: var(--mp-background) !important; padding: max(32px,env(safe-area-inset-top)) 24px 24px !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-shell { max-width: 390px !important; margin-inline: auto !important; background: none !important; border: 0 !important; box-shadow: none !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-brand-panel { padding: 12px 0 22px !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-brand-lockup { flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 8px !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-brand-mark { content: url('/assets/lonhow-logo-transparent.png'); width: 40px !important; height: 40px !important; margin: 0 auto 4px !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-brand-name { font-size: 26px !important; color: var(--mp-ink) !important; letter-spacing: 0 !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-brand-core { font-size: 13px !important; color: var(--mp-muted) !important; letter-spacing: 0 !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-form-panel { background: none !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-form-head { margin: 18px 0 24px !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-form-title { font-size: 20px !important; color: var(--mp-ink) !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-input { min-height: 44px !important; height: 46px !important; background: #fff !important; border: 1px solid #d5dcda !important; border-radius: 8px !important; font-size: 14px !important; box-shadow: none !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-input:focus { border-color: var(--mp-brand) !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-submit { min-height: 46px !important; border-radius: 8px !important; background: var(--mp-brand) !important; border-color: var(--mp-brand) !important; box-shadow: none !important; font-size: 14px !important; }
  body.erp-ui2.erp-phone #loginOverlay .login-submit:active,
  #phoneApp .phone-primary:active { background: #a91f37 !important; }

  body.erp-ui2.erp-phone #globalModal[data-detail-kind] { align-items: stretch !important; padding: 0 !important; }
  body.erp-ui2.erp-phone #globalModal[data-detail-kind].modal-mask .modal-panel { height: 100dvh !important; max-height: 100dvh !important; border-radius: 0 !important; background: #fff !important; }
  body.erp-ui2.erp-phone #globalModal:is([data-detail-kind="sale"],[data-detail-kind="sale-detail"],[data-detail-kind="customer"],[data-detail-kind="personnel"]) :is(h3,.detail-master-rich-header) { padding: 16px !important; border-color: var(--mp-line) !important; }
  body.erp-ui2.erp-phone #globalModal :is(.sale-detail-totals dd,.sale-detail-totals strong) { font-size: 20px !important; font-variant-numeric: tabular-nums; }
  body.erp-ui2.erp-phone #globalModal .sale-detail-totals dt { font-size: 12px !important; color: var(--mp-muted) !important; }
  body.erp-ui2.erp-phone #globalModal .sale-detail-overview { background: #f1f4f2 !important; padding: 16px !important; border: 0 !important; border-radius: 8px !important; }
  body.erp-ui2.erp-phone #globalModal .sale-detail-section { padding: 20px 0 !important; box-shadow: none !important; }
  body.erp-ui2.erp-phone #globalModal .sale-detail-section-heading h4 { font-size: 15px !important; }
  body.erp-ui2.erp-phone #globalModal :is(.detail-master-grid,.personnel-form-grid) { grid-template-columns: minmax(0,1fr) !important; gap: 16px !important; }
  body.erp-ui2.erp-phone #globalModal :is(.detail-master-customer,.personnel-form-grid) :is(input:not([type="checkbox"]):not([type="hidden"]),select,.lhx-select-trigger) { min-height: 44px !important; border-radius: 8px !important; font-size: 14px !important; }
  body.erp-ui2.erp-phone #globalModal .btn-group { border-top: 1px solid var(--mp-line) !important; background: #fff !important; padding: 12px 16px max(12px,env(safe-area-inset-bottom)) !important; }

  /* Existing personnel renderer, not a new phone route or permission model. */
  body.erp-ui2 #personnel { padding: 0 !important; background: transparent !important; }
  body.erp-ui2 #personnel :is(.master-section,.history-surface) { margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; }
  body.erp-ui2 #personnel .personnel-table:not(.personnel-role-table) { display: block; width: 100% !important; min-width: 0 !important; }
  body.erp-ui2 #personnel .personnel-table:not(.personnel-role-table) :is(thead,colgroup) { display: none; }
  body.erp-ui2 #personnel .personnel-table:not(.personnel-role-table) tbody { display: block; }
  body.erp-ui2 #personnel .personnel-table:not(.personnel-role-table) tr { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px 12px; padding: 16px !important; border-bottom: 1px solid var(--mp-line); background: #fff; }
  body.erp-ui2 #personnel .personnel-table:not(.personnel-role-table) td { display: block !important; grid-column: auto !important; grid-row: auto !important; width: auto !important; min-width: 0; padding: 0 !important; border: 0 !important; font-size: 12px !important; white-space: normal !important; overflow-wrap: anywhere; }
  body.erp-ui2 #personnel .personnel-table:not(.personnel-role-table) td:first-child { grid-column: 1 / -1 !important; }
  body.erp-ui2 #personnel .personnel-table:not(.personnel-role-table) td:last-child { grid-column: 1 / -1 !important; border-top: 1px solid #eef1ef !important; margin-top: 4px; padding-top: 8px !important; }
  body.erp-ui2 #personnel .personnel-record-heading .personnel-main { font-size: 15px !important; color: var(--mp-ink); }
  body.erp-ui2 #personnel :is(.personnel-record-meta,.personnel-muted,.personnel-hire-meta) { font-size: 12px !important; color: var(--mp-muted) !important; }
  body.erp-ui2 #personnel .personnel-actions { gap: 20px; justify-content: flex-end; }
  body.erp-ui2 #personnel .personnel-action { min-height: 44px; color: var(--mp-brand); }
}
