@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-BJItruJi.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-C1SKuNhx.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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-BPWuI_CM.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-CTUnhTqV.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-n6oPB5VF.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-DSasf_jt.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-B97dYap6.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-OKGpH0gQ.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-BHf956ki.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-CyDjbWPV.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-CdZtFfYS.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-BU83cd9M.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+2074,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-Cfrm0EKX.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DujcQJCN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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-D1zm99-P.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-BEypoZQd.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-By04ZBDJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-BwBTeJfm.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-rpgY82Kd.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-V_-bWxzT.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-DprGrCew.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-CgrnmiIU.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-BFLYOLbL.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-Dh0NORqx.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+2074,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-jBHiQjEG.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-CJ5MtzOJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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-DM9A4i1K.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BuRiwhxF.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-FZrtz_q-.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-BJUfoJTU.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-DHNi5J5O.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-D03elqKW.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-dAZVOL-H.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-bp4QDljZ.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-BGOKnPO6.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-ZykYOGKL.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-cyrillic-ext-500-normal-CUufyNA2.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-cyrillic-ext-500-normal-EPK-BzAW.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-vietnamese-500-normal-D7GP9xLB.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-vietnamese-500-normal-T8wAF42-.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 Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-latin-ext-500-normal-DhyxM4sO.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-ext-500-normal-BKk0YQgt.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-latin-500-normal-Dgt7MQaB.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-500-normal-BC_8YlTT.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-cyrillic-ext-600-normal-Bc8QDaH9.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-cyrillic-ext-600-normal-DDqv5A1H.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-vietnamese-600-normal-L1OJdHD7.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-vietnamese-600-normal-fqGoSc8b.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 Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-latin-ext-600-normal-CjHbh-0A.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-ext-600-normal-jPJyOWHy.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-latin-600-normal-C3DoAWsR.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-600-normal-CtZfM17_.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-condensed-cyrillic-ext-700-normal-VYUHA-63.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-cyrillic-ext-700-normal-BjLdPasW.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-condensed-vietnamese-700-normal-DZNlSKPJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-vietnamese-700-normal-Dis5uX10.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 Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-condensed-latin-ext-700-normal-DDaPsCVa.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-ext-700-normal-0Ndqck-P.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-condensed-latin-700-normal-Chx5iojE.woff2) format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-700-normal-D2KT6FyO.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+2074,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-B3hZxag_.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-ZyMXPjaT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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-DvQQgHTq.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CJUKFyLa.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-BFiUPp6R.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DLynVohM.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-DxDDqVQb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-uwM7KshN.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-Dm_PoFIZ.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.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+2074,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-CmcxpzmF.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-yqk7_qG0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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-BtGHVI3Q.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-N1TV9ACq.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-CevHOlzG.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-QhwQXayn.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-Dn-cqWhb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-BhDX_RLI.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-C_OblDzq.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-zoSM89R3.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f3f4f6;--surface:#ffffff;--sunken:#e9ebef;--line:#d5d9e0;--fg:#1b2230;--muted:#5d6676;--accent:#1f4fd1;--accent-ink:#ffffff;--accent-soft:#e3eafc;--side:#141b2b;--side-fg:#c9d1e2;--side-active:#26324d;--s-pend:#6f7a8c;--s-test:#2b7bd6;--s-fail:#d33a2c;--s-fix:#e07b12;--s-review:#7b4cd1;--s-ok:#1f9a55;--s-block:#8f2f2f;--s-na:#9aa1ad;--green:#1f9a55;--amber:#d9930b;--red:#d33a2c;--f-display:"IBM Plex Sans Condensed","Arial Narrow",system-ui,sans-serif;--f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--r:6px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1420;--surface:#171e2d;--sunken:#1d2537;--line:#2c3650;--fg:#e4e8f0;--muted:#97a1b5;--accent:#6f95ff;--accent-ink:#0b1020;--accent-soft:#1f2b4a;--side:#0a0e17;--side-fg:#aab4c8;--side-active:#1d2740;--s-pend:#7d879a;--s-test:#4d97ec;--s-fail:#f0604f;--s-fix:#f19a3a;--s-review:#a07cf0;--s-ok:#3cc177;--s-block:#c85b5b;--s-na:#5f6779;--green:#3cc177;--amber:#f0b43a;--red:#f0604f;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1420;--surface:#171e2d;--sunken:#1d2537;--line:#2c3650;--fg:#e4e8f0;--muted:#97a1b5;--accent:#6f95ff;--accent-ink:#0b1020;--accent-soft:#1f2b4a;--side:#0a0e17;--side-fg:#aab4c8;--side-active:#1d2740;--s-pend:#7d879a;--s-test:#4d97ec;--s-fail:#f0604f;--s-fix:#f19a3a;--s-review:#a07cf0;--s-ok:#3cc177;--s-block:#c85b5b;--s-na:#5f6779;--green:#3cc177;--amber:#f0b43a;--red:#f0604f;color-scheme:dark}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.45}*{box-sizing:border-box}h1,h2,h3{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:.01em}h1{font-size:24px}h2{font-size:18px}h3{font-size:15px}.mono{font-family:var(--f-mono);font-size:12.5px}a{color:var(--accent)}.muted{color:var(--muted)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{border:1px solid var(--line);background:var(--surface);padding:7px 12px;border-radius:var(--r);font-weight:500;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 50%,var(--line))}.btn.sm{padding:4px 9px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.input,select.input,textarea.input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:7px 10px}textarea.input{resize:vertical;min-height:70px}label.f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:500;min-width:0}label.f>span{text-transform:uppercase;letter-spacing:.05em}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.app{display:grid;grid-template-columns:220px 1fr;height:100%}.side{background:var(--side);color:var(--side-fg);display:flex;flex-direction:column;padding:18px 12px;gap:4px;overflow:auto}.brand{font-family:var(--f-display);font-weight:700;font-size:20px;color:#fff;padding:0 8px 4px;letter-spacing:.02em}.brand small{display:block;font-family:var(--f-body);font-weight:400;font-size:11.5px;color:var(--side-fg);letter-spacing:0;margin-top:2px}.nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--r);color:var(--side-fg);text-decoration:none;font-weight:500}.nav a:hover{background:var(--side-active)}.nav a.on{background:var(--side-active);color:#fff}.nav a .cnt{font-family:var(--f-mono);font-size:11px;opacity:.8}.nav{display:flex;flex-direction:column;gap:2px;margin-top:14px}.side .foot{margin-top:auto;font-size:12px;display:flex;flex-direction:column;gap:8px;padding:8px}.side .foot .who{color:#fff;font-weight:500;word-break:break-all}.side .btn{background:transparent;border-color:#33405e;color:var(--side-fg)}.dbbadge{font-size:11px;padding:3px 7px;border-radius:99px;border:1px solid #33405e;align-self:flex-start}.dbbadge.ok{color:#7fe0a6;border-color:#2c6b47}.dbbadge.loc{color:#f0c46a;border-color:#7a5a1d}.main{overflow:auto;min-width:0}.wrap{padding-block:22px 40px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));max-width:1400px;display:flex;flex-direction:column;gap:18px}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.head p{margin:4px 0 0;color:var(--muted)}.topbar{display:none}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}.panel>h2{margin-bottom:12px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}.kpi .v{font-family:var(--f-display);font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.kpi .l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.kpi .s{font-size:12px;color:var(--muted)}.cols{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.stack{display:flex;height:12px;border-radius:3px;overflow:hidden;background:var(--sunken)}.stack i{display:block;height:100%}.msrow{display:grid;grid-template-columns:120px 1fr 54px;gap:10px;align-items:center;padding:7px 0}.msrow b{font-family:var(--f-mono);font-size:12.5px;font-weight:500}.msrow .pct{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:12px;color:var(--muted);margin-top:10px}.legend span{display:inline-flex;align-items:center;gap:5px}.dot{width:9px;height:9px;border-radius:2px;display:inline-block;flex:none}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:500;white-space:nowrap;border:1px solid transparent}.st{color:#fff}.pri-Alta{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent)}.pri-Media{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,transparent)}.pri-Baja{color:var(--muted);border-color:var(--line)}.ms{background:var(--sunken);color:var(--fg);font-family:var(--f-mono);font-size:11px}.sem{width:12px;height:12px;border-radius:50%;display:inline-block;border:2px solid var(--line);flex:none}.sem.verde{background:var(--green);border-color:var(--green)}.sem.ambar{background:var(--amber);border-color:var(--amber)}.sem.rojo{background:var(--red);border-color:var(--red)}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filters .input{width:auto;min-width:0}.filters input.input{flex:1 1 200px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.seg button{border:0;background:var(--surface);padding:6px 12px}.seg button.on{background:var(--accent);color:var(--accent-ink)}.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;background:var(--sunken);position:sticky;top:0}tbody tr{cursor:pointer}tbody tr:hover td{background:var(--accent-soft)}td.n{font-variant-numeric:tabular-nums;text-align:right}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;padding-bottom:8px}.col{background:var(--sunken);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:200px;max-height:72vh}.col.over{outline:2px dashed var(--accent)}.col h3{display:flex;align-items:center;gap:7px;padding:4px 4px 2px;font-size:13px}.col h3 .c{margin-left:auto;font-family:var(--f-mono);font-size:11px;color:var(--muted)}.col .list{overflow:auto;display:flex;flex-direction:column;gap:7px}.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 10px;display:flex;flex-direction:column;gap:6px;cursor:grab}.card:hover{border-color:var(--accent)}.card .t{font-weight:500;line-height:1.3}.card .m{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px}.av{width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:10.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex:none}.plan{display:flex;flex-direction:column;gap:10px}.day{display:grid;grid-template-columns:92px 1fr 220px;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;cursor:pointer}.day:hover{border-color:var(--accent)}.day.today{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.day .d{font-family:var(--f-display);font-weight:600;font-size:16px;line-height:1.15}.day .d small{display:block;font-family:var(--f-body);font-weight:400;font-size:12px;color:var(--muted)}.day .foco{font-weight:500}.day .ent{font-size:12.5px;color:var(--muted)}.day .prog{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.feed{display:flex;flex-direction:column}.ev{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.ev:last-child{border-bottom:0}.ev .what{font-size:13.5px}.ev .when{font-size:12px;color:var(--muted)}.ev .body{white-space:pre-wrap;background:var(--sunken);border-radius:6px;padding:8px 10px;margin-top:5px;font-size:13.5px}.tag{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:1px 6px;border-radius:3px;background:var(--sunken);color:var(--muted)}.tag.approve{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}.tag.reject{background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--red)}.tag.fix{background:color-mix(in srgb,var(--s-fix) 18%,transparent);color:var(--s-fix)}.tag.comment{background:var(--accent-soft);color:var(--accent)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1773;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(640px,100%);background:var(--surface);z-index:41;display:flex;flex-direction:column;border-left:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}.drawer .dh{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:flex-start}.drawer .dh .x{margin-left:auto}.drawer .db{overflow:auto;padding:16px 20px 30px;display:flex;flex-direction:column;gap:16px}.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;font-size:13.5px}.kv dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}.kv dd{margin:0;white-space:pre-wrap;min-width:0;overflow-wrap:anywhere}.trace{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.trace div{background:var(--sunken);border-radius:6px;padding:8px 10px;font-size:12.5px;min-width:0;overflow-wrap:anywhere}.trace b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;margin-bottom:2px}.actions{display:flex;flex-wrap:wrap;gap:6px}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 32px));max-height:calc(100% - 40px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;z-index:51;padding:20px;display:flex;flex-direction:column;gap:14px}.modal-scrim{z-index:50}.toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);background:var(--fg);color:var(--bg);padding:9px 16px;border-radius:6px;z-index:60;font-weight:500;max-width:calc(100% - 32px)}.err{color:var(--red);font-size:13px}.note{background:var(--accent-soft);border-radius:6px;padding:10px 12px;font-size:13px}.auth{min-height:100%;display:grid;place-items:center;padding-block:30px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.auth .box{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px;display:flex;flex-direction:column;gap:14px}.auth .brand{color:var(--fg);padding:0;font-size:26px}.auth .brand small{color:var(--muted)}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal .dow{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:0 4px}.cell{background:var(--surface);border:1px solid var(--line);border-radius:6px;min-height:118px;padding:7px 8px;display:flex;flex-direction:column;gap:5px;min-width:0;text-align:left}.cell.blank{background:transparent;border-color:transparent}.cell.off{background:var(--sunken);color:var(--muted)}.cell.plan{cursor:pointer}.cell.plan:hover,.cell.has:hover{border-color:var(--accent)}.cell.has{cursor:pointer}.cell.today{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.cell .n{display:flex;align-items:center;gap:6px;font-family:var(--f-display);font-weight:600;font-size:15px}.cell .fx{font-size:12px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.cell .cnts{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.mini{font-size:10.5px;font-weight:600;padding:1px 5px;border-radius:3px;background:var(--sunken);color:var(--muted);white-space:nowrap}.mini.h{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}.mini.s{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.mini.a{background:var(--accent-soft);color:var(--accent)}.rte{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}.rte:focus-within{border-color:var(--accent)}.rte .tb{display:flex;flex-wrap:wrap;gap:2px;padding:4px;border-bottom:1px solid var(--line);background:var(--sunken)}.rte .tb button{border:0;background:transparent;border-radius:4px;padding:3px 8px;font-size:13px;min-width:30px}.rte .tb button:hover{background:var(--surface)}.rte .tb .sep{width:1px;background:var(--line);margin:2px 4px}.rte .ed{min-height:120px;max-height:420px;overflow:auto;padding:10px 12px;outline:none}.rte .ed:empty:before{content:attr(data-ph);color:var(--muted)}.rte .hint{font-size:11.5px;color:var(--muted);padding:4px 10px 6px;border-top:1px dashed var(--line)}.rich img,.rte .ed img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:4px;display:block;margin:6px 0;cursor:zoom-in}.rte .ed img{max-height:220px;width:auto}.rich p,.rte .ed p{margin:0 0 6px}.rich ul,.rich ol,.rte .ed ul,.rte .ed ol{margin:4px 0 6px;padding-left:22px}.upl{display:inline-block;font-size:12px;color:var(--muted);background:var(--sunken);padding:2px 8px;border-radius:4px;margin:4px 0}.upl.err{color:var(--red)}.composer{display:flex;flex-direction:column;gap:10px;background:var(--sunken);border-radius:8px;padding:12px}.composer .auto{font-size:12px;color:var(--muted)}.meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.ev .body.rich{white-space:normal}.lb{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080edb;z-index:70;display:grid;place-items:center;padding:20px;cursor:zoom-out}.lb img{max-width:100%;max-height:100%;border-radius:4px;background:#fff}.kind-hallazgo{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}.kind-solucion{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.kind-verificacion{background:var(--accent-soft);color:var(--accent)}@media (max-width:640px){.cell{min-height:64px;padding:5px;overflow:hidden}.cell .fx,.cell .stack,.cell .mini.a,.cell .mini:not(.h):not(.s){display:none}.cal{gap:3px}.cell .n{font-size:13px}.cell .mini{font-size:9.5px;padding:0 3px}}.rep-day{display:flex;flex-direction:column;gap:0}.rep-day>h2{display:flex;align-items:baseline;gap:10px;padding:10px 0 8px;border-bottom:2px solid var(--fg)}.rep-day>h2 small{font-family:var(--f-body);font-weight:400;font-size:13px;color:var(--muted)}.filters label.f .input{flex:none;width:auto}.cascbar{display:grid;grid-template-columns:200px 220px minmax(0,1fr);gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px}.cascbar .input{width:100%}.casc{min-width:0}@media (max-width:760px){.cascbar{grid-template-columns:1fr}}.filters label.f input#rQ{width:100%}.rrow{display:grid;grid-template-columns:96px 170px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);align-items:start}.rrow .hr{font-family:var(--f-mono);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.rrow .who b{display:block}.rrow .who span{font-size:12px;color:var(--muted)}.rrow .txt{min-width:0}.rrow .txt .ex{margin-top:4px;color:var(--fg);overflow-wrap:anywhere}.rrow details summary{cursor:pointer;color:var(--accent);font-size:12.5px;margin-top:4px}.rrow details .rich{margin-top:6px;background:var(--sunken);border-radius:6px;padding:8px 10px}.rsum{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:700px){.rrow{grid-template-columns:76px 1fr}.rrow .txt{grid-column:1/-1}}@media (max-width:900px){.cols{grid-template-columns:1fr}.day{grid-template-columns:80px 1fr}.day .prog{grid-column:1/-1}}@media (max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.side{display:none}.side.open{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;padding-top:calc(18px + env(safe-area-inset-top,0px))}.topbar{display:flex;align-items:center;gap:10px;background:var(--side);color:#fff;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));position:sticky;top:env(safe-area-inset-top,0px);z-index:30}.topbar .brand{font-size:17px;padding:0}.topbar .btn{background:transparent;color:#fff;border-color:#33405e}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:31;background:var(--side)}.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.kv,.trace{grid-template-columns:1fr}.msrow{grid-template-columns:90px 1fr 44px}}@media (prefers-reduced-motion:no-preference){.drawer{animation:slide .18s ease-out}@keyframes slide{0%{transform:translate(24px);opacity:.6}}}html,body,#root{height:100%}body{margin:0}.rte .ProseMirror{min-height:120px;max-height:420px;overflow:auto;padding:10px 12px;outline:none}.rte .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);float:left;height:0;pointer-events:none}.rte .ProseMirror img{max-height:220px;width:auto;max-width:100%;border:1px solid var(--line);border-radius:4px;display:block;margin:6px 0}.rte .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--accent)}.rte .tb button.on{background:var(--surface);color:var(--accent)}.rte .uploading{font-size:12px;color:var(--muted);padding:4px 10px}.skeleton{color:var(--muted);padding:30px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}button.linklike{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}.chip.ms.linklike{color:var(--fg);text-decoration:underline}.cascbar.flat{background:transparent;border:0;padding:0}
