@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-vietnamese-600-normal-Ipewt4hn.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-600-normal-BppAn7jL.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-ext-600-normal-CN5JKkBm.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-600-normal-DF26P3Q7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-nxTgbNFE.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-600-normal-Bw0J83-2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-vietnamese-700-normal-BLYPkJbo.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-700-normal-CHrFuVHU.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-ext-700-normal-fBkt-7fi.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-700-normal-BXpPFNFj.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-700-normal-gtcctNPv.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-700-normal-DvJDmrLu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-naskh-arabic-arabic-400-normal-U_i0HMfG.woff2)format("woff2"),url(/assets/noto-naskh-arabic-arabic-400-normal-BbtnoHPw.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-naskh-arabic-math-400-normal-tNY49amj.woff2)format("woff2"),url(/assets/noto-naskh-arabic-math-400-normal-Cc6k5nmJ.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,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+1EE??}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-naskh-arabic-symbols-400-normal-BoBMuTRv.woff2)format("woff2"),url(/assets/noto-naskh-arabic-symbols-400-normal-Dl1ACUvb.woff)format("woff");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-naskh-arabic-latin-ext-400-normal-BbeOg8Tq.woff2)format("woff2"),url(/assets/noto-naskh-arabic-latin-ext-400-normal-DYccoTFX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-naskh-arabic-latin-400-normal-Dajb6q3W.woff2)format("woff2"),url(/assets/noto-naskh-arabic-latin-400-normal-DfwmpeL0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ledger-900:#0e3b2e;--ledger-700:#175243;--ledger-600:#1d6a50;--accent:var(--ledger-600);--ledger-100:#e4efe7;--paper:#fafbf7;--card:#fff;--ink:#1c2b2a;--ink-soft:#5a6b66;--rule:#d8e2da;--stamp-red:#b3442e;--stamp-red-ink:#8f3524;--stamp-yellow:#b98900;--stamp-yellow-ink:#8c6a00;--brass:#c9a227;--focus:#2b7db8;--on-primary:#fff;--on-primary-muted:#cfe0d6;--stamp-red-tint:color-mix(in srgb, var(--stamp-red) 12%, var(--card));--font-display:"Bricolage Grotesque", "IBM Plex Sans", sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-data:"IBM Plex Mono", monospace;--font-urdu:"Noto Naskh Arabic", serif;--text-xs:12px;--text-sm:13.5px;--text-md:15px;--text-lg:19px;--text-xl:26px;--text-2xl:34px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--radius:6px;--radius-lg:10px;--shadow-card:0 1px 2px #0e3b2e0f, 0 4px 16px #0e3b2e0d;--chart-1:var(--ledger-600);--chart-2:var(--stamp-yellow);--chart-3:var(--brass);--chart-4:var(--focus);--chart-5:var(--stamp-red);--chart-6:var(--ledger-700);--chart-collection:var(--ledger-600);--chart-expense:var(--stamp-red);--chart-profit:var(--focus);--chart-grid:var(--rule);--campus-1:#1d5c9e;--campus-2:#6b4423;--campus-3:#8a3a80;--campus-4:#3f5c8c;--campus-5:#54459e;--campus-6:#175e96}[dir=rtl] body,[lang=ur] body{font-family:var(--font-urdu)}.stamp{font:700 var(--text-xs)/1.6 var(--font-data);letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-600);border:1.5px solid;border-radius:4px;padding:2px 10px;display:inline-block;transform:rotate(-2deg)}.stamp.off{color:var(--stamp-red)}.stamp.core{color:var(--brass);transform:rotate(0)}@media (prefers-reduced-motion:no-preference){.stamp.just-stamped{animation:.16s ease-out stamp-in}@keyframes stamp-in{0%{opacity:.4;transform:rotate(-2deg)scale(1.25)}to{opacity:1;transform:rotate(-2deg)scale(1)}}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font:400 var(--text-md)/1.55 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-display);margin:0}button{font:inherit;cursor:pointer}button,input,select,textarea{touch-action:manipulation}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.btn:active{transform:none!important}}.data{font-family:var(--font-data);font-variant-numeric:tabular-nums}.rule-row{border-bottom:1px solid var(--rule)}.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0}@media (width<=720px){.card table{max-width:100%;display:block;overflow-x:auto}.card table th,.card table td{white-space:nowrap}.card table th:first-child,.card table td:first-child{z-index:1;background:var(--card);box-shadow:1px 0 0 var(--rule);position:sticky;inset-inline-start:0}.card table thead th:first-child{z-index:2;background:var(--paper)}.card>header,.section-head{gap:var(--sp-2);flex-wrap:wrap}}.btn{--btn-ring:color-mix(in srgb, var(--focus) 38%, transparent);justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);min-height:44px;color:var(--ink);font:600 var(--text-sm)/1 inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 18px;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform 80ms;display:inline-flex;position:relative}.btn:hover{background:var(--ledger-100)}.btn:focus-visible{box-shadow:0 0 0 3px var(--btn-ring);outline:none}.btn:active{transform:translateY(.5px)scale(.985)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn:disabled:hover{background:var(--card)}.btn-primary{--btn-ring:color-mix(in srgb, var(--ledger-600) 45%, transparent);background:var(--ledger-600);border-color:var(--ledger-600);color:var(--on-primary);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 16%, transparent)}.btn-primary:hover{background:var(--ledger-700);border-color:var(--ledger-700)}.btn-primary:active{box-shadow:none}.btn-primary:disabled,.btn-primary:disabled:hover{background:var(--ledger-600);box-shadow:none}.btn-danger-ghost{--btn-ring:color-mix(in srgb, var(--stamp-red) 40%, transparent);border-color:var(--stamp-red);color:var(--stamp-red);background:0 0}.btn-danger-ghost:hover{background:var(--stamp-red-tint)}.btn-danger-ghost:disabled:hover{background:0 0}.btn-sm{gap:6px;min-height:36px;padding:6px 12px}.btn-sm svg{flex-shrink:0}.btn[aria-busy=true]{color:color-mix(in srgb, currentColor 55%, transparent);pointer-events:none}.btn[aria-busy=true]:before{content:"";border:2px solid;border-block-start-color:#0000;border-radius:50%;flex-shrink:0;block-size:14px;inline-size:14px;animation:.6s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.field{margin-bottom:var(--sp-4);display:block}.field>span{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--sp-1);font-weight:500;display:block}.field input,.field select,.field textarea{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);width:100%;min-height:44px;color:var(--ink);font:inherit;padding:10px 12px;font-size:16px;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:unset}.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.45;cursor:not-allowed}.form-error{color:var(--stamp-red);font-size:var(--text-sm);margin:var(--sp-1) 0 0}.dimmed{opacity:.55}.callout{border:1px solid color-mix(in srgb, var(--brass) 55%, var(--rule));border-radius:var(--radius);background:color-mix(in srgb, var(--brass) 8%, var(--card));padding:var(--sp-3) var(--sp-4);margin:var(--sp-3) var(--sp-4)}.callout-title{margin:0 0 var(--sp-1);font-weight:600}.callout-body{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.callout-danger{border-color:color-mix(in srgb, var(--stamp-red) 45%, var(--rule));background:color-mix(in srgb, var(--stamp-red) 7%, var(--card))}.callout-info{border-color:var(--rule);background:var(--paper)}.btn-link{min-height:0;color:var(--ledger-600);font:600 var(--text-sm)/1.4 inherit;cursor:pointer;text-align:start;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover{color:var(--ledger-700)}.form-success{color:var(--ledger-600);font-size:var(--text-sm);margin:var(--sp-1) 0 0}.royalty-table-wrap{overflow-x:auto}.royalty-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.royalty-table th,.royalty-table td{padding:var(--sp-2);border-block-end:1px solid var(--rule);text-align:start;white-space:nowrap;vertical-align:top}.royalty-table th:last-child,.royalty-table td:last-child{text-align:end}.royalty-table th{color:var(--ink-soft);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.royalty-cell-sub{color:var(--ink-soft);font-size:var(--text-xs);display:block}.table-wrap{max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th,.data-table td{padding:var(--sp-3) var(--sp-2);text-align:start;vertical-align:middle;border-block-end:1px solid var(--rule);white-space:nowrap}.data-table .wrap{white-space:normal;min-width:12ch}.data-table .end{text-align:end}.data-table thead th{color:var(--ink-soft);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-block-end-width:1.5px}.data-table .num{text-align:end;font-family:var(--font-data);font-variant-numeric:tabular-nums}.data-table thead .num{font-family:inherit}.data-table .code{text-align:start;font-family:var(--font-data);font-variant-numeric:tabular-nums}.data-table tbody tr:last-child td{border-block-end:none}.data-table tfoot td{border-block-start:1.5px solid var(--rule);border-block-end:none;font-weight:700}@media (hover:hover) and (pointer:fine){.data-table tbody tr{transition:background-color .12s}.data-table tbody tr:hover{background:color-mix(in srgb, var(--ledger-100) 55%, transparent)}}.pill{align-items:center;gap:var(--sp-1);white-space:nowrap;font:600 var(--text-xs)/1.7 var(--font-body);border:1px solid;border-radius:100px;padding:2px 10px;display:inline-flex}.pill-paid{color:var(--ledger-600);background:color-mix(in srgb, var(--ledger-600) 8%, transparent)}.pill-due{color:var(--stamp-red-ink);background:color-mix(in srgb, var(--stamp-red) 8%, transparent)}.pill-draft{color:var(--stamp-yellow-ink);background:color-mix(in srgb, var(--stamp-yellow) 10%, transparent)}.stat-row{gap:var(--sp-5);padding:var(--sp-3) var(--sp-4);border-block-end:1px solid var(--rule);flex-wrap:wrap;display:flex}.stat-row>div{flex-direction:column;gap:2px;display:flex}.stat-label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stat-value{font:700 var(--text-md)/1.3 var(--font-data);font-variant-numeric:tabular-nums}.stat-value.is-zero{color:var(--ink-soft);font-weight:600}.stat-value.is-due{color:var(--stamp-red-ink)}.field-inline{align-items:center;gap:var(--sp-2);white-space:nowrap;margin-bottom:0;display:inline-flex}.field-inline>span{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.field-inline>input{margin:0}.badge-quiet{align-items:center;gap:var(--sp-1);border:1px solid var(--rule);border-radius:var(--radius);font-size:var(--text-xs);color:var(--ink-soft);background:var(--paper);padding:2px 10px;display:inline-flex}.dist-warning{border:1px solid var(--stamp-red);border-radius:var(--radius);background:color-mix(in srgb, var(--stamp-red) 8%, transparent);color:var(--stamp-red-ink);font-size:var(--text-sm);padding:var(--sp-2) var(--sp-3);margin-block:0 var(--sp-3);font-weight:600}.dist-cash-negative{color:var(--stamp-red);font-weight:700}@media print{.shell-side,.dist-no-print{display:none!important}.shell{display:block}}.recovery-badge{border-radius:var(--radius);font-size:var(--text-xs);white-space:nowrap;border:1px solid #0000;align-items:center;padding:2px 10px;font-weight:700;display:inline-flex}.recovery-badge-green{background:color-mix(in srgb, var(--ledger-600) 14%, transparent);color:var(--ledger-700);border-color:var(--ledger-600)}.recovery-badge-yellow{background:color-mix(in srgb, var(--stamp-yellow) 16%, transparent);color:var(--stamp-yellow-ink);border-color:var(--stamp-yellow)}.recovery-badge-red{background:color-mix(in srgb, var(--stamp-red) 12%, transparent);color:var(--stamp-red-ink);border-color:var(--stamp-red)}.recovery-badge-unknown{background:var(--paper);color:var(--ink-soft);border-color:var(--rule)}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--rule) 25%, var(--ledger-100) 50%, var(--rule) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.campus-name.campus-name{color:var(--campus-accent,var(--ledger-600));font-weight:700}.campus-name-lg{font-size:1.08em}.chart-bar{transition:filter .12s}.chart-bar:hover{filter:brightness(1.12)}.chart-area{pointer-events:none}.chart-line{stroke-linejoin:round;stroke-linecap:round}.chart-point{transition:r .12s}.chart-point:hover{r:5}.chart-point-ring{fill:none;stroke-width:2px;opacity:.9;pointer-events:none}.chart-arc{transform-box:fill-box;transform-origin:50%;transition:opacity .12s,transform .12s}.chart-donut-chart svg:hover .chart-arc{opacity:.5}.chart-arc:hover{opacity:1;transform:scale(1.03)}.chart-donut-total{font-family:var(--font-data);fill:var(--ink)}.chart-donut-caption{font-family:var(--font-body);fill:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}@media (prefers-reduced-motion:no-preference){.chart-bar{transform-box:fill-box;transform-origin:bottom;animation:.5s cubic-bezier(.22,.61,.36,1) backwards chart-bar-rise}.chart-line{stroke-dasharray:var(--chart-line-len,2000);stroke-dashoffset:var(--chart-line-len,2000);animation:.8s ease-out forwards chart-line-draw}.chart-area{animation:.8s ease-out backwards chart-area-in}.chart-point,.chart-point-ring{animation:.3s ease-out backwards chart-point-in}.chart-arc{animation:.5s ease-out backwards chart-arc-in}@keyframes chart-bar-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes chart-line-draw{to{stroke-dashoffset:0}}@keyframes chart-area-in{0%{opacity:0}to{opacity:1}}@keyframes chart-point-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes chart-arc-in{0%{opacity:0}to{opacity:1}}}.update-toast{inset-block-end:var(--sp-4);inset-inline:var(--sp-4);z-index:60;justify-content:space-between;align-items:center;gap:var(--sp-3);background:var(--ledger-900);max-width:380px;color:var(--on-primary);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);box-shadow:0 6px 24px color-mix(in srgb, var(--ink) 30%, transparent);font-size:var(--text-sm);margin-inline:auto;display:flex;position:fixed}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.shell-side{background:var(--ledger-900);color:var(--on-primary);padding:var(--sp-5) var(--sp-4);gap:var(--sp-5);flex-direction:column;display:flex}.shell-eyebrow{color:var(--brass);font:700 var(--text-xs)/1 var(--font-data);letter-spacing:.14em;text-transform:uppercase}.shell-brand{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.shell-nav a{color:var(--on-primary);border-radius:var(--radius);font-size:var(--text-sm);box-sizing:border-box;min-height:44px;padding:12px 10px;text-decoration:none;transition:background-color .15s;display:block}.shell-nav a:hover,.shell-nav a.on{background:var(--ledger-700)}.shell-nav-group{margin-top:var(--sp-3);color:var(--on-primary-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;padding:4px 10px}.shell-foot{gap:var(--sp-2);font-size:var(--text-sm);flex-direction:column;margin-top:auto;display:flex}.shell-foot button{color:var(--on-primary-muted);text-align:start;padding:var(--sp-2) 0;background:0 0;border:none;align-items:center;min-height:44px;transition:color .15s;display:inline-flex}.shell-foot button:hover{color:var(--on-primary)}.shell-main{padding:var(--sp-6);width:100%;min-width:0;max-width:980px;margin:0 auto}@media (width<=720px){.shell{grid-template-columns:minmax(0,1fr)}.shell-side{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);z-index:20;flex-direction:row;position:sticky;top:0;overflow-x:auto}.shell-side>*{flex:none}.shell-nav{gap:var(--sp-1);display:flex}.shell-nav a{white-space:nowrap;padding:10px 12px}.shell-nav-group{display:none}.shell-foot{margin-top:0;align-items:center;gap:var(--sp-3);background:var(--ledger-900);padding-inline:var(--sp-3);border-inline-start:1px solid var(--ledger-700);flex-direction:row;margin-inline-start:auto;position:sticky;inset-inline-end:0}.shell-user{display:none}.shell-main{padding:var(--sp-3)}.registry-row{gap:var(--sp-2);padding:var(--sp-3);flex-wrap:wrap}.registry-meta{gap:var(--sp-2);flex-wrap:wrap;margin-inline-start:0}}.registry-card{margin-bottom:var(--sp-5);overflow:hidden}.registry-head{align-items:center;gap:var(--sp-3);padding:var(--sp-4);display:flex}.registry-head a{color:inherit;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;text-decoration:none}.registry-head a:hover{text-decoration:underline}.code-box{font:700 var(--text-xs)/1 var(--font-data);letter-spacing:.06em;border:1.5px solid var(--ink);text-transform:uppercase;border-radius:4px;padding:5px 7px}.registry-meta{gap:var(--sp-4);color:var(--ink-soft);font-size:var(--text-sm);align-items:center;margin-inline-start:auto;display:flex}.registry-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--rule);font-size:var(--text-sm);cursor:default;transition:background-color .15s;display:flex}.registry-row:hover{background:color-mix(in srgb, var(--ledger-100) 60%, transparent)}.module-strip{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.module-chip{font:500 var(--text-xs)/1.6 var(--font-data);background:var(--ledger-100);border-radius:4px;padding:2px 8px}.sheet-header{margin-bottom:var(--sp-5);padding:var(--sp-4)}.sheet-header-top{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.sheet-header-name{font-size:var(--text-xl);font-family:var(--font-display);color:var(--ledger-600)}.sheet-header-stamp{display:inline-flex}.sheet-warning-chip{font:600 var(--text-xs)/1.6 var(--font-body);background:color-mix(in srgb, var(--stamp-red) 12%, transparent);color:var(--stamp-red-ink);border-radius:var(--radius);padding:2px 10px}.sheet-header-nav{align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);display:flex}.sheet-header-date{font-family:var(--font-data);font-size:var(--text-md);font-weight:600}.sheet-lock-meta{margin-top:var(--sp-2);color:var(--ink-soft);font-size:var(--text-sm)}.sheet-offday-body{text-align:center;padding:var(--sp-7) var(--sp-4);color:var(--ink-soft)}.sheet-offday-note{font-size:var(--text-sm)}.sheet{gap:var(--sp-5);grid-template-columns:1fr;display:grid}@media (width>=900px){.sheet{grid-template-columns:1fr 1fr}}.sheet-col{padding:0;overflow:hidden}.sheet-col-title{font-size:var(--text-lg);font-weight:700;font-family:var(--font-display);padding:var(--sp-4);border-bottom:1px solid var(--rule)}.sheet-row{align-items:center;gap:var(--sp-3);row-gap:var(--sp-1);flex-wrap:wrap;transition:background-color .15s;display:flex}.sheet-row-name{flex-direction:column;flex:140px;min-width:0;display:flex}.sheet-row-desc{font-size:var(--text-xs);color:var(--ink-soft)}.sheet-row-amount{text-align:right;min-width:90px}.sheet-row-split{text-align:right;min-width:150px;color:var(--ink-soft);font-size:var(--text-sm)}.sheet-row-total{text-align:right;min-width:100px;font-weight:600}.sheet-row-opening{font-weight:600}.sheet-row-total-line{border-top:2px solid var(--rule);padding:var(--sp-3) var(--sp-4);font-weight:700}.sheet-row-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;margin-inline-start:auto;display:flex}.sheet-row-edit-field{flex:120px;min-width:0;margin-bottom:0}.sheet-row-editing{row-gap:var(--sp-2);flex-wrap:wrap}.sheet-add-form{padding:var(--sp-4)}@media (width<=600px){.sheet-row-name{flex-basis:100%}.sheet-row-amount,.sheet-row-split,.sheet-row-total{flex:auto;min-width:0}.sheet-row-actions{flex-basis:100%;justify-content:flex-end}}.sheet-row-receipt{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.sheet-receipt-upload{cursor:pointer;font-size:var(--text-xs);color:var(--ink-soft);align-items:center;margin:0;display:inline-flex}.sheet-receipt-upload input{margin:0}.sheet-receipt-image{padding-top:var(--sp-2);flex-basis:100%}.row-pbd{background:color-mix(in srgb, var(--brass) 8%, transparent)}.row-disc{background:color-mix(in srgb, var(--focus) 8%, transparent)}.sheet-pending{border-top:1px dashed var(--rule);margin-top:var(--sp-3);padding-top:var(--sp-2)}.sheet-pending-note{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;padding:0 var(--sp-4)}.sheet-pending-heading{font-size:var(--text-sm);color:var(--ink-soft);padding:0 var(--sp-4);margin:var(--sp-2) 0}.pending-cleared{opacity:.55}.pending-cleared .sheet-row-name{text-decoration:line-through}.sheet-other-collection{border-top:1px dashed var(--rule);margin-top:var(--sp-3);padding-top:var(--sp-2)}.sheet-lock-panel{margin-bottom:var(--sp-5);padding:var(--sp-4)}.sheet-lock-system-total{gap:var(--sp-1);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.sheet-lock-label{font-size:var(--text-sm);color:var(--ink-soft)}.sheet-lock-total-figure{font-family:var(--font-data);font-size:var(--text-2xl);font-weight:700}.sheet-lock-match{color:var(--ledger-600);font-weight:600}.sheet-lock-gap{color:var(--stamp-red);font-weight:600}.sheet-lock-hint{color:var(--ink-soft);font-size:var(--text-sm)}.sheet-lock-actions{gap:var(--sp-3);margin-top:var(--sp-3);align-items:center;display:flex}.sheet-reopen-dialog{margin-top:var(--sp-3);gap:var(--sp-2);flex-direction:column;display:flex}.sheet-reopen-dialog textarea{font:inherit;padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);font-size:16px;transition:border-color .15s,box-shadow .15s}.sheet-banner{border:1px solid var(--brass);background:var(--paper);border-radius:var(--radius);padding:var(--sp-4);margin-bottom:var(--sp-5);gap:var(--sp-2);flex-direction:column;display:flex}.sheet-banner-title{font-weight:600}.sheet-banner-reason{color:var(--ink-soft);font-size:var(--text-sm)}.sheet-fee-records{margin-top:var(--sp-5);padding:0;overflow:hidden}.sheet-fee-records-header{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--rule);display:flex}.sheet-fee-records-total{font-size:var(--text-lg);font-weight:700}.sheet-fee-records-note{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;padding:var(--sp-2) var(--sp-4) 0}.fee-record-row-wrap{border-bottom:1px solid var(--rule)}.fee-record-row-wrap:last-child{border-bottom:none}.fee-record-row{cursor:pointer;text-align:start;width:100%;font:inherit;color:inherit;background:0 0;border:none}.fee-record-label{min-width:120px}.fee-record-detail{padding:var(--sp-3) var(--sp-4) var(--sp-4);background:var(--paper)}.fee-record-confidence{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--sp-2)}.fee-record-no-receipt{color:var(--ink-soft);font-size:var(--text-sm);margin-bottom:var(--sp-2)}.fee-slip-checklist{margin-bottom:var(--sp-3)}.fee-slip-checklist-title{margin:0 0 var(--sp-1);font-weight:600}.fee-slip-checklist p{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-1);flex-wrap:wrap;display:flex}.fee-slip-ok{color:var(--ledger-700)}.fee-slip-missing{color:var(--stamp-red-ink);font-weight:600}.fee-slip-remaining{color:var(--stamp-red-ink);font-weight:700}.fee-check-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin-bottom:var(--sp-3)}.fee-check-table td{padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--rule);vertical-align:top}.fee-check-icon{text-align:center;font-weight:700}.fee-check-note{color:var(--ink-soft);font-size:var(--text-xs)}.fee-check-pass .fee-check-icon{color:var(--ledger-600)}.fee-check-fail-blocked .fee-check-icon{color:var(--stamp-red)}.fee-check-fail-blocked td{background:color-mix(in srgb, var(--stamp-red) 8%, transparent)}.fee-check-fail-blocked .fee-check-name{color:var(--stamp-red-ink);font-weight:600}.fee-check-fail-blocked .fee-check-note{color:var(--stamp-red-ink)}.fee-check-fail-warning .fee-check-icon{color:var(--brass)}.fee-check-info .fee-check-icon{color:var(--ink-soft)}.fee-record-images{gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.fee-record-thumb{border:1px solid var(--rule);border-radius:var(--radius);object-fit:contain;max-width:160px;max-height:160px}.fee-record-no-image{border:1px dashed var(--rule);border-radius:var(--radius);width:160px;height:90px;color:var(--ink-soft);font-size:var(--text-xs);justify-content:center;align-items:center;display:flex}.fee-record-upload{max-width:320px}.fee-record-actions{gap:var(--sp-3);margin-top:var(--sp-2);display:flex}.fee-reason-dialog{margin-top:var(--sp-3);gap:var(--sp-2);flex-direction:column;display:flex}.fee-reason-dialog textarea{font:inherit;padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);font-size:16px;transition:border-color .15s,box-shadow .15s}.cash-line{margin-top:var(--sp-5);border-top:3px solid var(--ledger-900);gap:var(--sp-4);padding:var(--sp-5) var(--sp-4);grid-template-columns:repeat(4,1fr);display:grid}.cash-line-item{gap:var(--sp-1);flex-direction:column;display:flex}.cash-line-label{font-size:var(--text-sm);color:var(--ink-soft)}.cash-line-figure{font-size:var(--text-lg);font-weight:600}.cash-line-closing .cash-line-figure{font-size:var(--text-2xl);font-weight:700}@media (width<=720px){.sheet-page{padding-bottom:96px}.cash-line{z-index:5;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);margin-top:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));position:sticky;bottom:0;box-shadow:0 -6px 14px -8px #0e3b2e73}.cash-line-item{gap:0}.cash-line-label{font-size:10px;line-height:1.3}.cash-line-figure{font-size:var(--text-sm)}.cash-line-closing .cash-line-figure{font-size:var(--text-md)}}.exp-row{padding:var(--sp-3) var(--sp-4)}.exp-main{align-items:flex-start;gap:var(--sp-4);display:flex}.exp-main .sheet-row-name{flex-direction:column;flex:1;gap:2px;min-width:0;font-weight:600;display:flex}.exp-main .sheet-row-desc{color:var(--ink-soft);font-weight:400;font-size:var(--text-sm)}.exp-main .sheet-row-split{color:var(--ink-soft);font-weight:400;font-size:var(--text-xs)}.exp-main .sheet-row-total{font-size:var(--text-md);white-space:nowrap;font-weight:700}.exp-actions{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.exp-actions:empty{margin:0;display:none}.upload-success-chip{align-items:center;gap:var(--sp-2);color:var(--ledger-600);font-size:var(--text-sm);margin:var(--sp-2) 0 0;font-weight:600;display:inline-flex}.upload-success-chip svg{flex-shrink:0}@media (prefers-reduced-motion:no-preference){.upload-success-chip{animation:.16s ease-out chip-in}@keyframes chip-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}}.receipt-viewer-scrim{padding:var(--sp-5);z-index:50;background:#0e1412b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.receipt-viewer-panel{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;max-width:min(90vw,640px);max-height:90vh;display:flex;overflow:auto}.receipt-viewer-body{justify-content:center;align-items:center;min-height:120px;display:flex}.receipt-viewer-image{object-fit:contain;border-radius:var(--radius);max-width:100%;max-height:65vh}.receipt-viewer-pdf{align-items:center;gap:var(--sp-3);color:var(--ink-soft);font-family:var(--font-data);font-size:var(--text-md);display:flex}.receipt-viewer-actions{gap:var(--sp-3);flex-wrap:wrap;justify-content:flex-end;display:flex}@media (width<=720px){.receipt-viewer-scrim{padding:var(--sp-3)}.receipt-viewer-panel{padding:var(--sp-4);width:100%;max-width:100%;max-height:94vh}.receipt-viewer-image{max-height:70vh}.receipt-viewer-actions{justify-content:stretch}.receipt-viewer-actions .btn{flex:auto}}.sheet-receipt-upload{cursor:pointer;position:relative;overflow:hidden}.sheet-receipt-upload input{opacity:0;cursor:pointer;font-size:0;position:absolute;inset:0}.sheet-row-receipt{display:contents}.sheet-receipt-image{margin-top:var(--sp-2);flex-basis:100%}.sheet-receipt-image img{border:1px solid var(--rule);border-radius:var(--radius);max-width:320px;max-height:240px}.cal-grid{background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);grid-template-columns:repeat(7,1fr);gap:2px;display:grid;overflow:hidden}.cal-weekday{background:var(--card);padding:var(--sp-2);text-align:center;font-size:var(--text-xs);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.cal-cell{background:var(--card);min-height:56px;font:inherit;color:var(--ink);padding:var(--sp-2);text-align:start;border:none;justify-content:flex-start;align-items:flex-start;transition:background-color .15s;display:flex}button.cal-cell{cursor:pointer}button.cal-cell:hover{background:var(--ledger-100)}button.cal-cell:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){button.cal-cell:active{transform:none}}.cal-cell-day{font-family:var(--font-data);font-weight:600}.cal-blank{background:0 0}.cal-offday{background:var(--ledger-100)}.cal-ring-working{box-shadow:inset 0 0 0 2px var(--ledger-600)}.cal-ring-holiday{box-shadow:inset 0 0 0 2px var(--stamp-red)}.cal-legend{gap:var(--sp-4);margin-top:var(--sp-4);font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;align-items:center;display:flex}.cal-legend-item{align-items:center;gap:var(--sp-2);display:flex}.cal-legend-swatch{background:var(--card);border:1px solid var(--rule);border-radius:3px;width:16px;height:16px;display:inline-block}.cal-legend-swatch.cal-offday{background:var(--ledger-100)}.cal-legend-swatch.cal-ring-working{box-shadow:inset 0 0 0 2px var(--ledger-600)}.cal-legend-swatch.cal-ring-holiday{box-shadow:inset 0 0 0 2px var(--stamp-red)}
