@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.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,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=) 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}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==) 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:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.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:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.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:500;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.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:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.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:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.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{--bg: oklch(97% .012 80);--bg-sunk: oklch(94% .014 80);--surface: oklch(99.5% .008 80);--surface-2: oklch(96.5% .014 80);--ink-1: oklch(20% .025 50);--ink-2: oklch(34% .022 50);--ink-3: oklch(48% .018 50);--ink-4: oklch(56% .018 50);--ink-5: oklch(76% .012 50);--hairline: oklch(90% .012 75);--hairline-strong: oklch(83% .018 70);--accent: oklch(58% .16 35);--accent-hover: oklch(52% .18 35);--accent-soft: oklch(94% .05 35);--accent-border: oklch(85% .1 35);--accent-ink: oklch(40% .16 35);--accent-2: oklch(58% .1 200);--accent-3: oklch(58% .09 145);--ok: oklch(58% .15 155);--ok-soft: oklch(95% .04 155);--ok-ink: oklch(38% .14 155);--warn: oklch(72% .15 75);--warn-soft: oklch(96% .05 75);--warn-ink: oklch(48% .14 75);--err: oklch(58% .2 25);--err-soft: oklch(96% .04 25);--err-ink: oklch(45% .18 25);--info: oklch(60% .13 230);--info-soft: oklch(96% .04 230);--info-ink: oklch(42% .14 230);--tag-1: oklch(68% .14 25);--tag-2: oklch(68% .14 160);--tag-3: oklch(66% .14 230);--tag-4: oklch(68% .14 310);--tag-5: oklch(72% .14 60);--tag-6: oklch(66% .14 200);--shadow-1: 0 1px 2px oklch(20% .02 270 / .05), 0 1px 3px oklch(20% .02 270 / .08);--shadow-2: 0 4px 12px oklch(20% .02 270 / .08), 0 2px 4px oklch(20% .02 270 / .06);--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--row-h: 44px;--ease: cubic-bezier(.2, .6, .2, 1);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 28px;--text-hero: 36px;--leading-tight: 1.25;--leading-snug: 1.4;--leading-normal: 1.55;--bg-card: var(--surface);--bg-card-hover: var(--surface-2);--bg-input: var(--surface);--surface-raised: oklch(100% 0 0);--surface-sunk: var(--bg-sunk);--bg-sidebar: oklch(95% .018 75);--border: var(--hairline-strong);--border-focus: var(--accent);--text: var(--ink-1);--text-dim: var(--ink-3);--text-muted: var(--ink-4);--accent-dim: oklch(58% .16 35 / .14);--green: var(--ok);--green-dim: var(--ok-soft);--red: var(--err);--red-dim: var(--err-soft);--yellow: var(--warn);--yellow-dim: var(--warn-soft);--radius: var(--r-md);--radius-sm: var(--r-sm);--shadow: var(--shadow-1);--bg-primary: var(--bg);--bg-secondary: var(--surface);--bg-tertiary: var(--surface-2);--text-primary: var(--ink-1);--text-secondary: var(--ink-3);--font-display: "DM Sans", "Georgia", serif;--font: "DM Sans", -apple-system, sans-serif;--mono: "JetBrains Mono", "SF Mono", monospace}[data-theme=dark]{--bg: oklch(16% .013 50);--bg-sunk: oklch(13% .013 50);--surface: oklch(20% .014 50);--surface-2: oklch(24% .015 50);--ink-1: oklch(94% .012 80);--ink-2: oklch(82% .012 75);--ink-3: oklch(64% .014 70);--ink-4: oklch(50% .012 65);--ink-5: oklch(38% .01 60);--hairline: oklch(28% .014 50);--hairline-strong: oklch(34% .016 50);--accent-soft: oklch(28% .07 35);--accent-border: oklch(36% .1 35);--accent-ink: oklch(74% .14 35);--accent-2: oklch(70% .12 200);--accent-3: oklch(72% .1 145);--surface-raised: oklch(26% .016 50);--surface-sunk: oklch(13% .013 50);--ok-soft: oklch(26% .04 155);--ok-ink: oklch(72% .13 155);--warn-soft: oklch(26% .05 75);--warn-ink: oklch(78% .13 75);--err-soft: oklch(26% .05 25);--err-ink: oklch(72% .15 25);--info-soft: oklch(26% .04 230);--info-ink: oklch(72% .12 230);--ok: oklch(72% .13 155);--warn: oklch(78% .13 75);--err: oklch(72% .15 25);--info: oklch(72% .12 230);--shadow-1: 0 1px 2px rgba(0,0,0,.4), 0 1px 3px rgba(0,0,0,.35);--shadow-2: 0 4px 12px rgba(0,0,0,.45), 0 2px 4px rgba(0,0,0,.35);--bg-sidebar: oklch(17% .015 50)}[data-theme=pacific]{--bg: oklch(98% .006 205);--bg-sunk: oklch(95% .008 205);--surface: oklch(99.4% .003 205);--surface-2: oklch(96.8% .006 205);--ink-1: oklch(22% .018 220);--ink-2: oklch(35% .016 220);--ink-3: oklch(49% .014 215);--ink-4: oklch(64% .01 210);--ink-5: oklch(77% .008 205);--hairline: oklch(90% .007 205);--hairline-strong: oklch(82% .012 205);--accent: oklch(50% .105 200);--accent-hover: oklch(43% .12 200);--accent-soft: oklch(95% .03 200);--accent-border: oklch(84% .055 200);--accent-ink: oklch(34% .105 200);--accent-2: oklch(60% .14 25);--accent-3: oklch(58% .11 145);--accent-dim: oklch(50% .105 200 / .12);--surface-raised: oklch(100% 0 0);--surface-sunk: var(--bg-sunk);--bg-sidebar: oklch(96% .01 205);--shadow-1: 0 1px 2px oklch(28% .02 220 / .05), 0 1px 3px oklch(28% .02 220 / .07);--shadow-2: 0 4px 12px oklch(28% .02 220 / .08), 0 2px 4px oklch(28% .02 220 / .06);--ok: oklch(58% .15 155);--warn: oklch(72% .15 75);--err: oklch(58% .2 25);--info: oklch(60% .13 230)}[data-theme=canopy]{--bg: oklch(98% .006 115);--bg-sunk: oklch(95% .008 115);--surface: oklch(99.4% .003 110);--surface-2: oklch(96.6% .006 112);--ink-1: oklch(22% .018 135);--ink-2: oklch(35% .016 132);--ink-3: oklch(49% .013 128);--ink-4: oklch(64% .01 125);--ink-5: oklch(77% .008 120);--hairline: oklch(89% .008 115);--hairline-strong: oklch(81% .012 115);--accent: oklch(49% .105 145);--accent-hover: oklch(42% .115 145);--accent-soft: oklch(94% .03 145);--accent-border: oklch(82% .055 145);--accent-ink: oklch(33% .105 145);--accent-2: oklch(58% .105 200);--accent-3: oklch(58% .13 35);--accent-dim: oklch(49% .105 145 / .12);--surface-raised: oklch(100% 0 0);--surface-sunk: var(--bg-sunk);--bg-sidebar: oklch(96% .01 115);--shadow-1: 0 1px 2px oklch(28% .02 135 / .05), 0 1px 3px oklch(28% .02 135 / .07);--shadow-2: 0 4px 12px oklch(28% .02 135 / .08), 0 2px 4px oklch(28% .02 135 / .06);--ok: oklch(58% .15 155);--warn: oklch(72% .15 75);--err: oklch(58% .2 25);--info: oklch(60% .13 230)}[data-theme=carmine]{--bg: oklch(98% .005 35);--bg-sunk: oklch(95% .007 35);--surface: oklch(99.4% .003 35);--surface-2: oklch(96.7% .005 35);--ink-1: oklch(22% .018 35);--ink-2: oklch(35% .016 35);--ink-3: oklch(49% .013 35);--ink-4: oklch(64% .01 35);--ink-5: oklch(77% .008 35);--hairline: oklch(89% .008 35);--hairline-strong: oklch(81% .012 35);--accent: oklch(50% .125 15);--accent-hover: oklch(43% .14 15);--accent-soft: oklch(95% .03 15);--accent-border: oklch(83% .06 15);--accent-ink: oklch(34% .125 15);--accent-2: oklch(53% .105 180);--accent-3: oklch(58% .105 115);--accent-dim: oklch(50% .125 15 / .12);--surface-raised: oklch(100% 0 0);--surface-sunk: var(--bg-sunk);--bg-sidebar: oklch(96% .009 35);--shadow-1: 0 1px 2px oklch(28% .02 35 / .05), 0 1px 3px oklch(28% .02 35 / .07);--shadow-2: 0 4px 12px oklch(28% .02 35 / .08), 0 2px 4px oklch(28% .02 35 / .06);--ok: oklch(58% .15 155);--warn: oklch(72% .15 75);--err: oklch(58% .2 25);--info: oklch(60% .13 230)}[data-theme=contrast]{--bg: oklch(100% 0 0);--bg-sunk: oklch(96% 0 0);--surface: oklch(100% 0 0);--surface-2: oklch(94% 0 0);--ink-1: oklch(0% 0 0);--ink-2: oklch(18% 0 0);--ink-3: oklch(32% 0 0);--ink-4: oklch(46% 0 0);--ink-5: oklch(60% 0 0);--hairline: oklch(72% 0 0);--hairline-strong: oklch(0% 0 0);--accent: oklch(45% .22 260);--accent-hover: oklch(36% .24 260);--accent-soft: oklch(92% .055 260);--accent-border: oklch(62% .16 260);--accent-ink: oklch(28% .22 260);--accent-2: oklch(45% .18 200);--accent-3: oklch(45% .18 145);--accent-dim: oklch(45% .22 260 / .16);--surface-raised: oklch(100% 0 0);--surface-sunk: oklch(96% 0 0);--bg-sidebar: oklch(98% 0 0);--shadow-1: 0 0 0 1px oklch(0% 0 0 / .18);--shadow-2: 0 0 0 1px oklch(0% 0 0 / .24), 0 8px 24px oklch(0% 0 0 / .16);--ok: oklch(62% .18 155);--warn: oklch(62% .2 75);--err: oklch(62% .24 25);--info: oklch(64% .16 230)}[data-theme=ink]{--bg: oklch(14% .006 260);--bg-sunk: oklch(10% .006 260);--surface: oklch(18% .007 260);--surface-2: oklch(23% .009 260);--ink-1: oklch(94% .006 250);--ink-2: oklch(82% .008 250);--ink-3: oklch(65% .009 250);--ink-4: oklch(50% .008 250);--ink-5: oklch(38% .007 250);--hairline: oklch(29% .01 260);--hairline-strong: oklch(37% .014 260);--accent: oklch(69% .13 255);--accent-hover: oklch(75% .12 255);--accent-soft: oklch(27% .042 255);--accent-border: oklch(40% .07 255);--accent-ink: oklch(82% .1 255);--accent-2: oklch(71% .12 345);--accent-3: oklch(72% .1 165);--accent-dim: oklch(69% .13 255 / .13);--surface-raised: oklch(25% .01 260);--surface-sunk: oklch(10% .006 260);--bg-sidebar: oklch(12% .007 260);--ok-soft: oklch(24% .038 155);--ok-ink: oklch(76% .13 155);--warn-soft: oklch(25% .04 75);--warn-ink: oklch(80% .13 75);--err-soft: oklch(24% .04 25);--err-ink: oklch(76% .15 25);--info-soft: oklch(25% .038 230);--info-ink: oklch(76% .12 230);--ok: oklch(72% .13 155);--warn: oklch(78% .13 75);--err: oklch(72% .15 25);--info: oklch(72% .12 230);--shadow-1: 0 1px 2px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.35);--shadow-2: 0 4px 12px rgba(0,0,0,.55), 0 2px 4px rgba(0,0,0,.4)}[data-theme=graphite]{--bg: oklch(15% .006 65);--bg-sunk: oklch(11% .006 65);--surface: oklch(19% .007 65);--surface-2: oklch(24% .009 65);--ink-1: oklch(93% .008 75);--ink-2: oklch(81% .01 75);--ink-3: oklch(64% .01 70);--ink-4: oklch(50% .009 70);--ink-5: oklch(38% .008 70);--hairline: oklch(30% .01 65);--hairline-strong: oklch(38% .014 65);--accent: oklch(68% .13 45);--accent-hover: oklch(74% .12 45);--accent-soft: oklch(27% .042 45);--accent-border: oklch(40% .07 45);--accent-ink: oklch(80% .11 45);--accent-2: oklch(70% .1 190);--accent-3: oklch(70% .1 135);--accent-dim: oklch(68% .13 45 / .13);--surface-raised: oklch(26% .01 65);--surface-sunk: oklch(11% .006 65);--bg-sidebar: oklch(13% .007 65);--ok-soft: oklch(24% .038 155);--ok-ink: oklch(76% .13 155);--warn-soft: oklch(25% .04 75);--warn-ink: oklch(80% .13 75);--err-soft: oklch(24% .04 25);--err-ink: oklch(76% .15 25);--info-soft: oklch(25% .038 230);--info-ink: oklch(76% .12 230);--ok: oklch(72% .13 155);--warn: oklch(78% .13 75);--err: oklch(72% .15 25);--info: oklch(72% .12 230);--shadow-1: 0 1px 2px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.35);--shadow-2: 0 4px 12px rgba(0,0,0,.55), 0 2px 4px rgba(0,0,0,.4)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}.app-layout{display:flex;height:100vh;height:100dvh}.sidebar{width:240px;min-width:240px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.sidebar-logo{padding:10px 16px 4px;display:flex;align-items:center;justify-content:center}.sidebar-logo .logo-icon{width:140px;height:auto;max-width:100%;object-fit:contain;background:transparent;border-radius:0}.logo-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;object-fit:contain;background:transparent}.sidebar-section{padding:8px 12px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}.sidebar-nav+.sidebar-section{margin-top:14px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--text-dim);transition:all .15s}.sidebar-nav a:hover{background:var(--bg-card);color:var(--text)}.sidebar-nav a.active{background:var(--accent-dim);color:var(--accent-ink);font-weight:600}.sidebar-bottom{margin-top:auto;padding:16px;border-top:1px solid var(--border)}.sidebar-user{display:flex;align-items:center;gap:10px;font-size:13px}.sidebar-user .avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-dim);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.sidebar-user .user-info{flex:1;min-width:0}.sidebar-user .user-name{font-weight:600;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.sidebar-user .user-role{font-size:11px;color:var(--text-muted);text-transform:capitalize}.btn-logout{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;padding:4px 8px;border-radius:4px}.btn-logout:hover{background:var(--red-dim);color:var(--red)}.main-col{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.topbar{position:absolute;top:var(--safe-area-top);left:0;right:0;height:56px;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 24px;background:color-mix(in oklch,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid var(--hairline);z-index:30}.theme-picker{position:relative;display:inline-flex;align-items:center}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.theme-toggle:hover{background:var(--surface-2);color:var(--text);border-color:var(--hairline)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-picker-popover{position:absolute;top:calc(100% + 10px);right:0;width:min(380px,calc(100vw - 24px));max-height:min(560px,calc(100vh - 96px));background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--space-3);z-index:1200;display:flex;flex-direction:column;gap:var(--space-3)}.theme-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.theme-picker-title{font-weight:700;color:var(--text)}.theme-picker-subtitle{margin-top:2px;font-size:var(--text-xs);color:var(--text-muted)}.theme-picker-search{width:100%;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-input);color:var(--text);padding:9px 11px;font:inherit;outline:none}.theme-picker-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.theme-picker-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:390px;overflow-y:auto;padding-right:2px}.theme-picker-empty{padding:var(--space-5);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.theme-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text);cursor:pointer;font:inherit;padding:9px 10px;text-align:left}.theme-option:hover,.theme-option.active{background:var(--surface-2);border-color:var(--hairline)}.theme-option.selected{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-ink)}.theme-option-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.theme-option-name{font-weight:700;line-height:1.2}.theme-option-note{color:var(--text-muted);font-size:var(--text-xs)}.theme-option.selected .theme-option-note{color:inherit;opacity:.72}.theme-swatches{display:grid;grid-template-columns:repeat(4,16px);gap:4px;flex:0 0 auto}.theme-swatch{width:16px;height:16px;border-radius:999px;border:1px solid color-mix(in oklch,var(--text) 18%,transparent);box-shadow:inset 0 0 0 1px #ffffff29}.main-content{flex:1;overflow-y:auto;padding:calc(84px + var(--safe-area-top)) 32px 28px;min-width:0;background-image:radial-gradient(120% 60% at 100% 0%,color-mix(in oklch,var(--accent) 6%,transparent) 0%,transparent 55%),radial-gradient(80% 40% at 0% 100%,color-mix(in oklch,var(--accent) 4%,transparent) 0%,transparent 60%);background-attachment:fixed;background-repeat:no-repeat}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(2px);background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);padding:4px 8px;font-size:var(--text-xs);font-family:var(--font);white-space:nowrap;box-shadow:var(--shadow-2);pointer-events:none;opacity:0;transition:opacity .11s ease,transform .11s ease;z-index:100}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}[data-tooltip-pos=bottom]:after{bottom:auto;top:calc(100% + 6px);transform:translate(-50%) translateY(-2px)}[data-tooltip-pos=bottom]:hover:after,[data-tooltip-pos=bottom]:focus-visible:after{transform:translate(-50%) translateY(0)}@media(prefers-reduced-motion:reduce){[data-tooltip]:after{transition:none}}.page-fade-in{opacity:1;animation:pageFadeIn .14s var(--ease)}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.page-fade-in{animation:none}}.cmdk-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:1000;animation:cmdkOverlayIn .12s var(--ease) both}.cmdk-panel{width:min(560px,calc(100vw - 32px));background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);overflow:hidden;animation:cmdkPanelIn .14s var(--ease) both}.cmdk-input{width:100%;border:none;outline:none;background:transparent;color:var(--text);padding:var(--space-4) var(--space-5);font-size:var(--text-lg);font-family:var(--font);border-bottom:1px solid var(--border)}.cmdk-input::placeholder{color:var(--text-muted)}.cmdk-list{max-height:360px;overflow-y:auto;padding:var(--space-2) 0}.cmdk-empty{padding:var(--space-5);color:var(--text-muted);font-size:var(--text-base);text-align:center}.cmdk-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-5);border:none;background:transparent;color:var(--text);font-family:var(--font);font-size:var(--text-md);text-align:left;cursor:pointer}.cmdk-item-active{background:var(--accent-soft);color:var(--accent-ink)}.cmdk-item-hint{color:var(--text-muted);font-size:var(--text-sm);font-family:var(--mono)}.cmdk-item-active .cmdk-item-hint{color:var(--accent-ink);opacity:.75}.cmdk-footer{border-top:1px solid var(--border);background:var(--surface-sunk);color:var(--text-muted);font-size:var(--text-xs);padding:var(--space-2) var(--space-5);display:flex;gap:var(--space-3);align-items:center}.cmdk-footer kbd{display:inline-block;padding:1px 5px;border:1px solid var(--border);border-radius:4px;background:var(--surface);font-family:var(--mono);font-size:10px;margin-right:2px}@keyframes cmdkOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes cmdkPanelIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.cmdk-overlay,.cmdk-panel{animation:none}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.page-header.detail-hero{padding-bottom:var(--space-5);border-bottom:1px solid var(--hairline);margin-bottom:var(--space-5)}.detail-hero-ref{font-family:var(--font-display);font-size:40px;font-weight:600;font-variation-settings:"opsz" 96,"SOFT" 30;letter-spacing:-.02em;line-height:var(--leading-tight);color:var(--ink-1);font-variant-numeric:tabular-nums lining-nums}.page-header h1{font-family:var(--font);font-size:var(--text-3xl);font-weight:700;letter-spacing:0;line-height:var(--leading-tight);color:var(--ink-1)}.page-header .subtitle{font-size:var(--text-base);color:var(--text-dim);margin-top:var(--space-1);letter-spacing:.005em;font-variant-numeric:tabular-nums}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-1);color:var(--text);transition:border-color .18s,transform .18s,box-shadow .18s;min-width:0;overflow-wrap:anywhere}.kpi-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-2)}.kpi-label{font-size:var(--text-xs);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.7px;margin-bottom:var(--space-1);padding-top:14px;position:relative}.kpi-value{font-size:var(--text-3xl);font-weight:600;font-family:var(--font);font-variation-settings:normal;font-variant-numeric:tabular-nums lining-nums;letter-spacing:0;line-height:var(--leading-tight)}.kpi-card-hero{border-left:3px solid var(--accent);background:linear-gradient(135deg,var(--bg-card) 0%,color-mix(in oklch,var(--accent) 4%,var(--bg-card)) 100%)}.kpi-card-hero .kpi-value{font-variation-settings:"opsz" 96,"SOFT" 0;letter-spacing:-.024em}.kpi-card-hero .kpi-label{color:var(--accent-ink);letter-spacing:.08em}.kpi-card-hero .kpi-label:before{content:"";position:absolute;top:0;left:0;width:24px;height:2px;background:var(--accent);opacity:.85;border-radius:1px}.kpi-spark-band{margin-top:var(--space-2);margin-bottom:var(--space-2);width:100%;display:block;line-height:0}.kpi-spark-band svg{width:100%;height:auto;display:block}.kpi-value.green{color:var(--green)}.kpi-value.red{color:var(--red)}.kpi-value.accent{color:var(--accent)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-1)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--text-md);font-weight:600;line-height:var(--leading-snug);letter-spacing:-.005em}.card-collapsible>summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.card-collapsible>summary::-webkit-details-marker{display:none}.card-collapsible:not([open])>summary.card-header{margin-bottom:0}.card-collapsible-chevron{display:inline-block;transition:transform .15s ease;color:var(--text-dim);font-size:12px;width:12px}.card-collapsible:not([open]) .card-collapsible-chevron{transform:rotate(-90deg)}.performance-overview-scope-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;align-items:stretch}.performance-chart-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.performance-chart-svg{width:100%;max-width:800px;min-width:560px;height:auto;display:block;background:var(--bg-card)}.performance-overview-margin-chart{max-width:760px}.performance-trends-header{flex-direction:column;align-items:flex-start;gap:8px}@media(max-width:980px){.performance-overview-scope-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.performance-chart-svg{min-width:520px}}.periods-close-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:var(--space-4);align-items:start}.periods-readiness-card{position:sticky;top:72px}.periods-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.periods-month-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);min-width:0;min-height:72px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:border-color .12s,background .12s,transform .12s}.periods-month-button:hover{border-color:var(--accent);transform:translateY(-1px)}.periods-month-button.is-selected{border-color:var(--accent);background:var(--accent-soft)}.periods-month-name{font-weight:700}@media(max-width:1100px){.periods-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.periods-close-layout{grid-template-columns:1fr}.periods-readiness-card{position:static}}@media(max-width:560px){.periods-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.table-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.table-wrap::-webkit-scrollbar{height:6px}.table-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.table-wrap::-webkit-scrollbar-track{background:transparent}table{width:100%;border-collapse:collapse;font-size:13px}thead th{padding:10px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-card);position:sticky;top:0;word-wrap:break-word;overflow-wrap:break-word}tbody tr{border-bottom:1px solid var(--border);transition:background .12s}tbody tr:nth-child(2n){background:color-mix(in oklch,var(--text) 3%,transparent)}tbody tr:hover{background:var(--bg-card-hover)}tbody tr.clickable{cursor:pointer}tbody tr:has(td.clickable){cursor:pointer}tbody td,tfoot td{padding:10px 12px;word-wrap:break-word;overflow-wrap:break-word}td.num,th.num{text-align:right;font-family:var(--mono);font-size:12.5px}td.pos,.pos{color:var(--green)}td.neg,.neg{color:var(--red)}.warn{color:var(--warn-ink)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:var(--space-4);align-items:center;position:sticky;top:0;z-index:5;background:var(--bg);padding-top:var(--space-2);padding-bottom:var(--space-2)}.filter-select,.filter-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:13px;padding:7px 12px;min-width:140px;outline:none}.filter-select:focus,.filter-input:focus{border-color:var(--border-focus)}.filter-select option{background:var(--bg-card)}:where(main select:not(.filter-select):not([data-no-skin]),main input[type=text]:not(.filter-input):not([data-no-skin]),main input[type=search]:not(.filter-input):not([data-no-skin]),main input[type=number]:not(.filter-input):not([data-no-skin]),main input[type=email]:not(.filter-input):not([data-no-skin]),main input[type=tel]:not(.filter-input):not([data-no-skin]),main input[type=url]:not(.filter-input):not([data-no-skin]),main input[type=date]:not(.filter-input):not([data-no-skin]),main input[type=datetime-local]:not(.filter-input):not([data-no-skin]),main input:not([type]):not(.filter-input):not([data-no-skin]),main textarea:not([data-no-skin])){background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:13px;padding:7px 12px;outline:none;min-height:35px;box-sizing:border-box}:where(main select:not(.filter-select):not([data-no-skin]):focus,main input[type=text]:not(.filter-input):not([data-no-skin]):focus,main input[type=search]:not(.filter-input):not([data-no-skin]):focus,main input[type=number]:not(.filter-input):not([data-no-skin]):focus,main input:not([type]):not(.filter-input):not([data-no-skin]):focus,main textarea:not([data-no-skin]):focus){border-color:var(--border-focus)}:where(main select:not(.filter-select):not([data-no-skin]) option){background:var(--bg-card)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--text-dim)}.btn-danger{background:var(--red-dim);color:var(--red)}.btn-danger:hover{background:var(--red);color:#fff}.btn-sm{padding:5px 10px;font-size:12px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:999px;font-size:11.5px;font-weight:500;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;vertical-align:middle}.badge-green{background:var(--ok-soft);color:var(--ok-ink)}.badge-yellow{background:var(--warn-soft);color:var(--warn-ink)}.badge-red{background:var(--err-soft);color:var(--err-ink)}.badge-blue{background:var(--accent-soft);color:var(--accent-ink)}.badge-gray{background:var(--bg-sunk);color:var(--ink-3)}.badge-green:before,.badge-yellow:before,.badge-red:before,.badge-blue:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.fp-subline{margin-top:4px;color:var(--text-dim);font-size:11px;line-height:1.35}.fp-subline-full{flex-basis:100%}.fp-attention-text{color:var(--warn-ink);font-weight:600}.action-focus-target{scroll-margin-top:96px;outline:1px solid rgba(245,158,11,.42);box-shadow:0 0 0 3px #f59e0b1a;animation:action-focus-pulse 2.4s ease-out}tr.action-focus-target>td{background:#f59e0b24}@keyframes action-focus-pulse{0%{box-shadow:0 0 #f59e0b73;outline:1px solid rgba(245,158,11,.65)}55%{box-shadow:0 0 0 6px #f59e0b21;outline:1px solid rgba(245,158,11,.45)}to{box-shadow:0 0 #f59e0b00;outline:1px solid transparent}}.fp-cert-badges{display:inline-flex;flex-wrap:wrap;gap:4px;vertical-align:middle}.fp-cert-badges .badge{padding:2px 7px;font-size:10px}.truck-source-product-cell{min-width:150px}.truck-source-note{margin-top:4px;color:var(--text-dim);font-size:11px;line-height:1.35}.truck-fp-cert-cell{min-width:180px}.truck-source-badges{display:inline-flex;flex-wrap:wrap;gap:4px;vertical-align:middle}.truck-source-badges .badge{padding:2px 7px;font-size:10px}.bulk-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;margin:0 0 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-sunk)}.shipment-readiness-inline{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:148px;text-align:left}.shipment-readiness-inline.compact{align-items:flex-start;min-width:0}.shipment-readiness-trigger{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.shipment-readiness-trigger:hover .badge{filter:brightness(.98);box-shadow:0 0 0 1px var(--border)}.shipment-readiness-inline-panel{width:min(420px,78vw);padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow-2);text-align:left}.shipment-readiness-inline.compact .shipment-readiness-inline-panel{width:min(340px,78vw)}.shipment-readiness-inline-title{display:grid;gap:2px;margin-bottom:10px}.shipment-readiness-inline-title span{color:var(--text-dim);font-size:12px}.shipment-readiness-panel{margin-top:var(--space-4)}.shipment-readiness-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.shipment-readiness-badges{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.shipment-readiness-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.shipment-readiness-metrics>div{min-width:0;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.shipment-readiness-metrics span{display:block;color:var(--text-dim);font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.shipment-readiness-metrics strong{display:block;margin-top:4px;font-size:15px}.shipment-readiness-issues{display:grid;gap:8px}.shipment-readiness-issue{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}.shipment-readiness-issue:first-child{border-top:0}.shipment-readiness-issue-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:flex-start;min-width:0}.shipment-readiness-issue-title{font-weight:700;color:var(--text);line-height:1.25}.shipment-readiness-issue-detail{margin-top:2px;color:var(--text-dim);font-size:12px;line-height:1.35}.shipment-readiness-action{display:flex;justify-content:flex-end}.shipment-readiness-empty{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:13px}.shipment-doc-checklist{margin-bottom:16px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.shipment-doc-checklist-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.shipment-doc-checklist-grid{display:grid;gap:8px}.shipment-doc-checklist-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.shipment-doc-checklist-action{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.shipment-attachment-hub{margin-bottom:16px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.shipment-attachment-hub-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.shipment-cert-summary{display:grid;gap:14px}.shipment-cert-summary-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.shipment-cert-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.shipment-cert-summary-grid>div{display:grid;gap:6px}.shipment-cert-requirements{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.shipment-cert-requirements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.shipment-cert-requirements-grid>div{display:grid;gap:6px}.shipment-cert-summary-notes,.shipment-cert-lost-list{display:grid;gap:6px;font-size:12px}.shipment-cert-lost-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.link-button{padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-weight:700;text-align:left;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 38%,transparent);text-underline-offset:2px}.link-button:hover{color:var(--accent-hover)}@media(max-width:760px){.shipment-readiness-panel-header,.shipment-readiness-issue,.shipment-doc-checklist-item{grid-template-columns:1fr}.shipment-readiness-panel-header{display:grid}.shipment-readiness-badges,.shipment-readiness-action,.shipment-doc-checklist-action{justify-content:flex-start}.shipment-attachment-hub-header,.shipment-cert-summary-header{display:grid}.shipment-readiness-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.shipment-readiness-inline{align-items:flex-start}.shipment-readiness-inline-panel{width:min(100%,78vw)}}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:500;line-height:1.5;background:var(--bg-sunk);color:var(--ink-3);word-wrap:break-word;overflow-wrap:break-word}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.pill[data-status=in_transit],.pill[data-status=shipped]{background:var(--accent-soft);color:var(--accent-ink)}.pill[data-status=at_port],.pill[data-status=arrived]{background:var(--info-soft);color:var(--info-ink)}.pill[data-status=loading],.pill[data-status=packing],.pill[data-status=customs]{background:var(--warn-soft);color:var(--warn-ink)}.pill[data-status=delivered],.pill[data-status=cleared]{background:var(--ok-soft);color:var(--ok-ink)}.pill[data-status=delayed],.pill[data-status=rejected]{background:var(--err-soft);color:var(--err-ink)}.pill[data-status=draft],.pill[data-status=pending]{background:var(--bg-sunk);color:var(--ink-3)}.pill[data-status=needs_info]{background:var(--warn-soft);color:var(--warn-ink)}.breadcrumbs{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim, var(--text-muted));min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:60%}.breadcrumbs-link{color:var(--text-dim, var(--text-muted));text-decoration:none;transition:color .15s}.breadcrumbs-link:hover{color:var(--accent)}.breadcrumbs-sep{color:var(--text-muted);opacity:.55;font-size:12px}.breadcrumbs-current{color:var(--text);font-weight:500}@media(max-width:640px){.breadcrumbs{display:none}}.buyer-tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);min-width:0}.buyer-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--tag-3)}.tabs{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--border);margin-bottom:20px;row-gap:0}.tab{padding:10px 20px;font-size:13px;font-weight:500;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;font-family:var(--font);transition:all .15s}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:2px}.tab-group-divider{display:inline-block;width:1px;height:18px;background:var(--border);margin:0 8px;align-self:center}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.view-switcher{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--bg-input);border:1px solid var(--border);border-radius:999px;margin-bottom:12px}.view-switcher-btn{padding:6px 14px;font-size:12.5px;font-weight:500;font-family:var(--font);color:var(--text-dim);background:transparent;border:none;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .15s,background .15s;white-space:nowrap}.view-switcher-btn:hover:not(.active){color:var(--text)}.view-switcher-btn.active{color:var(--text);background:var(--surface);box-shadow:0 1px 2px #0000000f}.view-switcher-icon{font-size:14px;line-height:1}.split-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,420px);gap:12px;min-height:400px}.split-view .split-list{min-width:0}.split-view .split-preview{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);height:calc(100vh - 260px);position:sticky;top:72px;overflow:hidden;display:flex;flex-direction:column}.split-view .split-list tr.selected{background:var(--bg-card-hover);outline:2px solid var(--accent);outline-offset:-2px}@media(max-width:1100px){.split-view{grid-template-columns:1fr}.split-view .split-preview{order:-1;position:relative;top:auto;height:auto;min-height:360px;max-height:none}}.tabs.status-tabs{margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;white-space:nowrap;gap:2px}.tabs.status-tabs .tab{padding:8px 14px;white-space:nowrap;flex:0 0 auto}.tabs.status-tabs .tab:hover:not(.active){color:var(--text);background:var(--bg-card-hover, transparent)}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.shipment-map{padding:16px;position:relative}.shipment-map-card{position:relative;z-index:0;isolation:isolate;contain:paint}.shipment-map-viewport{position:relative;z-index:0;overflow:hidden}.shipment-map-card .leaflet-container{z-index:0}.shipment-map-canvas{position:relative;width:100%;aspect-ratio:2 / 1;max-height:min(70vh,700px);overflow:hidden;border-radius:var(--radius-sm);background:var(--surface-2)}.shipment-map-svg{display:block;width:100%;height:100%}.shipment-map-svg .map-ocean{fill:var(--surface-2)}.shipment-map-svg .map-land{fill:var(--surface);stroke:var(--hairline-strong);stroke-width:.4;vector-effect:non-scaling-stroke}.shipment-map-svg .map-graticule-path{fill:none;stroke:var(--hairline);stroke-width:.5;vector-effect:non-scaling-stroke;stroke-dasharray:1 2;opacity:.4}.shipment-map-svg .map-pin-halo{fill:var(--accent);opacity:0;transition:opacity .15s}.shipment-map-svg .map-pin.active .map-pin-halo,.shipment-map-svg .map-pin:hover .map-pin-halo{opacity:.12}.shipment-map-svg .map-pin-dot{fill:var(--accent);stroke:var(--bg);stroke-width:1;vector-effect:non-scaling-stroke;transition:transform .15s;transform-origin:center;transform-box:fill-box}.shipment-map-svg .map-pin.tone-ok .map-pin-dot{fill:var(--ok)}.shipment-map-svg .map-pin.tone-info .map-pin-dot{fill:var(--info)}.shipment-map-svg .map-pin.tone-warn .map-pin-dot{fill:var(--warn)}.shipment-map-svg .map-pin.tone-err .map-pin-dot{fill:var(--err)}.shipment-map-svg .map-pin.tone-ok .map-pin-halo{fill:var(--ok)}.shipment-map-svg .map-pin.tone-info .map-pin-halo{fill:var(--info)}.shipment-map-svg .map-pin.tone-warn .map-pin-halo{fill:var(--warn)}.shipment-map-svg .map-pin.tone-err .map-pin-halo{fill:var(--err)}.shipment-map-svg .map-pin:hover .map-pin-dot{transform:scale(1.15)}.shipment-map-svg .map-pin-label{fill:#fff;font-weight:700;font-family:var(--font);pointer-events:none;paint-order:stroke;stroke:#00000059;stroke-width:.5}.map-tooltip,.map-popover{position:absolute;transform:translate(-50%,calc(-100% - 14px));background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:10px 12px;min-width:180px;font-size:12px;color:var(--text);pointer-events:none;z-index:5}.map-popover{pointer-events:auto;min-width:260px;max-width:320px;padding:0;z-index:6}.map-tooltip-title{font-weight:600;font-size:13px;color:var(--text);margin-bottom:6px}.map-tooltip-row{display:flex;justify-content:space-between;gap:12px;color:var(--text-dim);padding:2px 0;font-variant-numeric:tabular-nums}.map-tooltip-row strong{color:var(--text);font-weight:600}.map-tooltip-hint{margin-top:6px;padding-top:6px;border-top:1px solid var(--hairline);color:var(--text-muted);font-size:11px;text-align:center}.map-popover-head{display:flex;align-items:flex-start;gap:8px;padding:10px 12px 8px;border-bottom:1px solid var(--hairline)}.map-popover-head>div:first-child{flex:1;min-width:0}.map-popover-sub{color:var(--text-dim);font-size:11px;margin-top:2px}.map-popover-list{padding:6px;max-height:260px;overflow-y:auto}.map-popover-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;width:100%;padding:6px 8px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text);font-size:12px;cursor:pointer;text-align:left}.map-popover-row:hover{background:var(--surface-2)}.map-popover-ref{min-width:0;word-wrap:break-word;overflow-wrap:break-word}.map-popover-date{color:var(--text-dim);font-variant-numeric:tabular-nums}.map-popover-more{text-align:center;padding:6px;color:var(--text-dim);font-size:11px}.shipment-map-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--hairline);font-size:12px;color:var(--text-dim)}.map-legend{display:flex;flex-wrap:wrap;gap:14px}.map-legend-item{display:inline-flex;align-items:center;gap:6px}.map-legend-item .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);display:inline-block}.map-legend-item.tone-ok .dot{background:var(--ok)}.map-legend-item.tone-info .dot{background:var(--info)}.map-legend-item.tone-warn .dot{background:var(--warn)}.map-legend-item.tone-err .dot{background:var(--err)}.map-unmapped{display:inline-flex;gap:8px;align-items:center;color:var(--warn-ink, var(--warn));font-weight:500}.map-unmapped-list{color:var(--text-dim);font-weight:400;font-size:11px}@media(max-width:700px){.shipment-map-canvas{max-height:50vh}.map-popover{max-width:calc(100vw - 32px)}}.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--hairline-strong);background:transparent;color:var(--text-dim);font-family:var(--font);font-size:12.5px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.chip:hover{color:var(--text);border-color:var(--text-dim)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-ink);font-weight:600}.chip.chip-tone-ok.active{background:var(--ok-soft);border-color:var(--ok);color:var(--ok-ink)}.chip.chip-tone-warn.active{background:var(--warn-soft);border-color:var(--warn);color:var(--warn-ink)}.chip.chip-tone-err.active{background:var(--err-soft);border-color:var(--err);color:var(--err-ink)}.chip.chip-tone-info.active{background:var(--info-soft);border-color:var(--info);color:var(--info-ink)}.chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 5px;height:16px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.chip.active .chip-count{background:color-mix(in oklch,currentColor 12%,transparent);color:inherit}.group-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface-2);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);transition:background .15s}.group-header:hover{background:color-mix(in oklch,var(--surface-2) 70%,var(--accent) 10%)}.group-header td{padding:10px 14px;font-size:13px;color:var(--text);font-weight:600;box-shadow:inset 3px 0 0 var(--hairline-strong)}.group-header.tone-ok td{box-shadow:inset 3px 0 0 var(--ok)}.group-header.tone-info td{box-shadow:inset 3px 0 0 var(--info)}.group-header.tone-warn td{box-shadow:inset 3px 0 0 var(--warn)}.group-header.tone-err td{box-shadow:inset 3px 0 0 var(--err)}.group-chevron{display:inline-block;width:14px;margin-right:8px;color:var(--text-dim);transition:transform .15s ease;transform:rotate(90deg);transform-origin:center;font-size:11px}.group-header.collapsed .group-chevron{transform:rotate(0)}.group-count{color:var(--text-dim);font-weight:500;margin-right:14px}.group-subtotals{display:inline-flex;gap:18px;margin-left:4px;color:var(--text-dim);font-weight:500;font-variant-numeric:tabular-nums}.group-subtotals strong{color:var(--text);font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:12px;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:13px;padding:9px 12px;outline:none;min-height:39px;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--border-focus)}.form-group textarea{resize:vertical;min-height:60px;line-height:var(--leading-snug)}.form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--border);margin-top:16px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:11000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px;animation:modalOverlayIn .14s var(--ease) both}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-width:min(480px,calc(100vw - 32px));max-width:700px;max-height:calc(100vh - 32px);overflow:hidden;box-shadow:var(--shadow);width:100%;display:flex;flex-direction:column;animation:modalCenterIn .16s var(--ease) both}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:20px 24px 16px;border-bottom:1px solid var(--border);flex:0 0 auto}.modal-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;font-variation-settings:"opsz" 32;letter-spacing:0;line-height:var(--leading-tight);margin:0;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding-top:2px}.modal-unsaved{color:var(--yellow, #d6a700);font-size:11px;font-weight:500;white-space:nowrap}.modal-close{width:32px;height:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1}.modal-body{min-height:0;overflow-y:auto;padding:20px 24px 24px}.modal-body>:first-child{margin-top:0}.modal-body>:last-child{margin-bottom:0}.modal label>input:not([type=checkbox]):not([type=radio]),.modal label>select,.modal label>textarea{width:100%;box-sizing:border-box}.modal-overlay-right{align-items:stretch;justify-content:flex-end;padding:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal.modal-drawer{border-radius:0;border:none;border-left:1px solid var(--border);max-width:min(560px,92vw);min-width:0;width:560px;max-height:none;height:100vh;box-shadow:-8px 0 24px #00000040;animation:drawerSlideIn .18s var(--ease) both}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalCenterIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal,.modal.modal-drawer{animation:none}}@media(max-width:640px){.modal.modal-drawer{width:100vw;max-width:100vw;border-left:none}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:40px;width:380px;box-shadow:var(--shadow)}.login-box .logo-icon{display:block;width:160px;height:auto;max-width:100%;margin:0 auto;object-fit:contain}.login-box h1{font-size:24px;font-weight:700;margin-bottom:8px;text-align:center}.login-box .subtitle{text-align:center;color:var(--text-dim);font-size:13px;margin-bottom:28px}.login-box .form-group{margin-bottom:16px}.login-box .form-group input{width:100%}.login-error{background:var(--red-dim);color:var(--red);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px}.cf-section{margin-bottom:16px}.cf-section-title{font-size:13px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.cf-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.cf-row.total{font-weight:700;border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.cf-row .cf-label{color:var(--text-dim)}.cf-row .cf-amount{font-family:var(--mono);font-size:13px}.export-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.export-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s}.export-card:hover{border-color:var(--accent)}.export-card h3{font-size:15px;font-weight:600}.export-card p{font-size:12px;color:var(--text-dim);line-height:1.5}.export-card .btn{margin-top:auto;align-self:flex-start}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 24px;margin-bottom:20px}.detail-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:14px;font-weight:500;margin-top:2px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-16{margin-bottom:16px}.flex-between{display:flex;align-items:center;justify-content:space-between}.text-dim{color:var(--text-dim)}.text-sm{font-size:12px}.text-mono{font-family:var(--mono)}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px;color:var(--text-dim);font-size:14px}.loading:before{content:"";width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spinner .7s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--bg-card) 0%,var(--bg-card-hover) 50%,var(--bg-card) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:4px;min-height:12px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-row{display:flex;gap:12px;padding:10px 12px;align-items:center}.skeleton-row>.skeleton{flex:1;height:14px}.text-muted{color:var(--ink-4)}.center-message{text-align:center;padding:2rem;color:var(--text-muted)}.center-message-lg{text-align:center;padding:3.5rem 2rem;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}.center-message-lg:before{content:"";width:56px;height:56px;border-radius:50%;border:2px dashed var(--border);background:radial-gradient(circle at 50% 45%,var(--text-muted) 0 4px,transparent 5px),radial-gradient(circle at 35% 60%,var(--text-muted) 0 2px,transparent 3px),radial-gradient(circle at 65% 60%,var(--text-muted) 0 2px,transparent 3px);opacity:.55;margin-bottom:.5rem}.center-message-lg p:first-of-type{font-size:1.05rem;font-weight:600;color:var(--text);margin:0}.center-message-lg p{font-size:.9rem;margin:0}.api-connection-banner{position:fixed;inset:0 0 auto;z-index:1250;padding:8px 16px;border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);font-size:13px}.api-connection-banner.reconnecting{background:#fef3c7;color:#78350f;border-color:#f59e0b}.api-connection-banner.offline{background:#fee2e2;color:#7f1d1d;border-color:#ef4444}.api-connection-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.api-connection-banner strong{font-weight:700}.api-connection-banner-meta{font-weight:600}.api-connection-banner-action{border:1px solid currentColor;border-radius:var(--radius-sm);background:transparent;color:inherit;padding:3px 10px;font:inherit;font-weight:700;cursor:pointer}.api-connection-banner-action:disabled{opacity:.6;cursor:wait}.offline-drafts-banner{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1250;width:min(680px,calc(100vw - 32px));border:1px solid #d97706;background:var(--bg-card);color:var(--text);box-shadow:var(--shadow-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.offline-drafts-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.offline-drafts-summary strong{color:#92400e}.offline-drafts-status{color:var(--text-muted);font-weight:600}.offline-drafts-action{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:inherit;font-weight:700;cursor:pointer;padding:3px 10px}.offline-drafts-action:disabled{opacity:.6;cursor:wait}.offline-drafts-submit{border-color:#047857;color:#047857}.offline-drafts-list{margin-top:10px;display:grid;gap:8px;max-height:min(45vh,360px);overflow:auto}.offline-drafts-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;background:var(--bg)}.offline-drafts-item-title{display:flex;gap:8px;flex-wrap:wrap;font-weight:700}.offline-drafts-item-meta,.offline-drafts-note,.offline-drafts-empty{color:var(--text-muted);margin-top:2px;font-size:12px}.offline-drafts-note{color:var(--warn-ink)}.offline-drafts-preview,.offline-drafts-editor{margin:6px 0 0;max-height:140px;overflow:auto;white-space:pre-wrap;word-break:break-word;border-radius:var(--radius-sm);border:1px solid var(--border);padding:6px;background:var(--bg-card);color:var(--text);font-size:11px}.offline-drafts-editor{display:block;width:100%;min-height:112px;resize:vertical;font-family:var(--mono)}.offline-drafts-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.flex-center{display:flex;justify-content:center;align-items:center;gap:1rem}.flex-gap-sm{display:flex;gap:4px}.btn-danger-inline{background:#f87171;color:#fff}.table-responsive{overflow-x:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar-toggle{display:none;position:fixed;top:calc(12px + var(--safe-area-top));left:calc(12px + var(--safe-area-left));z-index:1100;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:20px;padding:6px 10px;cursor:pointer;line-height:1;touch-action:manipulation}@media(max-width:768px){.sidebar-toggle{display:block}.app-layout{flex-direction:column}.sidebar{position:fixed;inset:0;z-index:1050;width:260px;transform:translate(-100%);transition:transform .25s ease;padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:1040;background:#00000080}.sidebar.open+.sidebar-backdrop{display:block}.main-content{padding:calc(72px + var(--safe-area-top)) 16px 16px;width:100%}.topbar{padding:0 16px 0 60px}.page-header{flex-direction:column;align-items:flex-start;gap:8px}.page-header h1{font-size:18px}.page-header>div:nth-child(2){flex-wrap:wrap!important;width:100%}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-value{font-size:18px}.filters{flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.filters>*{flex:0 0 auto}.filters .filter-select,.filters .filter-input{width:auto;min-width:170px;max-width:min(280px,78vw)}.form-grid{grid-template-columns:1fr}.modal-content,.modal{max-width:95vw!important;margin:.5rem auto}table{font-size:.85rem}.card{padding:.75rem}.table-wrap{position:relative}.table-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:24px;background:linear-gradient(to right,transparent,var(--bg-card));pointer-events:none;opacity:0;transition:opacity .2s}.table-wrap:not(:hover):after{opacity:1}.detail-grid{grid-template-columns:repeat(2,1fr);gap:8px 16px}.export-grid{grid-template-columns:1fr}.login-box{width:calc(100vw - 32px);padding:24px}}.table-wrap table th,.table-wrap table td{min-width:70px;word-wrap:break-word;overflow-wrap:break-word}.table-wrap.sticky-head{max-height:calc(100vh - 220px);overflow-y:auto}.table-wrap.sticky-head table thead th{position:sticky;top:0;background:var(--surface);z-index:5;box-shadow:inset 0 -1px 0 var(--hairline)}.table-wrap table th:first-child,.table-wrap table td:first-child{min-width:100px}.inventory-map-source-row{cursor:pointer}.inventory-map-source-row:hover{background:var(--bg-sunk)}.inventory-map-source-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-track{background:var(--bg-sunk);border-radius:4px}.table-wrap::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:4px}.table-wrap::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}label .required,.form-group label .required{color:#f87171;margin-left:2px}.star-rating{display:inline-flex;align-items:center;gap:2px;line-height:1;-webkit-user-select:none;user-select:none}.star-rating .star{cursor:pointer;transition:color .12s ease,transform 80ms ease;color:#6b7280}.star-rating .star.star-on{color:#fbbf24}.star-rating .star:hover{transform:scale(1.15)}.star-rating .star:focus-visible{outline:2px solid var(--accent, #6366f1);outline-offset:2px;border-radius:2px}.star-rating-ro .star{cursor:default}.star-rating-ro .star:hover{transform:none}.print-only{display:none}@media print{@page{size:A4 landscape;margin:12mm 10mm}html,body,#root,.app-layout,.main-content{background:#fff!important;color:#000!important;padding:0!important;margin:0!important;width:100%!important;overflow:visible!important}.sidebar,.sidebar-toggle,.sidebar-backdrop{display:none!important}.print-only{display:block!important}.no-print,button.btn,.tabs .tab:not(.active),.toast,.modal-backdrop,.sidebar-section,nav{display:none!important}.tabs .tab.active{background:transparent!important;color:#000!important;border:none!important;font-weight:700!important;padding:0!important;margin-right:12px!important}.page-header{margin-bottom:10px!important;padding-bottom:6px;border-bottom:1px solid #000}.page-header h1{font-size:16pt!important;color:#000!important}.page-header .subtitle{font-size:9pt!important;color:#333!important}.card{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0 0 12px!important;page-break-inside:auto}.card-header{padding:0 0 6px!important}.card-title{font-size:11pt!important;font-weight:700}.table-wrap{overflow:visible!important;width:100%!important}.table-wrap:after{display:none!important}.table-wrap table{width:100%!important;font-size:8pt!important;border-collapse:collapse!important}.table-wrap table th,.table-wrap table td{white-space:normal!important;min-width:0!important;padding:3px 6px!important;border:1px solid #999!important;color:#000!important;background:transparent!important}.table-wrap table thead th{background:#eee!important;font-weight:700!important}.table-wrap table thead{display:table-header-group}.table-wrap table tfoot{display:table-row-group}.table-wrap table tr{page-break-inside:avoid}.pos{color:#065f46!important}.neg{color:#991b1b!important}.warn{color:#92400e!important}.text-dim{color:#555!important}[role=dialog],.modal,.drawer{display:none!important}a{color:inherit!important;text-decoration:none!important}a[href]:after{content:""!important}select,input,textarea{display:none!important}.print-filters{font-size:9pt!important;color:#333!important;border-bottom:1px dashed #999;padding-bottom:4px;margin-bottom:6px}}@media(max-width:1100px)and (min-width:769px){.page-header h1{font-size:19px}.kpi-grid{grid-template-columns:repeat(3,1fr)!important}.table-wrap table{font-size:.9rem}}@media(max-width:768px){.table-wrap table.responsive-table,.table-wrap table.responsive-table thead,.table-wrap table.responsive-table tbody,.table-wrap table.responsive-table tfoot,.table-wrap table.responsive-table tr,.table-wrap table.responsive-table th,.table-wrap table.responsive-table td{display:block;width:100%}.table-wrap table.responsive-table thead{position:absolute;left:-9999px;top:-9999px}.table-wrap table.responsive-table tr{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);box-shadow:var(--shadow-1)}.table-wrap table.responsive-table tbody tr:hover{background:var(--bg-card)}.table-wrap table.responsive-table tbody tr:nth-child(2n){background:var(--bg-card)}.table-wrap table.responsive-table td{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border:none;text-align:right;white-space:normal;min-width:0;min-height:32px}.table-wrap table.responsive-table td>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.table-wrap table.responsive-table td .badge{white-space:normal;text-align:left}.table-wrap table.responsive-table td .flex-gap-sm,.table-wrap table.responsive-table td .fp-cert-badges,.table-wrap table.responsive-table td .truck-source-badges{justify-content:flex-end}.table-wrap table.responsive-table td:before{content:attr(data-label);flex:0 0 42%;min-width:0;text-align:left;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted)}.table-wrap table.responsive-table tbody tr td:first-child{font-size:var(--text-md);font-weight:600;padding-bottom:var(--space-3);margin-bottom:var(--space-2);border-bottom:1px solid var(--border);justify-content:flex-start;text-align:left}.table-wrap table.responsive-table tbody tr td:first-child:before{content:none}.table-wrap table.responsive-table td[data-label=""]:before,.table-wrap table.responsive-table td:not([data-label]):before{content:none}.table-wrap table.responsive-table td[data-label=""],.table-wrap table.responsive-table td:not([data-label]){justify-content:flex-end;padding-top:10px;margin-top:4px;border-top:1px solid var(--border)}.table-wrap:has(.responsive-table):after{display:none}.table-wrap table.responsive-table td.num{font-family:var(--mono)}.table-wrap table.queue-table.responsive-table tr{padding:12px 14px}.table-wrap table.queue-table.responsive-table td{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:6px;text-align:left}.table-wrap table.queue-table.responsive-table td:before,.table-wrap table.queue-table.responsive-table tbody tr td:first-child:before{content:attr(data-label);flex:none;width:100%;min-width:0}.table-wrap table.queue-table.responsive-table tbody tr td:first-child{font-size:inherit;font-weight:inherit;border-bottom:none;margin-bottom:0;padding-bottom:var(--space-2)}.table-wrap table.queue-table.responsive-table td>*{width:100%;overflow-wrap:break-word}.table-wrap table.queue-table.responsive-table .badge{width:auto;max-width:100%;overflow-wrap:normal;word-break:normal}.table-wrap table.queue-table.responsive-table .queue-actions-cell>div{justify-content:flex-start!important;width:100%}}@media(max-width:768px){.table-wrap table:not(.responsive-table){font-size:.78rem}.table-wrap table:not(.responsive-table) th,.table-wrap table:not(.responsive-table) td{padding:10px;min-width:112px;word-break:normal;overflow-wrap:normal}.table-wrap table:not(.responsive-table) th.num,.table-wrap table:not(.responsive-table) td.num{min-width:86px}.table-wrap table:not(.responsive-table) thead th:first-child,.table-wrap table:not(.responsive-table) tbody td:first-child,.table-wrap table:not(.responsive-table) tfoot td:first-child{position:sticky;left:0;z-index:5;background:var(--bg-card);box-shadow:2px 0 8px -4px #00000059}.table-wrap table:not(.responsive-table) thead th:first-child{z-index:6}tbody tr:hover td:first-child{background:var(--bg-card-hover)}.table-wrap:after{width:32px!important;background:linear-gradient(to right,transparent,var(--bg-card))!important;opacity:.9!important}}@media(max-width:768px){.btn{min-height:44px;padding:10px 16px}.btn-sm{min-height:36px;padding:7px 12px;font-size:12px}.filter-select,.filter-input,.form-group input,.form-group select,.form-group textarea{min-height:44px;font-size:16px}.sidebar-nav a{min-height:44px;font-size:14px}.sidebar-toggle{min-width:44px;min-height:44px;font-size:22px}tbody td{padding:12px}.tabs{flex-wrap:wrap;gap:6px;border-bottom:none;padding-bottom:8px;margin-bottom:14px;border-bottom:1px solid var(--border)}.tab{padding:8px 12px;border-radius:999px;border:1px solid var(--border);font-size:12px;min-height:36px;background:var(--bg-card)}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent);border-bottom-color:var(--accent)}.tab:hover{color:var(--text);background:var(--bg-card-hover)}.tab.active:hover{background:var(--accent);color:#fff}}@media(max-width:640px){.modal-overlay:has(.modal[data-mobile-sheet]){align-items:flex-end;padding:0}.modal[data-mobile-sheet]{max-width:100vw!important;width:100%!important;margin:0!important;max-height:90vh;border-radius:16px 16px 0 0;border-bottom:none;animation:sheet-slide-up .25s ease-out}.modal[data-mobile-sheet]:before{content:"";display:block;flex:0 0 auto;width:40px;height:4px;background:var(--border);border-radius:2px;margin:12px auto 0}.modal[data-mobile-sheet] .modal-header{padding:12px 16px 14px}.modal[data-mobile-sheet] .modal-body{padding:16px 16px 24px}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.fab{display:none}@media(max-width:768px){.fab{display:inline-flex;align-items:center;justify-content:center;position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:900;width:56px;height:56px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:28px;font-weight:400;line-height:1;cursor:pointer;box-shadow:0 6px 18px #4a7cff73,0 2px 6px #0000004d;transition:transform .15s,background .15s}.fab:hover,.fab:focus-visible{background:var(--accent-hover);transform:scale(1.05)}.fab:active{transform:scale(.95)}.fab-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.has-fab{padding-bottom:96px}}.filter-bar-shell{margin-bottom:var(--space-4)}.filter-bar-shell .filters{margin-bottom:0}.filter-mobile-compact{display:none}.filter-active-summary{display:flex;gap:6px;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.filter-active-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;max-width:min(240px,70vw);padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text);font-size:12px;line-height:1.2;white-space:nowrap}button.filter-active-chip{cursor:pointer}.filter-active-chip-label{color:var(--text-dim);font-weight:600}.filter-active-chip-value{min-width:0;overflow:hidden;text-overflow:ellipsis}.filter-control-full{flex:1 1 100%;min-width:0}.filter-control-full .chip-row{margin-bottom:0}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;width:100%}@media(max-width:768px){.filter-bar-shell{position:sticky;top:0;z-index:6;margin-bottom:12px;padding:8px 0;background:var(--bg)}.filter-inline.filters{display:none}.filter-mobile-compact{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-height:42px}.filter-toggle{display:inline-flex;align-items:center;gap:6px;margin-bottom:0;white-space:nowrap}.filter-mobile-clear{white-space:nowrap}.filter-drawer{position:fixed;inset:0;z-index:950;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:none}.filter-drawer.open{display:block}.filter-drawer-panel{position:absolute;left:0;right:0;bottom:0;background:var(--bg-card);border-top:1px solid var(--border);border-radius:16px 16px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));max-height:80vh;overflow-y:auto;animation:sheet-slide-up .25s ease-out}.filter-drawer-panel:before{content:"";display:block;width:40px;height:4px;background:var(--border);border-radius:2px;margin:-8px auto 14px}.filter-drawer-panel .filters{position:static;top:auto;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:0;padding:0;background:transparent}.filter-drawer-panel .filters>*{flex:0 1 auto}.filter-drawer-panel .filter-select,.filter-drawer-panel .filter-input{width:100%;max-width:none}.filter-drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.filter-drawer-header h3{font-size:15px;font-weight:700}.filter-grid{grid-template-columns:1fr}.filter-grid .form-group{width:100%}}@media(min-width:769px){.filter-drawer{display:none!important}}@media(max-width:768px){.aichat-root{height:calc(100dvh - 40px)!important;max-height:calc(100dvh - 40px)!important}.aichat-backdrop{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:990}.aichat-sidebar{position:fixed!important;top:0;bottom:0;left:0;width:min(86%,320px)!important;z-index:1000;box-shadow:0 0 24px #0006;animation:aichat-slide-in .2s ease-out}@keyframes aichat-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.aichat-msg[data-role=user]{padding-left:32px!important;padding-right:0!important}.aichat-msg[data-role=assistant]{padding-left:0!important;padding-right:32px!important}.aichat-input-row select{min-width:0!important;font-size:11px!important;padding:6px 22px 6px 8px!important;max-width:44vw}.aichat-input-row{gap:6px!important;padding:6px!important}.aichat-input-wrap{padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))!important}}@media(min-width:769px)and (max-width:1100px){.aichat-input-row{flex-wrap:wrap;align-items:stretch!important}.aichat-input-row>div:first-child{flex:1 1 100%;width:100%}.aichat-input-row select{width:100%;min-width:0!important;max-width:none}.aichat-input-row textarea{min-width:0;flex-basis:calc(100% - 54px)}}@media(max-width:640px){.mobile-stack{display:block!important;grid-template-columns:1fr!important;flex-direction:column!important;gap:10px!important}.mobile-stack>*{width:100%!important;min-width:0!important;max-width:100%!important}.mobile-auto-stack{display:block!important}.mobile-auto-stack>*{width:100%!important;min-width:0!important;max-width:100%!important;margin-bottom:10px}.mobile-auto-stack>*:last-child{margin-bottom:0}}.gsearch-icon-btn:hover,.gsearch-icon-btn:focus-visible{background:var(--bg-card-hover)!important;outline:none}.gsearch-overlay{position:fixed;inset:0;z-index:1200;background:var(--bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);animation:gsearch-fade-in .15s ease-out}@keyframes gsearch-fade-in{0%{opacity:0}to{opacity:1}}.gsearch-overlay-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-card)}.gsearch-overlay-input{flex:1;min-width:0;font-size:16px;padding:10px 12px;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none}.gsearch-overlay-input:focus{border-color:var(--accent)}.gsearch-overlay-close{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:18px;cursor:pointer;flex-shrink:0}.gsearch-overlay-close:hover,.gsearch-overlay-close:focus-visible{background:var(--bg-card-hover);outline:none}.gsearch-overlay-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom,0px)}.notif-dropdown-backdrop{display:none}@media(max-width:768px){.notif-dropdown-backdrop{display:block;position:fixed;inset:0;background:#00000073;z-index:1150;animation:notif-fade-in .15s ease-out}@keyframes notif-fade-in{0%{opacity:0}to{opacity:1}}.notif-dropdown{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-width:none!important;max-height:min(70vh,520px)!important;margin-top:0!important;border-radius:var(--radius)!important;z-index:1200!important;box-shadow:0 -4px 24px #0006!important;animation:notif-slide-up .2s ease-out}@keyframes notif-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.notif-drawer-backdrop{align-items:flex-end!important;justify-content:stretch!important}.notif-drawer-panel{width:100%!important;max-width:100%!important;height:auto!important;max-height:90dvh!important;border-top-left-radius:14px;border-top-right-radius:14px;box-shadow:0 -8px 28px #00000073!important;animation:notif-panel-slide-up .22s ease-out;padding-bottom:env(safe-area-inset-bottom,0px)}@keyframes notif-panel-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.periods-matrix table{min-width:720px}.periods-matrix th:first-child,.periods-matrix td:first-child{position:sticky;left:0;background:var(--bg-card);z-index:2;box-shadow:1px 0 0 var(--border)}.periods-matrix thead th:first-child{background:var(--bg-input);z-index:3}@media(max-width:640px){.periods-matrix table thead{display:table-header-group!important}.periods-matrix table tbody tr{display:table-row!important}.periods-matrix table tbody td{display:table-cell!important}.periods-matrix table tbody td:before{display:none!important}}@media(max-width:640px){.budgets-hide-mobile{display:none!important}}@media(max-width:640px){.users-actions-cell{flex-direction:column!important;align-items:stretch!important;gap:6px!important}.users-actions-cell .btn{width:100%;min-height:36px}}@media(max-width:480px){.page-header>div:nth-child(2){flex-direction:column!important;align-items:stretch!important;gap:6px!important;width:100%}.page-header>div:nth-child(2)>*{width:100%}.page-header>div:nth-child(2) .btn{min-height:40px;justify-content:center}}@media(max-width:480px){.login-box{width:auto!important;max-width:100%;margin:16px;padding:28px 20px!important;border-radius:12px}.login-box h1{font-size:20px}.login-box .subtitle{font-size:12px;margin-bottom:20px}}@media(max-width:768px){input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],input:not([type]),select,textarea{font-size:16px!important}}.ai-typing{display:flex;gap:4px;align-items:center}.ai-typing span{width:7px;height:7px;border-radius:50%;background:#3b82f6;animation:aiDot 1.4s infinite ease-in-out}@keyframes aiDot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.metric-tile-row{margin-bottom:16px}.metric-tile-row-controls{display:flex;justify-content:flex-end;margin-bottom:8px}.metric-tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.metric-tile-empty{padding:16px;text-align:center;color:var(--text-dim, #94a3b8);font-size:13px;border:1px dashed var(--border, #cbd5e1);border-radius:8px}.metric-tile{position:relative;background:var(--bg-card, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:12px 14px 12px 18px;overflow:hidden;transition:box-shadow .12s ease,transform .12s ease}.metric-tile:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;border-top-left-radius:8px;border-bottom-left-radius:8px}.metric-tile-basic:before{background:var(--accent, #3b82f6)}.metric-tile-stronger:before{background:var(--border-strong, #94a3b8)}.metric-tile-clickable{cursor:pointer}.metric-tile-clickable:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.metric-tile-clickable:focus-visible{outline:2px solid var(--accent, #3b82f6);outline-offset:2px}.metric-tile-header{font-size:10.5px;font-weight:600;letter-spacing:.06em;color:var(--text-dim, #64748b);text-transform:uppercase;margin-bottom:8px;word-wrap:break-word;overflow-wrap:break-word}.metric-tile-value{font-size:20px;font-weight:700;line-height:1.2;color:var(--text, #0f172a);margin-bottom:8px;word-wrap:break-word;overflow-wrap:break-word}.metric-tile-delta{display:inline-block;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;line-height:1.2}.delta-good{color:#047857;background:#10b9811f}.delta-bad{color:#b91c1c;background:#ef44441f}.delta-neutral{color:#475569;background:#64748b1f}.delta-flat{color:var(--text-dim, #94a3b8);background:transparent;padding-left:0}.metric-tile-skeleton .metric-tile-value,.metric-tile-skeleton .metric-tile-header{background:linear-gradient(90deg,#94a3b814,#94a3b82e,#94a3b814);background-size:200% 100%;animation:metricShimmer 1.4s ease-in-out infinite;color:transparent;border-radius:4px}@keyframes metricShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.metric-currency-toggle{display:inline-flex;gap:0;border:1px solid var(--border, #cbd5e1);border-radius:6px;overflow:hidden}.metric-toggle-btn{padding:4px 10px;font-size:11px;font-weight:600;background:transparent;color:var(--text-dim, #64748b);border:none;cursor:pointer}.metric-toggle-btn.active{background:var(--accent, #3b82f6);color:#fff}.metric-toggle-btn.disabled,.metric-toggle-btn:disabled{color:var(--text-dim, #cbd5e1);cursor:not-allowed}.drill-in-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin-bottom:12px;background:#3b82f614;border:1px solid rgba(59,130,246,.25);border-left:3px solid var(--accent, #3b82f6);border-radius:6px;font-size:13px;color:var(--text, #0f172a)}.drill-in-chip-label{flex:1 1 auto;min-width:0}.skip-link{position:absolute;top:-100px;left:8px;z-index:10000;padding:10px 16px;background:var(--accent, #c2410c);color:#fff;font-size:14px;font-weight:600;border-radius:6px;text-decoration:none;box-shadow:0 4px 12px #00000040;transform:translateY(-200%);transition:transform .15s ease-out,top .15s ease-out}.skip-link:focus,.skip-link:focus-visible{top:8px;transform:translateY(0);outline:3px solid var(--accent-border, #fdba74);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out,-o-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}
