@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:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.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:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.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:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.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:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.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 Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAAVEABAAAAAACbQAAATsAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cKAZgAFQIPAmCcxEQCoMogyoLDgABNgIkAxgEIAWDPgdGDIMYG5AIUZQO0gyKrw54Q7ypR0jQbYRHROLUhDCW7dl5v9U7gZgNnv//P/2fa58ToWA6Xk/lVE57lQp6BP+c5oG/xieg5EDg4uZybyR3v5LD/fTo9pkrZS7hkbNOBRe8AGF4i5OQgoQSyPEEz//x1nTUJZ//Y6k/3vcLoGjCQ7r/LyumG2iSd+IwKYHOFkgDwDkyZ92IcSmd2G/3RAA7KVLIwcOdg1jRASIAjChbNrVo9M0du40bgD5dVwnyK0BdrEaBDvizZZquqAHlMJtNSkNpgAYoAIC26TIkAMbTnJFMKdRFYgzkGgBlVWHAoAAFaEAsDQFi6QSAEysKHXBhuNN4PAK2hSTymx0/70VYXiZBv2mHNMjWoFuHoHGbOpTZcQxwRmpwShtm2cOsrDhVvBb8KcUhaQq2Hn1FGJHIQ5yD/g+bY71KBUkA9FWxzKaCSgSJMBW0BArWsooBlQ1Yw7YdrFHAZXtgPQuoe4ujHcuBGaDrMDhIyAHjGsaOxlRSQZdh3WnHUh/cNPhGi8v8U8GUNIG17B71ic9Ubm5U5RAiaH6hR7ugcnGmhcP8uBRi92vpwaHFZY4Kq1VlHFbGQJFlzF5sS5aRz6zyrs0w42rCC6VKgQQ8grZTy9IiZ/YCjGemZjdXH9S107ibf4RKBVvSHJJWLqJJXQdBw4odL1MkwgOAGQAnoAFNoAsA6MCXKABAQNerTnGZnQsmuz538XvSHT67OEY6ZNAurkfkrOfsFweGn3/f8buceWuiA/tgkJHEeStnvup4oO+ZdxTnqnM1ufPo146uyneszI30xly/1xs8sb8qYt+bHwi2etL9D5QF/6oJJM7mVc2NjXTH3HB0T/DEPurFd+b7goGfUv25tUd8V+TNFDwKEMaCFVtUdG0IizeE9gYhOLQhtBLfPhreHgvBJyHMvUkbt7J84i8N41OlOlYfg3x8n2RmRvDAu5Wv9okjv4a5wcKVW7lLWjRKuJG9Hl3ROrWPFfuvRr4Ha6sF268h7lO4HmyiBB7i3GnfGwqRCdAKc6EFFpiI4vqJoIwF/6v4SxFAeOWcq+/anfE0/Ga1aV8CfFzd2gbwyRcvXfD/X///r1+o72KwoX5cq/z/HfRnGPDnKgiLklkexGB9p82oZjItDy+AmX4WZpgRAOygUA50BLCyTEN0GzDu/0QiNHhJonDzuESjyfHLdVJiIt6sxEyhCpN7KMGqY1fBrjolrcdYcLQ1q+BYxyj+HGs2FdtxtBUlehzWqU2rLr02LTnRgDnbjnHAjm2LinRZsmjNcbYMW3K0jDG9hlLFyve2et3mGerFsH/piuNsmnO0SC9wGLXDqC1LVjauNHSMiuw66cUtKx/kIEMZv1K1DD1jv3q0XcUMLTZtMuIsx9gsSzeJHO346heLKQCIpMtyCTMgotBEE91y3PaaPzEfhGyZv7XCemiLPwQFwgguVIH0PDcKPn/3MnkMCdyAteB5PPjlShU/tvA8QkNwLYtPVLWaoiYrafRoqWMZYtK9dMa0qZXHl+xl4ipOMKpZdtJqZkK7OpIkLbVwQLUCqfqlVg6rVSQl28tGUL1iGeISRTutquSThJCD8iqRJvH59nLSrkGJdLFZq4tt4w7PlqPSXQnjZcFSEIK/xFCYZrHkWCABskvuRF5wHGdWPDgGeanXtgPIYz4uxYk2P+BeAA==)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAR8AA0AAAAABVQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABMAAAAB4AAAAeRHRMdUdTVUIAAAFQAAAAJwAAACi4/LjqT1MvMgAAAXgAAABUAAAAYGl3oOZjbWFwAAABzAAAADwAAABUAMohV2dhc3AAAAIIAAAAEAAAABAAGAAhZ2x5ZgAAAhgAAADAAAAAwI9eV9BoZWFkAAAC2AAAADYAAAA2Gt1J6GhoZWEAAAMQAAAAHgAAACQHhQKoaG10eAAAAzAAAAAXAAAAGAZjAERsb2NhAAADSAAAAA4AAAAOAIoAim1heHAAAANYAAAAHAAAACAAGACzbmFtZQAAA3QAAADXAAABviKTP8Fwb3N0AAAETAAAADAAAABG/6CrQQABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaLYUxDkBAFAXnv10bCZ1Cu4XSAZSiE9le5UBaV1E5lx7CZCaDV20nDrRqBqbvtpCsAxUhZHI8wpv4GYcUrYe4u/JqrPVmVcQ2AOU6gIhuzNMJYHjaY2BgYAJiZiAWAZKMYJqFwQFI8zBwAOVYgCxeBgWGBQpb/v8HspF5jP+//n/8P/V+AEgfAgAAknEOOQABAAMACAAKABAABf//AA8AAgAgAAABiAMMAAMABwAAEyERISURIxEgAWj+mAEbzgMM/PRNAnL9jgAAAQAk//QCGgLGADUAAAUiJjU0NjcjNTM/ATUHIzUhNjU0JiMiByc+ATMyFhUUBgczFSMPARU3MxUhBhUUFjMyNxcOAQErZ2IKCFB4U0BkpwFCESsySDA5ImE2YVoKCE94UkBjpf7AEDM5RzI5I2AMWFATJxJINyAKB0ggIjAoOkEpKlhOEygTSDcgCgdIIh8wKTxAKiwAAQAAAAEAxCoHyPxfDzz1AAkD6AAAAADbN0JJAAAAANznwof++f7+BIgEcAAgAAkAAgAAAAAAAHjaY2BkYGBh/PcWSO759/PfD5YOoAgqYAMAryEHMgAAeNpjXMGgwAACVyCYyZ5BBUQDACxpA6sAAAAAFQAVABUAFQBgAGAAAHjaY2BkYGBgYwhiYGeIB9IgHgKwMDACABHfAMx42pWQM4KDURhFz9hTTv36sW3bShPbTvaVFWRfwS1+tXm659MTMEmMEYZGpwAfXYuHOKJt8TDztCwe4YSaxaOenDEWCFg8zhJbFs+LIEFFvcABq+plwpRIyq6IVyiLM9I8JeKKv3LDE/dc8MybIlEafBIkR5lL8tIIy4pFpUmqZPkRl9A+KIphnRU2rfXQ2smIBtnzQxwXZZRVcvawajFOtXHqo8gmKjLenVCcAk1KsuPoLzBssMY6+xhnZ2VRUt6K+JyMuvFUlJFFVBqV1tDurPQBFXFCdQB42mNgYgCD/2sZfBmwATYgZmRkYmBmZGZkYS/NyzQwMHAB0UYGTiYQvqMBAM4bCIg=)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 Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-vietnamese-500-normal-CkG7ISwK.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-vietnamese-500-normal-DtRh6yEl.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 Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-latin-ext-500-normal--oYb3bSD.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-ext-500-normal-C9nn0g37.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 Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-latin-500-normal-BqaLkUoX.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-500-normal-BLe87hIu.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 Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAAVsABAAAAAACiAAAAUUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cKAZgAFQIQgmCcxEQCoNAg0ELDgABNgIkAxgEIAWDSgdGDINWG/cICK4HeEMa9QvHYUYoWISVufhyPO4rK4wq8QCvG/Z+khpQ9VQUKmJGR7VhNlofJtO7WzYT/m8t/bOzfITh2QAfBfFyYSBXUpF13botgcrzFYYlS+gb3HN6PVb2Pa4Ohav2P3Vx21PdwH74+5m+WGikRhOOaID//63f/qKCK3XA6Xdii6sAOUw+PJpdIB2Anpo55RTBIV+qjt97ogBkBAqERo6uaAAeDSgHkzpSJOpY48behSnQAuzbkigomguDqKglYMKfHRZrCf1AlOVYhsJAxQBiIALAuOGVBA0F6YM49791KCQBmVJAFwBRhnoKpCggAmKgDgwBddDygBwehQaqIm7SB+UEjwrl396mQnbvWd+AKeW8YuRrU69KowkVkuwYc+WOB0Cu3Jc6lGLDLDYSQR09HcCnD1kChQkKYercxyFczSuF8qkSb9MnBHjJYocCFVJSNOqVw9JOCqpQgjq2cChwIfXJcZvRdS1hreQsLY5beZaOJiO9A3LSRtMZWwbP5nUhsvq5o3Nvw1xJHjovwDe0qrU1w6GgeTgJnM2TKBkj4TG6fszfTmIKE4gct53aUtsiHx3ZuHKNbPokiRTJr6fOPSZGNpY2uvazL0zr7Oao/dUhF2Q71l6e5prRuobWFa3FYrAQJslH21rjYqt54UWK143ZgDs0rCC3xm1GKeHo1BzXUfEEVNSZ6gKtAft/g9ehEAoT6luKvAGS1OoABOOJ9JhyWXWAigA5IAaGANMASIC/RQAEkCSpBzQV1f0VMnRv8Us4dqdxJqia56CZmaC5eyMce5kpDp396Gv2/GdHbzbIEmfOhOYs9VU7L7LnR8x6/imK1SO5tdXnLFQW9naoNqxorzQebJ1StVTlLgoR11a8P3n4ZJcuP8Ph+zBo/B/yaQNtbZXGQ6Oi0uWTtlS6N3nYbZr/2GNs/R7MisJ7eIrDE2rWSldwNUrwOyUwaq4Cd2n8BGYa3KqAn8Ue3dht437u2u0pq1RpxY4iFCgOFMREEIhA7WRgjSdbE/2KVhO4dZu2yzBMRwttm3jXaAYuwt9bnuCJvxYQ3r+NI/wabY0ndIEk9pZYLw6FvktTDkZAHsZADsa7oUzogZSJOB632//uQPD+xr5ZUn3gb5Wr4G/wE8PLAfi5/vf/yZ1kD0JAAQSQhH+TvDMBCyA7k4rhIcL7aShHI0mh5w9ARbU4fVgIIAMi6BcJBFQ2BEOJAGB+yECL5LnVUrSea7ECa/O0VcuwGtCy3JI+o1YSsNaCBTMyuLjM6zdn1IwF85zmjZrgNG3OMJdqPhVKFahUY8KgFfV6TZlXaNqUAQ71Bk0aVWDahAFNBs2ZN9p2Eh5OiYrNpG6WyOTDutlhiyb0muM5OH7S+UlHBsOnDxpAqIw1PWP1N5Dh33MWkcDNIx15iI341TkznIh8EyaQQjIfdA9qOEiWHviLThSAMi12j6gIhEABDhjR3OLmUTc8Xl1JcBckhS/Ndysg7ylEg8qHSaTFwFeXxAkVyEIDVM4vlnWSxApdpBdlPcsgQjA7AxFJo3Dh2+7wCpIinsSPYTpJcYuSszCfdA4SE86iVcrlFs4PZzGOTWmSJhxnsep5JYtkQ5OTxdP6Ax7Q5OVKcvzAswSFUsUJY4GxqFQWF9fvLJVEsSR2WrBqq1Ri3qcxppmXRyAOesqEw+VL4P/T91QuG7RTc/O4M9wbpAe7BD38wA6kBzu501DH2KTfNcYBrFtwDQA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAASIAA0AAAAABWQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABMAAAAB4AAAAeRHRMdUdTVUIAAAFQAAAAJwAAACi4/LjqT1MvMgAAAXgAAABTAAAAYGncofljbWFwAAABzAAAADwAAABUAMohV2dhc3AAAAIIAAAAEAAAABAAGAAhZ2x5ZgAAAhgAAADEAAAAxFI/PixoZWFkAAAC3AAAADYAAAA2GuVJ6WhoZWEAAAMUAAAAHgAAACQHjQKuaG10eAAAAzQAAAAXAAAAGAZoAEFsb2NhAAADTAAAAA4AAAAOAIwAjG1heHAAAANcAAAAHAAAACAAGAC1bmFtZQAAA3gAAADeAAAByiPTQMdwb3N0AAAEWAAAADAAAABG/6irTAABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaLYUxDkBAFAXnv10k6NSSLZQuoBOdiH4rB9K6isrlWGEyk8GrVcSB9nRYvttGtAFUFXkmRxLexM88rcFGCKer7856b9YE7ABQqQsI6AGbcwjaAHjaY2BgYAJiZiAWAZKMYJqFwQFI8zBwAOVYgCxeBgWGBQpb/v8HspF5jP+//n/8P/V+AEgfAgAAknEOOQABAAMACAAKABAABf//AA8AAgAgAAABiAMMAAMABwAAEyERISURIxEgAWj+mAEQuAMM/PRYAlz9pAAAAQAh//QCJALGADYAAAUiJjU0NjcjNTM/ATUHIzUhPgE1NCYjIgcnPgEzMhYVFAYHMxUjDwEVNzMVIQYVFBYzMjcXDgEBLmtkCQhPdk9GaaIBQgcGJi1GLj4gZDhkWwkIT3ZOR2mh/r8NLzNILj4hZAxcTRIlEU4xIAoHTg4fDyskN0smLFtNEiYRTjAiCghOGyArJDdLJi0AAAEAAAABAMSgvffYXw889QAJA+gAAAAA2zdCSwAAAADc58KH/ur+9gSfBHcAIAAJAAIAAAAAAAB42mNgZGBgYfz3Fkhe+Pfq3yuW+UARVMAGALBLB0AAAHjaY1zBoMAAAlcgmMmFQRFEAwAsfQOtAAAAABUAFQAVABUAYgBiAAB42mNgZGBgYGMIZGBnSALSIB4CsDAwAgASBQDOeNqVkEWWQkEQBGPcZznrPsC4u7s7ssLdHc7GCTgV+frhrPgaVZ2lwCwhJhibnBO7x+ZbPMYljRaPs0y9xRNcU2vxZI9mihUCLZ5mk90WL4sgQkF3hmM2dOfxkyMquyBeJy9O6J+WN6zzD+555Ylr3vjUSZAKP3hJSXkjVUqV1uQJklTktTwJef5l52wuKTBsKeNO63vSymZEo+b9lh2mKPaSa+fpxJtOBtPJEbR2UGSGsklDhio5+cJ2L4ZtNtniSNTKblU56dbFVyR0m56IvLWCtkaOkq203gTmuEO8AAB42mNgYgCD/1sZIhiwATYgZmRkYmBmZGZkYS/NyzQwMHAB0UYGTiYQvqMBANKMCJs=)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 Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-vietnamese-600-normal-CdKbmnAp.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-vietnamese-600-normal--5ui7us-.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 Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-latin-ext-600-normal-CBdNZ9Ci.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-ext-600-normal-DvCwRnqE.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 Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-latin-600-normal-CRd5VyFf.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-600-normal-6XnkKYvF.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{--paper:#f5f3ee;--surface:#fff;--ink:#1b1b1b;--ink-2:#353430;--steel:#68645c;--steel-300:#b5b0a6;--steel-200:#dcd8cf;--steel-100:#ece9e2;--line:#e5e1d9;--amber:#f2b705;--amber-ink:#5c4500;--amber-50:#fff6d6;--good:#1e9e6a;--good-50:#e3f5ec;--bad:#d24b4b;--bad-50:#fbe9e9;--warn:#c98a00;--warn-50:#fff3d1;--info:#3164c9;--info-50:#e7eefb;--brand:#1b1b1b;--cream:#eeede9;--r-sm:4px;--r:8px;--r-lg:14px;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--cond:"IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;--rail:232px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:400 15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:26px;line-height:1.2}h2{font-size:18px;line-height:1.3}h3{font-size:15px}p{margin:0}a{color:inherit}.muted{color:var(--steel)}.small{font-size:13px}.num,.tabular{font-family:var(--cond);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.shell{grid-template-columns:var(--rail) 1fr;min-height:100vh;display:grid}.rail{background:var(--ink);color:#d3cec4;flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.rail-brand{color:#fff;align-items:center;gap:10px;padding:4px 10px 22px;font-size:16px;font-weight:600;display:flex}.rail-brand .mark{background:var(--amber);width:26px;height:26px;color:var(--ink);font:700 13px var(--cond);border-radius:6px;place-items:center;display:grid}.rail nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.rail-group{color:#8a857b;margin:16px 10px 6px;font-size:12px}.rail a{border-radius:var(--r);color:#d3cec4;align-items:center;gap:10px;padding:8px 10px;font-size:14.5px;text-decoration:none;display:flex}.rail a:hover{color:#fff;background:#262f40}.rail a.active{color:#fff;box-shadow:inset 3px 0 0 var(--amber);background:#35332e}.rail a .count{background:var(--amber);color:var(--ink);font:600 11.5px var(--cond);border-radius:10px;margin-left:auto;padding:1px 7px}.rail svg{opacity:.9;flex:none;width:18px;height:18px}.rail-foot{border-top:1px solid #35332e;flex-direction:column;gap:6px;padding-top:12px;display:flex}.rail-user{color:#fff;align-items:center;gap:10px;padding:6px 10px;font-size:14px;text-decoration:none;display:flex}.rail-user small{color:#8a857b;font-size:12px;display:block}.lang{border:1px solid #45423b;border-radius:6px;width:max-content;margin:0 10px;display:inline-flex;overflow:hidden}.lang button{color:#a8a398;font:500 12.5px var(--sans);cursor:pointer;background:0 0;border:0;padding:3px 10px}.lang button.on{color:#fff;background:#45423b}.main{min-width:0;max-width:1440px;padding:28px 36px 64px}.topbar,.tabbar{display:none}@media (width<=900px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr;align-content:start}.rail{display:none}.topbar{background:var(--ink);color:#fff;z-index:20;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar .rail-brand{padding:0}.main{padding:18px 16px 96px}.tabbar{background:var(--surface);border-top:1px solid var(--line);z-index:20;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar button{color:var(--steel);font-size:11.5px;font-family:var(--sans);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;text-decoration:none;display:flex}.tabbar a.active{color:var(--ink)}.tabbar a.active svg{color:var(--ink);stroke-width:2.2px}.tabbar svg{width:22px;height:22px}h1{font-size:22px}}.drawer{z-index:40;background:#0f141e73;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer .rail{width:min(300px,85vw);height:100%;display:flex;position:relative}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head p{margin-top:4px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.panel-body{padding:16px 18px}.panel+.panel,.stack>*+*{margin-top:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.grid-dash{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1100px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-dash{grid-template-columns:1fr}}@media (width<=700px){.grid-2,.grid-3{grid-template-columns:1fr}}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.spacer{flex:1}.btn{border-radius:var(--r);border:1px solid var(--steel-200);background:var(--surface);height:36px;color:var(--ink);font:500 14px var(--sans);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 14px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--steel-300);background:#fbfaf7}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-2)}.btn-amber{background:var(--amber);border-color:var(--amber);color:var(--ink);font-weight:600}.btn-amber:hover:not(:disabled){background:#e5ad00;border-color:#e5ad00}.btn-danger{color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad-50);border-color:#f0c2c2}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--steel-100);border-color:#0000}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-lg{height:46px;padding:0 20px;font-size:15.5px}.icon-btn{border-radius:var(--r);cursor:pointer;width:32px;height:32px;color:var(--steel);background:0 0;border:0;font-size:15px}.icon-btn:hover{background:var(--steel-100);color:var(--ink)}.link{color:var(--info);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}input,select,textarea{font:400 14.5px var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--steel-200);border-radius:var(--r);width:100%;min-height:38px;padding:8px 10px}textarea{resize:vertical;min-height:90px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--info);box-shadow:0 0 0 3px var(--info-50);outline:none}input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:var(--ink)}input[type=color]{width:48px;padding:2px}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field-wide{grid-column:1/-1}.field-label{color:var(--ink-2);font-size:13px;font-weight:500}.field-hint{color:var(--steel);font-size:12.5px}.field-error{color:var(--bad);font-size:12.5px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.check{cursor:pointer;align-items:flex-start;gap:9px;font-size:14px;display:flex}.check input{flex:none;margin-top:2px}.seg{background:var(--steel-100);border-radius:var(--r);padding:3px;display:inline-flex}.seg button{font:500 13.5px var(--sans);color:var(--steel);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 12px}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1b1b1b1f}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:18px;display:flex;overflow-x:auto}.tab{font:500 14px var(--sans);color:var(--steel);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 14px;display:flex}.tab.on{color:var(--ink);border-bottom-color:var(--ink)}.tab-count{background:var(--amber);color:var(--ink);font:600 11.5px var(--cond);border-radius:10px;padding:0 6px}.badge{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:1px 8px;font-size:12.5px;font-weight:500;display:inline-flex}.badge-neutral{background:var(--steel-100);color:var(--ink-2)}.badge-good{background:var(--good-50);color:#126845}.badge-bad{background:var(--bad-50);color:#9b2c2c}.badge-warn{background:var(--warn-50);color:#7a5300}.badge-info{background:var(--info-50);color:#1e4699}.badge-amber{background:var(--amber);color:var(--ink)}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.avatar{color:var(--ink);font-weight:600;font-family:var(--cond);border-radius:50%;flex:none;place-items:center;display:inline-grid}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty-title{font-weight:600}.loading{color:var(--steel);align-items:center;gap:10px;padding:30px 4px;display:flex}.errorbox{background:var(--bad-50);color:#8b2525;border-radius:var(--r);padding:12px 14px}.notice{border-radius:var(--r);background:var(--info-50);color:#1e3f82;padding:11px 14px;font-size:14px}.notice-amber{background:var(--amber-50);color:var(--amber-ink)}.progress{background:var(--steel-100);border-radius:4px;height:6px;overflow:hidden}.progress-bar{background:var(--ink);border-radius:4px;height:100%}.progress-bar.good{background:var(--good)}.progress-bar.warn{background:var(--warn)}.progress-bar.bad{background:var(--bad)}hr.sep{border:0;border-top:1px solid var(--line);margin:16px 0}.table-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:14px}.t th{text-align:left;color:var(--steel);border-bottom:1px solid var(--line);white-space:nowrap;background:#fbfaf7;padding:10px 14px;font-size:12.5px;font-weight:500}.t td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.t tr:last-child td{border-bottom:0}.t tr.click{cursor:pointer}.t tr.click:hover td{background:#fbfaf7}.t .r{text-align:right}.t td.num{font-family:var(--cond);font-variant-numeric:tabular-nums;font-size:14.5px}.who{align-items:center;gap:10px;display:flex}.list>*{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 18px;display:flex}.list>:last-child{border-bottom:0}.list .grow{flex:1;min-width:0}.list .title{font-weight:500}.modal{border-radius:var(--r-lg);width:min(560px,100vw - 24px);max-height:calc(100vh - 40px);color:var(--ink);border:0;padding:0;box-shadow:0 20px 60px #0f141e4d}.modal-lg{width:min(860px,100vw - 24px)}.modal::backdrop{background:#0f141e73}.modal-inner{flex-direction:column;max-height:calc(100vh - 40px);display:flex}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:18px 20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);background:#fbfaf7;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ink);color:#fff;border-radius:var(--r);max-width:380px;padding:11px 16px;font-size:14px;animation:.18s ease-out toast-in;box-shadow:0 8px 24px #0f141e40}.toast-error{background:#8b2525}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}}@media (width<=900px){.toasts{bottom:84px;left:16px;right:16px}}.auth{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-side{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-side .roster-art{gap:10px;margin:40px 0;display:grid}.auth-side .roster-art div{background:#35332e;border-radius:5px;height:22px}.auth-side .roster-art div.a{background:var(--amber)}.auth-side h2{max-width:14ch;font-size:30px;font-weight:600;line-height:1.2}.auth-main{place-items:center;padding:32px 20px;display:grid}.auth-card{flex-direction:column;gap:16px;width:min(380px,100%);display:flex}@media (width<=900px){.auth{grid-template-columns:1fr}.auth-side{display:none}}.public{max-width:820px;margin:0 auto;padding:32px 20px 80px}.doc-text{white-space:pre-wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);max-height:60vh;padding:28px 32px;font-size:14.5px;line-height:1.65;overflow-y:auto}@media (width<=600px){.doc-text{padding:18px;font-size:14px}}.sigpad canvas{border:1.5px dashed var(--steel-300);border-radius:var(--r);touch-action:none;cursor:crosshair;background:#fff;width:100%;display:block}.sigpad-foot{justify-content:space-between;margin-top:6px;font-size:13px;display:flex}iframe.pdf{border:1px solid var(--line);border-radius:var(--r);background:#fff;width:100%;height:60vh}.punch{background:var(--ink);color:#fff;border-radius:var(--r-lg);grid-template-columns:1fr auto;align-items:center;gap:18px;padding:22px 24px;display:grid}.punch-time{font:600 52px/1 var(--cond);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.punch-meta{color:#bab5ab;margin-top:6px;font-size:14px}.punch-btn{background:var(--amber);width:132px;height:132px;color:var(--ink);font:700 17px var(--sans);cursor:pointer;border:0;border-radius:50%;transition:transform 80ms,box-shadow .2s;box-shadow:0 0 0 8px #f2b7052e}.punch-btn:hover:not(:disabled){box-shadow:0 0 0 12px #f2b70538}.punch-btn:active:not(:disabled){transform:scale(.96)}.punch-btn.out{background:#fff;box-shadow:0 0 0 8px #ffffff24}.punch-btn:disabled{opacity:.5;cursor:default}.punch.live .punch-time:after{content:"";background:var(--amber);vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-left:12px;animation:1.6s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.25}}@media (width<=600px){.punch{text-align:center;grid-template-columns:1fr}.punch-btn{width:150px;height:150px;margin:0 auto}.punch-time{font-size:46px}}.stats{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stat{border-right:1px solid var(--line);color:inherit;padding:14px 18px;text-decoration:none}.stat:last-child{border-right:0}a.stat:hover{background:#fbfaf7}.stat-v{font:600 26px/1.15 var(--cond);font-variant-numeric:tabular-nums}.stat-l{color:var(--steel);font-size:13px}.stat.attn .stat-v{color:var(--amber-ink)}.stat.attn{box-shadow:inset 0 3px 0 var(--amber)}@media (width<=700px){.stat{border-right:0;border-bottom:1px solid var(--line)}}.roster-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.weeknav{border:1px solid var(--steel-200);border-radius:var(--r);background:var(--surface);align-items:center;display:inline-flex}.weeknav button{cursor:pointer;height:34px;font:500 14px var(--sans);color:var(--ink);background:0 0;border:0;padding:0 11px}.weeknav button:hover{background:var(--steel-100)}.weeknav .wk{font-family:var(--cond);border-left:1px solid var(--steel-200);border-right:1px solid var(--steel-200);text-align:center;min-width:150px;padding:0 10px}.roster{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow-x:auto}.rgrid{grid-template-columns:210px repeat(7,minmax(118px,1fr));min-width:1040px;display:grid}.rgrid>div{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:58px}.rgrid>div:nth-child(8n){border-right:0}.rh{z-index:2;background:#fbfaf7;padding:9px 10px;font-size:13px;position:sticky;top:0;min-height:0!important}.rh.today{box-shadow:inset 0 3px 0 var(--amber)}.rh .d{font:600 15px var(--cond);color:var(--ink)}.rh .h{color:var(--steel);font-size:12px;font-family:var(--cond)}.rname{background:var(--surface);z-index:1;align-items:center;gap:9px;padding:8px 10px;display:flex;position:sticky;left:0}.rname .n{font-size:13.5px;font-weight:500;line-height:1.25}.rname .h{font:12px var(--cond);color:var(--steel)}.rname .h.over{color:var(--bad)}.rcell{flex-direction:column;gap:4px;padding:4px;display:flex;position:relative}.rcell.today{background:#fffcf0}.rcell.drop{background:var(--info-50);outline:2px dashed var(--info);outline-offset:-3px}.rcell .add{opacity:0;border:1px dashed var(--steel-300);color:var(--steel);cursor:pointer;background:0 0;border-radius:6px;height:24px;font-size:16px;line-height:1}.rcell:hover .add,.rcell .add:focus-visible{opacity:1}.rcell.unavail{background:repeating-linear-gradient(-45deg,#0000 0 6px,#f2f0eb 6px 12px)}.chip{background:var(--c-bg,var(--steel-100));border-left:3px solid var(--c,var(--steel));cursor:pointer;text-align:left;font-size:12.5px;line-height:1.3;font-family:var(--sans);color:var(--ink);border-top:0;border-bottom:0;border-right:0;border-radius:6px;width:100%;padding:5px 7px 5px 9px}.chip:hover{filter:brightness(.97)}.chip .tm{font:600 13px var(--cond);font-variant-numeric:tabular-nums}.chip .lb{color:var(--ink-2);font-size:12px}.chip.draft{background:repeating-linear-gradient(-45deg, var(--c-bg) 0 5px, #fff 5px 8px);border-left-style:dashed}.chip.conflict{box-shadow:inset 0 0 0 1.5px var(--bad)}.chip.open{background:var(--amber-50);border-left-color:var(--amber)}.chip[draggable=true]{cursor:grab}.leavechip{color:#fff;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500}.leavechip.pending{opacity:.55}.rfoot{font:12.5px var(--cond);color:var(--steel);background:#fbfaf7;padding:8px 10px;min-height:0!important}.rfoot b{color:var(--ink);font-weight:600}.legend{color:var(--steel);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.daylist>div{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:12px 16px;display:flex}.daylist>div:last-child{border-bottom:0}.daylist .dl-date{text-align:center;flex:none;width:54px}.daylist .dl-date b{font:600 22px/1 var(--cond);display:block}.daylist .dl-date small{color:var(--steel);font-size:12px}.daylist .dl-date.today b{color:var(--amber-ink)}.bars{align-items:flex-end;gap:8px;height:170px;padding-top:10px;display:flex}.bars .b{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.bars .col{flex-direction:column;flex:1;justify-content:flex-end;width:100%;max-width:46px;display:flex;position:relative}.bars .fill{background:var(--ink);border-radius:4px 4px 0 0;min-height:2px}.bars .fill.good{background:var(--good)}.bars .fill.warn{background:var(--warn)}.bars .fill.bad{background:var(--bad)}.bars .tgt{border-top:2px dashed var(--ink);position:absolute;left:-4px;right:-4px}.bars .lbl{font:12px var(--cond);color:var(--steel);white-space:nowrap}.bars .val{font:600 12.5px var(--cond)}.gauge-big{font:600 44px/1 var(--cond);font-variant-numeric:tabular-nums}.task{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 18px;display:flex}.task:last-child{border-bottom:0}.task .tick{border:2px solid var(--steel-300);cursor:pointer;color:#fff;background:0 0;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;font-size:12px;display:grid}.task .tick.done{background:var(--good);border-color:var(--good)}.task.done .title{color:var(--steel);text-decoration:line-through}.task .grow{flex:1;min-width:0}.overdue{color:var(--bad)}.vars{flex-wrap:wrap;gap:6px;display:flex}.vars button{font:12.5px var(--cond);background:var(--steel-100);cursor:pointer;color:var(--ink-2);border:0;border-radius:4px;padding:3px 7px}.vars button:hover{background:var(--steel-200)}textarea.code{font:13.5px/1.6 var(--sans);min-height:360px}.mailbody{white-space:pre-wrap;border:1px solid var(--line);border-radius:var(--r);background:#fbfaf7;padding:12px 14px;font-size:13.5px}:root{--ease-out:cubic-bezier(.22, .9, .3, 1);--ease-spring:cubic-bezier(.34, 1.36, .5, 1)}.page{animation:page-in .32s var(--ease-out) both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}.btn,.tab,.rail a,.icon-btn,.chip,.seg button,.subnav button{transition:background-color .16s,color .16s,border-color .16s,box-shadow .2s,transform .12s}.btn:active:not(:disabled){transform:translateY(1px)scale(.985)}dialog.modal[open]{animation:dialog-in .26s var(--ease-spring) both}dialog.modal[open]::backdrop{animation:.2s both fade-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes fade-in{0%{opacity:0}}.toast{animation:toast-in .34s var(--ease-spring) both}.drawer{animation:.2s both fade-in}.drawer .rail{animation:drawer-in .3s var(--ease-out) both}@keyframes drawer-in{0%{transform:translate(100%)}}.tab{position:relative;border-bottom-color:#0000!important}.tab:after{content:"";background:var(--ink);height:2px;transition:transform .28s var(--ease-out);border-radius:2px;position:absolute;bottom:-1px;left:10px;right:10px;transform:scaleX(0)}.tab.on:after{transform:scaleX(1)}.progress-bar{transition:width .6s var(--ease-out)}.rail a.active{box-shadow:inset 3px 0 0 var(--amber)}.appbar{justify-content:flex-end;align-items:center;gap:10px;margin:-10px 0 18px;display:flex}.appbar .kbd-btn{border-radius:var(--r);border:1px solid var(--steel-200);background:var(--surface);height:36px;color:var(--steel);font:14px var(--sans);cursor:pointer;align-items:center;gap:10px;min-width:240px;padding:0 10px 0 12px;display:inline-flex}.appbar .kbd-btn:hover{border-color:var(--steel-300)}kbd{font:500 11.5px var(--cond);background:var(--steel-100);color:var(--steel);border-radius:4px;margin-left:auto;padding:1px 6px}@media (width<=900px){.appbar{display:none}}.menu-wrap{position:relative}.menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);z-index:30;min-width:210px;animation:pop .18s var(--ease-out) both;transform-origin:100% 0;padding:5px;position:absolute;top:calc(100% + 6px);box-shadow:0 12px 32px #0f141e29}.menu-right{right:0}.menu-left{transform-origin:0 0;left:0}.menu button{text-align:left;width:100%;font:14px var(--sans);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.menu button:hover,.menu button:focus-visible{background:var(--steel-100)}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(-4px)}}.palette-back{z-index:60;background:#0f141e66;justify-content:center;align-items:flex-start;padding-top:12vh;animation:.16s both fade-in;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border-radius:var(--r-lg);width:min(560px,100vw - 24px);animation:dialog-in .24s var(--ease-spring) both;overflow:hidden;box-shadow:0 24px 64px #0f141e59}.palette input{border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:56px;padding:16px 18px;font-size:17px}.palette input:focus{box-shadow:none}.palette-list{max-height:50vh;padding:6px;overflow-y:auto}.palette-list button{text-align:left;width:100%;font:14.5px var(--sans);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.palette-list button.on{background:var(--ink);color:#fff}.palette-list button small{color:var(--steel)}.palette-list button.on small{color:#bab5ab}.dt .dt-tabs{margin:0;padding:0 12px}.tab-n{font:500 12px var(--cond);color:var(--steel)}.tab.on .tab-n{color:var(--ink)}.tab.zero{color:var(--steel-300)}.dt-tools{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.search{align-items:center;width:min(280px,100%);display:flex;position:relative}.search svg{color:var(--steel);pointer-events:none;position:absolute;left:10px}.search input{padding-left:32px}.th-sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:inline-flex}.th-sort.on{color:var(--ink)}.t.dense td{padding:8px 14px}.affix{border:1px solid var(--steel-200);border-radius:var(--r);background:var(--surface);align-items:center;display:flex}.affix span{color:var(--steel);padding:0 4px 0 10px}.affix input{border:0;padding-left:4px}.affix:focus-within{border-color:var(--info);box-shadow:0 0 0 3px var(--info-50)}.form-h{color:var(--steel);margin-top:6px;font-size:14px;font-weight:600}.skel{flex-direction:column;gap:12px;padding:18px;display:flex}.skel-row{background:linear-gradient(90deg, var(--steel-100) 0%, #f6f4ef 40%, var(--steel-100) 80%);background-size:300% 100%;border-radius:6px;height:14px;animation:1.4s linear infinite shimmer,.3s both fade-in}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-50% 0}}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--line)}.chart .axis{font:11.5px var(--cond);fill:var(--steel)}.chart .line{fill:none;stroke:var(--c);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .9s var(--ease-out) 50ms forwards}.chart .area{fill:var(--c);opacity:.08;animation:.9s both fade-in}.chart .dotp{fill:var(--surface);stroke:var(--c);stroke-width:2px;transition:r .15s;animation:.4s .6s both fade-in}.chart .hoverline{stroke:var(--steel-300);stroke-dasharray:3 3}@keyframes draw{to{stroke-dashoffset:0}}.tip{background:var(--ink);color:#fff;pointer-events:none;white-space:nowrap;z-index:5;border-radius:8px;padding:8px 10px;font-size:12.5px;animation:.12s both fade-in;position:absolute;top:0;transform:translate(-50%);box-shadow:0 8px 20px #0f141e40}.tip b{margin-bottom:2px;display:block}.bchart{align-items:stretch;gap:6px;padding-bottom:22px;padding-left:46px;display:flex;position:relative}.bgrid{pointer-events:none;position:absolute;inset:0 0 22px}.bgrid span{border-top:1px solid var(--line);width:100%;font:11.5px var(--cond);color:var(--steel);position:absolute;left:0;transform:translateY(-50%)}.bgrid span:before{content:""}.bcol{flex-direction:column;flex:1;justify-content:flex-end;min-width:0;display:flex;position:relative}.bstack{flex:1;justify-content:center;align-items:flex-end;gap:2px;display:flex;position:relative}.bstack.stacked{flex-direction:column-reverse;justify-content:flex-start;align-items:stretch;width:min(100%,44px);margin:0 auto}.bseg{transform-origin:bottom;width:min(100%,44px);animation:grow-y .6s var(--ease-out) both;border-radius:4px 4px 0 0;min-height:1px}.bstack.stacked .bseg{border-radius:0;width:100%}.bstack.stacked .bseg:last-child{border-radius:4px 4px 0 0}.bline{border-top:2px dashed var(--ink);position:absolute;left:-3px;right:-3px}.bcol:hover .bseg{filter:brightness(1.08)}.blabel{font:11.5px var(--cond);color:var(--steel);white-space:nowrap;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.bcol .tip{top:auto;bottom:100%;left:50%}@keyframes grow-y{0%{transform:scaleY(0)}}.hbars{flex-direction:column;gap:9px;display:flex}.hbar{grid-template-columns:110px 1fr 54px;align-items:center;gap:10px;font-size:13.5px;display:grid}.hb-track{background:var(--steel-100);border-radius:6px;height:10px;overflow:hidden}.hb-fill{transform-origin:0;height:100%;animation:grow-x .7s var(--ease-out) both;border-radius:6px}.hb-v{text-align:right}@keyframes grow-x{0%{transform:scaleX(0)}}.legend .dot{margin-right:2px}.with-subnav{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:22px;display:grid}.subnav{flex-direction:column;gap:2px;display:flex;position:sticky;top:16px}.subnav-title{padding:4px 12px 10px;font-weight:600}.subnav button{text-align:left;border-radius:var(--r);font:14.5px var(--sans);color:var(--ink-2);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.subnav button:hover{background:var(--steel-100)}.subnav button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1b1b1b14, inset 3px 0 0 var(--amber);font-weight:500}@media (width<=900px){.with-subnav{grid-template-columns:1fr;gap:12px}.subnav{flex-direction:row;gap:6px;padding-bottom:4px;position:static;overflow-x:auto}.subnav-title{display:none}.subnav button{white-space:nowrap;background:var(--surface);border:1px solid var(--line)}}.tl{padding:10px 18px 16px;position:relative}.tl-axis{font:11.5px var(--cond);color:var(--steel);grid-template-columns:140px 1fr;margin-bottom:6px;display:grid}.tl-hours{height:16px;position:relative}.tl-hours span{position:absolute;transform:translate(-50%)}.tl-row{grid-template-columns:140px 1fr;align-items:center;min-height:32px;display:grid}.tl-name{white-space:nowrap;text-overflow:ellipsis;padding-right:10px;font-size:13.5px;overflow:hidden}.tl-track{background:repeating-linear-gradient(90deg, transparent 0 calc(100% / 24 - 1px), var(--line) calc(100% / 24 - 1px) calc(100% / 24));border-radius:6px;height:22px;position:relative}.tl-bar{background:var(--steel-200);font:600 11.5px var(--cond);color:var(--ink);white-space:nowrap;transform-origin:0;animation:grow-x .6s var(--ease-out) both;border-radius:5px;align-items:center;padding:0 7px;display:flex;position:absolute;top:2px;bottom:2px;overflow:hidden}.tl-bar.in{background:var(--ink);color:#fff}.tl-bar.done{background:var(--steel-300)}.tl-bar.late{background:var(--bad-50);color:#9b2c2c;box-shadow:inset 0 0 0 1.5px var(--bad)}.tl-bar.missed{background:var(--warn-50);color:#7a5300}.tl-bar.open{background:var(--amber-50);box-shadow:inset 0 0 0 1.5px dashed var(--amber);color:var(--amber-ink)}.tl-now{background:var(--amber);z-index:2;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.tl-now:before{content:attr(data-label);font:600 11px var(--cond);color:var(--ink);background:var(--amber);border-radius:3px;padding:0 5px;position:absolute;top:-2px;left:6px}@media (width<=700px){.tl-axis,.tl-row{grid-template-columns:90px 1fr}}.kpi{padding:16px 18px}.kpi .stat-v{font-size:30px}.kpi .delta{font:500 12.5px var(--cond)}.upcoming>div{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 18px;display:flex}.upcoming>div:last-child{border-bottom:0}.upcoming .when{text-align:center;background:var(--steel-100);border-radius:8px;flex:none;width:46px;padding:4px 0}.upcoming .when b{font:600 17px/1.1 var(--cond);display:block}.upcoming .when small{color:var(--steel);font-size:11px}.upcoming .when.amber{background:var(--amber-50)}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:left;cursor:pointer;font:inherit;color:inherit;grid-template-columns:6px 1fr;padding:0;display:grid;overflow:hidden}.cat:hover{border-color:var(--steel-300)}.cat .bar{background:var(--c,var(--steel-200))}.cat .body{flex-direction:column;gap:6px;padding:14px 16px;display:flex}.cat .counts{flex-wrap:wrap;gap:6px;display:flex}.cat .counts span{font:12.5px var(--cond);border:1px solid var(--line);color:var(--ink-2);border-radius:5px;padding:1px 7px}.cat.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.week-sched{border:1px solid var(--line);text-align:center;font:12px var(--cond);border-radius:6px;grid-template-columns:repeat(7,30px);display:inline-grid;overflow:hidden}.week-sched span{color:var(--steel);padding:2px 0}.week-sched b{padding:2px 0;font-weight:600}.week-sched .off{color:var(--steel-300)}.cal{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-h{font:500 12.5px var(--sans);color:var(--steel);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfaf7;padding:8px}.cal-d{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:3px;min-width:0;min-height:104px;padding:6px;display:flex}.cal-d.other{color:var(--steel-300);background:#fbfaf7}.cal-d.today{box-shadow:inset 0 3px 0 var(--amber)}.cal-d .n{font:600 13px var(--cond)}.cal-ev{white-space:nowrap;text-overflow:ellipsis;color:#fff;border-radius:4px;padding:1px 6px;font-size:11.5px;overflow:hidden}.cal-ev.soft{color:var(--ink);background:var(--steel-100)}@media (width<=700px){.cal-d{min-height:64px}.cal-ev{height:6px;padding:0;font-size:0}}.warnline{color:#8b2525;background:var(--bad-50);border-radius:var(--r);align-items:flex-start;gap:8px;padding:9px 12px;font-size:13.5px;display:flex}.codegrid{grid-template-columns:1fr 140px;align-items:center;gap:8px 14px;display:grid}.keybox{font:14px var(--cond);background:var(--ink);color:#fff;border-radius:var(--r);word-break:break-all;padding:12px 14px}pre.snippet{border:1px solid var(--line);border-radius:var(--r);background:#f4f2ed;padding:12px 14px;font-size:12.5px;overflow-x:auto}.rail{padding:14px 10px}.rail-brand{padding-bottom:14px}.rail a{padding:6px 10px;font-size:14px}.rail-group{margin:12px 10px 4px}.rail-foot{gap:4px;padding-top:8px}td.strong{font-weight:600}.cat .body>.badge{align-self:flex-start}.otp{font:600 20px/1 var(--mono,"IBM Plex Mono", monospace);letter-spacing:.35em;text-align:center;width:11ch;padding:10px 8px}.otp-lg{width:100%;padding:14px;font-size:28px}.tfa-setup{grid-template-columns:180px 1fr;align-items:start;gap:20px;animation:.35s cubic-bezier(.2,.8,.2,1) page-in;display:grid}.tfa-setup img{border:1px solid var(--line);box-sizing:content-box;background:#fff;border-radius:10px;padding:6px}@media (width<=600px){.tfa-setup{grid-template-columns:1fr;justify-items:center}}.forced-2fa{background:radial-gradient(1200px 500px at 50% -10%, #f2b70524, transparent 60%), var(--bg,#f5f3ee);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.forced-2fa .panel{animation:.4s cubic-bezier(.2,.8,.2,1) dialog-in}.install-banner{background:var(--ink);color:#fff;border-radius:14px;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;animation:.45s cubic-bezier(.2,.8,.2,1) both page-in;display:flex;box-shadow:0 10px 30px -12px #1b1b1b73}.install-banner img{border-radius:10px;flex:none}.install-banner>div{flex:1;gap:2px;min-width:0;display:grid}.install-banner span{color:#b9b4aa;font-size:13px}.install-banner .icon-btn{color:#b9b4aa;width:32px;height:32px;font-size:22px}html{-webkit-tap-highlight-color:transparent}@media (display-mode:standalone){body{overscroll-behavior-y:none}.rail,.tabbar,.topbar{-webkit-user-select:none;user-select:none}}.native body{overscroll-behavior-y:none}.kv{grid-template-columns:max-content 1fr;gap:8px 20px;font-size:14px;display:grid}.kv span{color:var(--steel)}.kv b{overflow-wrap:anywhere;font-weight:500}.checklist{gap:10px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.checklist li{padding-left:28px;position:relative}.checklist li:before{border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:grid;position:absolute;top:0;left:0}.checklist li.ok:before{content:"✓";background:var(--good-50,#e6f4ea);color:var(--good,#1e7b3a)}.checklist li.warn:before{content:"!";color:#8a6400;background:#fff4cc}.page .panel,.page .stat-card,.page .grid-dash>*,.page .grid-2>*{animation:rise-in .48s var(--ease-out) both}.page :is(.grid-dash,.grid-2,.stack,.cards)>:nth-child(2){animation-delay:50ms}.page :is(.grid-dash,.grid-2,.stack,.cards)>:nth-child(3){animation-delay:.1s}.page :is(.grid-dash,.grid-2,.stack,.cards)>:nth-child(4){animation-delay:.15s}.page :is(.grid-dash,.grid-2,.stack,.cards)>:nth-child(n+5){animation-delay:.2s}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}.route-bar{z-index:60;pointer-events:none;background:linear-gradient(90deg, transparent, var(--amber) 30%, var(--amber) 70%, transparent);transform-origin:0;height:2px;animation:route-bar .7s var(--ease-out) forwards;position:fixed;top:0;left:0;right:0}@keyframes route-bar{0%{opacity:1;transform:scaleX(0)}70%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.panel{transition:box-shadow .25s ease, transform .25s var(--ease-out), border-color .2s ease}a.panel:hover,.panel.click:hover,.cat-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px -16px #1b1b1b59}tr.click{transition:background-color .15s}.rail .count,.badge-count{animation:pop-in .35s var(--ease-spring) both}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}}.auth-side{position:relative;overflow:hidden}.auth-side:before{content:"";pointer-events:none;background:radial-gradient(circle,#f2b70517,#0000 65%);border-radius:50%;width:520px;height:520px;animation:9s ease-in-out infinite alternate glow;position:absolute;top:-160px;right:-180px}@keyframes glow{to{transform:translate(-60px,80px)scale(1.15)}}.auth-side .roster-art div{transform-origin:0;animation:bar-in .7s var(--ease-out) both}.auth-side .roster-art div:nth-child(2){animation:bar-in .7s var(--ease-out) .12s both, glide 5s ease-in-out 1.2s infinite alternate}.auth-side .roster-art div:nth-child(3){animation-delay:.24s}.auth-side .roster-art div:nth-child(4){animation-delay:.36s}@keyframes bar-in{0%{opacity:0;transform:scaleX(0)}}@keyframes glide{to{margin-left:32%}}.auth-card{animation:rise-in .5s var(--ease-out) .1s both}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.brand-logo{align-items:center;display:inline-flex}.brand-logo img{width:auto;max-width:100%;display:block}.brand-text{align-items:center;gap:10px;display:inline-flex}.brand-text .mark{background:var(--amber);width:26px;height:26px;color:var(--ink);font:700 13px var(--cond);border-radius:6px;place-items:center;display:grid}.auth-card .auth-logo{display:none}@media (width<=860px){.auth-card .auth-logo{margin-bottom:8px;display:block}}.logo-field{align-items:center;gap:12px;display:flex}.logo-preview{border-radius:var(--r);border:1px solid var(--line);place-items:center;width:160px;height:56px;padding:8px;display:grid}.logo-preview img{max-width:100%;max-height:100%}.logo-preview.on-dark{background:var(--ink);border-color:var(--ink)}.logo-preview.on-light{background:#fff}
