html,body,#root{height:100%;margin:0}#root{position:relative}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#edf1f4}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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,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)format("woff");unicode-range:U+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,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:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.app{--ink:#eef2f6;--panel:#fff;--panel3:#edf1f6;--line:#e0e7ee;--line2:#c7d2dd;--text:#12212f;--muted:#567;--faint:#8393a2;--hi:#ffc300;--hi-dim:#fbe9ae;--gold-ink:#9a6b00;--red:#dc0032;--red-hover:#c2002c;--red-dim:#f3c2cc;--red-ink:#fff;--brand:#0f3d6e;--brand-hover:#0b2e54;--brand-ink:#fff;--brand-dim:color-mix(in srgb, var(--brand) 30%, var(--panel));--tint-brand:color-mix(in srgb, var(--brand) 9%, var(--panel));--tint-red:#fce7ec;--tint-ok:#e7f5ec;--tint-gold:#fff3cc;--tint-info:#e6eef7;--ok:#12a150;--warn:#dc0032;--info:#2c6fb0;--caution:#8a6300;--caution-bg:#fbf3dc;--caution-line:#e7d18c;--fs-xs:11px;--fs-sm:12.5px;--fs-base:13.5px;--fs-md:14.5px;--fs-lg:17px;--fs-xl:21px;background:var(--ink);color:var(--text);font-family:Space Grotesk,system-ui,sans-serif;font-size:var(--fs-md);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex;position:absolute;inset:0}.app *{box-sizing:border-box}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}.eyebrow{font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.hdr{border-bottom:2px solid color-mix(in srgb, var(--brand-hover) 82%, #000);background:linear-gradient(180deg,var(--brand),var(--brand-hover));z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:8px;padding:12px 18px;display:flex;box-shadow:0 2px 10px #00000029}.brand{align-items:center;gap:11px;display:flex}.brand-logo{border-radius:4px;width:auto;height:32px;display:block}.brand-name{letter-spacing:.16em;font-weight:700;font-size:var(--fs-md);color:var(--brand-ink)}.brand-sub{color:color-mix(in srgb, var(--brand-ink) 72%, transparent);margin-top:1px}.status{font-size:var(--fs-base);border:1px solid color-mix(in srgb, var(--brand-ink) 40%, transparent);background:color-mix(in srgb, var(--brand-ink) 14%, transparent);color:var(--brand-ink);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-weight:600;display:flex}.status-idle{color:var(--brand-ink)}.status-ok{color:var(--ok);border-color:var(--panel);background:var(--panel)}.status-warn{color:var(--red);border-color:var(--panel);background:var(--panel)}.status-caution{color:var(--caution);border-color:var(--panel);background:var(--panel)}.body{flex:1;min-width:0;min-height:0;display:flex}.gutter-v{cursor:col-resize;background:var(--line);touch-action:none;flex:none;width:7px;position:relative}.gutter-h{cursor:row-resize;background:var(--line);touch-action:none;flex:none;height:7px;position:relative}.gutter-v:before{content:"";background:var(--line2);border-radius:2px;width:2px;height:26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gutter-h:before{content:"";background:var(--line2);border-radius:2px;width:26px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gutter-v:hover,.gutter-v:active,.gutter-h:hover,.gutter-h:active{background:var(--brand)}.gutter-v:hover:before,.gutter-h:hover:before{background:var(--panel)}.rail{background:var(--panel);flex-direction:column;flex:none;gap:18px;padding:16px 16px 0;display:flex;overflow-y:auto}.block-head{align-items:center;gap:9px;margin-bottom:12px;display:flex}.step{font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);color:var(--brand);border:1px solid var(--brand-dim);background:var(--tint-brand);border-radius:5px;padding:1px 6px;font-weight:700}.block-head h2{font-size:var(--fs-md);letter-spacing:.02em;margin:0;font-weight:700}.count{font-size:var(--fs-sm);color:var(--muted);margin-left:auto}.seg{gap:5px;margin-bottom:11px;display:flex}.seg-btn{font-size:var(--fs-sm);border:1px solid var(--line2);background:var(--panel3);color:var(--muted);cursor:pointer;border-radius:7px;flex:1;padding:8px 4px;font-weight:500;transition:all .15s}.seg-btn:hover{color:var(--text);border-color:var(--faint)}.seg-btn.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:700}.veh-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:12px;box-shadow:0 1px 2px #141e2d0a,0 2px 6px #141e2d0d}.veh-name{font-weight:500;font-size:var(--fs-base);align-items:center;gap:7px;margin-bottom:9px;display:flex}.veh-grid{font-size:var(--fs-sm);color:var(--muted);grid-template-columns:1fr 1fr;gap:5px 12px;display:grid}.veh-grid .hl{color:var(--gold-ink);grid-column:1/3;font-weight:600}.link{color:var(--info);font-family:inherit;font-size:var(--fs-base);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:8px 0 2px;display:inline-flex}.link:hover{text-decoration:underline}.link.inline{padding:0 0 0 4px}.goods-list{overflow-anchor:none;flex-direction:column;gap:6px;max-height:40vh;margin-bottom:11px;display:flex;overflow-y:auto;container-type:inline-size}.empty{font-size:var(--fs-base);color:var(--muted);border:1px dashed var(--line2);text-align:center;border-radius:9px;padding:14px;line-height:1.5}.good-row{border:1px solid var(--line);background:var(--panel3);border-radius:8px;flex-wrap:wrap;align-items:center;gap:7px 9px;padding:8px 9px;display:flex}.chip{border-radius:3px;flex:none;width:11px;height:11px}.good-main{flex:130px;min-width:130px}.good-ctrls{flex:none;align-items:center;gap:9px;margin-left:auto;display:flex}.good-label{font-size:var(--fs-base);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-weight:600;line-height:1.32;display:-webkit-box;overflow:hidden}.good-meta{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 5px;min-width:0;margin-top:1px;display:flex}.good-meta svg{vertical-align:-1px}.qty{font-size:var(--fs-base);color:var(--gold-ink);font-weight:600}.qty-edit{text-align:center;width:46px;font-size:var(--fs-base);flex:none;padding:5px 4px;font-weight:600}.wt-field{flex:none;align-items:center;gap:3px;display:inline-flex}.wt-field .wt-edit{text-align:right;width:54px;font-size:var(--fs-base);border:1px solid var(--line2);background:var(--panel);border-radius:7px;padding:5px 4px;font-family:inherit;font-weight:600}.wt-field .wt-unit{font-size:var(--fs-xs);color:var(--muted);font-family:JetBrains Mono,monospace}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:6px;display:grid}.icon-btn:hover{color:var(--warn);background:var(--tint-brand);background:var(--tint-red)}.type-badge{white-space:nowrap;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;border-radius:999px;flex:none;margin-left:7px;padding:1px 6px}.type-badge.t-120,.cat-tag.t-120{background:var(--tint-gold);color:var(--gold-ink);border-color:#ecd08a}.type-badge.t-150,.cat-tag.t-150{background:var(--tint-info);color:var(--info);border-color:#c3d8ee}.type-badge.t-bundle,.cat-tag.t-bundle{background:var(--tint-red);color:var(--red);border-color:#f3c2cc}.type-badge.t-other,.cat-tag.t-other{background:var(--panel3);color:var(--muted);border-color:var(--line2)}.type-badge.t-dims,.cat-tag.t-dims{background:var(--tint-ok);color:var(--ok);border-color:#bbe3cc}.stack-hint{font-size:var(--fs-xs);color:var(--muted);padding:2px 0;line-height:1.45}.catalog{margin-bottom:4px}.catalog-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.catalog-actions{gap:6px;display:flex}.wide-l{font-size:var(--fs-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:3px;display:flex}.wide-l .wide{text-transform:none;letter-spacing:0}.catalog-list{flex-direction:column;gap:5px;max-height:min(680px,66vh);padding-right:2px;display:flex;overflow-y:auto}.cat-row{border:1px solid var(--line);background:var(--panel3);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.cat-tag{text-align:center;white-space:nowrap;min-width:34px;font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);border:1px solid;border-radius:5px;flex:none;padding:3px 6px;font-weight:700}.cat-tag.t-none{background:var(--panel);color:var(--faint);border-color:var(--line2)}.cat-info{flex:1;min-width:0}.cat-name{font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.cat-dim{font-size:var(--fs-xs);color:var(--muted);margin-top:1px}.cat-amt{text-align:center;width:44px;font-size:var(--fs-base);flex:none;padding:5px 4px}.cat-add{cursor:pointer;height:32px;font-family:inherit;font-size:var(--fs-sm);white-space:nowrap;border:1px solid var(--brand);background:var(--brand);color:var(--brand-ink);border-radius:7px;flex:none;align-items:center;gap:5px;padding:0 13px;font-weight:700;display:inline-flex}.cat-add svg{flex:none;width:14px;height:14px}.cat-add:hover{background:var(--brand-hover)}.cat-sep{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:6px 0 2px}.cat-editor{border:1px solid var(--brand-dim);background:var(--panel3);border-radius:8px;margin:2px 0 4px;padding:10px}.cat-editor-head{font-size:var(--fs-xs);color:var(--brand);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.cat-manage{font-family:inherit;font-size:var(--fs-sm);border:1px solid var(--line2);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:7px;flex:none;align-items:center;gap:4px;padding:5px 9px;font-weight:600;display:inline-flex}.cat-manage:hover{border-color:var(--brand);color:var(--brand)}.cat-manage.danger{padding:5px 7px}.cat-manage.danger:hover{border-color:var(--red);color:var(--red);background:var(--tint-red)}.saved-empty{font-size:var(--fs-xs);color:var(--faint);border:1px dashed var(--line2);border-radius:8px;padding:8px 10px;line-height:1.5}.saved-empty b{color:var(--muted)}.pill-btn{font-size:var(--fs-sm);border:1px solid var(--line2);background:var(--panel3);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:6px 9px;font-family:inherit;display:inline-flex}.pill-btn:hover{color:var(--text);border-color:var(--brand)}.addg-actions{gap:8px;display:flex}.stack-dep{border:1px solid var(--line2);background:var(--panel3);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.stack-q{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.stack-opts{gap:16px;display:flex}.radio{text-transform:none;letter-spacing:0;font-size:var(--fs-base);color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:6px;font-family:inherit}.radio input{width:auto}.stack-type-in{width:100%}.maxstack{margin-top:2px}.custom,.addg,.paste{border-top:1px solid var(--line);flex-direction:column;gap:9px;margin-top:10px;padding-top:11px;display:flex}.ctype,.toggle,.crow{gap:6px;display:flex}.ctype button,.detail-x{font-family:inherit}.ctype button{font-size:var(--fs-sm);border:1px solid var(--line2);background:var(--panel3);color:var(--muted);cursor:pointer;border-radius:6px;flex:1;padding:7px}.ctype button.on{background:var(--panel3);color:var(--text);border-color:var(--faint)}.cfields,.addg-grid{grid-template-columns:1fr 1fr 1fr;gap:7px;display:grid}label{font-size:var(--fs-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.06em;flex-direction:column;gap:3px;font-family:JetBrains Mono,monospace;display:flex}input,textarea,select{font-family:JetBrains Mono,monospace;font-size:var(--fs-base);background:var(--ink);border:1px solid var(--line2);color:var(--text);border-radius:6px;width:100%;padding:7px 8px}input:focus,textarea:focus{border-color:var(--brand);outline:none}input[type=checkbox]{width:auto}.wide{width:100%}.addg-checks{gap:16px;display:flex}.chk{text-transform:none;letter-spacing:0;font-size:var(--fs-base);color:var(--muted);cursor:pointer;flex-direction:row;align-items:center;gap:6px;font-family:inherit}.note,.paste-hint{font-size:var(--fs-xs);color:var(--faint)}.paste textarea{resize:vertical;min-height:66px;line-height:1.5}.btn-sm{font-family:inherit;font-size:var(--fs-base);border:1px solid var(--hi);background:var(--hi);color:#3a2c00;cursor:pointer;border-radius:7px;align-self:flex-start;padding:7px 14px;font-weight:500}.btn-sm.ghost{color:var(--muted);border-color:var(--line2);background:0 0}.run{cursor:pointer;font-family:inherit;font-size:var(--fs-md);letter-spacing:.02em;background:var(--brand);color:var(--brand-ink);box-shadow:0 4px 20px -6px color-mix(in srgb, var(--brand) 55%, transparent);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:14px;font-weight:700;display:flex}.run:hover{background:var(--brand-hover)}.run:disabled{background:var(--panel3);color:var(--faint);box-shadow:none;cursor:not-allowed}.run-opt{cursor:pointer;font-family:inherit;font-size:var(--fs-base);border:1px solid var(--line2);background:var(--panel);color:var(--muted);border-radius:9px;justify-content:center;align-items:center;gap:7px;margin-top:8px;padding:10px;font-weight:600;display:flex}.run-opt:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.run-opt:disabled{opacity:.5;cursor:not-allowed}.opt-row{gap:8px;display:flex}.opt-row .run-opt{flex:1;margin-top:8px}.opt-row .run-opt.finish:hover:not(:disabled){color:var(--ok);border-color:#12a150}.run-spin.dark{border-color:var(--line2);border-top-color:var(--brand)}.opt-msg{font-size:var(--fs-sm);border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:7px 10px;line-height:1.4;display:flex}.opt-msg.ok{background:var(--tint-ok);color:var(--ok);border:1px solid #bbe3cc}.opt-msg.dim{background:var(--panel3);color:var(--muted);border:1px solid var(--line2)}.stage{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.viewport{background:var(--tint-info);flex:1;min-height:160px;position:relative}.viewport-canvas{position:absolute;inset:0}.method-btn{font-family:inherit;font-size:var(--fs-sm);cursor:pointer;border:1px solid color-mix(in srgb, var(--brand-ink) 55%, transparent);background:color-mix(in srgb, var(--brand-ink) 14%, transparent);color:var(--brand-ink);border-radius:8px;align-items:center;gap:5px;margin-left:12px;padding:6px 11px;font-weight:600;display:inline-flex}.method-btn:hover{background:color-mix(in srgb, var(--brand-ink) 24%, transparent)}.lang-select{appearance:none;text-align:center;text-align-last:center;width:38px;font-family:inherit;font-size:var(--fs-xs);letter-spacing:.02em;color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;border-radius:6px;margin-left:6px;padding:4px 2px;font-weight:700}.lang-select option{color:#1a2229}.role-chip{color:#fff;background:#ffffff24;border:1px solid #ffffff47;border-radius:6px;align-items:center;gap:4px;margin-left:6px;padding:2px 4px 2px 7px;display:inline-flex}.role-select-hdr{appearance:none;color:#fff;font-family:inherit;font-size:var(--fs-xs);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;padding:2px;font-weight:700}.role-select-hdr option{color:#1a2229}.user-add{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.user-email-in{box-sizing:border-box;border:1px solid var(--line2);width:100%;font-family:inherit;font-size:var(--fs-base);border-radius:8px;padding:9px 11px}.user-add-row{align-items:center;gap:8px;display:flex}.user-add-row .role-select{flex:1}.user-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.user-row-main{flex:180px;min-width:0}.user-row-name{font-size:var(--fs-base);color:var(--text);overflow-wrap:anywhere;word-break:break-word;font-weight:600}.role-select{font-family:inherit;font-size:var(--fs-base);border:1px solid var(--line2);background:var(--panel);color:var(--text);border-radius:8px;padding:6px 8px}.modal-scrim{z-index:100;background:#141e2d80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:100%;max-width:680px;max-height:86vh;display:flex;box-shadow:0 20px 60px #141e2d4d}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.modal-title{font-size:var(--fs-lg);color:var(--text);font-weight:700}.modal-sub{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.modal-x{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px}.modal-x:hover{background:var(--panel3);color:var(--text)}.modal-body{padding:16px 18px;overflow-y:auto}.method-steps{flex-direction:column;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}.method-step{align-items:flex-start;gap:11px;display:flex}.method-n{background:var(--brand);color:#fff;width:22px;height:22px;font-size:var(--fs-sm);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-weight:700;display:grid}.method-t{font-size:var(--fs-base);color:var(--text);font-weight:600}.method-d{font-size:var(--fs-sm);color:var(--muted);margin-top:1px;line-height:1.5}.method-rule{background:var(--panel3);border:1px solid var(--line2);border-radius:10px;margin-bottom:14px;padding:12px 13px}.method-rule-h{font-size:var(--fs-sm);color:var(--text);margin-bottom:8px;font-weight:600}.method-checks{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.mchk{font-size:var(--fs-xs);background:var(--panel);border:1px solid var(--line2);color:var(--text);border-radius:6px;padding:4px 8px}.marrow{color:var(--faint);font-size:var(--fs-sm)}.method-note{font-size:var(--fs-xs);color:var(--muted);line-height:1.5}.method-cols{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px;display:grid}.method-colh{font-size:var(--fs-sm);color:var(--text);margin-bottom:6px;font-weight:600}.method-rank{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.method-rank li{font-size:var(--fs-sm);color:var(--muted);line-height:1.4}.method-honest{font-size:var(--fs-sm);color:var(--muted);background:var(--tint-gold);border:1px solid #ecd08a;border-radius:9px;align-items:flex-start;gap:8px;padding:10px 12px;line-height:1.5;display:flex}.method-honest svg{color:var(--gold-ink);flex:none;margin-top:1px}.hist-empty{font-size:var(--fs-base);color:var(--muted);padding:6px 2px;line-height:1.6}.hist-row{text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--panel);border-radius:9px;align-items:center;gap:11px;width:100%;margin-bottom:6px;padding:9px 10px;font-family:inherit;display:flex}.hist-row:hover:not(:disabled){border-color:var(--brand);background:var(--panel)}.hist-row:disabled{cursor:default;opacity:.75}.hist-improve{border-left:3px solid #12a150}.hist-plan{border-left:3px solid var(--brand)}.hist-opt-finish{border-left:3px solid #2c6fb0}.hist-opt-start{border-left:3px solid var(--line2)}.hist-thumb{border-radius:3px;flex:none;display:block}.hist-thumb.empty{background:var(--line);border-radius:3px;width:104px;height:21px}.hist-ico{background:var(--line);width:24px;height:24px;color:var(--muted);border-radius:6px;flex:none;place-items:center;display:grid}.hist-improve .hist-ico{background:var(--tint-ok);color:var(--ok)}.hist-plan .hist-ico{background:var(--tint-brand);color:var(--brand)}.hist-opt-start .hist-ico,.hist-opt-finish .hist-ico{background:var(--tint-ok);color:#2c6fb0}.hist-opt-start{opacity:.85}.hist-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hist-why{font-size:var(--fs-base);color:var(--text);font-weight:600}.hist-meta{font-size:var(--fs-xs);color:var(--muted)}.hist-time{font-size:var(--fs-xs);color:var(--muted);flex:none}.hist-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.hist-count{font-size:var(--fs-sm);color:var(--muted)}@media (width<=640px){.method-cols{grid-template-columns:1fr}}.run-spin{vertical-align:-2px;border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.run-spin.big{border-width:3px;border-color:var(--line2);border-top-color:var(--brand);width:30px;height:30px}@keyframes spin{to{transform:rotate(360deg)}}.vp-planning{z-index:5;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);text-align:center;background:#e9edf1b8;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.vp-planning p{font-size:var(--fs-base);color:var(--text);margin:0;font-weight:600}.vp-planning p.dim{font-weight:400;font-size:var(--fs-sm);color:var(--muted)}.vp-empty{color:var(--faint);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.vp-empty p{font-size:var(--fs-base);color:var(--muted);margin:0}.vp-empty .dim{font-size:var(--fs-sm);color:var(--faint)}.vp-empty b{color:var(--text)}.vp-tools{align-items:center;gap:8px;display:flex;position:absolute;top:12px;right:12px}.vp-measure{font-family:inherit;font-size:var(--fs-sm);cursor:pointer;border:1px solid var(--line2);color:var(--muted);background:#ffffffeb;border-radius:8px;align-items:center;gap:5px;padding:6px 11px;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #141e2d14}.vp-measure:hover{color:var(--text);border-color:var(--faint)}.vp-measure.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.toggle{background:var(--panel);border:1px solid var(--line2);border-radius:8px;padding:3px;box-shadow:0 4px 14px #141e2d1f}.toggle button{font-size:var(--fs-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 11px;font-family:inherit}.toggle button.on{background:var(--panel3);color:var(--text)}.detail{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff7;border-radius:10px;width:236px;max-width:calc(100% - 24px);padding:12px 13px;position:absolute;top:12px;left:12px;box-shadow:0 8px 28px #141e2d2e}.detail-x{color:var(--faint);cursor:pointer;background:0 0;border:none;padding:2px;position:absolute;top:8px;right:8px}.detail-x:hover{color:var(--text)}.detail-title{font-weight:500;font-size:var(--fs-base);align-items:center;gap:7px;margin-bottom:9px;display:flex}.detail-grid{font-size:var(--fs-sm);grid-template-columns:auto 1fr;gap:4px 12px;display:grid}.detail-grid span:nth-child(odd){color:var(--faint)}.detail-added{color:var(--brand);font-weight:600}@media (width<=560px){.detail{width:auto;max-width:none;max-height:calc(100% - 132px);top:56px;left:8px;right:8px;overflow-y:auto}}.playback{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff2;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 6px 22px #141e2d26}.play-btn{border:1px solid var(--hi);background:var(--hi);color:#3a2c00;cursor:pointer;border-radius:7px;flex:none;place-items:center;width:32px;height:32px;display:grid}.play-btn.ghost{border-color:var(--line2);color:var(--muted);background:0 0}.scrub{-webkit-appearance:none;background:var(--line2);border-radius:3px;flex:1;height:4px;padding:0}.scrub::-webkit-slider-thumb{-webkit-appearance:none;background:var(--hi);cursor:pointer;border-radius:50%;width:14px;height:14px}.scrub::-moz-range-thumb{background:var(--hi);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.scrub-lbl{font-size:var(--fs-sm);color:var(--muted);text-align:right;flex:none;min-width:42px}.metrics{border-top:1px solid var(--line);background:var(--panel);flex-direction:column;gap:12px;max-height:47%;padding:14px 16px;display:flex;overflow-y:auto}.metrics-row{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.meter{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:11px 12px}.meter-top{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.meter-val{font-size:var(--fs-xl);font-weight:700}.meter-unit{font-size:var(--fs-sm);color:var(--faint);margin-left:2px}.meter-track{background:var(--ink);border-radius:3px;height:5px;overflow:hidden}.meter-fill{border-radius:3px;height:100%;transition:width .5s}.meter-sub{font-size:var(--fs-xs);color:var(--faint);margin-top:6px}.card{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:13px;box-shadow:0 1px 2px #141e2d0a,0 2px 6px #141e2d0d}.card-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.tag{font-size:var(--fs-sm);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-weight:500;display:inline-flex}.tag.ok{color:var(--ok);background:var(--tint-ok);border:1px solid #bbe3cc}.tag.warn{color:var(--warn);background:var(--tint-red);border:1px solid #f3c2cc}.axle-svg{width:100%;height:auto;margin-top:4px;display:block}.ax-ground{stroke:var(--line2);stroke-width:1px}.ax-deck{fill:#dbe1e6}.ax-cab{fill:var(--panel3);stroke:var(--line2);stroke-width:1px}.ax-kingpin{fill:var(--hi)}.ax-wheel{fill:#2a3138;stroke:#8a97a2;stroke-width:2px}.ax-hub{fill:#9aa7b2}.ax-track{fill:var(--ink);stroke:var(--line2);stroke-width:1px}.ax-tick{stroke:var(--faint);stroke-width:1px;stroke-dasharray:2 2}.ax-val{font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);font-weight:700}.ax-lbl{font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);fill:var(--muted);text-transform:uppercase;letter-spacing:.05em}.ax-lim{font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);fill:var(--faint)}.lower{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cog-vis{margin-top:10px}.cog-bar{align-items:center;gap:8px;display:flex}.cog-end{font-size:var(--fs-xs);color:var(--faint);text-transform:uppercase}.cog-track{background:var(--ink);background-image:linear-gradient(90deg, transparent 49.5%, var(--line2) 49.5%, var(--line2) 50.5%, transparent 50.5%);border-radius:3px;flex:1;height:6px;position:relative}.cog-dot{background:var(--hi);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #ffc30033}.cog-stats{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px;display:grid}.cog-stats div{flex-direction:column;gap:2px;display:flex}.cog-stats span{font-size:var(--fs-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.05em}.cog-stats b{font-size:var(--fs-md);font-weight:700}.sec-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.sec-list li{font-size:var(--fs-sm);color:var(--muted);gap:8px;line-height:1.45;display:flex}.sec-list li svg{flex:none;margin-top:1px}.i-ok{color:var(--ok)}.i-warn{color:var(--warn)}.i-dim{color:var(--faint)}.warn-card{background:var(--tint-red);border-color:#f1c6cf}.warn-eye{color:var(--warn);align-items:center;gap:5px;display:flex}.warn-card .sec-list li{color:#9a2a3a}.disclaimer{font-size:var(--fs-xs);color:var(--faint);border-top:1px solid var(--line);padding:10px 2px 4px;line-height:1.5}.tag.info{color:var(--info);background:var(--tint-info);border:1px solid #c3d8ee}.country{margin-bottom:11px}.country-lbl{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:6px;margin-bottom:5px;display:flex}.country-sel{background:var(--ink);width:100%;color:var(--text);border:1px solid var(--line2);font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);cursor:pointer;border-radius:7px;padding:8px 9px}.country-sel:focus{border-color:var(--brand);outline:none}.country-note{font-size:var(--fs-xs);color:var(--faint);margin-top:5px;line-height:1.45}.io-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:7px;margin-top:11px;padding-top:11px;display:flex}.io-msg{font-size:var(--fs-xs);color:var(--ok)}.sec-assume{flex-wrap:wrap;align-items:flex-end;gap:9px;margin:9px 0 4px;display:flex}.sec-assume label{font-size:var(--fs-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:3px;display:flex}.sec-assume input{background:var(--ink);width:66px;color:var(--text);border:1px solid var(--line2);font-family:JetBrains Mono,monospace;font-size:var(--fs-base);border-radius:6px;padding:5px 7px}.sec-assume input:focus{border-color:var(--brand);outline:none}.sec-const{font-size:var(--fs-xs);color:var(--faint);padding-bottom:6px}.sec-headline{font-size:var(--fs-sm);color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:flex-start;gap:7px;margin-bottom:8px;padding:8px 0;line-height:1.45;display:flex}.sec-headline svg{flex:none;margin-top:1px}.sec-block{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.sec-block .blk{font-size:var(--fs-xs);white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:2px 7px}.sec-block .blk.ok{background:var(--tint-ok);color:var(--ok);border-color:#bbe3cc}.sec-block .blk.warn{background:var(--caution-bg);color:var(--caution);border-color:var(--caution-line)}.sec-note{font-size:var(--fs-xs);color:var(--red);background:var(--tint-red);border:1px solid #f1c6cf;border-radius:7px;margin-bottom:8px;padding:6px 9px;line-height:1.45}.blank-note{font-size:var(--fs-xs);color:var(--muted);margin:-2px 0 2px}.sec-rows{flex-direction:column;gap:6px;display:flex}.sec-item{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.sec-dot{border-radius:50%;flex:none;width:8px;height:8px}.sec-dot.ok{background:var(--ok)}.sec-dot.info{background:var(--info)}.sec-dot.warn{background:var(--hi)}.sec-name{color:var(--text);flex:1}.sec-name .dim{color:var(--faint)}.sec-method{font-size:var(--fs-xs)}.sec-method.ok{color:var(--ok)}.sec-method.info{color:var(--info)}.sec-method.warn{color:var(--gold-ink)}.sec-total{border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--muted);margin-top:10px;padding-top:9px;line-height:1.5}.export-bar{border:1px solid var(--line);background:var(--panel);border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.export-btns{flex-wrap:wrap;gap:6px;display:flex}.exp-btn{font-size:var(--fs-sm);border:1px solid var(--line2);background:var(--panel3);color:var(--text);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:6px 11px;font-family:inherit;font-weight:500;display:inline-flex}.exp-btn:hover{border-color:var(--brand);color:var(--brand)}.lifo-toggle{font-size:var(--fs-sm);color:var(--muted);cursor:pointer;text-transform:none;letter-spacing:normal;border:1px solid var(--line2);background:var(--panel);border-radius:6px;flex-direction:row;align-items:center;gap:6px;margin-bottom:5px;padding:5px 8px;font-family:inherit;font-weight:500;display:flex}input[type=checkbox],input[type=radio]{accent-color:var(--brand);flex:none;width:13px;height:13px;margin:0}.lifo-toggle svg{color:var(--brand);flex:none}.lifo-hint{font-size:var(--fs-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.02em;text-align:right;max-width:46%;margin-left:auto;font-family:JetBrains Mono,monospace;line-height:1.25}.drop-badge{font-size:var(--fs-xs);background:var(--tint-gold);color:var(--gold-ink);text-transform:uppercase;letter-spacing:.04em;border:1px solid #ecd08a;border-radius:999px;margin-left:7px;padding:1px 6px}.balance-card{margin-top:2px}.strat-row{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:6px;margin:8px 0 4px;display:grid}.strat{border:1px solid var(--line2);background:var(--panel3);font-size:var(--fs-sm);border-radius:7px;align-items:center;gap:5px;padding:6px 8px;display:flex}.strat-name{color:var(--muted);text-transform:capitalize}.strat-util{font-weight:700;font-size:var(--fs-sm);margin-left:auto}.strat-flag{display:flex}.strat.feas .strat-flag{color:var(--ok)}.strat.infeas .strat-flag,.strat.infeas .strat-util{color:var(--warn)}.strat.chosen{background:var(--tint-gold);border-color:#ecd08a;box-shadow:inset 0 0 0 1px #ecd08a}.strat.chosen .strat-name{color:var(--gold-ink)}.balance-note{font-size:var(--fs-xs);color:var(--faint);margin-top:7px;line-height:1.5}.balance-note b{color:var(--muted)}.scen-list{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.scen-empty{font-size:var(--fs-xs);color:var(--faint);border:1px dashed var(--line2);border-radius:8px;padding:10px;line-height:1.5}.scen-row{align-items:center;gap:5px;display:flex}.scen-load{cursor:pointer;border:1px solid var(--line);background:var(--panel3);min-width:0;color:var(--text);text-align:left;border-radius:7px;flex:1;align-items:center;gap:9px;padding:8px 10px;font-family:inherit;display:flex}.scen-ico{color:var(--brand);flex:none}.scen-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.scen-name{font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.25;overflow:hidden}.scen-load:hover{border-color:var(--brand);color:var(--brand)}.scen-load svg{color:var(--brand)}.scen-meta{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px 7px;line-height:1.3;display:flex}.print-sheet{display:none}.scheme-bar{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.scheme-note{font-size:var(--fs-xs);color:var(--muted);flex:1}.scheme-btn{font-family:inherit;font-size:var(--fs-sm);border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-weight:600;display:inline-flex}.scheme-btn:hover{filter:brightness(1.05)}.scheme-btn.done{background:var(--ok);border-color:var(--ok);color:#fff}.truck-tabs{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:6px;padding:8px 10px;display:flex;overflow-x:auto}.truck-tab{cursor:pointer;border:1px solid var(--line2);background:var(--panel3);color:var(--muted);font-family:inherit;font-size:var(--fs-base);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-weight:600;display:inline-flex}.truck-tab:hover{color:var(--text);border-color:var(--faint)}.truck-tab.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.truck-tab.warn:not(.on){border-color:var(--red-dim);color:var(--red)}.truck-tab .tab-count{font-size:var(--fs-xs);background:#0000001a;border-radius:999px;padding:1px 6px}.truck-tab .tab-type{font-size:var(--fs-xs);color:var(--muted);opacity:.85}.truck-tab.on .tab-type{color:#ffffffd9}.truck-tab.on .tab-count{background:#ffffff40}.overflow-tab{background:var(--tint-red);border-color:var(--red-dim);color:var(--red);cursor:default}.fleet-bar{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;box-shadow:0 1px 2px #141e2d0a,0 2px 6px #141e2d0d}.fleet-bar.ok{background:var(--tint-ok);border-color:#bbe3cc}.fleet-bar.warn{background:var(--tint-red);border-color:#f1c6cf}.fleet-line{font-size:var(--fs-base);align-items:center;gap:9px;display:flex}.fleet-bar.ok .fleet-line svg{color:var(--ok)}.fleet-bar.warn .fleet-line svg{color:var(--red)}.fleet-line b{color:var(--text)}.fleet-sub{font-size:var(--fs-xs);color:var(--muted);margin-left:auto}.fleet-chips{flex-wrap:wrap;gap:6px;display:flex}.fleet-chip{font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);cursor:pointer;border:1px solid var(--line2);background:var(--panel);color:var(--muted);border-radius:7px;padding:4px 9px}.fleet-chip:hover{border-color:var(--faint);color:var(--text)}.fleet-chip.on{border-color:var(--brand);color:var(--brand);font-weight:700}.fleet-chip.over{border-color:var(--red-dim);color:var(--red)}@media (width<=960px){.body{flex-direction:column;overflow-y:auto}.rail{border-right:none;border-bottom:1px solid var(--line);width:auto!important}.stage{min-height:80vh}.metrics{height:auto!important;max-height:none!important}.metrics-row,.lower{grid-template-columns:1fr}.gutter-v,.gutter-h{display:none}.hdr{justify-content:flex-start;gap:8px;padding:6px 12px}.hdr .method-btn,.hdr .lang-select,.hdr .role-chip{margin-left:0}.brand-sub{display:none}}@media (width<=560px){.hdr{gap:7px;padding:5px 11px}.brand{gap:8px}.brand-logo{height:24px}.brand-name{font-size:var(--fs-md);letter-spacing:.1em}.hdr-label{display:none}.hdr .method-btn{gap:0;padding:7px 8px}.status{gap:0;padding:6px 8px}}@media print{.hdr,.body{display:none!important}.app{background:var(--panel);color:#111;display:block;position:static}.print-sheet{color:#111;padding:0;font-family:Space Grotesk,system-ui,sans-serif;display:block}.ps-head{border-bottom:2px solid #111;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:8px;display:flex}.ps-title{font-size:var(--fs-lg);letter-spacing:.06em;font-weight:700}.ps-sub{font-size:var(--fs-sm);color:#555;margin-top:2px}.ps-status{font-size:var(--fs-sm);border:1.5px solid;border-radius:4px;padding:4px 10px;font-weight:700}.ps-status.ok{color:#1a7f4b;border-color:#1a7f4b}.ps-status.warn{color:#b3341f;border-color:#b3341f}.ps-metrics{grid-template-columns:repeat(3,1fr);gap:6px 18px;margin-bottom:14px;display:grid}.ps-metrics div{font-size:var(--fs-base);flex-direction:column;display:flex}.ps-metrics span{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:#777}.ps-metrics b{font-size:var(--fs-base)}.ps-section{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:#111;border-bottom:1px solid #bbb;margin:14px 0 7px;padding-bottom:3px;font-weight:700}.ps-table{border-collapse:collapse;width:100%;font-size:var(--fs-xs)}.ps-table th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:#666;border-bottom:1px solid #999;padding:3px 6px}.ps-table td{border-bottom:1px solid #e2e2e2;padding:3px 6px}.ps-note{font-size:var(--fs-xs);color:#444;margin-top:6px}.ps-note.warn{color:#b3341f;font-weight:600}.ps-disclaimer{font-size:var(--fs-xs);color:#777;border-top:1px solid #ccc;margin-top:16px;padding-top:8px;line-height:1.5}@page{margin:16mm}}.role-badge{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:#fff;border-radius:6px;padding:2px 7px;font-weight:700}.role-badge.role-admin{background:#12a150}.role-badge.role-planner{background:#2c6fb0}.role-badge.role-loader{background:#7a8794}.loader-bar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 12px;display:flex}.loader-bar .scheme-note{flex:none}.plan-picker{max-width:340px;font-family:inherit;font-size:var(--fs-base);border:1px solid var(--line2);background:var(--panel);color:var(--text);border-radius:8px;flex:1;padding:6px 8px}.scheme-bar.stale{background:var(--tint-gold);border-bottom-color:#f0c270}.scheme-bar.stale .scheme-note{color:#9a6b00}.scheme-btn:disabled{opacity:.5;cursor:not-allowed}.scen-row.on{outline:1.5px solid var(--info);outline-offset:-1px;border-radius:8px}.load-side{align-items:center;gap:5px;margin-left:6px;display:inline-flex}.load-side .eyebrow{font-size:var(--fs-xs)}.load-side select{font-family:inherit;font-size:var(--fs-sm);border:1px solid var(--line2);background:var(--panel);color:var(--text);border-radius:7px;padding:4px 6px}.t-bundle{background:var(--tint-info);color:#2c6fb0;border:1px solid #bcd8f5}.stack-class{gap:12px;margin:2px 0 6px;display:flex}.stamp-len{margin-top:4px}.stamp-len input.err{border-color:var(--red);outline-color:var(--red)}.stamp-err{color:var(--red);font-size:var(--fs-sm);margin-top:3px}.cat-cat{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--info);background:var(--tint-info);vertical-align:middle;border:1px solid #bcd8f5;border-radius:6px;margin-left:6px;padding:1px 5px;font-weight:700;display:inline-block}.cat-filter{flex-wrap:wrap;gap:6px;padding:6px 2px 8px;display:flex}.cat-filter-tab{font-family:inherit;font-size:var(--fs-sm);border:1px solid var(--line2);background:var(--panel3);color:var(--muted);cursor:pointer;border-radius:999px;padding:4px 12px;font-weight:600;transition:all .15s}.cat-filter-tab:hover{border-color:var(--faint);color:var(--text)}.cat-filter-tab.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);box-shadow:0 1px 4px color-mix(in srgb, var(--brand) 25%, transparent);font-weight:700}.cat-search-row{gap:6px;padding:0 2px 8px;display:flex}.cat-search{min-width:0;font-family:inherit;font-size:var(--fs-sm);border:1px solid var(--line2);background:var(--panel);color:var(--text);border-radius:8px;flex:1;padding:5px 9px}.cat-search:focus{border-color:var(--info);outline:none}.cat-elem{font-size:var(--fs-xs);color:var(--muted);background:var(--panel3);border:1px solid var(--line2);vertical-align:middle;border-radius:6px;margin-left:6px;padding:1px 5px;display:inline-block}.to-top{z-index:60;background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:none;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 14px #00000038}.to-top:hover{background:var(--brand-hover)}@media (width<=960px){.to-top{opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;display:flex;transform:translateY(8px)}.to-top.show{opacity:1;pointer-events:auto;transform:none}}.seg-trucks{flex-wrap:wrap}.seg-btn{position:relative}.seg-x{opacity:.6;border-radius:3px;margin-left:6px;padding:0 2px;font-weight:700}.seg-x:hover{opacity:1;color:var(--red);background:#dc003214}.axle-edit{border-top:1px dashed var(--line);flex-direction:column;gap:6px;padding-top:4px;display:flex}.axle-edit-head{justify-content:space-between;align-items:center;display:flex}.axle-row{grid-template-columns:1.1fr 1fr 1.2fr 1.2fr;align-items:end;gap:6px;display:grid}.axle-row label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:2px;display:flex}.axle-row input{font-family:inherit;font-size:var(--fs-sm);border:1px solid var(--line2);background:var(--panel);color:var(--text);border-radius:6px;width:100%;padding:5px 6px}.axle-lbl{align-self:end}.rv-pill{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-left:6px;padding:2px 8px;font-weight:700}.rv-ok,.rv-pill.rv-ok{color:var(--ok);background:#12a15029}.rv-warn,.rv-pill.rv-warn{color:var(--red);background:#dc003224}.rv-pending,.rv-pill.rv-pending{color:var(--muted);background:#78787829}.rv-count{font-size:var(--fs-xs);color:var(--red);margin-left:3px;font-weight:700}.rv-status{font-size:var(--fs-sm);border-radius:999px;align-self:flex-start;margin-bottom:10px;padding:3px 10px;font-weight:700}.rv-thread{flex-direction:column;gap:9px;max-height:46vh;margin-bottom:12px;display:flex;overflow:auto}.rv-empty{color:var(--muted);font-size:var(--fs-sm);padding:6px 0}.rv-item{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:8px 10px}.rv-item.rv-kind-approval{border-color:#12a15066}.rv-item.rv-kind-changes{border-color:#dc003259}.rv-meta{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rv-author{color:var(--text);font-weight:600}.rv-role{background:var(--panel3);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:0 5px}.rv-action{font-size:var(--fs-sm);margin-top:4px;font-weight:700}.rv-action.ok{color:var(--ok)}.rv-action.warn{color:var(--red)}.rv-text{font-size:var(--fs-base);color:var(--text);white-space:pre-wrap;margin-top:4px}.rv-compose{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:10px;display:flex}.rv-input{font-family:inherit;font-size:var(--fs-base);border:1px solid var(--line2);background:var(--panel);color:var(--text);resize:vertical;border-radius:8px;padding:8px 10px}.rv-actions{flex-wrap:wrap;gap:8px;display:flex}.rv-blocked{color:var(--warn,#b45309);margin-top:6px;font-size:12px}.btn-sm.rv-ok{background:var(--ok);color:#fff}.btn-sm.rv-warn{background:var(--brand);color:#fff}.popout-btn{border:1px solid var(--line2);background:var(--panel);width:100%;color:var(--text);font-family:inherit;font-size:var(--fs-base);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-weight:600;display:flex}.popout-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--tint-brand)}.hdr-menu-wrap{align-items:center;gap:7px;margin-left:auto;display:flex;position:relative}.hamburger{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.hamburger:hover{background:#ffffff38}.hdr-menu-scrim{z-index:69;position:fixed;inset:0}.hdr-menu{z-index:70;background:var(--panel);border:1px solid var(--line);border-radius:11px;flex-direction:column;gap:2px;min-width:214px;padding:7px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 34px #0003}.hdr-menu-item{width:100%;color:var(--text);font-family:inherit;font-size:var(--fs-base);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:9px 10px;font-weight:600;display:flex}.hdr-menu-item:hover{background:var(--panel)}.hdr-menu-row{justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.hdr-menu-lbl{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.hdr-menu-sel{font-family:inherit;font-size:var(--fs-base);border:1px solid var(--line2);background:var(--panel);color:var(--text);border-radius:7px;padding:5px 9px}.hdr-menu-role{align-items:center;gap:8px;display:flex}.hdr-menu-signout{font-family:inherit;font-size:var(--fs-sm);border:1px solid var(--line2);color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;padding:4px 9px}.hdr-menu-signout:hover{color:var(--brand);border-color:var(--brand)}.review-bar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:11px 12px;display:flex}.rv-status-lbl{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.rv-status-lg{font-size:var(--fs-base);letter-spacing:.01em;border-radius:999px;padding:6px 15px;font-weight:700}.rv-reviews-btn{font-size:var(--fs-base);justify-content:center;align-items:center;gap:7px;padding:8px 16px;display:inline-flex}.rail-scrim{z-index:80;background:#0f141980;position:fixed;inset:0}.rail.rail-modal{z-index:81;border-right:none;border:1px solid var(--line);border-radius:14px;max-height:92vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 70px #0006;width:min(1140px,96vw)!important}.rail-modal-head{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.rail-modal-title{font-weight:700;font-size:var(--fs-md);letter-spacing:.02em;color:var(--text)}.goods-cols{display:block}.goods-col-head{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;padding-bottom:7px;font-weight:700;display:flex}.rail-modal .goods-cols{grid-template-columns:1fr 1fr;align-items:stretch;gap:18px;display:grid}.rail-modal .goods-col{min-width:0}.rail-modal .gc-avail{order:1}.rail-modal .gc-added{flex-direction:column;order:2;display:flex}.rail-modal .goods-col-head{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;padding-bottom:7px;font-weight:700;display:flex}.rail-modal .gc-added .goods-list{flex:1;min-height:0;max-height:none}.col-clear{font-family:inherit;font-size:var(--fs-xs);text-transform:none;letter-spacing:0;border:1px solid var(--line2);color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:inline-flex}.col-clear:hover{color:var(--red);border-color:var(--red);background:#dc00320d}.scen-actions{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.autosave-note{font-size:var(--fs-xs);color:var(--muted);align-items:center;gap:4px;display:inline-flex}.autosave-note.on{color:var(--ok)}.veh-price{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;margin-top:9px;padding-top:9px;display:flex}.veh-price-field{flex-direction:column;flex:132px;gap:5px;min-width:120px;display:flex}.veh-price label{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.veh-price-in .unit,.price-in .unit{color:var(--muted);font-size:var(--fs-xs);padding-left:1px}.veh-price-in,.price-in{border:1px solid var(--line2);background:var(--panel);border-radius:7px;align-items:center;gap:3px;padding:3px 8px;display:inline-flex}.veh-price-in .cur,.price-in .cur{color:var(--muted);font-size:var(--fs-base)}.veh-price-in input,.price-in input{width:78px;color:var(--text);font-family:inherit;font-size:var(--fs-base);text-align:right;background:0 0;border:none;outline:none}.scen-price{background:var(--panel);border:1px solid var(--line);color:var(--text);font-weight:700;font-size:var(--fs-xs);border-radius:6px;align-items:baseline;gap:2px;padding:1px 7px;display:inline-flex}.scen-price.km{color:var(--brand);border-color:var(--brand-dim);background:var(--tint-brand)}.scen-price-km{color:var(--muted);font-weight:500}.price-row{justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.price-truck{font-size:var(--fs-base);color:var(--text)}.price-sub{font-size:var(--fs-sm);color:var(--muted);text-align:right;padding-bottom:4px}.price-override{border-top:1px solid var(--line);margin-top:4px;padding-top:10px}.price-total{font-size:var(--fs-base);border-top:1px solid var(--line);justify-content:space-between;margin:10px 0;padding-top:8px;display:flex}.price-total b{color:var(--info)}.price-mode{border:1px solid var(--line);border-radius:9px;margin-bottom:14px;display:flex;overflow:hidden}.price-mode-btn{background:var(--panel);cursor:pointer;font-weight:600;font-size:var(--fs-sm);color:var(--muted);border:none;flex:1;padding:9px 10px}.price-mode-btn+.price-mode-btn{border-left:1px solid var(--line)}.price-mode-btn.active{background:var(--brand);color:var(--brand-ink)}.price-route{background:var(--panel3);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:9px;margin-bottom:14px;padding:12px;display:flex}.price-route-row{flex-direction:column;gap:4px;display:flex}.price-route-row>label{font-size:var(--fs-xs);color:var(--muted);text-transform:none;letter-spacing:normal;font-family:inherit;display:block}.price-route-row input{border:1px solid var(--line2);background:var(--panel);width:100%;color:var(--text);font-family:inherit;font-size:var(--fs-base);border-radius:7px;outline:none;padding:7px 9px}.price-route-in{gap:6px;display:flex}.price-route-in input{flex:1;min-width:0}.price-route-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.price-route-or{color:var(--faint);font-size:var(--fs-xs)}.km-in{min-width:118px}.km-in input{width:64px}.price-route-err{color:var(--red);font-size:var(--fs-xs)}.price-osm{color:var(--muted);font-size:var(--fs-xs)}.price-osm a{color:inherit;text-decoration:underline}.btn-xs{font-size:var(--fs-xs);border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:7px;flex:none;align-items:center;gap:4px;padding:7px 9px;display:inline-flex}.btn-xs:disabled{opacity:.5;cursor:not-allowed}.btn-sm.save-type{background:var(--info);border-color:var(--info);color:#fff}.btn-sm.save-type:hover{filter:brightness(1.05)}.btn-sm.save-type:disabled{opacity:.5}.tab-count{color:var(--muted);font-size:var(--fs-xs);text-align:center;vertical-align:middle;background:#5c687329;border-radius:8px;min-width:15px;margin-left:5px;padding:0 5px;font-weight:700;line-height:15px;display:inline-block}.cat-filter-tab.on .tab-count{color:#fff;background:#ffffff47}.cat-results{font-size:var(--fs-xs);color:var(--muted);padding:1px 2px 7px}.confirm-scrim{z-index:200;background:#0f14198c}.confirm-modal{background:var(--panel);border:1px solid var(--line);border-radius:13px;width:min(400px,92vw);padding:18px 18px 16px;box-shadow:0 24px 70px #0006}.confirm-head{font-weight:700;font-size:var(--fs-md);color:var(--red);align-items:center;gap:8px;margin-bottom:8px;display:flex}.confirm-msg{font-size:var(--fs-base);color:var(--text);margin-bottom:16px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:9px;display:flex}.btn-sm.confirm-cancel{background:var(--panel);color:var(--text);border-color:var(--line2)}.btn-sm.confirm-del{background:var(--red);color:#fff;border-color:var(--red-hover)}.pri-toggle{border:1px solid var(--line2);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.pri-toggle:hover{color:var(--hi);border-color:var(--hi)}.pri-toggle.on{color:#fff;background:var(--hi);border-color:var(--hi)}.good-row.pri{box-shadow:inset 3px 0 0 var(--hi);background:#ffc30012;border-radius:8px}.pri-count{color:var(--hi);align-items:center;gap:3px;font-weight:700;display:inline-flex}.save-toast{z-index:300;background:var(--brand);color:#fff;font-size:var(--fs-base);cursor:pointer;border-radius:10px;align-items:center;gap:8px;max-width:92vw;padding:10px 16px;font-weight:600;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #0000004d}.audit-modal{width:96vw;max-width:1000px}.audit-head-actions{align-items:center;gap:8px;display:flex}.audit-search{border:1px solid var(--line);width:100%;font-size:var(--fs-base);background:var(--panel);border-radius:8px;margin:8px 0 10px;padding:8px 10px}.audit-list{border:1px solid var(--line);border-radius:8px;max-height:60vh;overflow-y:auto}.audit-row{font-size:var(--fs-base);border-bottom:1px solid var(--line);grid-template-columns:150px 1.4fr 1.2fr 1.2fr 1.4fr;align-items:center;gap:10px;padding:7px 10px;display:grid}.audit-row:last-child{border-bottom:none}.audit-hd{background:var(--panel);color:var(--muted);text-transform:uppercase;font-weight:700;font-size:var(--fs-xs);letter-spacing:.04em;position:sticky;top:0}.audit-who{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.audit-role{font-style:normal;font-size:var(--fs-xs);background:var(--chip);color:var(--muted);border-radius:6px;padding:1px 6px}.audit-act{color:var(--brand-ink);font-weight:600}.audit-tgt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audit-where{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audit-when{color:var(--muted)}.audit-empty{text-align:center;color:var(--muted);font-size:var(--fs-base);padding:28px}.audit-foot{font-size:var(--fs-sm);color:var(--muted);text-align:right;padding-top:8px}.viewport-max{z-index:300!important;border-radius:0!important;width:100vw!important;height:100vh!important;max-height:none!important;margin:0!important;position:fixed!important;inset:0!important}.viewport-max .viewport-canvas{border-radius:0!important}.vp-fs{margin-left:auto}.cat-add-custom{border:1.5px dashed var(--brand);background:var(--tint-brand);width:100%;color:var(--brand);font-family:inherit;font-size:var(--fs-base);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;font-weight:700;transition:background .12s,border-color .12s;display:flex}.cat-add-custom:hover{background:color-mix(in srgb, var(--brand) 12%, transparent);border-color:var(--brand-hover)}.cat-add-custom[aria-expanded=true]{background:var(--tint-brand)}.cat-custom-form{border:1px solid var(--line);background:var(--panel);border-radius:9px;margin-bottom:10px;padding:12px}.detail-pri-star,.detail-prio{color:var(--gold-ink);font-weight:700}.scheme-bar.locked{border-color:var(--ok);background:#0096500f}.scheme-bar.locked .scheme-btn.done{opacity:.65;cursor:not-allowed}.gc-added.drag-over{outline:2px dashed var(--brand);outline-offset:-3px;background:var(--tint-brand);border-radius:9px}.gc-added.drag-over:after{content:"";position:absolute}.rail-modal-sub{font-size:var(--fs-xs);color:var(--muted);margin-top:2px;font-weight:400;display:block}.stamp-w-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.stamp-w-lbl{font-size:var(--fs-sm);color:var(--text);font-weight:600}.stamp-auto{font-size:var(--fs-xs);color:var(--muted);font-style:italic}.gather-modal{width:94vw;max-width:720px}.gather-hint{font-size:var(--fs-xs);color:var(--muted);margin:2px 0 10px}.gather-body{max-height:64vh;overflow-y:auto}.gather-truck{margin-bottom:16px}.gather-truck-head{font-weight:700;font-size:var(--fs-base);color:var(--text);border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 0;display:flex}.gather-truck-total{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.gather-list{flex-direction:column;gap:2px;display:flex}.gather-art{color:var(--muted);font-style:normal;font-weight:400}.gather-dims{color:var(--muted);font-size:var(--fs-xs)}.gather-note{color:var(--muted);font-size:var(--fs-xs);margin-top:10px;line-height:1.45}.gather-btn{justify-content:center;align-items:center;gap:6px;display:inline-flex}.scheme-bar.locked-edited{background:var(--caution-bg);border-color:var(--caution-line)}.scheme-bar.locked-edited .scheme-note{color:var(--caution)}.step-btn{font-weight:700}.detail-step{background:var(--brand);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:-2px 0 8px;padding:6px 9px;display:flex}.detail-step-n{font-weight:800;font-size:var(--fs-sm);letter-spacing:.02em}.detail-step-cue{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;opacity:.92;font-weight:700}.gather-epp{color:var(--brand);font-style:normal;font-weight:600;font-size:var(--fs-xs)}.gather-modal{flex-direction:column;width:94vw;max-width:760px;max-height:86vh;padding:0;display:flex}.gather-head{z-index:2;border-bottom:1px solid var(--line);background:var(--panel);border-radius:14px 14px 0 0;padding:16px 18px 12px;position:sticky;top:0}.gather-head-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.gather-head-actions{align-items:center;gap:4px;display:flex}.gather-icon-btn{border:1px solid var(--line2);background:var(--panel);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.gather-icon-btn:hover{border-color:var(--brand);color:var(--brand)}.gather-progress{align-items:center;gap:10px;margin-top:12px;display:flex}.gather-bar{background:#00000014;border-radius:4px;flex:1;height:7px;overflow:hidden}.gather-bar-fill{background:var(--ok);border-radius:4px;height:100%;transition:width .25s}.gather-prog-lbl{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;flex:none;font-weight:700}.gather-summary{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.gather-chip{font-size:var(--fs-xs);color:var(--muted);background:#0000000b;border-radius:20px;padding:3px 10px}.gather-chip b{color:var(--text);font-weight:700}.gather-body{padding:14px 18px 18px;overflow-y:auto}.gather-truck{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}.gather-truck.truck-done{border-color:var(--ok)}.gather-truck-head{border-bottom:1px solid var(--line);background:#00000006;align-items:center;gap:10px;padding:9px 12px;display:flex}.gather-truck.truck-done .gather-truck-head{background:#12a15014;border-bottom-color:#0000}.gather-truck-name{min-width:0;font-weight:700;font-size:var(--fs-base);color:var(--text);flex:1;align-items:center;gap:6px;display:flex}.gather-truck-check{color:var(--ok);flex:none}.gather-truck-meta{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;flex:none}.gather-check-all{font-size:var(--fs-xs);border:1px solid var(--line2);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:7px;flex:none;padding:4px 10px;font-weight:600}.gather-check-all:hover{border-color:var(--brand);color:var(--brand)}.gather-list{flex-direction:column;gap:1px;padding:5px;display:flex}.gather-row{cursor:pointer;text-transform:none;letter-spacing:normal;color:var(--text);border:1px solid #0000;border-radius:10px;flex-direction:row;align-items:center;gap:14px;padding:11px 12px;font-family:inherit;display:flex}.gather-row:hover{background:var(--panel3)}.gather-row.done{opacity:.5}.gather-row.done .gather-name{text-decoration:line-through}.gather-row input{cursor:pointer;width:22px;height:22px;accent-color:var(--brand);flex:none}.gather-count{text-align:center;min-width:50px;font-weight:800;font-size:var(--fs-lg);color:var(--brand);background:var(--tint-brand);border-radius:8px;flex:none;padding:7px 6px;line-height:1}.gather-count em{font-style:normal;font-weight:600;font-size:var(--fs-xs);color:var(--brand);opacity:.7}.gather-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.gather-name{font-weight:600;font-size:var(--fs-base);color:var(--text);overflow-wrap:anywhere;line-height:1.3}.gather-meta{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gather-meta>span+span:before{content:"·";color:var(--faint);margin-right:9px}.gather-epp{color:var(--brand);font-weight:600}.gather-empty{text-align:center;color:var(--muted);padding:28px}@media (hover:none){.gather-icon-btn{width:40px;height:40px}.modal-x{padding:9px}.gather-check-all{font-size:var(--fs-sm);padding:10px 16px}.gather-row{padding:13px 8px}.gather-row input{width:26px;height:26px}}@media (width<=640px){.gather-modal{border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;position:fixed;inset:0}.gather-head{padding:calc(13px + env(safe-area-inset-top)) 15px 11px;border-radius:0}.gather-body{max-height:none;padding:12px 12px calc(18px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;flex:1}.gather-truck{margin-bottom:12px}.gather-truck-head{flex-wrap:wrap;gap:6px 10px;padding:9px 11px}.gather-truck-name{flex:100%;order:1;min-width:0}.gather-truck-meta{flex:auto;order:2}.gather-check-all{flex:none;order:3}.gather-summary{gap:6px}.gather-head-top{align-items:center}.gather-head-top .eyebrow{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}}.gather-overflow{background:var(--caution-bg);color:var(--caution);font-size:var(--fs-xs);border:1px solid var(--caution-line);border-radius:9px;margin-top:6px;padding:9px 11px}@media print{body *{visibility:hidden!important}.gather-modal,.gather-modal *{visibility:visible!important}.modal-scrim{background:0 0!important;padding:0!important;display:block!important;position:static!important}.gather-modal{top:0;left:0;width:100%!important;max-width:100%!important;max-height:none!important;box-shadow:none!important;border:none!important;position:absolute!important}.gather-head{border-bottom:1px solid #ccc!important;position:static!important}.gather-body{overflow:visible!important}.gather-head-actions,.gather-check-all{display:none!important}.gather-row,.gather-truck{break-inside:avoid}}.app[data-theme=dark]{--ink:#12161b;--panel:#1e242c;--panel3:#232a33;--line:#2c343e;--line2:#3a434e;--text:#e7ecf1;--muted:#95a1ad;--faint:#7c8894;--hi:#f5b93f;--hi-dim:#3e3316;--gold-ink:#f0c560;--red:#f23a5a;--red-hover:#ff5670;--red-dim:#45202a;--red-ink:#fff;--brand:#f23a5a;--brand-hover:#ff5670;--brand-ink:#fff;--ok:#35d07f;--warn:#f23a5a;--info:#5ba6ee;--caution:#f5c24e;--caution-bg:#33290f;--caution-line:#544420;--tint-red:#3a1822;--tint-ok:#15321f;--tint-gold:#33290f;--tint-info:#16273a}.app[data-theme=dark] .gather-row:hover,.app[data-theme=dark] .cat-add:hover,.app[data-theme=dark] .gather-icon-btn:hover{background:#ffffff0f}.app[data-theme=dark] .scheme-bar.locked{background:#35d07f1a}.app[data-theme=brand]{--ink:#efebe0;--panel:#fff;--panel3:#f5f2ea;--line:#e7e2d6;--line2:#d9d2c2;--text:#1e2e3c;--muted:#6a7683;--faint:#93a0ac;--hi:#f0a81c;--hi-dim:#fbe9ae;--gold-ink:#9a6b00;--brand:#f0a81c;--brand-hover:#da9412;--brand-ink:#1e2e3c;--red:#d34b4b;--red-hover:#be3e3e;--red-dim:#f3d2d2;--red-ink:#fff;--ok:#12a150;--warn:#d34b4b;--info:#0e93ab;--caution:#c67a22;--caution-bg:#fbebd8;--caution-line:#ebc79a;--tint-red:#fbe3e1;--tint-ok:#e3f3e9;--tint-gold:#fbebd8;--tint-info:#dff3f6}.theme-btn{border:1px solid var(--line2);background:var(--panel);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.theme-btn:hover{border-color:var(--brand);color:var(--brand)}.partial-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--caution);background:var(--caution-bg);border:1px solid var(--caution-line);white-space:nowrap;border-radius:4px;align-items:center;margin-left:6px;padding:1px 5px;font-size:10.5px;font-weight:800;display:inline-flex}.unloaded-warn{border:1px solid var(--red-dim);background:var(--tint-red);border-radius:10px;margin:10px 0 18px;padding:12px 14px}.unloaded-head{color:var(--red);align-items:center;gap:7px;margin-bottom:2px;font-size:13px;font-weight:800;display:flex}.unloaded-x{color:var(--red);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px;display:inline-flex}.unloaded-list{max-height:min(46vh,340px);margin-top:7px;padding-right:2px;overflow:auto}.unloaded-list .mono{color:var(--text);font-size:12.5px}.ul-row{border-top:1px solid var(--red-dim);padding:8px 0}.ul-row:first-child{border-top:none}.ul-row-main{align-items:center;gap:10px;display:flex}.ul-row-main .mono{color:var(--text);flex:1;font-size:12.5px}.ul-add{color:var(--brand);border:1px solid var(--brand);cursor:pointer;white-space:nowrap;background:0 0;border-radius:7px;align-items:center;gap:4px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.ul-add:hover{background:var(--brand);color:var(--brand-ink)}.ul-editor{background:var(--panel);border:1px solid var(--line2);border-radius:10px;margin:8px 0 4px;padding:14px;box-shadow:0 2px 10px #141c260f}.ul-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.ul-l{color:var(--muted);flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;display:flex}.ul-wide{grid-column:span 2}.ul-in{border:1px solid var(--line2);color:var(--text);background:var(--panel3);border-radius:8px;width:100%;padding:9px 11px;font-family:inherit;font-size:13.5px}.ul-in:focus{border-color:var(--info);outline:none}.ul-editor-foot{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.ul-preview{flex:1;min-width:140px;font-size:12px;font-weight:600}.ul-save{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:flex}.ul-confirm{background:var(--brand)!important;color:var(--brand-ink)!important;border-color:var(--brand)!important}@media (width<=640px){.ul-grid{grid-template-columns:repeat(2,1fr)}}.rail-modal .unloaded-list{max-height:min(60vh,560px)}.rail-modal .unloaded-warn{padding:14px 16px}.req-cta{border:1px solid var(--brand);background:var(--brand);width:100%;color:var(--brand-ink);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;margin:10px 0 6px;padding:12px 14px;transition:transform .12s,box-shadow .12s,background .12s;display:flex;box-shadow:0 2px 8px #141c261a}.req-cta:hover{background:var(--brand-hover);border-color:var(--brand-hover);transform:translateY(-1px);box-shadow:0 6px 16px #141c2629}.req-cta:active{transform:translateY(0)}.req-cta-icon{background:#ffffff2e;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.req-cta-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.req-cta-title{letter-spacing:-.01em;font-size:14.5px;font-weight:800}.req-cta-sub{opacity:.9;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:500;overflow:hidden}.req-cta-arrow{opacity:.75;flex:none}.confirm-danger .confirm-head{color:var(--red)}.confirm-danger{border-top:3px solid var(--red)}.confirm-type{flex-direction:column;gap:5px;margin:10px 0 2px;display:flex}.confirm-type-l{color:var(--muted);font-size:12px;font-weight:600}.confirm-type-in{border:1px solid var(--line2);letter-spacing:.06em;color:var(--text);background:var(--panel3);border-radius:8px;padding:9px 11px;font-family:ui-monospace,monospace;font-size:14px}.confirm-type-in:focus{border-color:var(--red);outline:none}.confirm-del:disabled{opacity:.45;cursor:not-allowed}.pill-danger{color:var(--red)!important;border-color:var(--red-dim)!important}.pill-danger:hover{background:var(--tint-red)!important}.qty-edit{min-height:36px;width:56px!important;font-size:var(--fs-md)!important;padding:8px 6px!important}.wt-field .wt-edit{min-height:36px;width:64px!important;font-size:var(--fs-md)!important;padding:8px 6px!important}.io-msg{background:var(--tint-info);color:var(--info);border:1px solid #cfe0f2;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;font-weight:600;display:inline-flex}.io-msg-x{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1}.io-msg-x:hover{opacity:1}.empty-goods{background:var(--panel3);border:1px dashed var(--line2);border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:14px;display:flex}.empty-title{color:var(--text);font-size:13.5px;font-weight:700}.empty-hint{color:var(--muted);font-size:12.5px;line-height:1.5}.toast{z-index:400;border-radius:11px;align-items:center;gap:8px;max-width:min(92vw,440px);padding:11px 14px;font-size:13.5px;font-weight:600;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #141c2638}.toast-error{color:#ffd9df;border:1px solid var(--red);background:#2a1116}.toast-info,.toast-success{color:#cdefdd;border:1px solid var(--ok);background:#0e2a1c}.toast-x{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.toast-x:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.cat-row[draggable=true]{cursor:grab}.cat-row[draggable=true]:active{cursor:grabbing}.cat-grip{color:var(--muted);opacity:.8;flex:none;margin-right:-2px}.cat-row[draggable=true]:hover .cat-grip{opacity:.9}.gc-added.drag-over{outline:2px dashed var(--brand);outline-offset:-5px;border-radius:10px;background:var(--tint-info)!important}.mtoggle{z-index:350;background:var(--panel);border:1px solid var(--line2);border-radius:24px;gap:3px;padding:4px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #141c2638}.mtoggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:22px;padding:9px 24px;font-size:13.5px;font-weight:700}.mtoggle button.on{background:var(--brand);color:var(--brand-ink)}@media (width<=960px){.app.m-truck .rail,.app.m-plan .stage{display:none}.stage{padding-bottom:64px}}.req-choose{white-space:nowrap;cursor:pointer;align-items:center;gap:7px;width:auto;flex-direction:row!important;display:inline-flex!important}.req-choose svg{flex:none}.demo-bar{background:var(--text);color:#fff;font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex}.demo-bar-tag{letter-spacing:.04em;color:#5ce08a;font-size:11px;font-weight:800}.demo-bar-msg{color:#c4d0db;flex:1;min-width:180px}.demo-bar-cta{background:var(--hi);color:#3a2c00;white-space:nowrap;border-radius:8px;padding:6px 14px;font-weight:800;text-decoration:none}.demo-bar-cta:hover{filter:brightness(1.05)}.wt-ro{text-align:right;min-width:54px;font-size:var(--fs-base);color:var(--muted);padding:8px 6px;font-weight:600;display:inline-block}.demo-note{background:var(--tint-info);color:var(--info);font-size:var(--fs-sm);border:1px solid #cfe0f2;border-radius:8px;margin:4px 0 10px;padding:9px 11px;line-height:1.45}.mf-wrap{display:inline-flex;position:relative}.mf-btn{background:var(--hi);height:32px;color:var(--gold-ink);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;border:none;border-radius:8px 0 0 8px;align-items:center;gap:6px;padding:0 13px;font-weight:700;display:inline-flex}.mf-btn:hover{filter:brightness(1.04)}.mf-btn:disabled{opacity:.7;cursor:default}.mf-caret{background:var(--hi);width:26px;height:32px;color:var(--gold-ink);cursor:pointer;border:none;border-left:1px solid #00000029;border-radius:0 8px 8px 0;justify-content:center;align-items:center;display:inline-flex}.mf-caret:hover,.mf-caret.on{filter:brightness(1.04)}.mf-caret:disabled{opacity:.7;cursor:default}.mf-menu{z-index:40;background:var(--panel);border:1px solid var(--line2);border-radius:10px;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:37px;right:0;box-shadow:0 12px 32px #141e282e}.mf-opt{width:100%;font-family:inherit;font-size:var(--fs-sm);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:9px 10px;display:flex}.mf-opt:hover{background:var(--panel3)}.mf-opt.act{font-weight:600}.mf-check{border:1.5px solid var(--line2);color:#fff;border-radius:4px;flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.mf-check.on{background:var(--ok);border-color:var(--ok)}.mf-sep{background:var(--line);height:1px;margin:3px 2px}.run-spin.sm{border-width:2px;width:12px;height:12px}.plan-value{border:1px solid var(--line);border-left:3px solid var(--ok);background:var(--panel);border-radius:10px;margin-bottom:10px;padding:12px 14px}.plan-value.warn{border-left-color:var(--warn)}.pv-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.pv-trucks{color:var(--text);flex:none;align-items:baseline;gap:8px;display:flex}.pv-trucks-n{font-size:27px;font-weight:800;line-height:1}.pv-trucks-lbl{font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.pv-stats{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.pv-stat{flex-direction:column;align-items:flex-end;line-height:1.15;display:flex}.pv-stat-v{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:700}.pv-stat-l{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.pv-status{font-size:var(--fs-sm);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:6px 11px;font-weight:700;display:inline-flex}.pv-status.ok{background:var(--tint-ok);color:var(--ok)}.pv-status.warn{background:var(--tint-red);color:var(--warn)}.pv-insight{font-size:var(--fs-sm);color:var(--muted);margin-top:9px;line-height:1.4}.pv-insight.good{color:var(--gold-ink);font-weight:600}.pv-insight.warn{color:var(--warn);font-weight:600}.pv-chips{flex-wrap:wrap;gap:6px;margin-top:11px;display:flex}@media (width<=620px){.pv-head{flex-direction:column;align-items:stretch;gap:11px}.pv-stats{justify-content:space-between;gap:12px}.pv-stat{align-items:flex-start}}.pv-savings{background:var(--tint-gold);border:1px solid var(--hi-dim);border-radius:9px;margin-top:11px;padding:11px 12px}.pv-sv-head{font-size:var(--fs-xs);color:var(--gold-ink);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.pv-sv-figure{flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:4px;display:flex}.pv-sv-money{color:var(--gold-ink);font-variant-numeric:tabular-nums;font-size:23px;font-weight:800;line-height:1}.pv-sv-trucks{font-size:var(--fs-md);color:var(--text);font-weight:700}.pv-sv-note{font-size:var(--fs-xs);color:var(--muted);margin-top:6px;line-height:1.35}.scen-saved{background:var(--tint-gold);border:1px solid var(--hi-dim);border-radius:10px;flex-direction:column;gap:1px;margin:11px 0 5px;padding:12px 13px;display:flex}.scen-saved-head{font-size:var(--fs-xs);color:var(--gold-ink);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.scen-saved-fig{flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:3px;display:flex}.scen-saved-money{color:var(--gold-ink);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1}.scen-saved-trucks{font-size:var(--fs-md);color:var(--text);font-weight:700}.scen-saved-note{font-size:var(--fs-xs);color:var(--muted);margin-top:4px;line-height:1.35}.name-modal{max-width:380px;padding:16px 18px}.name-modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.name-modal-head h3{color:var(--text);margin:0;font-size:15px}.name-input{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--text);background:var(--panel);border-radius:8px;padding:9px 11px;font-size:14px}.name-input:focus{border-color:var(--info);outline:none}.name-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.btn-ghost{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:7px 14px;font-size:13px}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.scen-row .icon-btn{opacity:.5;transition:opacity .12s}.scen-row:hover .icon-btn,.scen-row:focus-within .icon-btn{opacity:1}@media (hover:none){.scen-row .icon-btn{opacity:1}}.scen-l1{align-items:center;gap:7px;min-width:0;display:flex}.scen-edit{background:var(--tint-info);color:var(--info);white-space:nowrap;border-radius:5px;flex:none;align-items:center;gap:3px;padding:1px 6px;font-size:10.5px;font-weight:600;display:inline-flex}.scen-res{color:var(--text);align-items:center;gap:4px;font-weight:700;display:inline-flex}.scen-res svg{color:var(--muted)}.scen-ok{color:var(--ok);align-items:center;gap:3px;font-weight:600;display:inline-flex}.scen-warn{color:var(--warn);align-items:center;gap:3px;font-weight:600;display:inline-flex}.scen-savings{background:var(--tint-gold);color:var(--gold-ink);font-weight:700;font-size:var(--fs-xs);white-space:nowrap;border-radius:5px;padding:1px 7px}.scen-nostat{color:var(--faint)}.scen-more{display:flex;position:relative}.menu-backdrop{z-index:40;position:fixed;inset:0}.scen-menu{z-index:41;background:var(--panel);border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:1px;min-width:162px;padding:5px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #141e2d29}.scen-mi{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:9px;width:100%;padding:7px 9px;font-family:inherit;font-size:13px;display:flex}.scen-mi:hover{background:var(--panel3)}.scen-mi svg{color:var(--muted);flex:none}.scen-mi.danger,.scen-mi.danger svg{color:var(--red)}@container (width<=320px){.good-main{flex-basis:100%;min-width:0}}.gather-info{min-width:0}.gather-name{white-space:normal;overflow-wrap:anywhere}.gather-meta{flex-wrap:wrap}.ul-row-main{flex-wrap:wrap;min-width:0}.ul-row-main .mono{overflow-wrap:anywhere;min-width:0}.consent-banner{z-index:9999;background:var(--panel,#fff);border:1px solid var(--line,#e4e9ed);border-radius:12px;flex-direction:column;gap:10px;max-width:520px;margin:0 auto;padding:14px 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 10px 30px #141e2d2e}.consent-text{color:var(--text,#1a2229);margin:0;font-size:13px;line-height:1.5}.consent-actions{justify-content:flex-end;gap:8px;display:flex}.consent-btn{cursor:pointer;border:1px solid var(--text,#1a2229);color:var(--text,#1a2229);background:0 0;border-radius:8px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:600}.consent-btn:hover{background:var(--text,#1a2229);color:var(--panel,#fff)}@media (width<=540px){.consent-banner{left:8px;right:8px}.consent-btn{flex:1}}.consent-link{color:var(--info,#2c6fb0);white-space:nowrap;text-decoration:underline}.plan-actions{z-index:6;background:var(--panel);border-top:1px solid var(--line);flex-direction:column;margin:auto -16px 0;padding:12px 16px 16px;display:flex;position:sticky;bottom:0;box-shadow:0 -10px 20px -12px #141e2d29}.plan-actions .run{margin-top:0}.plan-help{background:var(--panel3);border:1px solid var(--line);font-size:var(--fs-xs);color:var(--muted);border-radius:9px;margin-bottom:10px;padding:10px 12px;line-height:1.5;position:relative}.plan-help p{margin:0 0 6px}.plan-help p:last-child{margin-bottom:0}.plan-help b{color:var(--text);font-weight:600}.plan-help-x{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;place-items:center;padding:2px;display:grid;position:absolute;top:6px;right:6px}.plan-help-x:hover{background:var(--panel)}.plan-help-toggle{color:var(--muted);cursor:pointer;font-size:var(--fs-xs);background:0 0;border:none;border-radius:6px;align-self:center;align-items:center;gap:4px;margin-top:8px;padding:2px 6px;display:inline-flex}.plan-help-toggle:hover{color:var(--info)}.btn-sm:disabled{opacity:.45;cursor:not-allowed}.org-clearance{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.org-clearance-head{font-weight:700;font-size:var(--fs-sm);color:var(--text);align-items:center;gap:6px;display:flex}.org-clearance-help{font-size:var(--fs-xs);color:var(--muted);margin:5px 0 11px;line-height:1.45}.org-clearance-fields{flex-wrap:wrap;gap:10px;display:flex}.org-clearance-fields>label{min-width:94px;font-size:var(--fs-xs);color:var(--muted);flex-direction:column;flex:108px;gap:5px;font-weight:600;display:flex}.clearance-in{border:1px solid var(--line2);background:var(--panel);border-radius:7px;align-items:center;gap:3px;padding:5px 9px;display:inline-flex}.clearance-in input{width:100%;min-width:0;color:var(--text);font-family:inherit;font-size:var(--fs-base);text-align:right;background:0 0;border:none;outline:none}.clearance-in .unit{color:var(--muted);font-size:var(--fs-xs)}.org-clearance-actions{align-items:center;gap:12px;margin-top:11px;display:flex}.clearance-saved{color:var(--ok);font-size:var(--fs-xs);font-weight:600}.addr{position:relative}.addr-in{gap:6px;display:flex}.addr-in>input{flex:1;min-width:0}.addr-list{z-index:60;background:var(--panel);border:1px solid var(--line2);border-radius:9px;max-height:220px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 28px #141e2d38}.addr-item{font-size:var(--fs-sm);color:var(--text);cursor:pointer;border-radius:6px;align-items:flex-start;gap:7px;padding:7px 8px;line-height:1.35;display:flex}.addr-item svg{color:var(--muted);flex:none;margin-top:2px}.addr-item.hi{background:var(--tint-red)}.addr-item.hi svg{color:var(--brand)}.addr-note{font-size:var(--fs-xs);color:var(--muted);padding:8px}.dash-scrim{z-index:110;justify-content:center;align-items:stretch;padding:0}.dash{background:var(--panel3);flex-direction:column;width:100%;max-width:1200px;height:100%;display:flex}.dash-loading{color:var(--muted);margin:auto;font-size:22px}.dash-head{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:14px;padding:14px 18px;display:flex}.dash-head-title{font-size:var(--fs-lg);color:var(--text);font-weight:800}.dash-range{border:1px solid var(--line);border-radius:9px;margin-left:auto;display:flex;overflow:hidden}.dash-range-btn{background:var(--panel);cursor:pointer;font-size:var(--fs-sm);color:var(--muted);border:none;padding:7px 12px;font-weight:600}.dash-range-btn+.dash-range-btn{border-left:1px solid var(--line)}.dash-range-btn.active{background:var(--brand);color:var(--brand-ink)}.dash-body{flex-direction:column;flex:1;gap:16px;padding:18px;display:flex;overflow-y:auto}.dash-kpis{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.dash-kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.dash-kpi-value{color:var(--text);font-size:26px;font-weight:800;line-height:1.1}.dash-kpi-label{font-size:var(--fs-sm);color:var(--muted);margin-top:5px}.dash-kpi-sub{font-size:var(--fs-xs);color:var(--faint);margin-top:3px}.dash-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.dash-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:0;padding:14px 16px}.dash-panel-wide{grid-column:1/-1}.dash-panel-title{font-size:var(--fs-sm);color:var(--text);margin:0 0 12px;font-weight:700}.dash-empty{text-align:center;color:var(--faint);font-size:var(--fs-sm);padding:24px 0}.dash-legend{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;gap:10px 16px;margin-top:8px;display:flex}.dash-legend-item{align-items:center;gap:5px;display:inline-flex}.dash-legend-item b{color:var(--text)}.dash-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.dash-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dash-plan-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.dash-plan-row:first-child{border-top:none}.dash-plan-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-sm);color:var(--text);flex:1;overflow:hidden}.dash-plan-meta{align-items:center;gap:6px;display:inline-flex}.dash-saved{font-size:var(--fs-xs);color:var(--brand);font-weight:700}.dash-price{font-size:var(--fs-xs);color:var(--text);background:var(--panel3);border-radius:6px;padding:1px 7px;font-weight:700}.dash-price.km{color:var(--brand);background:var(--tint-brand)}.dash-badge{font-size:var(--fs-xs);white-space:nowrap;border-radius:20px;padding:1px 8px;font-weight:600}.dash-badge-approved{color:#0f7a3d;background:#12a15024}.dash-badge-pending{color:#9a6a00;background:#c98a0029}.dash-badge-changes{color:#b23b3b;background:#d34b4b29}.dash-badge-none{color:var(--muted);background:var(--panel3)}.dash-stats{flex-direction:column;display:flex}.dash-stat{border-top:1px solid var(--line);font-size:var(--fs-sm);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.dash-stat:first-child{border-top:none}.dash-stat-label{color:var(--muted)}.dash-stat-value{color:var(--text);font-weight:700}.dash-feed .dash-feed-row{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding:7px 0;display:flex}.dash-feed .dash-feed-row:first-child{border-top:none}.dash-feed-action{font-size:var(--fs-sm);color:var(--text)}.dash-feed-meta{font-size:var(--fs-xs);color:var(--faint)}@media (width<=820px){.dash-kpis{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}.dash-panel-wide{grid-column:auto}}@media (width<=460px){.dash-kpis{grid-template-columns:1fr}.dash-head-title{font-size:var(--fs-base)}}.dash-help{font-size:var(--fs-xs);color:var(--muted);margin-bottom:11px;line-height:1.45}.dash-price-grid{grid-template-columns:1fr auto auto;align-items:center;gap:8px 10px;display:grid}.dash-price-hd{font-size:var(--fs-xs);color:var(--muted);text-align:right}.dash-price-hd:first-child{text-align:left}.dash-price-name{font-size:var(--fs-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-price-in{border:1px solid var(--line2);background:var(--panel);border-radius:7px;align-items:center;gap:3px;padding:4px 8px;display:inline-flex}.dash-price-in input{width:60px;min-width:0;color:var(--text);font-family:inherit;font-size:var(--fs-sm);text-align:right;background:0 0;border:none;outline:none}.dash-price-in .cur,.dash-price-in .unit{color:var(--muted);font-size:var(--fs-xs)}.dash-log-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.dash-log-head .dash-panel-title{margin:0}.dash-log-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.dash-log-search{border:1px solid var(--line2);background:var(--panel);color:var(--text);font-family:inherit;font-size:var(--fs-sm);border-radius:7px;outline:none;min-width:150px;padding:5px 9px}.dash-log{border:1px solid var(--line);border-radius:8px;max-height:340px;overflow:auto}.dash-log-row{border-top:1px solid var(--line);font-size:var(--fs-xs);grid-template-columns:150px minmax(120px,1.4fr) minmax(90px,1.1fr) minmax(110px,1.4fr) minmax(100px,1.2fr);align-items:center;gap:10px;padding:7px 10px;display:grid}.dash-log-row:first-child{border-top:none}.dash-log-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-log-hd{background:var(--panel);color:var(--muted);z-index:1;font-weight:600;position:sticky;top:0}.dash-log-row .audit-role{margin-left:6px;font-style:normal}.dash-tenant{border:1px solid var(--line);background:var(--panel);color:var(--text);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;border-radius:9px;outline:none;max-width:220px;margin-left:auto;padding:7px 10px;font-weight:600}.dash-tenant+.dash-range{margin-left:10px}.hdr-org{border:1px solid var(--line);background:var(--panel);max-width:170px;color:var(--text);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;border-radius:8px;outline:none;padding:6px 8px;font-weight:600}.hdr-org.active{border-color:var(--brand);color:var(--brand)}.org-warn{font-size:var(--fs-xs);color:var(--red);background:var(--tint-red);white-space:nowrap;border-radius:6px;padding:2px 8px;font-weight:600}.org-users{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.org-theme{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.org-theme-row{align-items:center;gap:10px;margin-top:8px;display:flex}.org-theme-swatch{border:1px solid var(--line2);cursor:pointer;background:0 0;border-radius:8px;flex:none;width:40px;height:34px;padding:0}.org-theme-hex{text-transform:lowercase;border:1px solid var(--line2);background:var(--panel);width:104px;color:var(--text);font-size:var(--fs-sm);border-radius:8px;padding:8px 10px}.org-theme-hex:focus{border-color:var(--brand);outline:none}.audit-det{font-size:var(--fs-xs);color:var(--muted);word-break:break-word;margin-top:2px;font-style:normal;line-height:1.35;display:block}.vp-optimising{z-index:6;pointer-events:none;font-size:var(--fs-sm);color:var(--text);background:color-mix(in srgb, var(--panel) 84%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;align-items:center;gap:7px;padding:5px 11px 5px 9px;font-weight:600;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #141e2d1f}.vp-opt-dot{background:var(--brand);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 55%, transparent);border-radius:50%;flex:none;animation:1.5s ease-out infinite vpOptPulse}@keyframes vpOptPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 55%, transparent)}70%{box-shadow:0 0 0 7px color-mix(in srgb, var(--brand) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.vp-opt-dot{animation:none}}.err-boundary{background:var(--ink);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.err-boundary-card{background:var(--panel);border:1px solid var(--line);text-align:center;max-width:440px;color:var(--text);border-radius:14px;padding:24px}.err-boundary-title{margin-bottom:8px;font-size:18px;font-weight:700}.err-boundary-msg{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.5}.err-boundary-actions{justify-content:center;gap:8px;display:flex}.tour-layer{z-index:200;pointer-events:none;position:fixed;inset:0}.tour-spot{box-shadow:0 0 0 9999px #0a16247a, 0 0 0 3px var(--brand);pointer-events:none;border-radius:12px;transition:all .25s;position:fixed}.tour-pop{background:var(--panel);width:min(320px,100vw - 24px);color:var(--text);border:1px solid var(--line);pointer-events:auto;border-radius:14px;padding:16px 16px 14px;font-family:system-ui,-apple-system,sans-serif;position:fixed;box-shadow:0 18px 44px #0a162447}.tour-x{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px;position:absolute;top:10px;right:10px}.tour-x:hover{color:var(--text);background:var(--panel3)}.tour-count{letter-spacing:.06em;text-transform:uppercase;color:var(--brand);font-size:11.5px;font-weight:700}.tour-title{margin:4px 24px 6px 0;font-size:16px;font-weight:700}.tour-text{color:var(--muted);margin:0 0 12px;font-size:14px;line-height:1.5}.tour-actions{justify-content:flex-end;gap:8px;display:flex}.tour-actions .tour-back{border:1px solid var(--line2);color:var(--text);background:0 0}.tour-pill{z-index:150;background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:9px 14px;font:600 13px system-ui,-apple-system,sans-serif;display:inline-flex;position:fixed;bottom:16px;left:16px;box-shadow:0 8px 22px #0a162440}.tour-pill:hover{background:var(--brand-hover)}@media (prefers-reduced-motion:reduce){.tour-spot{transition:none}}.vp-tools{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 24px)}.gather-ctl{flex-direction:column;align-items:flex-end;gap:8px;max-width:340px;display:flex;position:absolute;top:56px;right:12px}.gather-ctl .gather-side button{padding:5px 10px}.gather-ctl{pointer-events:none}.gather-ctl>*{pointer-events:auto}.gather-chip{border:1px solid var(--line2);color:var(--text);background:#fffffff7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex;box-shadow:0 6px 22px #141e2d26}.gather-chip-unit{font-weight:700;font-size:var(--fs-base)}.gather-chip-tick{align-items:center;gap:4px;display:inline-flex}.gather-chip-tick.on{background:var(--ok,#12a150);border-color:var(--ok,#12a150);color:#fff}.gather-wave{font-size:var(--fs-xs);background:var(--hi);color:#3a2c00;border-radius:8px;padding:5px 9px}.gather-prestack{font-size:var(--fs-sm);color:var(--text);align-items:center;gap:8px;margin:10px 0 4px;display:flex}.app[data-theme=dark] .gather-chip{background:#1c232cf5}@media (width<=560px){.gather-ctl{flex-flow:wrap;align-items:center;gap:6px;max-width:none;inset:auto 8px 68px}.gather-ctl>.vp-measure{display:none}.gather-ctl .gather-side{padding:2px}.gather-ctl .gather-side button{font-size:var(--fs-xs);padding:4px 7px}.gather-chip{gap:6px;padding:4px 8px}.gather-chip .eyebrow{display:none}.gather-chip-unit{font-size:var(--fs-sm)}}@media (width<=960px),(hover:none) and (pointer:coarse){.viewport-gather{min-height:72svh}}@media (hover:none) and (pointer:coarse) and (width>=561px){.gather-ctl{flex-flow:wrap;justify-content:flex-end;align-items:center;max-width:none;inset:auto 12px 76px}}.gather-floor-print{display:none}.gather-floor-sheet{break-before:page;break-inside:avoid;margin-top:12px}.gather-floor-title{margin:0 0 8px;font-size:15px}.gather-floor-legend{columns:3;margin:8px 0 0;padding:0;font-size:11px;list-style:none}.gather-floor-wave{margin-top:6px;font-size:12px}@media print{.gather-floor-print{display:block!important}}.le-open{align-items:center;gap:5px;margin-left:auto;display:inline-flex}.le-open.is-unavailable{opacity:.55;cursor:help}.le{z-index:190;background:var(--panel);flex-direction:column;display:flex;position:fixed;inset:0}.le-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.le-title{font-size:var(--fs-base);align-items:baseline;gap:10px;display:flex}.le-title .mono{color:var(--muted);font-size:var(--fs-sm)}.le-actions{align-items:center;gap:8px;display:flex}.le-actions .btn-sm{align-items:center;gap:5px;display:inline-flex}.le-save{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.le-note{font-size:var(--fs-sm);color:var(--muted)}.le-stage{flex:1;min-height:0;position:relative}.le-canvas{position:absolute;inset:0}.le-overlay{pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.le-overlay>*{pointer-events:auto}.le-toolbar{border:1px solid var(--line2);color:var(--text);background:#fffffff7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;max-width:100%;padding:8px 12px;display:flex;box-shadow:0 6px 22px #141e2d26}.le-toolbar-empty{color:var(--muted);font-size:var(--fs-sm)}.le-sel{align-items:center;gap:7px;display:flex}.le-dims{color:var(--muted);font-size:var(--fs-xs)}.le-nudge{gap:2px;display:flex}.le-move-to{font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.le-msg{max-width:560px;font-size:var(--fs-sm);border-radius:10px;align-items:flex-start;gap:8px;padding:9px 12px;display:flex;box-shadow:0 6px 22px #141e2d26}.le-msg p{margin:0}.le-msg-bad{border:1px solid var(--warn);color:#5a0a1a;background:#fdecef}.le-msg-warn{color:#4a3600;background:#fff6db;border:1px solid #e0a800}.le-status{border-top:1px solid var(--line);font-size:var(--fs-sm);flex-wrap:wrap;gap:6px 18px;margin:0;padding:10px 16px;list-style:none;display:flex}.le-status li{align-items:center;gap:7px;display:flex}.le-status .mono{color:var(--muted)}.le-dot{background:var(--ok);border-radius:50%;width:9px;height:9px}.le-status li.bad .le-dot{background:var(--warn)}.app[data-theme=dark] .le-toolbar{background:#1c232cf5}.le-open{white-space:nowrap}@media (width<=960px){.scheme-bar{flex-wrap:wrap}.scheme-bar .scheme-note{flex:100%}.scheme-bar .le-open{margin-left:0}}.le-stacking{font-size:var(--fs-xs);color:var(--text);background:var(--panel3);border-radius:6px;align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.custom .warn-text{color:var(--warn)}.custom .xl-body{text-transform:none;letter-spacing:0;flex-direction:row;align-items:center;gap:6px;margin:6px 0;font-size:12px;display:flex}
