@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) 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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.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}:root{--ink-50:#F6F7F8;--ink-100:#ECEEF1;--ink-200:#D7DBE0;--ink-300:#B4BAC2;--ink-400:#8A919B;--ink-500:#606771;--ink-600:#3D4652;--ink-700:#2A323C;--ink-800:#1B222A;--ink-900:#11161C;--ink-950:#0B0F13;--red-50:#FEF3F4;--red-100:#FDE5E7;--red-200:#FBC6CA;--red-300:#F7989F;--red-400:#F06470;--red-500:#E83341;--red-600:#D50F1F;--red-700:#B80D1B;--red-800:#9A0C18;--red-900:#6B0A12;--red-950:#3D0509;--green-600:#2F7D4F;--green-50:#EEF6F1;--amber-600:#A86A0B;--amber-50:#FBF4E8;--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:"JetBrains Mono",ui-monospace,Consolas,monospace;--r-0:0;--r-1:2px;--r-2:4px;--r-full:999px;--cut:12px;--h-s:28px;--h-m:36px;--h-l:44px;--cell-y:12px;--dur-1:.12s;--dur-2:.2s;--dur-3:.28s;--ease:cubic-bezier(.2,.8,.2,1);--bg:var(--ink-50);--surface:#fff;--surface-2:var(--ink-100);--surface-3:var(--ink-200);--border:var(--ink-200);--border-strong:var(--ink-300);--text:var(--ink-900);--text-2:var(--ink-500);--text-3:var(--ink-400);--primary:var(--ink-900);--primary-hover:var(--ink-700);--on-primary:#fff;--accent:var(--red-600);--accent-hover:var(--red-700);--on-accent:#fff;--accent-soft:var(--red-50);--accent-text:var(--red-700);--danger:var(--red-700);--success:var(--green-600);--success-soft:var(--green-50);--warning:var(--amber-600);--warning-soft:var(--amber-50);--info:var(--ink-600);--info-soft:var(--ink-100);--ring:rgba(213,15,31,.2);--overlay:rgba(11,15,19,.55);--shadow-1:0 4px 16px rgba(17,22,28,.1),0 1px 3px rgba(17,22,28,.08);--shadow-2:0 16px 48px rgba(17,22,28,.18),0 2px 6px rgba(17,22,28,.08);--chart-1:var(--ink-900);--chart-2:var(--red-600);--chart-3:var(--ink-400);--chart-4:var(--red-300);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--ink-950);--surface:var(--ink-900);--surface-2:var(--ink-800);--surface-3:var(--ink-700);--border:var(--ink-700);--border-strong:var(--ink-600);--text:var(--ink-50);--text-2:var(--ink-400);--text-3:var(--ink-500);--primary:var(--ink-50);--primary-hover:var(--ink-200);--on-primary:var(--ink-900);--accent:var(--red-500);--accent-hover:var(--red-400);--accent-soft:#2A0C10;--accent-text:var(--red-300);--danger:var(--red-400);--success:#5DBB84;--success-soft:#13261B;--warning:#E0A43A;--warning-soft:#2A2010;--info:var(--ink-300);--info-soft:var(--ink-800);--ring:rgba(232,51,65,.3);--overlay:rgba(0,0,0,.65);--shadow-1:0 4px 16px rgba(0,0,0,.45);--shadow-2:0 16px 48px rgba(0,0,0,.6);--chart-1:var(--ink-100);--chart-2:var(--red-500);--chart-3:var(--ink-500);--chart-4:var(--red-300);color-scheme:dark}}:root[data-theme=dark]{--bg:var(--ink-950);--surface:var(--ink-900);--surface-2:var(--ink-800);--surface-3:var(--ink-700);--border:var(--ink-700);--border-strong:var(--ink-600);--text:var(--ink-50);--text-2:var(--ink-400);--text-3:var(--ink-500);--primary:var(--ink-50);--primary-hover:var(--ink-200);--on-primary:var(--ink-900);--accent:var(--red-500);--accent-hover:var(--red-400);--accent-soft:#2A0C10;--accent-text:var(--red-300);--danger:var(--red-400);--success:#5DBB84;--success-soft:#13261B;--warning:#E0A43A;--warning-soft:#2A2010;--info:var(--ink-300);--info-soft:var(--ink-800);--ring:rgba(232,51,65,.3);--overlay:rgba(0,0,0,.65);--shadow-1:0 4px 16px rgba(0,0,0,.45);--shadow-2:0 16px 48px rgba(0,0,0,.6);--chart-1:var(--ink-100);--chart-2:var(--red-500);--chart-3:var(--ink-500);--chart-4:var(--red-300);color-scheme:dark}[data-density=compact]{--h-s:24px;--h-m:32px;--h-l:40px;--cell-y:7px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:400 14px/22px var(--font);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand,var(--accent));outline-offset:2px}.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.i-sm{width:16px;height:16px}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--text-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.t-display{font-size:48px;line-height:56px;font-weight:700;letter-spacing:-.02em}.t-h1{font-size:32px;line-height:40px;font-weight:700;letter-spacing:-.01em}.t-h2{font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.01em}.t-h3{font-size:18px;line-height:26px;font-weight:600}.t-body-lg{font-size:16px;line-height:26px}.t-small{font-size:12px;line-height:18px;font-weight:500}.overline{font-size:11px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.link{color:var(--text);text-decoration:underline;text-decoration-color:var(--brand,var(--accent));text-underline-offset:3px;text-decoration-thickness:1.5px}.link:hover{color:var(--brand,var(--accent))}code{font-family:var(--mono);font-size:12px;background:var(--surface-2);padding:2px 6px;border-radius:var(--r-1)}kbd{font-family:var(--mono);font-size:11px;border:1px solid var(--border-strong);border-bottom-width:2px;padding:1px 5px;border-radius:var(--r-1);color:var(--text-2);background:var(--surface)}blockquote{margin:0;padding:4px 0 4px 16px;border-left:2px solid var(--accent);color:var(--text-2)}.scale{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));border-radius:var(--r-1);overflow:hidden}.sw{height:64px;padding:8px;display:flex;flex-direction:column;justify-content:flex-end;font-size:11px;line-height:14px}.sw b{font-weight:600}.sw span{font-family:var(--mono);opacity:.8;font-size:10px}.sw.brand-sw{box-shadow:inset 0 0 0 2px var(--accent)}@media(max-width:640px){.scale{grid-template-columns:repeat(4,minmax(0,1fr))}}.tokens{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.token{display:flex;align-items:center;gap:10px}.token i{width:32px;height:32px;border-radius:var(--r-1);border:1px solid var(--border);flex:none}.token div{display:grid;line-height:16px}.token code{background:none;padding:0}.type-row{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--border)}.type-row:last-child{border-bottom:0}@media(max-width:640px){.type-row{grid-template-columns:1fr;gap:4px}}.space-row{display:flex;align-items:center;gap:12px;font-size:12px}.space-row i{display:block;height:12px;background:var(--accent)}.space-row code{width:48px;background:none;padding:0}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.icon-cell{display:grid;justify-items:center;gap:8px;padding:14px 4px;border:1px solid var(--border);border-radius:var(--r-1);font-size:11px;color:var(--text-2)}.icon-cell .i{color:var(--text)}.radius-demo{display:flex;gap:16px;flex-wrap:wrap}.radius-demo div{width:88px;height:64px;background:var(--surface-2);border:1px solid var(--border-strong);display:grid;place-items:center;font-size:11px;color:var(--text-2)}.chamfer{clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}.chamfer-frame{background:var(--border);padding:1px;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}.chamfer-frame>.chamfer-in{background:var(--surface);height:100%;clip-path:polygon(0 0,calc(100% - var(--cut) + .4px) 0,100% calc(var(--cut) - .4px),100% 100%,calc(var(--cut) - .4px) 100%,0 calc(100% - var(--cut) + .4px))}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--h-m);padding:0 16px;border:1px solid transparent;border-radius:var(--r-1);font-weight:500;font-size:14px;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background var(--dur-1),border-color var(--dur-1),color var(--dur-1),transform var(--dur-1)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--brand,var(--primary));color:var(--on-brand,var(--on-primary))}.btn--primary:hover:not(:disabled){background:var(--brand-hover,var(--primary-hover))}.btn--accent{background:var(--accent);color:var(--on-accent)}.btn--accent:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--surface-2);color:var(--text)}.btn--secondary:hover:not(:disabled){background:var(--surface-3)}.btn--outline{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn--outline:hover:not(:disabled){border-color:var(--text);background:var(--surface-2)}.btn--ghost{background:transparent;color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--surface-2)}.btn--danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn--danger:hover:not(:disabled){background:var(--accent-soft)}.btn--danger-solid{background:var(--danger);color:#fff}.btn--danger-solid:hover:not(:disabled){filter:brightness(.92)}.btn--link{background:none;height:auto;padding:0;color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.btn--link:hover{color:var(--accent)}.btn--sm{height:var(--h-s);padding:0 10px;font-size:13px;gap:6px}.btn--sm .i{width:16px;height:16px}.btn--lg{height:var(--h-l);padding:0 22px;font-size:15px}.btn--icon{width:var(--h-m);padding:0}.btn--sm.btn--icon{width:var(--h-s)}.btn--lg.btn--icon{width:var(--h-l)}.btn--block{width:100%}.btn.chamfer:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--on-accent),inset 0 0 0 4px var(--accent)}.btn.is-loading{color:transparent!important;pointer-events:none}.btn.is-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.btn--primary.is-loading:after{border-color:var(--on-brand,var(--on-primary));border-right-color:transparent}.btn--accent.is-loading:after{border-color:var(--on-accent);border-right-color:transparent}.btn--outline.is-loading:after,.btn--secondary.is-loading:after,.btn--ghost.is-loading:after{border-color:var(--text);border-right-color:transparent}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn+.btn{margin-left:-1px}.btn-group .btn:first-child{border-radius:var(--r-1) 0 0 var(--r-1)}.btn-group .btn:last-child{border-radius:0 var(--r-1) var(--r-1) 0}.btn-group .btn:focus-visible{z-index:1}.btn-group.split .btn--primary+.btn--primary{border-left:1px solid rgba(255,255,255,.2)}.fab{width:56px;height:56px;border-radius:50%;padding:0;box-shadow:var(--shadow-1)}@keyframes spin{to{transform:rotate(360deg)}}.field{display:grid;gap:6px;min-width:0}.label{font-size:13px;font-weight:500;line-height:18px;display:flex;justify-content:space-between;gap:8px}.label .req{color:var(--accent);margin-left:2px}.label .opt{color:var(--text-3);font-weight:400}.hint{font-size:12px;line-height:18px;color:var(--text-2)}.err{font-size:12px;line-height:18px;color:var(--danger);display:none;align-items:center;gap:6px}.err .i{width:14px;height:14px}.field.is-invalid .err{display:flex}.field.is-invalid .hint{display:none}.ok{font-size:12px;color:var(--success);display:flex;gap:6px;align-items:center}.control{display:flex;align-items:center;height:var(--h-m);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-1);transition:border-color var(--dur-1),box-shadow var(--dur-1);min-width:0}.control:hover{border-color:var(--text-3)}.control:focus-within{border-color:var(--brand,var(--accent));box-shadow:0 0 0 3px var(--ring)}.control input,.control select,.control textarea{flex:1;min-width:0;height:100%;border:0;background:none;padding:0 12px;outline:none}.control input::placeholder,.control textarea::placeholder{color:var(--text-3)}.control>.i{margin-left:10px;color:var(--text-3)}.control>.i+input{padding-left:8px}.control .affix{padding:0 10px;color:var(--text-2);height:100%;display:flex;align-items:center;background:var(--surface-2);font-size:13px;white-space:nowrap}.control .affix:first-child{border-right:1px solid var(--border)}.control .affix:last-child{border-left:1px solid var(--border)}.control .in-btn{border:0;background:none;color:var(--text-2);height:100%;padding:0 10px;display:flex;align-items:center;cursor:pointer}.control .in-btn:hover{color:var(--text)}.control .in-btn:focus-visible{outline-offset:-4px}.control kbd{margin-right:10px}.control--sm{height:var(--h-s);font-size:13px}.control--lg{height:var(--h-l);font-size:15px}.control--area{height:auto;align-items:stretch}.control--area textarea{padding:10px 12px;resize:vertical;min-height:96px;line-height:22px}.control--select{position:relative}.control--select select{appearance:none;padding-right:36px;cursor:pointer}.control--select:after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:1.75px solid var(--text-2);border-bottom:1.75px solid var(--text-2);transform:translateY(-70%) rotate(45deg);pointer-events:none}.control select option{background:var(--surface);color:var(--text)}.field.is-invalid .control,.control.is-invalid{border-color:var(--danger)}.field.is-invalid .control:focus-within{box-shadow:0 0 0 3px var(--ring)}.field.is-valid .control{border-color:var(--success)}.control.is-disabled,.control:has(input:disabled){background:var(--surface-2);opacity:.6;cursor:not-allowed}.control.is-readonly{background:var(--surface-2);border-style:dashed}.counter{font-size:12px;color:var(--text-3);text-align:right}.counter.over{color:var(--danger)}.stepper button{width:var(--h-m);border:0;border-left:1px solid var(--border);background:none;height:100%;cursor:pointer;color:var(--text-2);font-size:16px}.stepper button:hover{background:var(--surface-2);color:var(--text)}.stepper input{text-align:center;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.stepper button:first-of-type{border-left:0;border-right:1px solid var(--border)}.tags-input{height:auto;min-height:var(--h-m);flex-wrap:wrap;gap:6px;padding:4px 6px;cursor:text}.tags-input input{height:26px;padding:0 4px;min-width:80px}.dropzone{display:grid;justify-items:center;gap:8px;padding:28px 16px;border:1.5px dashed var(--border-strong);border-radius:var(--r-2);text-align:center;cursor:pointer;transition:border-color var(--dur-1),background var(--dur-1)}.dropzone:hover,.dropzone.is-over{border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.dropzone .i{width:28px;height:28px;color:var(--text-2)}.files{display:grid;gap:8px;margin-top:12px;padding:0;list-style:none}.file{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-1)}.file .meta{min-width:0}.file .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.file .progress{margin-top:6px}.otp{display:flex;gap:8px}.otp input{width:44px;height:52px;text-align:center;font-size:20px;font-weight:600;border:1px solid var(--border-strong);border-radius:var(--r-1);background:var(--surface);outline:none;font-variant-numeric:tabular-nums}.otp input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.otp input:nth-child(3){margin-right:12px}@media(max-width:400px){.otp input{width:38px;height:46px}.otp{gap:6px}}.check{display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:20px}.check input{appearance:none;margin:1px 0 0;width:18px;height:18px;flex:none;border:1.5px solid var(--border-strong);border-radius:var(--r-1);background:var(--surface);display:grid;place-content:center;cursor:pointer;transition:background var(--dur-1),border-color var(--dur-1)}.check input:hover{border-color:var(--text-2)}.check input:checked,.check input:indeterminate{background:var(--primary);border-color:var(--primary)}.check input:checked:before{content:"";width:9px;height:5px;border-left:2px solid var(--on-primary);border-bottom:2px solid var(--on-primary);transform:translateY(-1px) rotate(-45deg)}.check input:indeterminate:before{content:"";width:9px;height:2px;background:var(--on-primary)}.check input[type=radio]{border-radius:50%}.check input[type=radio]:checked{background:var(--surface);border:5.5px solid var(--primary)}.check input[type=radio]:checked:before{display:none}.check input:disabled{opacity:.45;cursor:not-allowed}.check:has(input:disabled){color:var(--text-3);cursor:not-allowed}.check small{display:block;color:var(--text-2);font-size:12px;line-height:18px}.check.is-invalid input{border-color:var(--danger)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.switch input{appearance:none;margin:0;width:36px;height:20px;border-radius:10px;background:var(--border-strong);position:relative;cursor:pointer;transition:background var(--dur-2) var(--ease);flex:none}.switch input:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--dur-2) var(--ease)}.switch input:checked{background:var(--accent)}.switch input:checked:before{transform:translate(16px)}.switch input:disabled{opacity:.45;cursor:not-allowed}.seg{display:inline-flex;padding:3px;background:var(--surface-2);border-radius:var(--r-2);gap:2px}.seg button{height:calc(var(--h-m) - 6px);padding:0 14px;border:0;background:none;border-radius:var(--r-1);color:var(--text-2);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #11161c1f}.seg--sm button{height:calc(var(--h-s) - 6px);padding:0 10px;font-size:12px}.range{display:grid;gap:8px}.range-head{display:flex;justify-content:space-between;font-size:13px;font-weight:500}input[type=range]{--val:50%;appearance:none;width:100%;height:20px;background:none;margin:0;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--val),var(--surface-3) var(--val))}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--val),var(--surface-3) var(--val))}input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-shadow:0 1px 3px #0003}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--ring)}.chip{display:inline-flex;align-items:center;gap:6px;height:var(--h-s);padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--r-full);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer;color:var(--text)}.chip:hover{border-color:var(--text-2)}.chip[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.chip .i{width:14px;height:14px}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-1);font-size:12px;font-weight:500;white-space:nowrap;background:var(--surface-2);color:var(--text)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-3)}.badge--plain:before{display:none}.badge--accent{background:var(--accent-soft);color:var(--accent-text)}.badge--accent:before{background:var(--accent)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--success:before{background:var(--success)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--warning:before{background:var(--warning)}.badge--dark{background:var(--primary);color:var(--on-primary)}.badge--dark:before{background:var(--accent)}.badge--outline{background:none;border:1px solid var(--border-strong)}.count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.count--muted{background:var(--surface-3);color:var(--text)}.tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 4px 0 8px;border-radius:var(--r-1);background:var(--surface-2);font-size:12px;font-weight:500}.tag button{display:grid;place-items:center;width:18px;height:18px;border:0;background:none;color:var(--text-2);cursor:pointer;border-radius:var(--r-1);padding:0}.tag button:hover{background:var(--surface-3);color:var(--text)}.tag button .i{width:12px;height:12px}.avatar{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-3);color:var(--text);font-size:13px;font-weight:600;flex:none;overflow:visible}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar--sm{width:28px;height:28px;font-size:11px}.avatar--lg{width:48px;height:48px;font-size:16px}.avatar--xl{width:64px;height:64px;font-size:20px}.avatar--dark{background:var(--primary);color:var(--on-primary)}.avatar--red{background:var(--accent);color:var(--on-accent)}.avatar[data-status]:after{content:"";position:absolute;right:0;bottom:0;width:25%;height:25%;min-width:8px;min-height:8px;border-radius:50%;border:2px solid var(--surface);background:var(--text-3)}.avatar[data-status=online]:after{background:var(--success)}.avatar[data-status=busy]:after{background:var(--accent)}.avatar-group{display:flex}.avatar-group .avatar{box-shadow:0 0 0 2px var(--surface)}.avatar-group .avatar+.avatar{margin-left:-8px}.progress{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--primary);border-radius:3px;transition:width var(--dur-3) var(--ease)}.progress--accent>span{background:var(--accent)}.progress--sm{height:4px}.progress--indet>span{width:35%;animation:indet 1.3s var(--ease) infinite}@keyframes indet{0%{transform:translate(-100%)}to{transform:translate(290%)}}.ring{position:relative;width:64px;height:64px}.ring svg{transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:6}.ring .bg{stroke:var(--surface-3)}.ring .fg{stroke:var(--accent);stroke-linecap:butt}.ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;font-variant-numeric:tabular-nums}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0;margin:0;list-style:none;font-size:13px;color:var(--text-2)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--text);text-decoration:underline}.crumbs li{display:flex;align-items:center;gap:6px}.crumbs li+li:before{content:"/";color:var(--text-3)}.crumbs [aria-current]{color:var(--text);font-weight:500}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs [role=tab]{position:relative;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 12px;border:0;background:none;color:var(--text-2);font-weight:500;cursor:pointer;white-space:nowrap}.tabs [role=tab]:hover,.tabs [role=tab][aria-selected=true]{color:var(--text)}.tabs [role=tab][aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand,var(--accent))}.tabs [role=tab]:focus-visible{outline-offset:-4px}.tabs--pill{border:0;gap:4px}.tabs--pill [role=tab]{height:var(--h-m);border-radius:var(--r-1)}.tabs--pill [role=tab][aria-selected=true]{background:var(--primary);color:var(--on-primary)}.tabs--pill [role=tab][aria-selected=true]:after{display:none}.tab-panel{padding:16px 0 0;color:var(--text-2)}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.pages{display:flex;gap:4px;align-items:center}.pages button{min-width:var(--h-m);height:var(--h-m);border:1px solid transparent;background:none;border-radius:var(--r-1);cursor:pointer;font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-2);display:grid;place-items:center}.pages button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.pages button[aria-current=page]{background:var(--primary);color:var(--on-primary)}.pages button:disabled{opacity:.4;cursor:not-allowed}.pages .gap{color:var(--text-3);padding:0 4px}.steps{display:flex;gap:0;padding:0;margin:0;list-style:none;counter-reset:step}.steps li{flex:1;display:flex;align-items:center;gap:10px;min-width:0;font-weight:500;color:var(--text-2);counter-increment:step}.steps li:before{content:counter(step);display:grid;place-items:center;width:28px;height:28px;flex:none;border:1.5px solid var(--border-strong);border-radius:50%;font-size:13px;font-weight:600}.steps li:after{content:"";flex:1;height:1.5px;background:var(--border);margin-right:10px;min-width:12px}.steps li:last-child{flex:none}.steps li:last-child:after{display:none}.steps li.done{color:var(--text)}.steps li.done:before{content:"✓";background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.steps li.done:after{background:var(--primary)}.steps li.current{color:var(--text)}.steps li.current:before{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.steps span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.steps span{display:none}.steps li.current span{display:inline}}.menu-wrap{position:relative;display:inline-block}.btn-group.menu-wrap{display:inline-flex}.menu{position:absolute;top:calc(100% + 6px);left:0;z-index:100;min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);box-shadow:var(--shadow-1);display:none}.menu.is-right{left:auto;right:0}.menu.is-open{display:block;animation:pop var(--dur-2) var(--ease)}.menu [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border:0;background:none;border-radius:var(--r-1);text-align:left;cursor:pointer;color:var(--text)}.menu [role=menuitem] .i{width:16px;height:16px;color:var(--text-2)}.menu [role=menuitem]:hover,.menu [role=menuitem]:focus{background:var(--surface-2);outline:none}.menu [role=menuitem] kbd{margin-left:auto}.menu .danger,.menu .danger .i{color:var(--danger)}.menu hr{border:0;border-top:1px solid var(--border);margin:6px 0}.menu .menu-h{padding:6px 10px 4px}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}}.app-header{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border)}.app-header .control{width:280px}.side{display:flex;flex-direction:column;gap:2px;padding:12px;background:var(--ink-900);color:var(--ink-300);min-height:100%}:root[data-theme=dark] .side{background:var(--ink-950)}.side .side-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;padding:6px 10px 18px}.side .side-brand svg path{fill:#fff}.side .grp{padding:14px 10px 6px;color:var(--ink-500)}.side a{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--r-1);text-decoration:none;font-weight:500;position:relative}.side a:hover,.side a.is-active{background:var(--ink-800);color:#fff}.side a.is-active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--red-500)}.side a .count{margin-left:auto}.side .grow{flex:1}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.toolbar .control{width:240px}.toolbar .sp{flex:1}.bulk{display:none;align-items:center;gap:12px;padding:8px 12px;margin-bottom:12px;background:var(--primary);color:var(--on-primary);border-radius:var(--r-1)}.bulk.is-on{display:flex;animation:pop var(--dur-2) var(--ease)}.bulk .btn--ghost{color:var(--on-primary)}.bulk .btn--ghost:hover{background:#7f7f7f33}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--r-2)}.table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.table th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:left;font-size:12px;font-weight:600;color:var(--text-2);padding:0 12px;height:38px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:var(--cell-y) 12px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface)}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--bg)}.table tr.is-selected td{background:var(--accent-soft)}.table .r{text-align:right}.table .w-check{width:44px;padding-right:0}.table .check{vertical-align:middle}.th-sort{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.th-sort:hover{color:var(--text)}.th-sort .i{width:14px;height:14px;opacity:.5}th[aria-sort] .th-sort{color:var(--text)}th[aria-sort] .th-sort .i{opacity:1;color:var(--accent)}.cell-user{display:flex;align-items:center;gap:10px}.cell-user div{display:grid;line-height:18px}.cell-user small{color:var(--text-2);font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);overflow:hidden}.card-b{padding:20px}.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.card-f{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border);background:var(--bg)}.card--link{display:block;text-decoration:none;transition:border-color var(--dur-1),transform var(--dur-2) var(--ease)}.card--link:hover{border-color:var(--text);transform:translateY(-2px)}.card--link:hover .arrow{color:var(--accent);transform:translate(3px)}.card--link .arrow{transition:transform var(--dur-2) var(--ease)}.card-img{aspect-ratio:16/9;background:repeating-linear-gradient(135deg,var(--surface-2) 0 10px,var(--surface-3) 10px 11px);display:grid;place-items:center;color:var(--text-3)}.card--dark{background:var(--ink-900);color:var(--ink-50);border-color:var(--ink-900)}.card--dark .muted{color:var(--ink-400)}:root[data-theme=dark] .card--dark{background:var(--ink-950);border-color:var(--ink-700)}.kpi .chamfer-in{padding:18px 20px;display:grid;gap:6px;position:relative}.kpi .chamfer-in:before{content:"";position:absolute;left:0;top:0;width:24px;height:2px;background:var(--brand,var(--accent))}.kpi-v{font-size:28px;line-height:34px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.kpi-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.delta--up{color:var(--success)}.delta--down{color:var(--danger)}.spark{width:96px;height:32px}.spark polyline{fill:none;stroke:var(--text);stroke-width:1.75}.spark.down polyline{stroke:var(--accent)}.chart{width:100%;height:auto;display:block}.chart .grid line{stroke:var(--border);stroke-dasharray:2 4}.chart text{fill:var(--text-3);font-size:11px;font-family:var(--font)}.chart .bar{fill:var(--chart-1);transition:opacity var(--dur-1)}.chart .bar.hl{fill:var(--chart-2)}.chart .bar:hover{opacity:.8}.chart .l1{fill:none;stroke:var(--chart-1);stroke-width:2}.chart .l2{fill:none;stroke:var(--chart-2);stroke-width:2}.chart .a2{fill:var(--chart-2);opacity:.08}.legend{display:flex;gap:16px;font-size:12px;color:var(--text-2)}.legend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}.dl{display:grid;grid-template-columns:160px 1fr;margin:0}.dl dt,.dl dd{margin:0;padding:10px 0;border-bottom:1px solid var(--border)}.dl dt{color:var(--text-2)}.dl dd{font-weight:500}@media(max-width:640px){.dl{grid-template-columns:1fr}.dl dt{border:0;padding-bottom:0}}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:0}.list .grow{flex:1;min-width:0;display:grid;line-height:18px}.list small{color:var(--text-2);font-size:12px}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 20px 24px}.timeline li:before{content:"";position:absolute;left:4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--surface);border:1.5px solid var(--text-2)}.timeline li:after{content:"";position:absolute;left:8px;top:16px;bottom:0;width:1px;background:var(--border)}.timeline li:last-child:after{display:none}.timeline li.hl:before{background:var(--accent);border-color:var(--accent)}.timeline time{display:block;font-size:12px;color:var(--text-3)}.divider{display:flex;align-items:center;gap:12px;color:var(--text-3);font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.acc details{border-bottom:1px solid var(--border)}.acc details:first-child{border-top:1px solid var(--border)}.acc summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 4px;font-weight:600;cursor:pointer;list-style:none}.acc summary::-webkit-details-marker{display:none}.acc summary .i{transition:transform var(--dur-2) var(--ease);color:var(--text-2)}.acc details[open] summary .i{transform:rotate(45deg);color:var(--accent)}.acc details p{padding:0 4px 16px;color:var(--text-2);max-width:640px}.alert{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:14px 16px;border:1px solid var(--border);border-left:3px solid var(--info);border-radius:var(--r-1);background:var(--info-soft)}.alert>.i{color:var(--info);margin-top:1px}.alert b{display:block;margin-bottom:2px}.alert p{color:var(--text-2)}.alert .actions{display:flex;gap:12px;margin-top:10px}.alert--success{border-left-color:var(--success);background:var(--success-soft)}.alert--success>.i{color:var(--success)}.alert--warning{border-left-color:var(--warning);background:var(--warning-soft)}.alert--warning>.i{color:var(--warning)}.alert--error{border-left-color:var(--danger);background:var(--accent-soft)}.alert--error>.i{color:var(--danger)}.alert .close{border:0;background:none;color:var(--text-2);cursor:pointer;padding:2px;height:24px;border-radius:var(--r-1)}.alert .close:hover{color:var(--text);background:#7f7f7f26}.banner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:var(--ink-900);color:var(--ink-50);font-size:13px;text-align:center}.banner b{color:var(--red-400)}.toasts{position:fixed;right:16px;bottom:16px;z-index:500;display:grid;gap:8px;width:min(380px,calc(100vw - 32px))}.toast{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:14px 14px 14px 16px;background:var(--ink-900);color:var(--ink-50);border-radius:var(--r-2);box-shadow:var(--shadow-2);animation:toast-in var(--dur-3) var(--ease);position:relative;overflow:hidden}:root[data-theme=dark] .toast{background:var(--ink-800);border:1px solid var(--ink-700)}.toast p{color:var(--ink-400);font-size:13px}.toast .i{margin-top:1px}.toast--success .i.lead{color:#5dbb84}.toast--error .i.lead{color:var(--red-400)}.toast--warning .i.lead{color:#e0a43a}.toast .close{border:0;background:none;color:var(--ink-400);cursor:pointer;height:24px;padding:2px;border-radius:var(--r-1)}.toast .close:hover{color:#fff}.toast .bar{position:absolute;left:0;bottom:0;height:2px;background:var(--red-500);animation:shrink 4s linear forwards}.toast:hover .bar{animation-play-state:paused}.toast.is-out{animation:toast-out var(--dur-2) var(--ease) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@keyframes toast-out{to{opacity:0;transform:translate(24px)}}@keyframes shrink{0%{width:100%}to{width:0}}dialog{border:0;padding:0;color:var(--text);background:var(--surface)}dialog::backdrop{background:var(--overlay);animation:fade var(--dur-2)}.modal{width:min(520px,calc(100vw - 32px));border-radius:var(--r-2);box-shadow:var(--shadow-2)}.modal[open]{animation:modal-in var(--dur-3) var(--ease)}.modal-h{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 0}.modal-b{padding:12px 24px 24px;color:var(--text-2)}.modal-f{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg)}.modal--danger .modal-h .t-h3{display:flex;gap:10px;align-items:center}.modal--danger .modal-h .i{color:var(--danger)}.drawer{position:fixed;inset:0 0 0 auto;margin:0;height:100vh;max-height:none;width:min(440px,100vw);display:none;flex-direction:column;box-shadow:var(--shadow-2)}.drawer[open]{display:flex;animation:drawer-in var(--dur-3) var(--ease)}.drawer .modal-b{flex:1;overflow:auto;display:grid;gap:16px;align-content:start;color:var(--text)}@keyframes fade{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes drawer-in{0%{transform:translate(100%)}}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);z-index:600;padding:6px 8px;background:var(--ink-900);color:var(--ink-50);font-size:12px;line-height:16px;font-weight:500;white-space:nowrap;border-radius:var(--r-1);opacity:0;pointer-events:none;transition:opacity var(--dur-1),transform var(--dur-1)}:root[data-theme=dark] [data-tip]:after{background:var(--ink-100);color:var(--ink-900)}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transform:translate(-50%)}.spinner{width:20px;height:20px;border:2px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.spinner--lg{width:32px;height:32px;border-width:3px}.skel{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--r-1)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty{display:grid;justify-items:center;gap:10px;padding:40px 16px;text-align:center}.empty .ico{width:56px;height:56px;display:grid;place-items:center;background:var(--surface-2);color:var(--text-2)}.empty p{color:var(--text-2);max-width:360px}.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:450;width:60px;height:60px;border:0;padding:0;background:none;cursor:pointer;color:var(--on-primary)}.chat-launcher .shape{position:absolute;inset:0;display:grid;place-items:center;background:var(--primary);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));transition:transform var(--dur-2) var(--ease),background var(--dur-1)}.chat-launcher:hover .shape{background:var(--primary-hover);transform:translateY(-2px)}.chat-launcher .i{width:26px;height:26px;transition:transform var(--dur-2) var(--ease)}.chat-launcher .count{position:absolute;top:-4px;right:-4px;z-index:1;box-shadow:0 0 0 2px var(--bg)}.chat-launcher .count[hidden]{display:none}.chat-launcher .ping{position:absolute;inset:0;border:2px solid var(--accent);clip-path:inherit;opacity:0;pointer-events:none}.chat-launcher.has-unread .ping{animation:ping 2.4s var(--ease) infinite}@keyframes ping{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(1.35)}}.chat-greet{position:fixed;right:24px;bottom:100px;z-index:450;width:316px;display:none;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);box-shadow:var(--shadow-2);cursor:pointer}.chat-greet.is-on{display:grid;animation:greet-in var(--dur-3) var(--ease)}.chat-greet:after{content:"";position:absolute;right:22px;bottom:-7px;width:12px;height:12px;background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}.chat-greet .who{display:flex;align-items:center;gap:12px;padding-right:24px}.chat-greet .who div{display:grid;line-height:18px}.chat-greet .who small{color:var(--text-2);font-size:12px}.chat-greet .x{position:absolute;top:8px;right:8px}.chat-greet p{line-height:21px}.chat-greet .chips{display:flex;flex-wrap:wrap;gap:6px}.chat-greet.is-static,.chat-launcher.is-static{position:relative;right:auto;bottom:auto;z-index:auto}.chat-greet.is-static{display:grid;box-shadow:var(--shadow-1)}@keyframes greet-in{0%{opacity:0;transform:translateY(10px) scale(.97)}}.chat-backdrop{position:fixed;inset:0;z-index:455;background:var(--overlay);display:none;animation:fade var(--dur-2)}.chat-backdrop.is-on{display:block}.chat{position:fixed;right:24px;bottom:100px;z-index:460;width:380px;height:min(620px,calc(100vh - 124px));display:none;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);box-shadow:var(--shadow-2);overflow:hidden}.chat.is-open{display:flex;animation:chat-in var(--dur-3) var(--ease)}.chat.is-expanded{inset:0;margin:auto;width:min(1040px,calc(100vw - 48px));height:min(760px,calc(100vh - 48px))}@keyframes chat-in{0%{opacity:0;transform:translateY(16px)}}.chat-head{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;background:var(--surface-2);color:var(--text);border-bottom:1px solid var(--border);flex:none}.chat-head .avatar[data-status]:after{border-color:var(--surface-2)}.chat-head .meta{flex:1;min-width:0;display:grid;line-height:18px}.chat-head .meta small{color:var(--text-2);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-head .meta small b{color:var(--success);font-weight:500}.chat-hbtn{display:grid;place-items:center;width:32px;height:32px;border:0;background:none;color:var(--text-2);border-radius:var(--r-1);cursor:pointer}.chat-hbtn:hover{background:var(--surface-3);color:var(--text)}.chat-body{flex:1;display:flex;min-height:0}.chat-main{position:relative;flex:1;display:flex;flex-direction:column;min-width:0}.chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--surface);overscroll-behavior:contain}.chat.is-expanded .chat-log{padding:24px 32px}.chat-sys{align-self:center;font-size:12px;color:var(--text-3);text-align:center}.msg{display:flex;align-items:flex-end;gap:8px;max-width:86%}.chat.is-expanded .msg{max-width:70%}.msg--in{align-self:flex-start}.msg--out{align-self:flex-end;flex-direction:row-reverse}.msg-col{display:grid;gap:4px;min-width:0}.msg--out .msg-col{justify-items:end}.bubble{padding:9px 12px;line-height:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2) var(--r-2) var(--r-2) 0;overflow-wrap:anywhere;white-space:pre-wrap}.msg--out .bubble{background:var(--surface-2);color:var(--text);border-color:var(--surface-2);border-radius:var(--r-2) var(--r-2) 0 var(--r-2)}.bubble--media{padding:3px;background:var(--surface)!important;border-color:var(--border)!important;display:grid;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));gap:3px;max-width:260px}.bubble--media button{display:block;padding:0;border:0;background:var(--surface-2);cursor:zoom-in;overflow:hidden;border-radius:2px}.bubble--media img{display:block;width:100%;height:100%;max-height:200px;object-fit:cover;aspect-ratio:var(--ar,auto)}.att-file{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px;min-width:220px;max-width:280px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2)}.att-file .ico{display:grid;place-items:center;width:36px;height:40px;flex:none;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.04em;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}.att-file .nm{flex:1;min-width:0;display:grid;line-height:17px}.att-file .nm b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-file .nm small{color:var(--text-2);font-size:12px}.msg-meta{display:flex;align-items:center;gap:4px;font-size:11px;line-height:14px;color:var(--text-3);font-variant-numeric:tabular-nums}.msg-meta .tick{width:16px;height:16px;stroke-width:2}.msg-meta.is-read .tick{color:var(--accent)}.typing{display:inline-flex;gap:4px;padding:13px 14px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,60%,to{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}.chat-quick{display:flex;flex-wrap:wrap;gap:6px;padding-left:36px}.chat-compose{flex:none;padding:10px 12px 12px;border-top:1px solid var(--border);background:var(--surface)}.att-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px}.att-strip:empty{display:none}.att{position:relative;flex:none;height:56px}.att img{width:56px;height:56px;object-fit:cover;border:1px solid var(--border);border-radius:var(--r-1);display:block}.att .att-file{min-width:0;width:180px;height:56px;padding:6px 8px}.att .att-file .ico{width:30px;height:34px}.att .rm{position:absolute;top:-6px;right:-6px;width:20px;height:20px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--primary);color:var(--on-primary);cursor:pointer;box-shadow:0 0 0 2px var(--surface)}.att .rm .i{width:12px;height:12px;stroke-width:2.5}.compose-row{display:flex;align-items:flex-end;gap:4px}.compose-row textarea{flex:1;min-width:0;resize:none;border:0;outline:none;background:none;padding:7px 6px;line-height:22px;max-height:118px;color:var(--text)}.compose-row textarea::placeholder{color:var(--text-3)}.compose-box{flex:1;display:flex;align-items:flex-end;gap:2px;min-width:0;padding:2px;border:1px solid var(--border-strong);border-radius:var(--r-1);transition:border-color var(--dur-1),box-shadow var(--dur-1)}.compose-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.compose-box .btn{height:34px;width:34px;color:var(--text-2)}.compose-box .btn:hover{color:var(--text)}.send{width:40px;height:40px;padding:0;flex:none}.compose-hint{display:none;justify-content:space-between;gap:12px;margin-top:8px;font-size:11px;color:var(--text-3)}.chat.is-expanded .compose-hint{display:flex}.chat-drop{position:absolute;inset:8px;z-index:2;display:none;place-content:center;justify-items:center;gap:8px;border:2px dashed var(--accent);border-radius:var(--r-2);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);font-weight:600;pointer-events:none}.chat-drop .i{width:32px;height:32px;color:var(--accent)}.chat-main.is-over .chat-drop{display:grid}.chat-aside{display:none;width:300px;flex:none;border-left:1px solid var(--border);overflow-y:auto;background:var(--surface)}.chat.is-expanded .chat-aside{display:block}.chat-aside section{padding:20px;border-bottom:1px solid var(--border)}.chat-aside .agent{display:grid;justify-items:center;text-align:center;gap:6px}.chat-aside .dl{grid-template-columns:110px 1fr;font-size:13px}.chat-aside .dl dt,.chat-aside .dl dd{padding:7px 0}.chat-aside .files-list{display:grid;gap:8px;margin-top:12px}.chat-aside .files-list .att-file{min-width:0;max-width:none}.chat-aside .thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.chat-aside .thumbs button{padding:0;border:0;aspect-ratio:1;overflow:hidden;cursor:zoom-in;background:var(--surface-2);border-radius:var(--r-1)}.chat-aside .thumbs img{width:100%;height:100%;object-fit:cover;display:block}.lightbox{position:fixed;inset:0;z-index:480;display:none;place-items:center;padding:56px 16px 16px;background:#0b0f13e6;cursor:zoom-out}.lightbox.is-on{display:grid;animation:fade var(--dur-2)}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:var(--shadow-2)}.lightbox .chat-hbtn{position:absolute;top:12px;right:12px;color:#fff}.lightbox .chat-hbtn:hover{background:#ffffff26;color:#fff}.toasts{bottom:100px}@media(max-width:640px){.chat,.chat.is-expanded{inset:0;margin:0;width:100%;height:100%;height:100dvh;border:0;border-radius:0}.chat [data-chat-expand],.chat.is-expanded .chat-aside,.chat.is-expanded .compose-hint{display:none}#chatLauncher{right:16px;bottom:16px}#chatLauncher.is-open{display:none}#chatGreet{right:16px;bottom:88px;width:calc(100vw - 32px)}.chat-backdrop.is-on{display:none}}.chat-demo-row{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-end}.chat-demo-row figure{margin:0;display:grid;gap:12px;justify-items:start}.chat-demo-row figcaption{font-size:12px;color:var(--text-2)}.bubbles-demo{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-1)}.link--quiet{color:inherit;text-decoration:none}.link--quiet:hover,.link--quiet:focus-visible{text-decoration:underline;text-decoration-color:var(--text-3);text-underline-offset:3px}.row-link{position:relative;cursor:pointer}.row-link .link--quiet:after{content:"";position:absolute;inset:0}.row-link :is(button,input,select,textarea,.check,a:not(.link--quiet)){position:relative;z-index:1}.row-link:focus-within{outline:2px solid var(--accent);outline-offset:-2px}li.row-link:hover,.queue-item.row-link:hover,.table tbody tr.row-link:hover td{background:var(--bg)}.table tbody tr.row-link:focus-within td{background:var(--bg)}.badge--color{background:color-mix(in srgb,var(--badge-c) 16%,var(--surface));color:var(--badge-t-light,var(--text))}.badge--color:before{background:var(--badge-c)}:root[data-theme=dark] .badge--color{color:var(--badge-t-dark,var(--text))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .badge--color{color:var(--badge-t-dark,var(--text))}}.kpi--link{display:block;text-decoration:none;color:inherit;cursor:pointer}.kpi--link:hover .chamfer-in{background:var(--bg)}.kpi--link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.kpi{padding:0;border:0;font:inherit;text-align:left;width:100%}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--surface);border:1px solid var(--border);border-width:1px 0 0 1px;border-radius:var(--r-2);overflow:hidden}.stat{position:relative;display:grid;gap:2px;align-content:start;min-width:0;padding:14px 16px;background:var(--surface);color:inherit;text-decoration:none;font:inherit;text-align:left;border:0;box-shadow:inset -1px -1px 0 var(--border)}a.stat,button.stat{cursor:pointer}a.stat:hover,button.stat:hover{background:var(--bg)}.stat:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.stat-v{font-size:24px;line-height:30px;font-weight:700;font-variant-numeric:tabular-nums}.stat-l{font-size:13px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat--alert:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:var(--accent)}.stat--alert .stat-v{color:var(--accent-text)}.stat--zero .stat-v{color:var(--text-3)}@media(max-width:960px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.queue{list-style:none;margin:0;padding:0;display:grid;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);overflow:hidden}.queue-item{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 16px 10px 20px;border-bottom:1px solid var(--border)}.queue-item:last-child{border-bottom:0}.queue-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border-strong)}.queue-item--alert:before{background:var(--accent)}.queue-item--warn:before{background:var(--warning)}.queue-type{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.queue-title{display:grid;min-width:0;line-height:20px}.queue-title>:first-child{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-title small{color:var(--text-2);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item--alert .queue-title small{color:var(--accent-text)}@media(max-width:640px){.queue-item{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.queue-type{grid-column:1/-1}}.icon-btn{position:relative}.icon-btn>.count{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;pointer-events:none;background:var(--primary);color:var(--on-primary);box-shadow:0 0 0 2px var(--surface)}.icon-btn>.count.count--alert{background:var(--accent);color:var(--on-accent)}.side .count--neutral,.tabbar .count{background:var(--ink-700);color:#fff}.date-input{position:relative;display:block}.date-input .control{width:100%}.date-input .menu{padding:12px}.cal-static{display:inline-block;max-width:100%;margin-top:6px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);box-shadow:var(--shadow-1)}.cal{display:grid;gap:8px;width:272px}.cal-h{display:flex;align-items:center;justify-content:space-between;gap:4px}.cal-title{font-weight:600;text-transform:capitalize}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.cal-dow{padding:4px 0;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase}.cal-day{height:var(--h-m);border:0;border-radius:var(--r-1);background:none;color:var(--text);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums}.cal-day:hover:not(:disabled){background:var(--surface-2)}.cal-day.is-out{color:var(--text-3)}.cal-day.is-today{box-shadow:inset 0 0 0 1px var(--border-strong)}.cal-day[aria-selected=true]{background:var(--primary);color:var(--on-primary)}.cal-day:disabled{opacity:.35;cursor:not-allowed}.cal-time{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.cal-time .control{width:72px}.filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:var(--h-s);padding:0 4px 0 10px;border:1px solid var(--border-strong);border-radius:var(--r-1);background:var(--surface);font-size:13px}.filter-chip small{color:var(--text-2);font-size:inherit}.filter-chip b{font-weight:500}.filter-chip button{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:var(--r-1);background:none;color:var(--text-2);cursor:pointer}.filter-chip button:hover{background:var(--surface-2);color:var(--text)}.filter-chip button .i{width:14px;height:14px}.skel-stack{display:grid;gap:12px}.skel--line{height:14px}.skel--title{height:24px;width:40%}.skel--w-30{width:30%}.skel--w-60{width:60%}.skel--w-80{width:80%}.skel--row{height:44px}.skel--field{height:var(--h-m)}.skel--block{height:96px}.skel--stat{height:72px}.skel-card{display:grid;gap:12px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2)}.skel-table{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-2);overflow:hidden}.skel-table>.skel{border-radius:0;height:44px}.skel-table>.skel:first-child{height:38px}.btn--brand{background:var(--brand,var(--primary));color:var(--on-brand,var(--on-primary))}.btn--brand:hover:not(:disabled){background:var(--brand-hover,var(--primary-hover))}.table-wrap--fixed{max-height:440px}.tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar--fixed{position:fixed;left:0;right:0;bottom:0;z-index:200}@media(min-width:641px){.tabbar--fixed{display:none}}.tabbar :is(a,button){position:relative;display:grid;justify-items:center;align-content:center;gap:2px;min-height:56px;padding:6px 4px;border:0;background:none;color:var(--text-2);font:inherit;font-size:11px;font-weight:500;text-decoration:none;cursor:pointer}.tabbar :is(a,button)[aria-current=page]{color:var(--text)}.tabbar :is(a,button)[aria-current=page]:before{content:"";position:absolute;left:25%;right:25%;top:0;height:2px;background:var(--brand,var(--accent))}.tabbar :is(a,button)[aria-current=page] .i{color:var(--brand,var(--text))}.tabbar .count{position:absolute;top:4px;left:calc(50% + 6px);min-width:16px;height:16px;font-size:10px}.tabbar :is(a,button):focus-visible{outline-offset:-4px}.tpl{border:1px solid var(--border);border-radius:var(--r-2);overflow:hidden;background:var(--bg)}.tpl-dash{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:620px}.tpl-dash .content{padding:24px;display:grid;gap:16px;align-content:start;min-width:0}@media(max-width:960px){.tpl-dash{grid-template-columns:1fr}.tpl-dash .side,.app-header .control{display:none}}.tpl-login{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.tpl-login .art{background:var(--ink-900);color:var(--ink-50);padding:40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.tpl-login .art:after{content:"";position:absolute;right:-80px;bottom:-80px;width:280px;height:280px;border:1px solid var(--ink-700);transform:rotate(45deg)}.tpl-login .art svg path{fill:#fff}.tpl-login .art .dot{color:var(--red-500)}.tpl-login .form-side{display:grid;place-items:center;padding:40px 24px;background:var(--surface)}.tpl-login form{width:min(360px,100%);display:grid;gap:16px}@media(max-width:760px){.tpl-login{grid-template-columns:1fr}.tpl-login .art{display:none}}.tpl-hero{padding:64px 40px;background:var(--surface);position:relative;overflow:hidden}.tpl-hero .nav{display:flex;align-items:center;gap:24px;margin:-40px 0 56px}.tpl-hero .nav a{text-decoration:none;color:var(--text-2);font-weight:500}.tpl-hero .nav a:hover{color:var(--text)}.tpl-hero .nav .sp{flex:1}.tpl-hero h2{max-width:720px}.tpl-hero h2 em{font-style:normal;color:var(--accent)}.tpl-hero p{max-width:560px;margin:20px 0 32px;color:var(--text-2)}.tpl-hero .stats{display:flex;gap:48px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--border)}.tpl-hero .stats b{display:block;font-size:28px;line-height:34px;font-variant-numeric:tabular-nums}.tpl-hero .deco{position:absolute;right:40px;top:120px;width:220px;height:220px;border:1px solid var(--border);transform:rotate(45deg)}.tpl-hero .deco:after{content:"";position:absolute;inset:40px;background:var(--accent);clip-path:polygon(0 0,100% 0,100% 100%)}@media(max-width:960px){.tpl-hero .deco,.tpl-hero .nav a{display:none}}@media(max-width:640px){.tpl-hero{padding:56px 16px 40px}.tpl-hero .nav{margin-top:-32px}}html,body,#root{min-height:100%}body{background:var(--bg)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pre{white-space:pre-wrap}.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.app>.side{position:sticky;top:0;height:100vh;overflow-y:auto}.app .side a{cursor:pointer}.app-main{min-width:0;display:flex;flex-direction:column}.app .content{width:100%;max-width:1600px;padding:24px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start}.app-header .sp{flex:1}.app-header .nav-toggle,.app-backdrop{display:none}@media(max-width:960px){.app{grid-template-columns:1fr}.app>.side{position:fixed;left:0;top:0;z-index:300;width:260px;transform:translate(-100%);transition:transform var(--dur-3) var(--ease)}.app.is-open>.side{transform:none}.app.is-open .app-backdrop{display:block;position:fixed;inset:0;z-index:250;background:var(--overlay)}.app-header .nav-toggle{display:inline-flex}.app .content{padding:16px}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.table-wrap{position:relative}.tabs{min-width:0;max-width:100%}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.hide-sm{display:none}.show-sm{display:inline-flex}}.tpl-login.page{min-height:100vh;border:0;border-radius:0}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.table-wrap .r,.table .r{text-align:right}.clickable{cursor:pointer}.search-trigger{gap:8px;padding:0 10px;white-space:nowrap;width:280px;max-width:100%;cursor:pointer;text-align:left}.search-trigger kbd{margin-left:auto;white-space:nowrap}.logo-mark{height:18px;width:auto}.header-title{white-space:nowrap}@media(min-width:641px){.show-sm{display:none}}.page-head-title{min-width:0;display:grid;gap:4px}.list li.is-active{background:var(--surface-2)}.list li.clickable{padding-left:8px;padding-right:8px}.board{display:grid;gap:12px;overflow-x:auto;padding-bottom:8px}.board-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;align-items:start}.board-lane{padding-top:8px}.board-col{display:grid;gap:8px;align-content:start;min-height:80px;padding:8px;border-radius:var(--r-2);background:var(--surface-2)}.board-col.is-over{outline:2px dashed var(--accent)}.board-col-h{display:flex;align-items:center;gap:8px}.board-dot{width:8px;height:8px;border-radius:50%}.board-card{cursor:grab}.board-move{max-width:120px;font-size:12px;border:1px solid var(--border);border-radius:var(--r-1);background:var(--surface);color:var(--text-2)}.cell-input{width:100%;min-width:0;height:var(--h-s);padding:0 8px;border:1px solid var(--border);border-radius:var(--r-1);background:var(--surface);color:var(--text);font:inherit}.cell-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.cell-input.r{text-align:right}.app .content.content--narrow,.content--narrow{max-width:880px}.content--narrow{width:100%}.row--center{justify-content:center}.spinner-box{padding:24px}.nav-item{display:contents}.drawer-h{padding-bottom:16px;border-bottom:1px solid var(--border)}.drawer .modal-b{padding-top:20px}.menu--panel{display:grid;gap:12px;min-width:260px;padding:12px}.menu--panel .field{margin:0}.app-header{position:sticky;top:0;z-index:40}.data-table{gap:12px}.menu--panel .control{width:100%}@media(min-width:961px){.app .table-wrap:not(.table-wrap--fixed){overflow:clip}.app .table-wrap:not(.table-wrap--fixed) .table th{top:56px}}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.w-full{width:100%}.w-auto{width:auto}.w-56{width:56px}.w-96{width:96px}.w-80{width:80px}.w-110{width:110px}.w-420-fluid{width:min(420px,100%)}.h-32{height:32px}.h-70vh{height:70vh}.max-w-full{max-width:100%}.scroll-x{overflow-x:auto}.list-none{list-style:none}.pre-wrap{white-space:pre-wrap}.pl-18{padding-left:18px}.b-0{border:0}.p-0{padding:0}.m-0{margin:0}.desk{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}@media(max-width:960px){.desk{grid-template-columns:minmax(0,1fr)}}.tabs--groups{overflow:visible;flex-wrap:wrap}.tabs--groups .menu-wrap{display:inline-flex}.tabs-root{position:relative}.tabs-root>.menu{top:100%;z-index:60}.tabs-root .menu [role=menuitem][aria-current=page]{font-weight:600}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stats:has(>.stat:only-child){grid-template-columns:minmax(200px,auto);width:fit-content}.brand-logo-preview{height:40px;width:auto;max-width:160px;object-fit:contain}.color-input{width:44px;height:var(--h-m);padding:2px;border:1px solid var(--border);border-radius:var(--r-1);background:var(--surface);cursor:pointer}@media(max-width:640px){.app--tabbar .app-header .nav-toggle{display:none}.app--tabbar .content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}.brand-logo{width:auto;max-width:140px;object-fit:contain}.side .brand-logo{padding:3px 6px;border-radius:var(--r-1);background:#fff}.drawer-nav{display:grid;gap:2px}.drawer-nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 8px;border-radius:var(--r-1);color:var(--text);text-decoration:none}.drawer-nav a:hover{background:var(--surface-2)}.drawer-nav a[aria-current=page]{font-weight:600;box-shadow:inset 3px 0 0 var(--brand, var(--accent))}.drawer-nav .count{margin-left:auto}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:961px){.tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.decision-row{flex-wrap:wrap;gap:8px 12px}.decision-sum{white-space:nowrap;font-weight:600}@media(max-width:640px){.decision-bar{position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:190;box-shadow:0 -4px 12px #0000001f}.decision-bar .card{border-radius:0;border-width:1px 0 0}.decision-bar .card-h{display:none}.decision-bar .card-b{padding:8px 12px}.decision-bar .field .hint{display:none}.decision-bar textarea{min-height:40px;height:40px}.decision-bar .row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.decision-bar .row .btn{padding:0 6px;justify-content:center}.app--tabbar:has(.decision-bar) .content{padding-bottom:calc(200px + env(safe-area-inset-bottom))}}.login-brand{display:none}@media(max-width:760px){.tpl-login .form-side{align-content:center;gap:24px}.login-brand{display:flex;align-items:center;gap:12px}.login-brand svg path{fill:var(--text)}}@media(max-width:640px){.list li{flex-wrap:wrap;row-gap:4px}.list li>.grow{flex:1 1 55%;min-width:0}.tiles .kpi-v{font-size:22px;line-height:28px;overflow-wrap:anywhere}.tiles .kpi .chamfer-in{padding:14px}}.drawer-nav .count{background:var(--ink-700);color:#fff}.ticket-card{container-type:inline-size;display:grid;gap:16px}.ticket-body{display:grid;gap:16px;align-items:start}.ticket-body>*{min-width:0}@container (min-width: 720px){.ticket-body{grid-template-columns:minmax(0,1fr) 300px}}.overline{color:var(--text-2)}.side .grp{color:var(--ink-400)}.badge--warning{color:color-mix(in srgb,var(--warning) 75%,var(--text))}.table-wrap:focus-visible{outline:2px solid var(--brand, var(--accent));outline-offset:-2px}.tabs-root--plain{display:contents}.date-input,.date-input .control,.date-input .control input{min-width:0}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.pager-pages{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pager-gap{padding:0 4px;color:var(--text-2)}.drawer--panel{width:min(960px,100vw);z-index:300}.drawer--panel .modal-b{padding-top:16px;grid-auto-rows:max-content}.drawer--panel .crumbs{display:none}.drawer-scrim{position:fixed;inset:0;z-index:290;background:var(--overlay);animation:fade var(--dur-2)}@media(prefers-reduced-motion:reduce){.drawer-scrim{animation:none}}.list-under-panel{display:contents}@media(max-width:640px){.drawer--panel .decision-bar{bottom:0}}@media(max-width:640px){.decision-bar .btn{padding-inline:6px}}.drawer .list .btn--link{display:block;height:auto;padding:0;white-space:normal;text-align:left}@media(max-width:640px){.queue-title{grid-column:1 / -1}.queue-title>:first-child{white-space:normal}}.alert .link--quiet{color:var(--text);text-decoration:underline}
