@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/001f750b538f7a9e-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/80841ae24d03ed90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/5eae37b69937655e-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/4f48fe9100901594-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/970d71e7dcbc144d-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3f718d64f9a6dea-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,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:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/4120b0a488381b31-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a634e73dfeff02c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1e41be92c43b3255-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/001f750b538f7a9e-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/80841ae24d03ed90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/5eae37b69937655e-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/4f48fe9100901594-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/970d71e7dcbc144d-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3f718d64f9a6dea-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,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:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/4120b0a488381b31-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a634e73dfeff02c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1e41be92c43b3255-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/001f750b538f7a9e-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/80841ae24d03ed90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/5eae37b69937655e-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/4f48fe9100901594-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/970d71e7dcbc144d-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3f718d64f9a6dea-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,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:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/4120b0a488381b31-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a634e73dfeff02c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1e41be92c43b3255-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Roboto Fallback;src:local("Arial");ascent-override:92.98%;descent-override:24.47%;line-gap-override:0.00%;size-adjust:99.78%}.__className_c06d0e{font-family:Roboto,Roboto Fallback;font-style:normal}.__variable_c06d0e{--font-roboto:"Roboto","Roboto Fallback"}:root{--bg:#0f0f0f;--panel:#171717;--panel-2:#202020;--panel-3:#262626;--border:#2b2b2b;--border-soft:#232323;--text:#f1f1f1;--muted:#9a9a9a;--faint:#6f6f6f;--accent:#cbcbcb;--accent-ink:#141414;--link:#3fc4d0;--green:#5cc85c;--pink:#ff5db1;--orange:#ffa64d;--yellow:#f2cf3f;--teal:#37c6d0;--red:#ff5b5b;--gold:#cbb26a;--purple:#b083ff;--blue:#5b9dff;--accent-2:var(--green);--danger:var(--red);--warn:var(--orange);--vendor:var(--pink);--radius:8px;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--font:var(--font-roboto),Roboto,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 4px 14px rgba(0,0,0,0.35);--shadow-lg:0 10px 32px rgba(0,0,0,0.5);--ring:0 0 0 3px rgba(203,203,203,0.22);--ease:cubic-bezier(0.4,0,0.2,1);--dur:0.16s}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:.85em}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--panel);position:-webkit-sticky;position:sticky;top:0;z-index:10}.app-header .brand{font-weight:700;letter-spacing:.02em}.app-header nav{display:flex;gap:1rem;flex-wrap:wrap}.container{max-width:1200px;margin:0 auto;padding:1.25rem}.shell{display:grid;grid-template-columns:200px 1fr;grid-template-rows:48px 1fr;grid-template-areas:"topbar topbar" "sidebar main";height:100vh}.topbar{grid-area:topbar;gap:.75rem;padding:0 .6rem 0 .5rem;background:var(--panel);border-bottom:1px solid var(--border);z-index:30}.topbar,.topbrand{display:flex;align-items:center}.topbrand{gap:.5rem;min-width:190px}.topbrand .logo{width:24px;height:24px;border-radius:6px;flex:0 0 24px;object-fit:cover;display:block}.topbrand .name{font-size:.95rem;font-weight:500;white-space:nowrap}.topsearch{flex:1 1;display:flex;justify-content:center}.topsearch form{width:100%;max-width:720px;position:relative;display:flex;align-items:center}.topsearch .search-ico{position:absolute;left:.65rem;color:var(--muted);display:flex;pointer-events:none}.topsearch .search-ico svg{width:15px;height:15px}.topsearch input{width:100%;padding:.4rem .8rem .4rem 2rem;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;color:var(--text);font:inherit}.topsearch input::placeholder{color:var(--faint)}.topactions{display:flex;align-items:center;gap:.45rem}.avatar{width:28px;height:28px;border-radius:50%;flex:0 0 28px;display:grid;place-items:center;background:var(--panel-3);color:var(--text);font-size:.8rem;font-weight:600}.sidebar{grid-area:sidebar;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;z-index:20;padding:.35rem 0}.nav-sep{height:1px;background:var(--border);margin:.4rem .55rem}.nav-item{display:flex;align-items:flex-start;gap:.55rem;padding:.45rem .7rem;color:var(--muted);font-size:.76rem;line-height:1.25;border-left:3px solid transparent;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-left-color var(--dur) var(--ease)}.nav-item:hover{background:rgba(255,255,255,.04);color:var(--text);text-decoration:none}.nav-item.active{color:var(--text);background:rgba(255,255,255,.06);border-left-color:var(--accent)}.nav-item svg{width:17px;height:17px;flex:0 0 17px;margin-top:1px;opacity:.85}.nav-item.active svg{opacity:1}.main{grid-area:main;overflow:auto;padding:.75rem 1rem}.menu-toggle{display:none}@media (max-width:900px){.shell{grid-template-columns:1fr;grid-template-areas:"topbar" "main"}.sidebar{position:fixed;top:48px;left:0;height:calc(100vh - 48px);width:220px;transform:translateX(-100%);transition:transform .18s ease}.shell.nav-open .sidebar{transform:translateX(0)}.menu-toggle{display:inline-flex}.topbrand{min-width:0}.topbrand .name{display:none}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem}.stat{font-size:1.9rem;font-weight:700}.btn,button{font:inherit;font-weight:500;padding:.4rem .85rem;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;box-shadow:var(--shadow-sm);transition:filter var(--dur) var(--ease),background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn:hover,button:hover{filter:brightness(1.05);box-shadow:var(--shadow-md)}.btn:active,button:active{transform:translateY(1px);box-shadow:var(--shadow-sm)}.btn:focus-visible,button:focus-visible{outline:none;box-shadow:var(--ring)}.btn.secondary,button.secondary{background:transparent;color:var(--muted);border-color:var(--border);font-weight:400;box-shadow:none}.btn.secondary:hover,button.secondary:hover{color:var(--text);filter:none;box-shadow:none}.btn.danger,button.danger{background:transparent;color:var(--danger);border-color:var(--danger);box-shadow:none}.btn.danger:hover,button.danger:hover{background:rgba(255,91,91,.12);filter:none;box-shadow:none}button:disabled{opacity:.5;cursor:default;filter:none;box-shadow:none;transform:none}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer;box-shadow:none;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.iconbtn svg{width:16px;height:16px}.iconbtn:hover{background:rgba(255,255,255,.08);color:var(--text);box-shadow:none}.iconbtn:active{transform:scale(.92)}.iconbtn:focus-visible{outline:none;box-shadow:var(--ring)}.iconbtn.approve{color:var(--accent-2)}.iconbtn.hold{color:var(--warn)}.iconbtn.stop{color:var(--danger)}.iconbtn.approve:hover{color:var(--accent-2);background:rgba(92,200,92,.16)}.iconbtn.hold:hover{color:var(--warn);background:rgba(255,166,77,.16)}.iconbtn.stop:hover{color:var(--danger);background:rgba(255,91,91,.16)}.iconbtn.on-approve{color:var(--accent-2);background:rgba(92,200,92,.2);box-shadow:inset 0 0 0 1.5px var(--accent-2)}.iconbtn.on-hold{color:var(--warn);background:rgba(255,166,77,.2);box-shadow:inset 0 0 0 1.5px var(--warn)}.iconbtn.on-stop{color:var(--danger);background:rgba(255,91,91,.2);box-shadow:inset 0 0 0 1.5px var(--danger)}.iconbtn:disabled{opacity:.45;cursor:default}.rowactions{display:inline-flex;gap:.15rem}.cell-link svg,.rowactions svg,td.rowedit svg{stroke-width:2.5}.iconbtn.edit,.iconbtn.invoice{color:var(--text)}label{display:block;margin:.75rem 0 .25rem;color:var(--muted);font-size:.8rem}input,select,textarea{width:100%;padding:.45rem .6rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.readonly,input[readonly]{opacity:.7}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}table.grid{border-collapse:collapse;width:100%;font-size:.8rem}table.grid td,table.grid th{border-bottom:1px solid var(--border-soft);padding:.4rem .6rem;text-align:left;white-space:nowrap;max-width:340px;overflow:hidden;text-overflow:ellipsis}table.grid th{background:var(--bg);position:-webkit-sticky;position:sticky;top:0;color:var(--muted);font-weight:500;font-size:.864rem;z-index:1;border-bottom:1px solid var(--border);white-space:normal;vertical-align:middle}table.grid th.short{max-width:8rem}table.grid th.formula{color:var(--muted)}table.grid td{color:#fff;transition:background-color var(--dur) var(--ease)}table.grid tr:hover td{background:rgba(255,255,255,.03)}.panels table.grid.dense td{max-width:160px}table.grid.dense td,table.grid.dense th{padding:.28rem .55rem;font-size:.76rem}table.grid.dense th{font-size:.912rem}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}th .sort-ind{opacity:.8;margin-left:.25rem;font-size:.7em}tr.clickable{cursor:pointer}tr.group-header td{background:var(--panel-2);position:-webkit-sticky;position:sticky;top:52px;z-index:1;padding:.3rem .6rem}tr.group-header .group-label{color:var(--gold);font-weight:600;letter-spacing:.01em}tr.group-header .group-label.status-approved{color:var(--green)}tr.group-header .group-label.status-pending{color:var(--yellow)}tr.group-header .group-label.status-hold{color:var(--orange)}tr.group-header .group-label.status-disapproved{color:var(--red)}tr.group-header .count{color:var(--muted);font-weight:400;margin-left:.5rem;font-size:.85em}table.grid td.num,table.grid th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.grid td.rowactions-cell,table.grid td.rowchevron,table.grid td.rowedit{color:var(--muted);text-align:center;width:1%;white-space:nowrap}td.rowchevron svg,td.rowedit svg{width:16px;height:16px;vertical-align:middle;opacity:.7}td.rowedit svg{color:var(--text);opacity:1}tr:hover td.rowchevron svg{opacity:1}td.sticky-right{position:-webkit-sticky;position:sticky;right:0;background:var(--panel-2)}.cell-vendor{cursor:pointer}.cell-vendor:hover{text-decoration:underline}.vendor-green{color:var(--green)}.vendor-pink{color:var(--pink)}.cell-gl,.cell-link svg{color:var(--text)}.cell-link svg{width:16px;height:16px;vertical-align:middle;opacity:1}.status{font-weight:500}.status-approved{color:var(--green)}.status-hold{color:var(--orange)}.status-disapproved{color:var(--red)}.status-pending{color:var(--yellow)}.yn-yes{color:var(--green);font-weight:600}.cell-warn,.yn-no{color:var(--red);font-weight:600}.dept-tavern{color:var(--purple);font-weight:500}.dept-accounts{color:var(--pink);font-weight:500}.dept-bottleshop{color:var(--blue);font-weight:500}.dept-kitchen{color:var(--green);font-weight:500}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.72rem;border:1px solid var(--border);color:var(--muted)}.badge.formula{color:var(--warn);border-color:var(--warn)}.badge.readonly{color:var(--muted)}.drawer-scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:40}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(460px,96vw);background:var(--panel);border-left:1px solid var(--border);z-index:41;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.55);animation:drawer-in .22s var(--ease)}@keyframes drawer-in{0%{transform:translateX(12px);opacity:0}to{transform:translateX(0);opacity:1}}@media (prefers-reduced-motion:reduce){.drawer{animation:none}}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .9rem;border-bottom:1px solid var(--border)}.drawer-head h3{margin:0;font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-head .head-actions{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}.drawer-body{overflow:auto;padding:.75rem .9rem 1rem;flex:1 1}.drawer-foot{padding:.7rem .9rem;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;gap:.55rem}.drawer-foot .foot-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.drawer-foot .foot-row.danger-zone{justify-content:flex-end;border-top:1px solid var(--border-soft);padding-top:.6rem}.drawer-foot .foot-row.delete-row{justify-content:center}.drawer-body .body-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}.drawer-body .body-actions .btn,.drawer-body .body-actions button{display:inline-flex;align-items:center;gap:.4rem;min-height:36px}.drawer-body .body-actions svg{width:15px;height:15px}.drawer-foot .foot-row .btn,.drawer-foot .foot-row button{display:inline-flex;align-items:center;gap:.4rem;min-height:36px}.drawer-foot .foot-row svg{width:15px;height:15px}.foot-error{color:var(--danger);font-size:.8rem}.drawer-foot .foot-error-center{text-align:center}.field-row{margin-bottom:.7rem}.field-row>label{margin:0 0 .2rem;color:#dcdcdc}.field-req{color:var(--red);margin-left:.15rem}.field-ro{color:#fff;font-weight:700;word-break:break-word;padding:.15rem 0}.field-tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;opacity:.6;margin-left:.35rem}.confirm-scrim{z-index:50}.confirm-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,92vw);z-index:51;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);display:flex;flex-direction:column;animation:confirm-in .16s var(--ease)}@keyframes confirm-in{0%{transform:translate(-50%,calc(-50% + 8px));opacity:0}to{transform:translate(-50%,-50%);opacity:1}}@media (prefers-reduced-motion:reduce){.confirm-dialog{animation:none}}.confirm-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .9rem .5rem}.confirm-head h3{margin:0;font-size:.98rem;font-weight:600}.confirm-body{padding:0 .9rem .4rem;color:var(--text);font-size:.86rem}.confirm-body p{margin:.2rem 0 .5rem;color:var(--muted)}.confirm-list{margin:.2rem 0 .6rem;padding-left:1.1rem;display:flex;flex-direction:column;gap:.2rem}.confirm-list li{color:var(--text)}.confirm-note{color:var(--danger);font-weight:500}.confirm-foot{display:flex;justify-content:flex-end;gap:.5rem;padding:.5rem .9rem .85rem;border-top:1px solid var(--border-soft);margin-top:.35rem}.confirm-foot button{display:inline-flex;align-items:center;gap:.4rem;min-height:36px}.confirm-foot svg{width:15px;height:15px}.detail-wrap{display:grid;grid-template-columns:minmax(200px,260px) 1fr;grid-gap:1rem;gap:1rem;align-items:start}.detail-actions{gap:.6rem}.action-tile,.detail-actions{display:flex;flex-direction:column}.action-tile{align-items:center;justify-content:center;gap:.4rem;min-height:96px;padding:1rem;text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;font-size:.8rem;box-shadow:var(--shadow-sm);transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.action-tile:hover{color:var(--text);border-color:var(--muted);text-decoration:none;box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-tile:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.action-tile svg{width:22px;height:22px}.detail-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow-sm)}.detail-field{padding:.4rem 0;border-bottom:1px solid var(--border-soft)}.detail-field:last-child{border-bottom:0}.detail-field .fl{color:var(--muted);font-size:.72rem;margin-bottom:.15rem}.detail-field .fv{color:var(--text);word-break:break-word}.detail-breadcrumb{color:var(--muted);font-size:.8rem;margin-bottom:.6rem}.detail-breadcrumb a{color:var(--muted)}.detail-breadcrumb .sep{opacity:.5;margin:0 .35rem}@media (max-width:720px){.detail-wrap{grid-template-columns:1fr}}.panels{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(440px,1fr))}.panel{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--panel);display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.panel-head{padding:.5rem .75rem;border-bottom:1px solid var(--border);font-weight:500;font-size:.85rem;background:var(--panel-2);display:flex;justify-content:space-between;align-items:center}.panel-head .count{color:var(--muted);font-weight:400;font-size:.82em}.panel-head-actions{display:inline-flex;align-items:center;gap:.35rem}.panel .table-wrap{border:0;border-radius:0;max-height:72vh}.panel-empty{padding:2rem;text-align:center;color:var(--muted)}.panels.has-max{grid-template-columns:1fr}.panels.has-max .panel:not(.is-max){display:none}.panel.is-max .table-wrap{max-height:82vh}.viewtabs{display:flex;gap:.25rem;margin-bottom:.6rem;border-bottom:1px solid var(--border)}.viewtab{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.85rem;border-radius:0;transition:color var(--dur) var(--ease),border-bottom-color var(--dur) var(--ease)}.viewtab,.viewtab:hover{background:transparent;box-shadow:none}.viewtab:hover{color:var(--text);filter:none}.viewtab:active{transform:none}.viewtab:focus-visible{outline:none;color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.viewtab.active{color:var(--text);border-bottom-color:var(--accent)}.viewtab .count{color:var(--muted);font-weight:400;font-size:.8em}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .6rem;padding-bottom:.45rem;border-bottom:1px solid var(--border-soft)}.page-head h1{margin:0;font-size:1rem;font-weight:600}.toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}html:has(main.login-main){background:radial-gradient(900px 520px at 12% -8%,rgba(203,206,210,.1),transparent 60%),radial-gradient(760px 520px at 92% 108%,rgba(203,206,210,.06),transparent 60%),#000000;background-attachment:fixed}body:has(main.login-main){background:transparent}body:has(main.login-main):before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:#cbced2;-webkit-mask:url(/venue-logos/monogram-tile-alpha.png) repeat 0 0/440px 220px;mask:url(/venue-logos/monogram-tile-alpha.png) repeat 0 0/440px 220px;opacity:.22}.login-glow{position:fixed;border-radius:50%;filter:blur(70px);pointer-events:none;z-index:0}.login-glow.a{width:320px;height:320px;top:-90px;left:-80px;background:rgba(203,206,210,.16)}.login-glow.b{width:380px;height:380px;bottom:-120px;right:-100px;background:rgba(203,206,210,.1)}main.login-main{position:relative;z-index:1;display:block;min-height:100vh;max-width:440px;margin:0 auto;padding:25vh 1.25rem 2rem}.login-card,.login-main .card{width:100%;max-width:440px;background:#0c0c0c;border:1px solid #242424;border-radius:14px;padding:1.1rem;box-shadow:0 2px 6px rgba(203,206,210,.07),0 16px 40px rgba(0,0,0,.7)}.login-main label{color:#ffffff;font-weight:600}.login-main input{background:#070707;border:1px solid #262626;border-radius:9px;color:#ffffff;padding:.8rem .85rem}.login-main input:focus{border-color:#cbced2;box-shadow:0 0 0 3px rgba(203,206,210,.3)}.login-main .muted{color:#a6a6a6}.login-main button{margin-top:1rem;padding:.7rem 1.2rem;border-radius:9px;border:1px solid transparent;background:#cbced2;color:#0a0a0a;font-weight:800;font-size:.98rem}.login-main button:hover:not(:disabled){background:#e4e7ea;filter:none}.login-main button.secondary{background:transparent;color:#cbced2;border:1px solid #2c2c2c;font-weight:700}.login-main button.secondary:hover:not(:disabled){background:rgba(203,206,210,.1);border-color:#cbced2;color:#e4e7ea;filter:none}.login-brand{display:flex;align-items:center;gap:calc(.68rem / 2);margin:0 0 1.1rem;padding-bottom:1.1rem;border-bottom:1px solid #242424}.login-brand .brand-logo{width:56px;height:56px;border-radius:13px;flex:none;box-shadow:0 2px 10px rgba(0,0,0,.6)}.login-brand .brand-titles{display:flex;flex-direction:column;line-height:1.15}.login-main .brand-title{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.01em;color:#ffffff}.login-main .brand-subtitle{margin:.2rem 0 0;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#a6a6a6}@property --sweep-pos{syntax:"<percentage>";inherits:false;initial-value:-15%}.sweep-text{display:inline-block;background:linear-gradient(90deg,#565656 0,#565656 calc(var(--sweep-pos) - 6%),#aeb2b8 calc(var(--sweep-pos) - 3%),#cbced2 calc(var(--sweep-pos) - 1%),#ffffff var(--sweep-pos),#cbced2 calc(var(--sweep-pos) + 1%),#aeb2b8 calc(var(--sweep-pos) + 3%),#565656 calc(var(--sweep-pos) + 6%),#565656 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:sweepText 3.5s linear infinite}@keyframes sweepText{0%{--sweep-pos:-15%;animation-timing-function:linear}85.71%{--sweep-pos:115%;animation-timing-function:step-end}85.72%{--sweep-pos:-15%}to{--sweep-pos:-15%}}@media (prefers-reduced-motion:reduce){.sweep-text{animation:none;-webkit-text-fill-color:#a6a6a6;color:#a6a6a6}}.skeleton{position:relative;overflow:hidden;background:var(--panel-2);border-radius:var(--radius)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.05) 50%,rgba(255,255,255,0));animation:skeletonSweep 1.25s ease-in-out infinite}@keyframes skeletonSweep{to{transform:translateX(100%)}}.skel-rows{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.skel-row{height:2.1rem}.skel-toolbar{height:2.25rem;width:12rem;margin-bottom:.75rem}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}