@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+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: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+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: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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+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: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+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: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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+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: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+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: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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:13px;-webkit-font-smoothing:antialiased}body{font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}:root{--paper:#FAFAF8;--surface:#FFFFFF;--ink:#181818;--steel:#66707C;--signal:#D6291E;--signal-dark:#A81F16;--confirm:#1F7A52;--amber:#B8860B;--line: rgba(24,24,24,.12);--line-strong: rgba(24,24,24,.24);--radius: 8px;--radius-sm: 4px;--font-display: "Space Grotesk", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--bg: var(--paper);--bg-main: var(--paper);--surface2: rgba(24,24,24,.04);--border: var(--line);--border2: var(--line-strong);--text: var(--ink);--text2: var(--steel);--text3: rgba(102,112,124,.78);--blue: var(--ink);--blue-l: rgba(24,24,24,.06);--blue-d: var(--ink);--green: var(--confirm);--green-l: rgba(31,122,82,.1);--green-d: var(--confirm);--amber-l: rgba(184,134,11,.1);--amber-d: var(--amber);--red: var(--signal);--red-l: rgba(214,41,30,.1);--red-d: var(--signal-dark);--purple: var(--steel);--purple-l: rgba(102,112,124,.1);--purple-d: var(--steel);--sb-bg: var(--surface);--sb-hover: rgba(24,24,24,.04);--sb-active-bg: rgba(214,41,30,.06);--accent: var(--ink);--tint-select: rgba(37,99,235,.08);--tint-hover: rgba(24,24,24,.04);--tint-soft: rgba(24,24,24,.025)}[data-theme=dark]{--paper:#0F1117;--surface:#181C27;--surface-elevated:#1F2335;--surface-elevated2:#252A40;--ink:#EDEDED;--steel:#9098A3;--signal:#FF5A4D;--signal-dark:#FF7B6F;--confirm:#3BCB87;--amber:#E0AC3A;--line: rgba(255,255,255,.1);--line-strong: rgba(255,255,255,.2);--tint-weak: rgba(255,255,255,.06);--tint-med: rgba(255,255,255,.1);--tint-strong: rgba(255,255,255,.16);--sb-bg: var(--surface);--sb-hover: var(--tint-weak);--sb-active-bg: rgba(255,90,77,.14);--bg-zebra: rgba(255,255,255,.025);--overlay: rgba(0,0,0,.6);--shadow-card: 0 1px 3px rgba(0,0,0,.4), 0 4px 14px rgba(0,0,0,.3), 0 0 0 1px var(--line);--shadow-modal: 0 8px 32px rgba(0,0,0,.55), 0 0 0 1px var(--line-strong);--shadow-toast: 0 4px 20px rgba(0,0,0,.5), 0 0 0 1px var(--line-strong);--scrollbar-thumb: rgba(255,255,255,.14);--scrollbar-thumb-hover: rgba(255,255,255,.24);--tint-select: rgba(79,110,247,.18);--tint-hover: var(--tint-weak);--tint-soft: rgba(255,255,255,.025)}[data-theme=dark] body{background:var(--paper)}[data-theme=dark] *{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}[data-theme=dark] *::-webkit-scrollbar{width:6px;height:6px}[data-theme=dark] *::-webkit-scrollbar-track{background:transparent}[data-theme=dark] *::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}[data-theme=dark] *::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}[data-theme=dark] *:focus-visible{outline:2px solid var(--signal);outline-offset:2px}[data-theme=dark] input[type=checkbox],[data-theme=dark] input[type=radio]{accent-color:var(--signal);color-scheme:dark}[data-theme=dark] ::selection{background:#ff5a4d4d;color:var(--ink)}[data-theme=dark] .card,[data-theme=dark] .metric,[data-theme=dark] .dash-widget,[data-theme=dark] .action-bar,[data-theme=dark] .type-card,[data-theme=dark] .kpi-card,[data-theme=dark] .action-card{background:var(--surface-elevated);box-shadow:var(--shadow-card)}[data-theme=dark] .modal{background:var(--surface-elevated);box-shadow:var(--shadow-modal)}[data-theme=dark] .modal-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}[data-theme=dark] .tbl tr:hover td,[data-theme=dark] .tbl .tbl-total td,[data-theme=dark] .metric-row:hover,[data-theme=dark] .action-card:hover,[data-theme=dark] .drag-handle:hover,[data-theme=dark] .theme-toggle-opt:hover,[data-theme=dark] .phase-tab:hover,[data-theme=dark] .sia-tab:hover{background:var(--tint-med)}[data-theme=dark] .tbl tbody tr:nth-child(2n) td{background:var(--bg-zebra)}[data-theme=dark] .dash-widget:hover:not(.editing-mode){box-shadow:0 2px 8px #00000080,0 8px 28px #00000059,0 0 0 1px var(--line-strong)}[data-theme=dark] .pill-blue,[data-theme=dark] .tag-blue,[data-theme=dark] .pill-gray,[data-theme=dark] .tag-gray,[data-theme=dark] .kpi-badge.tone-blue,[data-theme=dark] .alert-blue{background:var(--tint-strong)}[data-theme=dark] .w-remove:hover{background:#ff5a4d2e}[data-theme=dark] .dash-empty-slot:hover,[data-theme=dark] .type-card:hover,[data-theme=dark] .upload-zone:hover{background:#ff5a4d1a}[data-theme=dark] .field input,[data-theme=dark] .field select,[data-theme=dark] .field textarea,[data-theme=dark] .login-field input{background:var(--surface-elevated);border-color:var(--line-strong)}[data-theme=dark] .field input:focus,[data-theme=dark] .field select:focus,[data-theme=dark] .field textarea:focus,[data-theme=dark] .login-field input:focus{box-shadow:0 0 0 3px #ff5a4d40}[data-theme=dark] .btn:not(.btn-primary):not([data-primary]):not(.btn-green){border-color:var(--line-strong)}[data-theme=dark] .btn:not(.btn-primary):not([data-primary]):not(.btn-green):hover{background:var(--tint-strong);color:var(--ink)}[data-theme=dark] .nav-item.active{border-left-width:3px;background:var(--sb-active-bg)}[data-theme=dark] .progress{background:var(--tint-med)}[data-theme=dark] .progress-fill.blue{background:linear-gradient(90deg,#4f6ef7,#7c9eff)}[data-theme=dark] .progress-fill.green{background:linear-gradient(90deg,#1F7A52,var(--confirm))}[data-theme=dark] .progress-fill.amber{background:linear-gradient(90deg,#B8860B,var(--amber))}[data-theme=dark] .progress-fill.red{background:linear-gradient(90deg,#A81F16,var(--signal))}[data-theme=color]{--paper:#EEF3FB;--surface:#FFFFFF;--ink:#102A52;--steel:#5A78A8;--signal:#2563EB;--signal-dark:#1D4ED8;--confirm:#0F9D6C;--amber:#C8870B;--line: rgba(16,42,82,.14);--line-strong: rgba(16,42,82,.26)}.theme-toggle{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.theme-toggle-opt{padding:4px 9px;border:none;background:transparent;color:var(--steel);font-size:11px;font-family:inherit;cursor:pointer;transition:background .12s,color .12s;border-right:1px solid var(--line)}.theme-toggle-opt:last-child{border-right:none}.theme-toggle-opt:hover{background:#1818180a;color:var(--ink)}.theme-toggle-opt.active{background:var(--ink);color:var(--surface)}.app-shell{display:flex;height:100vh;overflow:hidden;background:var(--paper);position:relative}.sidebar{width:220px;flex-shrink:0;background:var(--sb-bg);border-right:1px solid var(--line);display:flex;flex-direction:column;height:100vh;overflow:hidden}.main-content{flex:1;overflow-y:auto;background:var(--paper)}.page{padding:24px 28px 40px;max-width:1400px}.logo-mark{width:26px;height:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-section{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--steel);padding:10px 10px 4px}.nav-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border-radius:var(--radius-sm);border:none;border-left:2px solid transparent;background:transparent;color:var(--steel);font-size:12.5px;font-family:inherit;cursor:pointer;text-align:left;transition:background .1s,color .1s,border-color .1s}.nav-item:hover{background:var(--sb-hover);color:var(--ink)}.nav-item.active{background:var(--sb-active-bg);color:var(--ink);font-weight:500;border-left-color:var(--signal)}.nav-icon{width:14px;height:14px;flex-shrink:0;opacity:.7}.nav-item.active .nav-icon{opacity:1}.nav-badge{margin-left:auto;font-family:var(--font-mono);font-size:10px;font-weight:600;padding:1px 5px;border-radius:var(--radius-sm);background:#b8860b1f;color:var(--amber)}.topbar{height:44px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10;flex-shrink:0}.topbar-ops{box-shadow:inset 0 -2px 0 var(--signal)}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--steel)}.bc-link{cursor:pointer;transition:color .1s}.bc-link:hover{color:var(--ink)}.bc-sep{opacity:.4}.bc-cur{color:var(--ink);font-weight:500}.page-title{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin-bottom:4px}.page-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--steel);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--radius);border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:12px;font-family:var(--font-body);cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.btn:hover{background:var(--ink);color:#fff}.btn-primary,.btn[data-primary]{background:var(--signal);color:#fff;border-color:var(--signal)}.btn-primary:hover{background:var(--signal-dark);border-color:var(--signal-dark)}.btn-green{background:var(--confirm);color:#fff;border-color:var(--confirm)}.btn-green:hover{background:#16603f}.btn-sm{padding:4px 9px;font-size:11px}.btn:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card-title{font-family:var(--font-display);font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.card-action{font-size:11px;font-weight:400;color:var(--signal);cursor:pointer}.card-action:hover{text-decoration:underline}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.metric-lbl{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--steel);margin-bottom:4px}.metric-val{font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.01em;line-height:1}.metric-sub{font-size:10px;color:var(--steel);margin-top:3px}.tag,.pill{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:var(--radius-sm);font-weight:500}.pill-green,.tag-green{background:#1f7a521a;color:var(--confirm)}.pill-blue,.tag-blue{background:#1818180f;color:var(--ink)}.pill-amber,.tag-amber{background:#b8860b1a;color:var(--amber)}.pill-red,.tag-red{background:#d6291e1a;color:var(--signal)}.pill-purple,.tag-purple{background:#66707c1a;color:var(--steel)}.pill-gray,.tag-gray{background:#1818180d;color:var(--steel)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:4px}.field label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:500;color:var(--steel)}.field input,.field select,.field textarea{padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:12px;font-family:var(--font-body);transition:border-color .15s,box-shadow .15s;outline:none;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--signal);box-shadow:0 0 0 3px #d6291e26}.field textarea{resize:vertical;min-height:60px}.doc-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.doc-row:last-child{border-bottom:none}.doc-name{font-size:12.5px;flex:1;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-meta{font-size:10px;color:var(--steel);margin-top:1px}.doc-status-icon{width:20px;height:20px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.ck{width:15px;height:15px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px;transition:background .1s,border-color .1s}.ck.checked{background:var(--ink);border-color:var(--ink);color:#fff}.ck-tri{height:17px;padding:0 5px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;font-family:inherit;transition:background .1s,border-color .1s,color .1s;background:transparent;color:var(--steel);line-height:1}.ck-tri:hover{border-color:var(--steel);color:var(--ink)}.ck-tri.active-ja{background:var(--confirm);border-color:var(--confirm);color:#fff}.ck-tri.active-nein{background:var(--signal);border-color:var(--signal);color:#fff}.ck-tri.active-na{background:var(--steel);border-color:var(--steel);color:#fff}.gate-text{font-size:12px;color:var(--steel);flex:1}.gate-text.done{color:var(--steel);opacity:.6;text-decoration:line-through}.gate-meta{font-size:10px;color:var(--steel)}.alert{display:flex;align-items:flex-start;gap:9px;padding:10px 13px;border-radius:var(--radius);font-size:12px;margin-bottom:14px;border:1px solid var(--line);border-left:3px solid}.alert-amber{background:#b8860b0f;color:var(--amber);border-left-color:var(--amber)}.alert-green{background:#1f7a520f;color:var(--confirm);border-left-color:var(--confirm)}.alert-blue{background:#1818180a;color:var(--ink);border-left-color:var(--ink)}.alert-red{background:#d6291e0f;color:var(--signal-dark);border-left-color:var(--signal)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#18181873;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-header{padding:16px 20px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:var(--font-display);font-size:14.5px;font-weight:600;color:var(--ink)}.modal-close{border:none;background:none;cursor:pointer;color:var(--steel);font-size:20px;line-height:1;padding:0 2px}.modal-body{padding:16px 20px}.modal-footer{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.progress{height:4px;border-radius:var(--radius-sm);background:#1818180f;overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-sm);transition:width .4s ease}.progress-fill.blue{background:var(--ink)}.progress-fill.green{background:var(--confirm)}.progress-fill.amber{background:var(--amber)}.progress-fill.red{background:var(--signal)}.tbl{width:100%;border-collapse:collapse;font-size:12px}.tbl th{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--steel);padding:6px 10px;border-bottom:1px solid var(--line-strong);text-align:left}.tbl td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:#18181808}.tbl .tbl-total td{font-weight:700;border-top:1.5px solid var(--line-strong);background:#18181808}.phase-tab{padding:5px 11px;border-radius:var(--radius-sm);font-size:11.5px;border:1px solid var(--line);background:transparent;color:var(--steel);cursor:pointer;font-family:inherit;transition:all .12s}.phase-tab:hover{background:#1818180a;color:var(--ink)}.phase-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.sia-tab{padding:5px 11px;border-radius:var(--radius-sm);font-size:12px;border:1px solid var(--line);background:transparent;color:var(--steel);cursor:pointer;font-family:inherit;transition:all .12s;white-space:nowrap}.sia-tab:hover{background:#1818180a;color:var(--ink)}.sia-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.col-stack{display:flex;flex-direction:column;gap:12px}.sec-lbl{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--steel)}.audit-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:3px}.audit-text{font-size:12px;color:var(--steel);flex:1}.audit-time{font-family:var(--font-mono);font-size:10px;color:var(--steel);white-space:nowrap}.type-card{padding:14px;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface)}.type-card:hover{border-color:var(--signal);background:#d6291e0a}.type-card.disabled{opacity:.45;cursor:not-allowed}.type-card.selected-elec,.type-card.selected-gep{border-color:var(--signal);background:#d6291e0a}@keyframes planixFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.88)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes sq1fall{0%{opacity:0;transform:translateY(-40px) rotate(-8deg)}60%{opacity:1;transform:translateY(14px) rotate(3deg)}to{opacity:1;transform:translateY(10px) rotate(2deg)}}@keyframes sq2fall{0%{opacity:0;transform:translateY(-40px) rotate(6deg)}60%{opacity:1;transform:translateY(7px) rotate(-2deg)}to{opacity:1;transform:translateY(5px) rotate(-1deg)}}@keyframes sq3fall{0%{opacity:0;transform:translateY(-40px) rotate(-4deg)}60%{opacity:1;transform:translateY(2px) rotate(1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes sq4fall{0%{opacity:0;transform:translateY(-40px) rotate(5deg)}60%{opacity:1;transform:translateY(-5px) rotate(-1deg)}to{opacity:1;transform:translateY(-6px) rotate(0)}}.dash-grid{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;align-items:stretch}.dash-widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:100%;display:flex;flex-direction:column;min-height:0}.dash-widget.editing-mode{border:1.5px dashed var(--line-strong);cursor:grab}.dash-widget.editing-mode:hover{border-color:var(--signal)}.dash-widget.dragging{opacity:.4;transform:scale(.97)}.dash-widget.drag-over{border-color:var(--signal);background:#d6291e0a}.dash-widget.slot-long{grid-column:span 2}.dash-widget.slot-square{grid-column:span 1}.w-head{padding:10px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px;flex-shrink:0}.w-title{font-family:var(--font-display);font-size:14.5px;font-weight:600;flex:1;color:var(--ink)}.drag-handle{cursor:grab;color:var(--steel);opacity:0;padding:2px 3px;border-radius:var(--radius-sm);font-size:14px;line-height:1;transition:opacity .15s;-webkit-user-select:none;user-select:none}.editing-mode .drag-handle{opacity:1}.drag-handle:hover{background:#1818180d}.w-remove{width:18px;height:18px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;color:var(--steel);font-size:15px;display:none;align-items:center;justify-content:center;line-height:1;padding:0}.editing-mode .w-remove{display:flex}.w-remove:hover{background:#d6291e1a;color:var(--signal)}.w-body{flex:1;min-height:0;padding:12px 14px;display:flex;flex-direction:column;overflow:hidden}.widget-scroll{flex:1;min-height:0;overflow-y:auto}.widget-foot{flex-shrink:0}.dash-empty-slot{border:1.5px dashed var(--line-strong);border-radius:var(--radius);height:100%;display:none;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s;color:var(--steel);font-size:12px}.dash-edit-active .dash-empty-slot{display:flex}.dash-empty-slot:hover{border-color:var(--signal);background:#d6291e0a;color:var(--signal)}.metric-rows{display:flex;flex-direction:column;flex:1;min-height:0}.metric-row{flex:1;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 2px;cursor:pointer;background:transparent;border-left:none;border-right:none;border-top:none;font-family:inherit;text-align:left;width:100%}.metric-row:last-child{border-bottom:none}.metric-row:hover{background:#18181808}.metric-row .metric-val{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--ink)}.metric-row .metric-lbl{font-size:12px;color:var(--steel)}.action-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:14px}.action-bar-title{font-family:var(--font-mono);font-size:11px;font-weight:600;margin-bottom:10px;color:var(--steel);letter-spacing:.08em;text-transform:uppercase}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-radius:var(--radius-sm);overflow:hidden}.action-card{border:none;border-left:3px solid transparent;padding:10px;text-align:left;cursor:pointer;font-family:inherit;min-height:72px;background:var(--surface);transition:background .12s}.action-card:hover{background:#18181808}.action-card.tone-red{border-left-color:var(--signal)}.action-card.tone-amber{border-left-color:var(--amber)}.action-card.tone-green{border-left-color:var(--confirm)}.tone-badge{font-family:var(--font-mono);font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em;border:1px solid transparent}.tone-badge.tone-red{background:#d6291e1a;color:var(--signal);border-color:#d6291e33}.tone-badge.tone-amber{background:#b8860b1f;color:var(--amber);border-color:#b8860b38}.tone-badge.tone-green{background:#1f7a521f;color:var(--confirm);border-color:#1f7a5238}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-radius:var(--radius-sm);overflow:hidden}.kpi-card{border:none;background:var(--surface);min-height:108px;padding:10px;text-align:left;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;border-left:2px solid transparent}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.kpi-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--steel)}.kpi-value{font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1.15;color:var(--ink);letter-spacing:-.01em;margin:8px 0 6px}.kpi-sub{font-size:11px;color:var(--steel)}.kpi-badge{font-family:var(--font-mono);font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.kpi-card.tone-red{border-left-color:var(--signal)}.kpi-card.tone-amber{border-left-color:var(--amber)}.kpi-card.tone-green{border-left-color:var(--confirm)}.kpi-card.tone-blue{border-left-color:var(--ink)}.kpi-badge.tone-red{background:#d6291e1a;color:var(--signal)}.kpi-badge.tone-amber{background:#b8860b1f;color:var(--amber)}.kpi-badge.tone-green{background:#1f7a521f;color:var(--confirm)}.kpi-badge.tone-blue{background:#1818180f;color:var(--ink)}@media (max-width: 1100px){.dash-grid{grid-template-columns:repeat(2,1fr)!important}.dash-widget.w-span2,.dash-widget.w-span3{grid-column:span 2}.two-col{grid-template-columns:1fr}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.sidebar.desktop-sidebar{display:none!important}.hamburger{display:flex!important}.topbar{padding-left:62px}.mobile-backdrop,.mobile-sidebar .sidebar-close{display:block!important}.app-layout{grid-template-columns:1fr!important}.main-content{margin-left:0!important;width:100%!important}.page{padding:60px 14px 24px}.dash-grid{grid-template-columns:1fr!important}.dash-widget.w-span2,.dash-widget.w-span3{grid-column:span 1}.form-row{grid-template-columns:1fr}.modal{border-radius:var(--radius) var(--radius) 0 0;max-height:92vh}.modal-overlay{align-items:flex-end;padding:0}.card{padding:14px}.breadcrumb{font-size:11px}.tbl th,.tbl td{padding:8px 10px;font-size:12px}.action-bar{position:sticky;top:52px;z-index:9}.action-grid{grid-template-columns:1fr}.kpi-value{font-size:20px}.kpi-card{min-height:102px}}@media (min-width: 769px){.hamburger,.mobile-sidebar,.mobile-backdrop{display:none!important}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}.hse-step-bar{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.hse-step-seg{padding:12px 16px;border-right:1px solid var(--line)}.hse-step-seg:last-child{border-right:none}.check-row{display:flex;align-items:flex-start;gap:9px;padding:6px 0;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:none}.ck-text{font-size:12px;color:var(--steel);flex:1;line-height:1.5}.ck-text.done{color:var(--steel);opacity:.6;text-decoration:line-through}.upload-zone{border:1.5px dashed var(--line-strong);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;font-size:13px;color:var(--steel)}.upload-zone:hover{border-color:var(--signal);background:#d6291e0a;color:var(--signal)}@keyframes folder-drop-pulse-anim{0%,to{outline-color:#1f7a5200}50%{outline-color:#1f7a5280}}.folder-drop-pulse{outline:2px dashed transparent;animation:folder-drop-pulse-anim 1.4s ease-in-out infinite}.glyph{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px}.glyph svg{width:14px;height:14px}.glyph-gate,.glyph-task,.glyph-milestone,.glyph-safety{color:var(--steel)}.glyph-critical{color:var(--signal)}.glyph-warning{color:var(--amber)}.glyph-ok{color:var(--confirm)}.glyph-neutral{color:var(--steel)}.login-shell{min-height:100vh;display:flex;background:var(--paper);font-family:var(--font-body)}.login-brand{width:40%;min-width:360px;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;padding:48px;position:relative;overflow:hidden}.login-brand .login-logo{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.login-brand .login-logo-mark{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-brand .login-logo-mark img{width:100%;height:100%;border-radius:var(--radius-sm);display:block}.login-brand .login-wordmark{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.01em}.login-brand .login-tagline{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#fafaf899;margin-top:2px}.login-brand .login-headline{font-family:var(--font-display);font-size:28px;font-weight:600;line-height:1.3;max-width:320px;position:relative;z-index:1}.login-brand .login-footer{font-family:var(--font-mono);font-size:10px;color:#fafaf873;letter-spacing:.04em;position:relative;z-index:1}.login-blueprint{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;opacity:.8;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 0,transparent 220px,black 320px,black 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 220px,black 320px,black 100%)}.login-blueprint .bp-vline{stroke:var(--paper);stroke-width:.5;opacity:.07}.login-blueprint .bp-line-draw{stroke:var(--paper);stroke-width:1.4;stroke-linecap:round;opacity:.3;stroke-dashoffset:var(--len);animation:bp-draw 2.4s cubic-bezier(.16,1,.3,1) forwards}@keyframes bp-draw{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}.login-blueprint .bp-glyph{color:var(--steel);fill:currentColor;stroke:none;animation-name:bp-glyph-confirm;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes bp-glyph-confirm{0%{color:var(--steel)}10.5%{color:var(--steel)}12%{color:var(--signal)}17.5%{color:var(--confirm)}32%{color:var(--confirm)}40%{color:var(--steel)}to{color:var(--steel)}}.login-blueprint .bp-now{stroke:var(--paper);stroke-width:1;opacity:.1;animation:bp-now-drift 50s linear infinite}@keyframes bp-now-drift{0%{transform:translate(0)}to{transform:translate(360px)}}@media (prefers-reduced-motion: reduce){.login-blueprint .bp-line-draw{animation:none;stroke-dashoffset:0}.login-blueprint .bp-glyph{animation:none;color:var(--steel)}.login-blueprint .bp-now{display:none}}.login-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface)}.login-form-wrap{width:100%;max-width:360px}.login-eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--signal);margin-bottom:10px}.login-h1{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--ink);margin-bottom:6px}.login-sub{font-size:12.5px;color:var(--steel);margin-bottom:24px}.login-field{margin-bottom:14px}.login-field label{display:block;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:500;color:var(--steel);margin-bottom:5px}.login-field input{width:100%;padding:9px 11px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;font-family:var(--font-body);outline:none;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:var(--signal);box-shadow:0 0 0 3px #d6291e26}.login-submit{width:100%;padding:10px;border-radius:var(--radius);border:1px solid var(--signal);background:var(--signal);color:#fff;font-size:13px;font-weight:600;font-family:var(--font-body);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .12s,border-color .12s}.login-submit:hover{background:var(--signal-dark);border-color:var(--signal-dark)}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-link{border:none;background:none;color:var(--steel);cursor:pointer;font-size:11.5px;font-family:inherit}.login-link:hover{color:var(--ink)}.login-alert{padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);border-left:3px solid;font-size:12px;margin-bottom:14px}.login-alert.error{border-left-color:var(--signal);background:#d6291e0f;color:var(--signal-dark)}.login-alert.info{border-left-color:var(--confirm);background:#1f7a520f;color:var(--confirm)}.login-footnote{text-align:center;margin-top:18px;font-family:var(--font-mono);font-size:10px;color:var(--steel)}.login-footnote a{color:var(--steel)}@media (max-width: 768px){.login-shell{flex-direction:column}.login-brand{width:100%;min-width:0;flex-direction:row;align-items:center;justify-content:flex-start;padding:16px 20px}.login-brand .login-headline,.login-brand .login-footer,.login-brand .login-tagline,.login-blueprint{display:none}.login-panel{padding:32px 20px}}
