@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;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BURdOHSV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DB8GrNuW.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:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-KNc67_qc.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-DH4-ctVk.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:700;src:url(/assets/ibm-plex-sans-greek-700-normal-BoLTwK2U.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-v1ZS-zG7.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:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-Blw1EEi-.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-N1itUhP2.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:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-IsFYRIfa.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-D97e-FUQ.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:700;src:url(/assets/ibm-plex-sans-latin-700-normal-BiUoxtWd.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-BmphL1LA.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-cyrillic-ext-600-normal-93lFrI9Q.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-600-normal-DI_iyMMa.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-cyrillic-600-normal-JAxFfKin.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-600-normal-CD0t2uYO.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-greek-600-normal-BOUTqEib.woff2) format("woff2"),url(/assets/source-serif-4-greek-600-normal-BDrQOi3I.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-vietnamese-600-normal-Mu8CBhr8.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-600-normal-BhWpCnbP.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-ext-600-normal-DvfVeXby.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-600-normal-BUrqQODo.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-600-normal-o3gjl2h6.woff2) format("woff2"),url(/assets/source-serif-4-latin-600-normal-BqP-dZFg.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;--bg-2: #ffffff;--bg-3: #f6f7f9;--hover: #f1f4f8;--line: #d8dde4;--line-2: #e8ebef;--text: #17202b;--muted: #5a6573;--faint: #98a2ae;--primary: #12304f;--primary-hover: #0c2238;--accent: #1f5f99;--accent-soft: #e8f0f8;--green: #2b6e3f;--green-soft: #e7f2ea;--red: #a8261d;--red-soft: #f9e9e7;--amber: #93550a;--amber-soft: #fbf0df;--neutral-soft: #eef0f3;--side-bg: #0f2236;--side-text: #c3cfdc;--side-muted: #7f92a6;--side-hover: #17304a;--side-active: #1d3a58;--invert-bg: var(--primary);--invert-text: #fff;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .12);--radius: 4px;--serif: "Source Serif 4", Georgia, "Times New Roman", serif;color-scheme:light}:root[data-theme=dark]{--bg: #0e1318;--bg-2: #151b22;--bg-3: #1a222b;--hover: #1b242e;--line: #2a3441;--line-2: #212a35;--text: #e3e8ee;--muted: #94a1b0;--faint: #5f6c7b;--primary: #3b7cc0;--primary-hover: #4a8bd0;--accent: #6aa5e0;--accent-soft: #1b2d42;--green: #6fbf87;--green-soft: #17291e;--red: #e5786f;--red-soft: #33191a;--amber: #e0a55a;--amber-soft: #33261a;--neutral-soft: #222b36;--side-bg: #0a0f14;--side-hover: #141d27;--side-active: #1a2735;--shadow: 0 0 0 1px var(--line), 0 12px 32px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:IBM Plex Sans,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}::selection{background:var(--accent);color:#fff}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13px}.xs{font-size:12px}.bold{font-weight:600}.mono{font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:12.5px}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1;min-width:0}.right{margin-left:auto}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green{color:var(--green)}.red{color:var(--red)}.amber{color:var(--amber)}.blue{color:var(--accent)}.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%;background:linear-gradient(to right,var(--side-bg) 232px,transparent 232px)}.side{position:sticky;top:0;height:100vh;padding:0 0 12px;background:var(--side-bg);color:var(--side-text);display:flex;flex-direction:column;gap:1px}.brand{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:10px}.brand-mark{width:28px;height:28px;border-radius:3px;background:#fff;color:var(--side-bg);display:grid;place-items:center;flex:none}.brand span{font-family:var(--serif);font-weight:600;font-size:18px;color:#fff;letter-spacing:-.01em;line-height:1.1}.brand small{display:block;font-family:IBM Plex Sans,sans-serif;font-weight:500;font-size:10.5px;color:var(--side-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:3px}.nav-section{padding:14px 18px 6px;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--side-muted)}.nav-item{display:flex;align-items:center;gap:11px;padding:8px 18px 8px 15px;font-size:13.5px;color:var(--side-text);border:0;border-left:3px solid transparent;background:none;width:100%;cursor:pointer;text-align:left}.nav-item:hover{background:var(--side-hover);color:#fff}.nav-item.active{background:var(--side-active);color:#fff;border-left-color:#7fb2e5;font-weight:600}.nav-item .count{margin-left:auto;font-size:11px;font-weight:600;background:#b42318;color:#fff;border-radius:2px;padding:0 6px;line-height:18px}.side-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.07);padding-top:8px}.search-btn{display:flex;align-items:center;gap:8px;margin:0 12px 6px;width:calc(100% - 24px);padding:7px 10px;border-radius:3px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--side-muted);cursor:pointer;font-size:13px}.search-btn:hover{border-color:#ffffff38;color:var(--side-text)}.kbd{margin-left:auto;font-size:10.5px;border:1px solid rgba(255,255,255,.15);border-radius:2px;padding:0 5px;font-family:IBM Plex Mono,monospace}.main{min-width:0}.page-head{position:sticky;top:0;z-index:5;background:var(--bg-2);border-bottom:1px solid var(--line);padding:12px 28px;display:flex;align-items:center;gap:12px;min-height:64px}.page-head h1{font-family:var(--serif);font-size:22px;margin:0;font-weight:600;letter-spacing:-.005em;line-height:1.2}.page-head .sub{color:var(--muted);font-size:12.5px;margin-top:2px}.page{padding:20px 28px 72px;display:flex;flex-direction:column;gap:18px;max-width:1280px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 13px;border-radius:3px;border:1px solid var(--line);background:var(--bg-2);font-weight:500;font-size:13px;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap;color:var(--text)}.btn:hover{background:var(--hover);border-color:#c3cad3}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.primary:hover{background:var(--primary-hover)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{filter:brightness(.94)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--hover)}.btn.danger{color:var(--red)}.btn.danger:hover{background:var(--red-soft);border-color:var(--red)}.btn.sm{height:28px;padding:0 10px;font-size:12.5px}.btn.icon{width:32px;padding:0}.btn.sm.icon{width:28px}.input,.select,.textarea{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:3px;padding:6px 10px;height:32px;outline:none;transition:border-color .12s,box-shadow .12s;font-size:13.5px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{resize:vertical;min-height:80px;line-height:1.5;height:auto;padding:8px 10px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 9px) 55%;background-size:5px 5px;background-repeat:no-repeat}.select option{background:var(--bg-2)}.label{font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:5px;display:block;text-transform:uppercase;letter-spacing:.05em}.field{display:flex;flex-direction:column}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}.card-pad{padding:16px 18px}.card-head{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:1px solid var(--line);background:var(--bg-3);border-radius:var(--radius) var(--radius) 0 0;min-height:46px}.card-head h3{margin:0;font-size:13.5px;font-weight:600}.section-title{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line-2)}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:2px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--neutral-soft);color:var(--muted);letter-spacing:.02em;border:1px solid transparent}.badge.blue{background:var(--accent-soft);color:var(--accent)}.badge.green{background:var(--green-soft);color:var(--green)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.outline{background:transparent;border-color:var(--line);color:var(--text);font-weight:500}.dot{width:6px;height:6px;border-radius:1px;background:currentColor;display:inline-block}.list-row{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid var(--line-2);cursor:pointer;transition:background .1s}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--hover)}.case-no{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--muted);width:56px;flex:none}.avatar{width:30px;height:30px;border-radius:3px;flex:none;display:grid;place-items:center;font-weight:600;font-size:11.5px;background:var(--bg-3);color:var(--muted);border:1px solid var(--line)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;font-weight:600;color:var(--muted);padding:8px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--bg-3);text-transform:uppercase;letter-spacing:.05em}.table td{padding:9px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}.table tbody tr{cursor:pointer}.table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--bg-3) 55%,transparent)}.table tbody tr:hover td{background:var(--hover)}.table .r{text-align:right}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}.kpi{padding:13px 18px;border-right:1px solid var(--line-2)}.kpi:last-child{border-right:0}.kpi .k-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.kpi .k-value{font-size:21px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi .k-sub{font-size:12px;color:var(--muted);margin-top:1px}.tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto;background:var(--bg-3);border-radius:var(--radius) var(--radius) 0 0;padding:0 8px}.tab{padding:11px 14px;border:0;background:none;color:var(--muted);font-weight:500;font-size:13px;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);font-weight:600;border-bottom-color:var(--primary);background:var(--bg-2)}:root[data-theme=dark] .tab.active{color:var(--text)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:3px;background:var(--bg-2);overflow:hidden}.seg button{border:0;border-right:1px solid var(--line);background:none;padding:0 12px;height:30px;font-size:12.5px;font-weight:500;color:var(--muted);cursor:pointer}.seg button:last-child{border-right:0}.seg button:hover{background:var(--hover);color:var(--text)}.seg button.on{background:var(--primary);color:#fff}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--line);border-radius:3px;font-size:12.5px;cursor:pointer;background:var(--bg-2);font-weight:500;color:var(--text)}.chip:hover{border-color:#b9c1cb}.chip.on{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);font-weight:600}.empty{padding:32px 20px;text-align:center;color:var(--muted);font-size:13.5px}.empty .e-title{color:var(--text);font-weight:600;font-size:14.5px;margin-bottom:4px}.divider{height:1px;background:var(--line)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.bar{height:8px;border-radius:1px;background:var(--line-2);overflow:hidden;display:flex}.bar>span{height:100%}.meter{height:6px;border-radius:1px;background:var(--line-2);overflow:hidden}.meter>span{display:block;height:100%}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--muted)}.legend i{width:9px;height:9px;border-radius:1px;display:inline-block;margin-right:6px;vertical-align:-1px}.tl{display:flex;flex-direction:column}.tl-item{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line-2)}.tl-item:last-child{border-bottom:0}.tl-icon{width:26px;height:26px;border-radius:3px;display:grid;place-items:center;background:var(--bg-3);color:var(--muted);border:1px solid var(--line-2)}.composer{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-head{padding:9px 14px;border-bottom:1px solid var(--line-2);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg-3);border-radius:var(--radius) var(--radius) 0 0}.composer-body{padding:10px 14px 12px}.composer textarea{width:100%;border:0;outline:0;background:transparent;resize:none;font-size:14px;min-height:48px;line-height:1.5}.composer textarea::placeholder{color:var(--faint)}.suggest{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f192673;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px;animation:fade .12s ease-out}.modal{background:var(--bg-2);border-radius:5px;width:100%;max-width:620px;box-shadow:var(--shadow);max-height:84vh;display:flex;flex-direction:column;border:1px solid var(--line)}.modal.wide{max-width:880px}.modal-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-3);border-radius:5px 5px 0 0}.modal-head h3{margin:0;font-size:15px;font-weight:600}.modal-body{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:14px}.modal-foot{padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;align-items:center;background:var(--bg-3);border-radius:0 0 5px 5px}.palette input{border:0;outline:0;background:transparent;width:100%;font-size:15px;padding:14px 16px;border-bottom:1px solid var(--line)}.palette .p-item{padding:9px 16px;display:flex;gap:12px;align-items:center;cursor:pointer;border-left:3px solid transparent}.palette .p-item.on{background:var(--hover);border-left-color:var(--accent)}@keyframes fade{0%{opacity:0}}.toast-wrap{position:fixed;bottom:20px;right:20px;z-index:60;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.toast{background:#17202b;color:#fff;padding:10px 14px;border-radius:3px;font-size:13px;box-shadow:var(--shadow);border-left:3px solid #5fa86f;min-width:260px;animation:fade .15s ease-out}.toast.err{border-left-color:#e5534b}.drop{display:block;border:1px dashed #b5bec9;border-radius:var(--radius);padding:36px 20px;text-align:center;cursor:pointer;background:var(--bg-2);transition:border-color .12s,background .12s}.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft)}.steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}.step{padding:18px;border-right:1px solid var(--line-2)}.step:last-child{border-right:0}.step .n{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--accent);font-weight:600;margin-bottom:8px}.check{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;font-size:13.5px}.check input{width:16px;height:16px;accent-color:var(--primary)}.kv{display:grid;grid-template-columns:140px 1fr;gap:7px 14px;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.pre{white-space:pre-wrap;font-size:13.5px;line-height:1.55;color:var(--text)}.obs{font-size:12.5px;color:var(--muted);border-left:2px solid var(--line);padding:2px 0 2px 10px;white-space:pre-wrap}.day-head{padding:7px 18px;font-size:11px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:center;background:var(--bg-3);text-transform:uppercase;letter-spacing:.07em}.task-check{width:16px;height:16px;border-radius:2px;border:1.5px solid var(--faint);background:var(--bg-2);cursor:pointer;flex:none;display:grid;place-items:center;padding:0}.task-check:hover{border-color:var(--primary)}.task-check.done{background:var(--green);border-color:var(--green);color:#fff}.mark{width:7px;height:7px;border-radius:1px;display:inline-block;flex:none;margin-top:6px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1100px){.grid-main{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 900px){.app{grid-template-columns:60px minmax(0,1fr);background:linear-gradient(to right,var(--side-bg) 60px,transparent 60px)}.brand span,.nav-item .lbl,.search-btn .lbl,.kbd,.nav-section,.nav-item .count{display:none}.brand{padding:16px;justify-content:center}.nav-item{justify-content:center;padding:10px 0}.search-btn{justify-content:center;margin:0 8px 6px;width:calc(100% - 16px)}.grid-2,.grid-3,.steps{grid-template-columns:1fr}.page,.page-head{padding-left:16px;padding-right:16px}}.grid-perfis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}details>summary::-webkit-details-marker{display:none}details:not([open])>summary.card-head{border-bottom:0;border-radius:var(--radius)}@media (max-width: 1100px){.grid-perfis{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-perfis{grid-template-columns:1fr}}.pager{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line);background:var(--bg-3);flex-wrap:wrap}.week-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}.week-bar.stale{border-color:color-mix(in srgb,var(--amber) 45%,var(--line));background:var(--amber-soft)}.steps-inline{display:flex;gap:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);overflow:hidden}.steps-inline>div{flex:1;padding:10px 14px;font-size:13px;color:var(--muted);border-right:1px solid var(--line-2);display:flex;gap:8px;align-items:center}.steps-inline>div:last-child{border-right:0}.steps-inline>div.on{color:var(--text);font-weight:600;background:var(--accent-soft)}.steps-inline>div.done{color:var(--green)}.steps-inline .n{width:20px;height:20px;border-radius:2px;border:1px solid currentColor;display:grid;place-items:center;font-size:11px;flex:none}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.search-box{position:relative;flex:1 1 280px;min-width:0}.search-box .input{padding-left:34px;padding-right:30px}.search-ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);cursor:pointer;padding:4px;display:grid;place-items:center}.chips-scroll{display:flex;gap:6px;flex-wrap:wrap}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort:hover{color:var(--text)}.th-sort.on{color:var(--primary)}:root[data-theme=dark] .th-sort.on{color:var(--text)}.th-sort-in{display:inline-flex;align-items:center;gap:4px}.table th.r .th-sort-in{justify-content:flex-end;width:100%}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-grid .span-2{grid-column:span 2}.form-grid.five{grid-template-columns:repeat(5,1fr)}.mobile-bar,.side-backdrop,.mb-btn.side-close{display:none}.brand-mark.sm{width:24px;height:24px}.mb-btn{border:0;background:none;color:inherit;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;border-radius:3px}@media (max-width: 768px){body{font-size:15px}.app{display:block;background:var(--bg);padding-top:calc(52px + env(safe-area-inset-top))}.mobile-bar{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:30;height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 4px 0;background:var(--side-bg);color:#fff}.mb-brand{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:600;font-size:18px;color:#fff}.mb-brand .brand-mark{background:#fff;color:var(--side-bg)}.side{position:fixed;top:0;bottom:0;left:0;z-index:50;width:min(86vw,300px);height:100dvh;transform:translate(-102%);transition:transform .22s ease;padding-top:env(safe-area-inset-top);overflow-y:auto}.menu-open .side{transform:none;box-shadow:0 0 40px #0006}.side-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#0a121c80;opacity:0;pointer-events:none;transition:opacity .2s}.menu-open .side-backdrop{opacity:1;pointer-events:auto}.mb-btn.side-close{display:grid;position:absolute;top:calc(8px + env(safe-area-inset-top));right:6px;color:var(--side-text)}.nav-item{padding:12px 18px;font-size:15px}.search-btn{padding:10px 12px}.page-head{position:static;padding:14px 16px;min-height:0;flex-wrap:wrap;gap:10px}.page-head>.grow{flex:1 1 calc(100% - 60px)}.page-head h1{font-size:20px}.page-head .seg{max-width:100%;overflow-x:auto}.page{padding:14px 12px calc(40px + env(safe-area-inset-bottom));gap:14px}.hide-sm{display:none}.btn{height:40px;padding:0 14px}.btn.sm{height:34px}.btn.icon{width:40px}.btn.sm.icon{width:34px}.input,.select{height:42px;font-size:16px}.textarea,.composer textarea{font-size:16px}.chip{height:34px}.toolbar>*{flex:1 1 100%;width:100%!important}.chips-scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;margin:0 -12px;padding-left:12px;padding-right:12px}.chips-scroll::-webkit-scrollbar{display:none}.chips-scroll .chip{flex:none}.kpis{grid-template-columns:1fr 1fr}.kpi{padding:12px 14px;border-bottom:1px solid var(--line-2)}.kpi:nth-child(2n){border-right:0}.kpi .k-value{font-size:18px}.grid-2,.grid-3,.grid-main,.grid-perfis,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.form-grid.five{grid-template-columns:1fr 1fr}.grid-main>.col[style*=sticky],.grid-main>.card[style*=sticky]{position:static!important}.card-head{padding:10px 14px;flex-wrap:wrap}.card-pad{padding:14px}.card-pad .row:not(.list-row){flex-wrap:wrap}.card-pad.row{flex-wrap:wrap}.card-pad.row>.grow{flex:1 1 calc(100% - 40px)}.card-pad.row>.field{width:100%!important;flex:1 1 100%}.card-pad .row>.input,.card-pad .row>.select{flex:1 1 140px;width:auto!important}.kv{grid-template-columns:110px 1fr}.list-row{flex-wrap:wrap;padding:12px 14px;gap:10px}.list-row>.grow{flex:1 1 calc(100% - 80px)}.list-row>.row:last-child{flex:1 1 100%;justify-content:flex-start;flex-wrap:wrap}.case-no{width:auto}.table-cards thead{display:none}.table-cards,.table-cards tbody{display:block;width:100%}.table-cards tr{display:flex;flex-wrap:wrap;gap:6px 16px;padding:12px 14px;border-bottom:1px solid var(--line)}.table-cards tbody tr:nth-child(2n) td{background:transparent}.table-cards td{display:flex;flex-direction:column;gap:2px;padding:0;border:0;text-align:left!important;max-width:none!important;min-width:0}.table-cards td[data-label]:before{content:attr(data-label);font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}.table-cards td.cell-title,.table-cards td.cell-actions{flex:1 1 100%}.table-cards td.cell-actions .row{justify-content:flex-start!important;flex-wrap:wrap}.table-cards .hide-cards{display:none}.table:not(.table-cards){display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.pager{justify-content:space-between}.pager .right{margin-left:0;width:100%;justify-content:center}.tabs{padding:0}.tab{padding:12px}.steps-inline{flex-direction:column}.steps-inline>div{border-right:0;border-bottom:1px solid var(--line-2);padding:9px 12px}.steps-inline>div:last-child{border-bottom:0}.week-bar{flex-wrap:wrap}.week-bar .btn{width:100%}.overlay{padding:0;align-items:stretch}.modal,.modal.wide{max-width:none;max-height:none;height:100dvh;border-radius:0;border:0}.modal-head{border-radius:0;padding:calc(10px + env(safe-area-inset-top)) 12px 10px}.modal-foot{border-radius:0;flex-wrap:wrap;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.modal-foot .btn{flex:1 1 auto}.modal-foot>.grow{flex:1 1 100%}.palette{height:auto!important;max-height:100dvh}.toast-wrap{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));align-items:stretch}.toast{min-width:0}.drop{padding:28px 16px}.composer-body .row{flex-wrap:wrap}}
