@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_48b81b{font-family:Inter,Inter Fallback;font-style:normal}.__variable_48b81b{--font-sans:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_f9e569{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_f9e569{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--brand:#1e3a8a;--brand-deep:#0b1428;--brand-accent:#2563eb;--gradient-sidebar:linear-gradient(180deg,#0b1428,#0a1020);--gradient-brand-mark:linear-gradient(135deg,#2563eb,#1e3a8a);--gradient-brand-mark-shadow:0 4px 12px rgb(37 99 235/0.35);--gradient-avatar:linear-gradient(135deg,#1e40af,#0ea5e9);--primary:var(--brand);--primary-dark:#16306e;--primary-light:#eef2fb;--success:#10b981;--danger:#ef4444;--ok:#10b981;--text:#0f1729;--ink-2:#475569;--muted:#64748b;--ink-3:#94a3b8;--border:#e6ebf2;--line:#eef2f6;--bg:#f6f8fb;--card:#ffffff;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px rgb(15 23 42/0.05);--shadow:0 4px 10px -2px rgb(15 23 42/0.1),0 2px 4px -2px rgb(15 23 42/0.06);--shadow-lg:0 16px 40px -12px rgb(15 23 42/0.22);--ring:0 0 0 3px rgb(30 58 138/0.16);--sidebar-w:236px;--header-h:56px}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--brand-accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--primary-dark)}h1,h2,h3{color:var(--text);font-weight:700;letter-spacing:-.015em;line-height:1.22}h1{font-size:24px;margin:0 0 6px}h2{font-size:18px;margin:0 0 12px}h3{font-size:15px;margin:0 0 8px}p{margin:0 0 12px}.muted{color:var(--muted)}code{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--primary-light);color:var(--primary-dark);padding:2px 6px;border-radius:6px;word-break:break-all}.app-shell{display:flex;height:100vh;overflow:hidden;background:var(--bg)}.app-sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;color:#fff;background:var(--gradient-sidebar)}.side-brand{display:flex;align-items:center;gap:10px;padding:20px 18px 16px}.side-mark{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:10px;color:#fff;background:var(--gradient-brand-mark);box-shadow:var(--gradient-brand-mark-shadow)}.side-brand-title{font-size:15px;font-weight:700;letter-spacing:.01em;line-height:1.1;color:#fff}.side-brand-sub{letter-spacing:.18em;color:rgb(255 255 255/.5)}.side-brand-sub,.side-section{font-size:10px;text-transform:uppercase}.side-section{padding:6px 22px 4px;letter-spacing:.2em;color:rgb(255 255 255/.35)}.side-nav{display:flex;flex-direction:column;gap:2px;flex:1 1;overflow-y:auto;padding:4px 12px}.side-link{position:relative;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:500;color:rgb(255 255 255/.6);transition:background .15s ease,color .15s ease}.side-link:hover{background:rgb(255 255 255/.05);color:#fff}.side-link.active{background:rgb(59 130 246/.16);color:#fff;font-weight:600}.side-link.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#3b82f6}.side-link svg{flex-shrink:0}.side-foot{padding:12px;border-top:1px solid rgb(255 255 255/.06)}.side-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgb(255 255 255/.04)}.side-avatar{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;font-family:var(--font-mono),ui-monospace,monospace;font-size:12px;font-weight:700;color:#fff;background:var(--gradient-avatar)}.side-user-info{flex:1 1;min-width:0;line-height:1.25}.side-user-name{font-size:12.5px;font-weight:600;color:#fff}.side-user-name,.side-user-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user-role{font-size:10.5px;color:rgb(255 255 255/.45)}.side-logout{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:none;border-radius:8px;background:transparent;color:rgb(255 255 255/.55);cursor:pointer;transition:background .15s ease,color .15s ease}.side-logout:hover{background:rgb(255 255 255/.1);color:#fff}.app-main{flex:1 1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.app-header{height:var(--header-h);flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 24px;background:var(--card);border-bottom:1px solid var(--line)}.app-subtitle{position:relative;top:1px}.app-title{font-size:15px;font-weight:600;color:var(--text)}.app-subtitle{font-size:13px;color:var(--ink-3)}.app-content{flex:1 1;min-height:0;overflow-y:auto}.app-content.bleed{display:flex;flex-direction:column;overflow:hidden}.app-scrim,.app-topbar{display:none}.app-burger{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:none;border-radius:8px;background:rgb(255 255 255/.08);color:#fff;cursor:pointer;transition:background .15s ease}.app-burger:hover{background:rgb(255 255 255/.16)}.app-topbar-title{font-size:15px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container{max-width:1120px;margin:0 auto;padding:28px 24px 48px}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm)}.card.narrow{width:100%;max-width:420px;box-shadow:var(--shadow-lg)}label{display:block;font-size:13px;font-weight:600;color:var(--text);margin:14px 0 6px}.field{margin-bottom:4px}.field label{margin-top:0}.input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--text);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--ink-3)}.input:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.input:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text);font-weight:600;font-size:14px;font-family:inherit;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}.btn:hover{background:var(--bg);border-color:#cbd5e1}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px rgb(30 58 138/.25)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.btn-secondary{background:#fff;border-color:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--bg);border-color:#cbd5e1}.btn-ghost{background:transparent;border-color:transparent;color:var(--brand-accent)}.btn-ghost:hover{background:var(--primary-light);border-color:transparent;color:var(--primary-dark)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:disabled:hover{background:inherit}.btn-block{width:100%;margin-top:18px}.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:500;margin-top:12px}.empty{text-align:center;color:var(--muted);padding:44px 24px;border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--card)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.4}.badge-ok{background:#ecfdf5;color:#047857}.badge-danger{background:#fef2f2;color:#b91c1c}.badge-muted{background:#f1f5f9;color:var(--muted)}table{width:100%;border-collapse:collapse}.table-wrap{width:100%;overflow-x:auto;border-radius:var(--radius)}td,th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}th{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--bg)}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--primary-light)}tbody tr:last-child td{border-bottom:none}.gen-layout{display:grid;grid-template-columns:320px 1fr;height:100%;min-height:0}.gen-sidebar{padding:22px;overflow-y:auto;border-right:1px solid var(--border);background:var(--card)}.gen-sidebar h2{font-size:15px}.gen-map{position:relative;background:var(--bg)}.leaflet-container{height:100%;width:100%}.map-search{position:absolute;top:12px;left:56px;z-index:1100;width:min(340px,calc(100% - 210px))}.search-box{position:relative;width:100%}.search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:1200;max-height:280px;overflow-y:auto}.search-item{padding:10px 12px;font-size:14px;color:var(--text);cursor:pointer;border-bottom:1px solid var(--line);transition:background .12s ease}.search-item:last-child{border-bottom:none}.search-item.active,.search-item:hover{background:var(--primary-light);color:var(--primary-dark)}.map-toolbar{position:absolute;top:12px;right:12px;z-index:1000;display:inline-flex;gap:2px;padding:4px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.map-toggle{border:none;background:transparent;color:var(--muted);font-weight:600;font-size:13px;font-family:inherit;padding:6px 14px;border-radius:7px;cursor:pointer;transition:background .15s ease,color .15s ease}.map-toggle:hover{color:var(--text);background:var(--bg)}.map-toggle.active{background:var(--brand);color:#fff}.map-toggle:disabled{opacity:.55;cursor:not-allowed}.maps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-top:20px}.map-thumb{display:block;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow-sm);color:var(--text);transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.map-thumb:hover{box-shadow:var(--shadow);border-color:#cbd5e1;transform:translateY(-2px);color:var(--text)}.map-thumb img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;background:var(--bg)}.map-thumb .cap{padding:10px 12px;font-size:13px;font-weight:600}.parcel-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.parcel-row:last-child{border-bottom:none}.parcel-info{display:flex;flex-direction:column;gap:2px;min-width:0}.parcel-ref{font-weight:600;color:var(--text)}.parcel-meta{font-size:12.5px;color:var(--muted)}.help-link{display:block;margin-top:22px;padding-top:16px;border-top:1px solid var(--border);color:var(--brand-accent);font-weight:600;font-size:13px;transition:color .15s ease}.help-link:hover{color:var(--primary-dark)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgb(30 58 138/.22);border-top:2px solid var(--brand);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;flex:none}.btn-primary .spinner{border-color:#fff rgb(255 255 255/.4) rgb(255 255 255/.4)}.spinner-lg{width:40px;height:40px;border-width:3px}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgb(11 20 40/.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:modal-fade .18s ease}.modal-card{position:relative;width:100%;max-width:460px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:28px;animation:modal-pop .2s cubic-bezier(.16,1,.3,1)}.modal-title{font-size:18px;font-weight:700;margin:0 0 6px}.modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted);font-size:20px;line-height:1;border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease}.modal-close:hover{background:var(--bg);color:var(--text)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-brand{background:var(--gradient-sidebar);color:#fff;padding:48px 44px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.auth-brand-top{display:flex;align-items:center;gap:12px}.auth-tagline{color:#fff;font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.02em;max-width:15ch;margin:0 0 24px}.auth-feats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.auth-feat{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;color:rgb(255 255 255/.85)}.auth-feat-check{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:999px;color:#fff;background:rgb(59 130 246/.28)}.auth-brand-foot{font-size:12.5px;color:rgb(255 255 255/.45);margin:0}.auth-form-pane{display:flex;align-items:center;justify-content:center;padding:40px 28px;background:var(--bg)}.auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow)}.auth-card-mark{display:flex;align-items:center;gap:10px;margin-bottom:20px}@keyframes reveal-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.reveal-stagger>*{animation:reveal-rise .5s cubic-bezier(.22,1,.36,1) both}.reveal-stagger>:first-child{animation-delay:40ms}.reveal-stagger>:nth-child(2){animation-delay:.11s}.reveal-stagger>:nth-child(3){animation-delay:.18s}.reveal-stagger>:nth-child(4){animation-delay:.25s}.reveal-stagger>:nth-child(n+5){animation-delay:.32s}@media (prefers-reduced-motion:reduce){.reveal-stagger>*{animation:none}}.row{align-items:center}.row,.stack{display:flex;gap:8px}.stack{flex-direction:column}.gap{gap:8px}@media (max-width:1024px) and (min-width:901px){.gen-layout{grid-template-columns:288px 1fr}}@media (max-width:880px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}}@media (max-width:900px){.app-shell{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.app-topbar{display:flex;align-items:center;gap:12px;height:52px;padding:0 14px;background:var(--gradient-sidebar);position:-webkit-sticky;position:sticky;top:0;z-index:1200}.app-topbar .side-mark{width:30px;height:30px;border-radius:8px}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:264px;z-index:1400;transform:translateX(-100%);transition:transform .24s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-lg)}.app-sidebar.open{transform:none}.app-scrim{display:block;position:fixed;inset:0;z-index:1300;background:rgb(11 20 40/.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:modal-fade .18s ease}.app-header{display:none}.app-content,.app-content.bleed,.app-main{overflow:visible}.gen-layout{grid-template-columns:1fr;height:auto}.gen-sidebar{border-right:none;border-bottom:1px solid var(--border)}.gen-map{height:64vh;min-height:360px}.map-search{left:12px;right:12px;width:auto}.map-toolbar{top:60px}.table-wrap table{min-width:620px}}@media (max-width:560px){.container{padding:20px 14px 40px}h1{font-size:21px}.card{padding:18px}.modal-overlay{padding:12px}.modal-card{padding:22px}.maps-grid{grid-template-columns:1fr}.auth-form-pane{padding:24px 16px}.auth-card{padding:24px}}