@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./inter-cyrillic-ext-400-normal.BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal.DQukG94-.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./inter-cyrillic-400-normal.obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal.HOLc17fK.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./inter-greek-ext-400-normal.DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal.KugGGMne.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./inter-greek-400-normal.B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal.q2sYcFCs.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./inter-vietnamese-400-normal.DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal.Bbgyi5SW.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./inter-latin-ext-400-normal.C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal.77YHD8bZ.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal.CyCys3Eg.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./inter-cyrillic-ext-500-normal.B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal.BmqWE9Dz.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./inter-cyrillic-500-normal.BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal.CxZf_p3X.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./inter-greek-ext-500-normal.C4iEst2y.woff2) format("woff2"),url(./inter-greek-ext-500-normal.2j5mBUwD.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./inter-greek-500-normal.BIZE56-Y.woff2) format("woff2"),url(./inter-greek-500-normal.Xzm54t5V.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./inter-vietnamese-500-normal.DOriooB6.woff2) format("woff2"),url(./inter-vietnamese-500-normal.mJboJaSs.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./inter-latin-ext-500-normal.CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal.BxGbmqWO.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./inter-latin-500-normal.Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal.BL9OpVg8.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./inter-cyrillic-ext-600-normal.Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal.Bcila6Z-.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./inter-cyrillic-600-normal.CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal.4D_pXhcN.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./inter-greek-ext-600-normal.DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal.B8X0CLgF.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./inter-greek-600-normal.plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal.BZpKdvQh.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./inter-vietnamese-600-normal.Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal.BuLX-rYi.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./inter-latin-ext-600-normal.D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal.CIVaiw4L.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal.CiBQ2DWP.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./inter-cyrillic-ext-700-normal.BjwYoWNd.woff2) format("woff2"),url(./inter-cyrillic-ext-700-normal.LO58E6JB.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./inter-cyrillic-700-normal.CjBOestx.woff2) format("woff2"),url(./inter-cyrillic-700-normal.DrXBdSj3.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./inter-greek-ext-700-normal.qfdV9bQt.woff2) format("woff2"),url(./inter-greek-ext-700-normal.BoQ6DsYi.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./inter-greek-700-normal.C3JjAnD8.woff2) format("woff2"),url(./inter-greek-700-normal.BUv2fZ6O.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./inter-vietnamese-700-normal.DlLaEgI2.woff2) format("woff2"),url(./inter-vietnamese-700-normal.BZaoP0fm.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./inter-latin-ext-700-normal.Ca8adRJv.woff2) format("woff2"),url(./inter-latin-ext-700-normal.TidjK2hL.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(./inter-latin-700-normal.BLAVimhd.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(./jetbrains-mono-cyrillic-400-normal.BEIGL1Tu.woff2) format("woff2"),url(./jetbrains-mono-cyrillic-400-normal.ugxPyKxw.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(./jetbrains-mono-greek-400-normal.C190GLew.woff2) format("woff2"),url(./jetbrains-mono-greek-400-normal.B9oWc5Lo.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(./jetbrains-mono-vietnamese-400-normal.CqNFfHCs.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(./jetbrains-mono-latin-ext-400-normal.Bc8Ftmh3.woff2) format("woff2"),url(./jetbrains-mono-latin-ext-400-normal.fXTG6kC5.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(./jetbrains-mono-latin-400-normal.V6pRDFza.woff2) format("woff2"),url(./jetbrains-mono-latin-400-normal.6-qcROiO.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;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+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(./jetbrains-mono-cyrillic-500-normal.DmUKJPL_.woff2) format("woff2"),url(./jetbrains-mono-cyrillic-500-normal.DJqRU3vO.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(./jetbrains-mono-greek-500-normal.JpySY46c.woff2) format("woff2"),url(./jetbrains-mono-greek-500-normal.D7SFKleX.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(./jetbrains-mono-vietnamese-500-normal.DNRqzVM1.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(./jetbrains-mono-latin-ext-500-normal.Cut-4mMH.woff2) format("woff2"),url(./jetbrains-mono-latin-ext-500-normal.ckzbgY84.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(./jetbrains-mono-latin-500-normal.BWZEU5yA.woff2) format("woff2"),url(./jetbrains-mono-latin-500-normal.CJOVTJB7.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--ff-color-neutral-0:#fff;--ff-color-neutral-50:#f9fafb;--ff-color-neutral-100:#f0f2f4;--ff-color-neutral-200:#eaedf0;--ff-color-neutral-300:#dae0e7;--ff-color-neutral-400:#aeb6c2;--ff-color-neutral-500:#6a7381;--ff-color-neutral-600:#4c5361;--ff-color-neutral-700:#29303d;--ff-color-neutral-800:#1d212b;--ff-color-neutral-900:#14181f;--ff-color-primary:#196ee6;--ff-color-primary-hover:#1661ca;--ff-color-primary-light:#307de8;--ff-color-primary-subtle:#e7eef9;--ff-color-primary-outline:#196ee6;--ff-color-on-primary:var(--ff-color-neutral-0);--ff-color-accent:#2bab6b;--ff-color-accent-hover:#25935c;--ff-color-accent-subtle:#eaf6f0;--ff-color-on-accent:var(--ff-color-neutral-0);--ff-color-success:#2bab6b;--ff-color-success-subtle:#eaf6f0;--ff-color-on-success:var(--ff-color-neutral-0);--ff-color-danger:#dc2828;--ff-color-danger-hover:#c11f1f;--ff-color-danger-subtle:#faebeb;--ff-color-on-danger:var(--ff-color-neutral-0);--ff-color-warning:#f49d25;--ff-color-warning-subtle:#faf1e5;--ff-color-on-warning:#442904;--ff-color-info:#196ee6;--ff-color-info-subtle:#e7eef9;--ff-color-on-info:var(--ff-color-neutral-0);--ff-color-bg:var(--ff-color-neutral-50);--ff-color-bg-elevated:var(--ff-color-neutral-0);--ff-color-bg-muted:var(--ff-color-neutral-100);--ff-color-bg-overlay:rgba(0,0,0,.8);--ff-color-text:var(--ff-color-neutral-900);--ff-color-text-secondary:var(--ff-color-neutral-500);--ff-color-text-muted:var(--ff-color-neutral-400);--ff-color-text-inverse:var(--ff-color-neutral-0);--ff-color-border:var(--ff-color-neutral-300);--ff-color-border-light:var(--ff-color-neutral-200);--ff-color-border-focus:var(--ff-color-primary);--ff-color-sidebar-bg:#1d212b;--ff-color-sidebar-text:#d3d9de;--ff-color-sidebar-text-muted:#7e8c9a;--ff-color-sidebar-primary:#307de8;--ff-color-sidebar-accent:#2a303c;--ff-color-sidebar-border:#303541;--ff-color-chart-1:#196ee6;--ff-color-chart-2:#2bab6b;--ff-color-chart-3:#f49d25;--ff-color-chart-4:#af57db;--ff-color-chart-5:#e23670;--ff-font-sans:"Inter",system-ui,-apple-system,sans-serif;--ff-font-mono:"JetBrains Mono",ui-monospace,monospace;--ff-font-size-xs:.75rem;--ff-font-size-sm:.875rem;--ff-font-size-base:1rem;--ff-font-size-lg:1.125rem;--ff-font-size-xl:1.25rem;--ff-font-size-2xl:1.5rem;--ff-font-size-3xl:1.875rem;--ff-leading-none:1;--ff-leading-tight:1.25;--ff-leading-snug:1.375;--ff-leading-normal:1.5;--ff-leading-relaxed:1.625;--ff-font-weight-normal:400;--ff-font-weight-medium:500;--ff-font-weight-semibold:600;--ff-font-weight-bold:700;--ff-tracking-tight:-.025em;--ff-tracking-normal:0;--ff-tracking-wide:.05em;--ff-spacing-0:0;--ff-spacing-px:1px;--ff-spacing-0-5:.125rem;--ff-spacing-1:.25rem;--ff-spacing-1-5:.375rem;--ff-spacing-2:.5rem;--ff-spacing-3:.75rem;--ff-spacing-4:1rem;--ff-spacing-5:1.25rem;--ff-spacing-6:1.5rem;--ff-spacing-8:2rem;--ff-spacing-10:2.5rem;--ff-spacing-12:3rem;--ff-spacing-16:4rem;--ff-radius-sm:.25rem;--ff-radius-md:.375rem;--ff-radius-lg:.5rem;--ff-radius-xl:.75rem;--ff-radius-full:9999px;--ff-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--ff-shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--ff-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--ff-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--ff-transition-fast:.15s ease;--ff-transition-base:.2s ease;--ff-transition-slow:.3s ease;--ff-z-dropdown:50;--ff-z-sticky:100;--ff-z-overlay:200;--ff-z-modal:300;--ff-z-toast:400}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}*,:after,:before{border-color:var(--ff-color-border);box-sizing:border-box}*{margin:0;padding:0}html{hanging-punctuation:first last}body{min-height:100dvh;-webkit-font-smoothing:antialiased}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{color:inherit;font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}a{color:inherit;text-decoration:inherit}ol[role=list],ul[role=list]{list-style:none}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body{background-color:var(--ff-color-bg);font-family:var(--ff-font-sans);font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-normal);line-height:var(--ff-leading-normal)}body,h1,h2,h3,h4,h5,h6{color:var(--ff-color-text)}h1,h2,h3,h4,h5,h6{font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-tight);line-height:var(--ff-leading-tight)}h1{font-size:var(--ff-font-size-3xl)}h2{font-size:var(--ff-font-size-2xl)}h3{font-size:var(--ff-font-size-xl)}h4{font-size:var(--ff-font-size-lg)}h5{font-size:var(--ff-font-size-base)}code,h6,kbd,pre,small{font-size:var(--ff-font-size-sm)}code,kbd,pre{font-family:var(--ff-font-mono)}.ff-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.ff-container{margin-inline:auto;max-width:var(--ff-container-max,1280px);padding-inline:var(--ff-container-padding,var(--ff-spacing-4));width:100%}.ff-stack{display:flex;flex-direction:column;gap:var(--ff-stack-gap,var(--ff-spacing-6))}.ff-grid{display:grid;gap:var(--ff-grid-gap,var(--ff-spacing-6));grid-template-columns:var(--ff-grid-template,1fr)}.ff-cluster{flex-wrap:wrap;gap:var(--ff-cluster-gap,var(--ff-spacing-3))}.ff-center,.ff-cluster{align-items:center;display:flex}.ff-center{justify-content:center}.ff-section{padding-block:var(--ff-section-padding,var(--ff-spacing-10))}.ff-input{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);color:var(--ff-color-text);display:block;font-family:var(--ff-font-sans);font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-normal);line-height:var(--ff-leading-normal);outline:none;transition:border-color var(--ff-transition-fast),box-shadow var(--ff-transition-fast);width:100%}.ff-input--sm{font-size:var(--ff-font-size-sm);height:2.5rem;padding:var(--ff-spacing-1-5) var(--ff-spacing-3)}.ff-input--md{font-size:var(--ff-font-size-base);height:3rem;padding:var(--ff-spacing-2) var(--ff-spacing-4)}.ff-input--lg{font-size:var(--ff-font-size-lg);height:3.5rem;padding:var(--ff-spacing-3) var(--ff-spacing-4)}.ff-input::-moz-placeholder{color:var(--ff-color-text-muted)}.ff-input::placeholder{color:var(--ff-color-text-muted)}.ff-input:hover:not(:disabled):not(.is-readonly){border-color:var(--ff-color-neutral-400)}.ff-input:focus-visible{border-color:var(--ff-color-border-focus);box-shadow:0 0 0 2px var(--ff-color-primary-subtle)}.ff-input.is-invalid{border-color:var(--ff-color-danger)}.ff-input.is-invalid:focus-visible{box-shadow:0 0 0 2px var(--ff-color-danger-subtle)}.ff-input:disabled{cursor:not-allowed;opacity:.5}.ff-input.is-readonly,.ff-input:disabled{background-color:var(--ff-color-bg-muted)}.ff-input.ff-input--has-icon-left{padding-left:var(--ff-spacing-10)}.ff-input.ff-input--has-icon-right{padding-right:var(--ff-spacing-10)}.ff-input[type=file]{padding:var(--ff-spacing-2) var(--ff-spacing-3)}.ff-input[type=file]::file-selector-button{background:transparent;border:0;color:var(--ff-color-text);cursor:pointer;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);margin-right:var(--ff-spacing-2)}.ff-input--date{cursor:pointer}.ff-input--date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;padding:var(--ff-spacing-1)}.ff-input-password{align-items:center;display:flex;position:relative}.ff-input-password>.ff-input{padding-right:var(--ff-spacing-12)}.ff-input-password__toggle{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text-secondary);cursor:pointer;display:inline-flex;height:2.75rem;justify-content:center;padding:0;position:absolute;right:var(--ff-spacing-1);transition:color var(--ff-transition-fast),background-color var(--ff-transition-fast);width:2.75rem}.ff-input-password__toggle:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-input-password__icon{height:1.25rem;width:1.25rem}.ff-input-email{align-items:center;display:flex;position:relative}.ff-input-email__icon{color:var(--ff-color-text-muted);height:1.25rem;left:var(--ff-spacing-3);pointer-events:none;position:absolute;width:1.25rem;z-index:1}.ff-btn{align-items:center;border:1px solid transparent;cursor:pointer;display:inline-flex;font-family:var(--ff-font-sans);font-weight:var(--ff-font-weight-medium);gap:var(--ff-spacing-2);justify-content:center;line-height:var(--ff-leading-none);outline:none;transition:background-color var(--ff-transition-fast),color var(--ff-transition-fast),border-color var(--ff-transition-fast),box-shadow var(--ff-transition-fast),opacity var(--ff-transition-fast);white-space:nowrap}.ff-btn :is(svg){flex-shrink:0;height:1.25rem;pointer-events:none;width:1.25rem}.ff-btn--sm{border-radius:var(--ff-radius-md);font-size:var(--ff-font-size-sm);height:2.5rem;padding:var(--ff-spacing-1-5) var(--ff-spacing-3)}.ff-btn--md{font-size:var(--ff-font-size-base);height:3rem;padding:var(--ff-spacing-2) var(--ff-spacing-5)}.ff-btn--lg,.ff-btn--md{border-radius:var(--ff-radius-lg)}.ff-btn--lg{font-size:var(--ff-font-size-lg);height:3.5rem;padding:var(--ff-spacing-3) var(--ff-spacing-8)}.ff-btn--icon{border-radius:var(--ff-radius-lg);height:3rem;padding:0;width:3rem}.ff-btn--sm.ff-btn--icon{height:2.5rem;width:2.5rem}.ff-btn--primary{background-color:var(--ff-color-primary);border-color:var(--ff-color-primary);color:var(--ff-color-on-primary)}.ff-btn--primary:hover:not(:disabled){background-color:var(--ff-color-primary-hover);border-color:var(--ff-color-primary-hover)}.ff-btn--secondary{background-color:var(--ff-color-neutral-200);border-color:var(--ff-color-neutral-200);color:var(--ff-color-neutral-700)}.ff-btn--secondary:hover:not(:disabled){background-color:var(--ff-color-neutral-300);border-color:var(--ff-color-neutral-300)}.ff-btn--outline{background-color:var(--ff-color-bg-elevated);border-color:var(--ff-color-border);color:var(--ff-color-text)}.ff-btn--outline:hover:not(:disabled){background-color:var(--ff-color-bg-muted);border-color:var(--ff-color-neutral-400)}.ff-btn--ghost{background-color:transparent;border-color:transparent;color:var(--ff-color-text)}.ff-btn--ghost:hover:not(:disabled){background-color:var(--ff-color-bg-muted)}.ff-btn--danger{background-color:var(--ff-color-danger);border-color:var(--ff-color-danger);color:var(--ff-color-on-danger)}.ff-btn--danger:hover:not(:disabled){background-color:var(--ff-color-danger-hover);border-color:var(--ff-color-danger-hover)}.ff-btn--link{background-color:transparent;border-color:transparent;color:var(--ff-color-primary);text-decoration:underline;text-underline-offset:4px}.ff-btn--link:hover:not(:disabled){color:var(--ff-color-primary-hover)}.ff-btn:focus-visible{box-shadow:0 0 0 2px var(--ff-color-bg-elevated),0 0 0 4px var(--ff-color-primary-outline)}.ff-btn--danger:focus-visible{box-shadow:0 0 0 2px var(--ff-color-bg-elevated),0 0 0 4px var(--ff-color-danger)}.ff-btn.is-disabled,.ff-btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.ff-btn.is-loading{color:transparent;pointer-events:none;position:relative}.ff-btn__spinner{animation:ff-btn-spin .6s linear infinite;border:2px solid;border-radius:var(--ff-radius-full);border-right:2px solid transparent;height:1.25rem;position:absolute;width:1.25rem}.ff-btn.is-loading .ff-btn__spinner{color:var(--ff-color-on-primary)}.ff-btn--ghost.is-loading .ff-btn__spinner,.ff-btn--outline.is-loading .ff-btn__spinner,.ff-btn--secondary.is-loading .ff-btn__spinner{color:var(--ff-color-text-secondary)}@keyframes ff-btn-spin{to{transform:rotate(1turn)}}.ff-entry{align-items:center;background:radial-gradient(ellipse at 20% 15%,#1f3451 0,transparent 55%),radial-gradient(ellipse at 85% 80%,#192a4d 0,transparent 55%),linear-gradient(180deg,#131720,#0e121b);display:flex;isolation:isolate;justify-content:center;min-height:100dvh;overflow:hidden;padding:var(--ff-spacing-6);position:relative}.ff-entry__bg{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:-1}.ff-entry__blob{border-radius:50%;filter:blur(80px);height:32rem;opacity:.45;position:absolute;width:32rem;will-change:transform}.ff-entry__blob--1{animation:ff-entry-drift-1 22s ease-in-out infinite;background:radial-gradient(circle,#2b7cee,transparent 70%);left:-6rem;top:-8rem}.ff-entry__blob--2{animation:ff-entry-drift-2 28s ease-in-out infinite;background:radial-gradient(circle,#a73cdd,transparent 70%);bottom:-10rem;right:-8rem}.ff-entry__blob--3{animation:ff-entry-drift-3 32s ease-in-out infinite;background:radial-gradient(circle,#30bae8,transparent 70%);height:22rem;opacity:.35;right:15%;top:30%;width:22rem}@keyframes ff-entry-drift-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(8rem,4rem) scale(1.1)}66%{transform:translate(4rem,10rem) scale(.95)}}@keyframes ff-entry-drift-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-10rem,-6rem) scale(1.15)}}@keyframes ff-entry-drift-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-6rem,6rem) scale(1.1)}}.ff-entry__arrow{animation:ff-entry-fly 14s linear infinite;animation-delay:calc(var(--i, 0)*-2.2s);background-color:currentColor;color:#75a8f0cc;filter:drop-shadow(0 0 12px hsl(215 80% 60%/.5));height:3rem;left:-8rem;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 8L22 12L18 16'/><path d='M2 12H22'/></svg>") no-repeat center /contain;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 8L22 12L18 16'/><path d='M2 12H22'/></svg>") no-repeat center /contain;opacity:0;position:absolute;top:calc(var(--i, 0)*13% + 5%);transform:rotate(-8deg);width:3rem}.ff-entry__arrow:nth-child(2n){animation-duration:18s;color:#75d1f0b3;filter:drop-shadow(0 0 10px hsl(195 90% 55%/.5));height:2rem;width:2rem}.ff-entry__arrow:nth-child(3n){animation-duration:16s;color:#ffffff80;filter:drop-shadow(0 0 8px hsl(215 50% 90%/.35));height:2.5rem;width:2.5rem}@keyframes ff-entry-fly{0%{opacity:0;transform:translate(0) rotate(-8deg)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translate(calc(100vw + 16rem),-6rem) rotate(-8deg)}}@media(prefers-reduced-motion:reduce){.ff-entry__arrow,.ff-entry__blob{animation:none}.ff-entry__arrow{display:none}}.ff-entry__loader{align-items:center;display:flex;flex-direction:column;gap:var(--ff-spacing-4)}.ff-entry__status{color:#ffffffbf;font-size:var(--ff-font-size-base)}.ff-entry>form,.ff-entry__loader{position:relative;z-index:1}.ff-entry__field{display:flex;flex-direction:column;gap:var(--ff-spacing-1-5)}.ff-entry__label{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium)}.ff-entry__error{color:var(--ff-color-danger);font-size:var(--ff-font-size-sm);text-align:center}.ff-spinner{animation:ff-spin .7s linear infinite;border:3px solid var(--ff-color-border);border-radius:var(--ff-radius-full);border-top-color:var(--ff-color-primary);display:inline-block;height:2.5rem;width:2.5rem}.ff-spinner--sm{border-width:2px;height:1.25rem;width:1.25rem}.ff-auth-card{background-color:var(--ff-color-sidebar-bg);border:1px solid var(--ff-color-sidebar-border);border-radius:var(--ff-radius-xl);box-shadow:var(--ff-shadow-lg);color:var(--ff-color-sidebar-text);display:flex;flex-direction:column;gap:var(--ff-spacing-5);max-width:26rem;padding:var(--ff-spacing-8);width:100%}.ff-auth-card__header{align-items:center;display:flex;flex-direction:column;gap:var(--ff-spacing-3);text-align:center}.ff-auth-card__logo{height:3.5rem;max-width:80%;-o-object-fit:contain;object-fit:contain;width:auto}.ff-auth-card__title{color:var(--ff-color-sidebar-text);font-size:var(--ff-font-size-2xl);font-weight:var(--ff-font-weight-bold);letter-spacing:var(--ff-tracking-tight)}.ff-auth-card__subtitle{color:var(--ff-color-sidebar-text-muted);font-size:var(--ff-font-size-sm);line-height:var(--ff-leading-normal)}.ff-auth-card .ff-entry__label{color:var(--ff-color-sidebar-text)}.ff-auth-card form>.ff-btn,.ff-auth-card>.ff-btn{width:100%}.ff-auth-overlay{align-items:center;background-color:var(--ff-color-bg-overlay);display:flex;inset:0;justify-content:center;padding:var(--ff-spacing-6);position:fixed;z-index:var(--ff-z-modal)}.ff-overlay-fade-enter-active,.ff-overlay-fade-leave-active{transition:opacity var(--ff-transition-base)}.ff-overlay-fade-enter-active .ff-auth-card,.ff-overlay-fade-leave-active .ff-auth-card{transition:transform var(--ff-transition-base)}.ff-overlay-fade-enter-from,.ff-overlay-fade-leave-to{opacity:0}.ff-overlay-fade-enter-from .ff-auth-card,.ff-overlay-fade-leave-to .ff-auth-card{transform:scale(.95) translateY(var(--ff-spacing-4))}.ff-app-shell{display:flex;height:100dvh;overflow:hidden;--ff-sidebar-width:16rem;--ff-header-height:4rem;--ff-pagination-height:3rem}.ff-app-shell.is-sidebar-collapsed{--ff-sidebar-width:4.5rem}.ff-app-shell__main{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.ff-app-shell__content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.ff-app-shell__content--padded{overflow-y:auto;padding:var(--ff-spacing-6)}.ff-sidebar{background-color:var(--ff-color-sidebar-bg);border-right:1px solid var(--ff-color-sidebar-border);color:var(--ff-color-sidebar-text);display:flex;flex-direction:column;flex-shrink:0;height:100dvh;overflow:hidden;transition:width var(--ff-transition-base);width:16rem}.ff-sidebar.is-collapsed{width:4.5rem}.ff-sidebar__logo{align-items:center;border-bottom:1px solid var(--ff-color-sidebar-border);display:flex;flex-shrink:0;justify-content:center;padding:var(--ff-spacing-4)}.ff-sidebar__logo-img{display:block;height:3.5rem;-o-object-fit:contain;object-fit:contain;width:auto}.ff-sidebar__nav{display:flex;flex:1;flex-direction:column;gap:var(--ff-spacing-1);overflow-y:auto;padding:var(--ff-spacing-3) var(--ff-spacing-2)}.ff-sidebar__item{align-items:center;border-radius:var(--ff-radius-lg);color:var(--ff-color-sidebar-text);display:flex;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);gap:var(--ff-spacing-3);height:3rem;padding:0 var(--ff-spacing-3);text-decoration:none;transition:background-color var(--ff-transition-fast),color var(--ff-transition-fast);white-space:nowrap}.ff-sidebar__item:hover{background-color:var(--ff-color-sidebar-accent);color:var(--ff-color-neutral-0)}.ff-sidebar__item.is-active{background-color:var(--ff-color-sidebar-accent);color:var(--ff-color-sidebar-primary)}.ff-sidebar__icon{flex-shrink:0;height:1.25rem;width:1.25rem}.ff-sidebar__label{overflow:hidden;text-overflow:ellipsis}.ff-sidebar__footer{align-items:center;border-top:1px solid var(--ff-color-sidebar-border);display:flex;flex-shrink:0;gap:var(--ff-spacing-2);justify-content:space-between;padding:var(--ff-spacing-3) var(--ff-spacing-3)}.ff-sidebar.is-collapsed .ff-sidebar__footer{flex-direction:column;gap:var(--ff-spacing-2)}.ff-sidebar__status{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-sidebar__dot{border-radius:var(--ff-radius-full);display:block;flex-shrink:0;height:.625rem;width:.625rem}.ff-sidebar__dot--online{background-color:var(--ff-color-success)}.ff-sidebar__dot--offline{background-color:var(--ff-color-danger)}.ff-sidebar__sync-time{color:var(--ff-color-sidebar-text-muted);font-size:var(--ff-font-size-xs);white-space:nowrap}.ff-sidebar__toggle{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-sidebar-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;transition:color var(--ff-transition-fast),background-color var(--ff-transition-fast);width:2.5rem}.ff-sidebar__toggle:hover{background-color:var(--ff-color-sidebar-accent);color:var(--ff-color-neutral-0)}.ff-header{background-color:var(--ff-color-bg-elevated);border-bottom:1px solid var(--ff-color-border);flex-shrink:0;gap:var(--ff-spacing-4);height:4rem;justify-content:space-between;padding:0 var(--ff-spacing-6)}.ff-header,.ff-header__left{align-items:center;display:flex}.ff-header__left{gap:var(--ff-spacing-6);min-width:0}.ff-header__titles{display:flex;flex-direction:column;min-width:0}.ff-header__title{color:var(--ff-color-text);font-size:var(--ff-font-size-lg);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-tight);line-height:var(--ff-leading-tight)}.ff-header__subtitle,.ff-header__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-header__subtitle{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm)}.ff-header__actions{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-header__actions-group{align-items:center;display:flex;gap:var(--ff-spacing-1)}.ff-header__actions-separator{background-color:var(--ff-color-border);height:1.5rem;margin:0 var(--ff-spacing-2);width:1px}.ff-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--ff-spacing-4)}.ff-header__icon-btn{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-lg);color:var(--ff-color-text-secondary);cursor:pointer;display:flex;height:2.75rem;justify-content:center;position:relative;transition:background-color var(--ff-transition-fast),color var(--ff-transition-fast);width:2.75rem}.ff-header__icon-btn:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-header__icon{height:1.25rem;width:1.25rem}.ff-header__icon-btn-dot{background-color:var(--ff-color-primary);border-radius:var(--ff-radius-full);box-shadow:0 0 0 2px var(--ff-color-bg);height:.5rem;pointer-events:none;position:absolute;right:.5rem;top:.5rem;width:.5rem}.ff-header__icon-btn.is-spinning{cursor:default}.ff-header__icon-btn.is-spinning .ff-header__icon{animation:ff-spin .7s linear infinite}.ff-header__badge{align-items:center;background-color:var(--ff-color-primary);border-radius:var(--ff-radius-full);color:var(--ff-color-on-primary);display:flex;font-size:.625rem;font-weight:var(--ff-font-weight-bold);height:1.125rem;justify-content:center;line-height:1;min-width:1.125rem;padding:0 var(--ff-spacing-1);position:absolute;right:var(--ff-spacing-0-5);top:var(--ff-spacing-0-5)}.ff-header__search{align-items:center;display:flex;position:relative}.ff-header__search-icon{color:var(--ff-color-text-tertiary);height:1rem;left:var(--ff-spacing-2);pointer-events:none;position:absolute;width:1rem}.ff-header__search-input{padding-left:var(--ff-spacing-8);width:16rem}.ff-header__user{align-items:center;display:flex;gap:var(--ff-spacing-3)}.ff-header__avatar{align-items:center;background-color:var(--ff-color-neutral-200);border-radius:var(--ff-radius-full);color:var(--ff-color-text-secondary);display:flex;height:2.25rem;justify-content:center;width:2.25rem}.ff-header__avatar-icon{height:1.125rem;width:1.125rem}.ff-header__user-name{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);white-space:nowrap}.ff-user-popover{display:flex;flex-direction:column;gap:var(--ff-spacing-3);min-width:16rem}.ff-user-popover__info{display:flex;flex-direction:column;gap:var(--ff-spacing-2)}.ff-user-popover__row{display:flex;font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-2);line-height:var(--ff-leading-normal)}.ff-user-popover__label{color:var(--ff-color-text-secondary);flex-shrink:0}.ff-user-popover__value{color:var(--ff-color-text);font-weight:var(--ff-font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-user-popover__divider{background-color:var(--ff-color-border-light);height:1px}.ff-user-popover__logout{color:var(--ff-color-danger);justify-content:flex-start;width:100%}.ff-user-popover__logout:hover{color:var(--ff-color-danger-hover)}.ff-user-popover__logout-icon{height:1rem;width:1rem}.ff-popover{position:relative}.ff-popover__trigger{cursor:pointer}.ff-popover__content{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-xl);box-shadow:var(--ff-shadow-lg);min-width:14rem;padding:var(--ff-spacing-4);position:absolute;z-index:var(--ff-z-dropdown)}.ff-popover__content--below-start{left:0;top:calc(100% + var(--ff-spacing-2))}.ff-popover__content--below-end{right:0;top:calc(100% + var(--ff-spacing-2))}.ff-popover__content--side-start{bottom:0;left:calc(100% + var(--ff-spacing-2))}.ff-popover__content--side-end{bottom:0;right:calc(100% + var(--ff-spacing-2))}.ff-popover__content--above-start{bottom:calc(100% + var(--ff-spacing-2));left:0}.ff-popover__content--above-end{bottom:calc(100% + var(--ff-spacing-2));right:0}.ff-popover-fade-enter-active,.ff-popover-fade-leave-active{transition:opacity var(--ff-transition-fast),transform var(--ff-transition-fast)}.ff-popover-fade-enter-from,.ff-popover-fade-leave-to{opacity:0;transform:scale(.97)}.ff-badge{align-items:center;display:inline-flex;font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-medium);gap:var(--ff-spacing-1);line-height:var(--ff-leading-normal);padding:var(--ff-spacing-0-5) var(--ff-spacing-2);white-space:nowrap}.ff-badge,.ff-badge:before{border-radius:var(--ff-radius-full)}.ff-badge:before{content:"";display:block;flex-shrink:0;height:.375rem;width:.375rem}.ff-badge--default{background-color:var(--ff-color-neutral-100);color:var(--ff-color-text-secondary)}.ff-badge--default:before{background-color:var(--ff-color-neutral-400)}.ff-badge--success{background-color:var(--ff-color-success-subtle);color:var(--ff-color-success)}.ff-badge--success:before{background-color:var(--ff-color-success)}.ff-badge--danger{background-color:var(--ff-color-danger-subtle);color:var(--ff-color-danger)}.ff-badge--danger:before{background-color:var(--ff-color-danger)}.ff-badge--warning{background-color:var(--ff-color-warning-subtle);color:var(--ff-color-warning)}.ff-badge--warning:before{background-color:var(--ff-color-warning)}.ff-badge--info{background-color:var(--ff-color-info-subtle);color:var(--ff-color-info)}.ff-badge--info:before{background-color:var(--ff-color-info)}.ff-checkbox{align-items:center;cursor:pointer;display:flex;gap:var(--ff-spacing-3);min-height:2.75rem;-webkit-tap-highlight-color:transparent}.ff-checkbox__input{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}.ff-checkbox__box{align-items:center;background-color:var(--ff-color-bg-elevated);border:2px solid var(--ff-color-border);border-radius:var(--ff-radius-sm);display:flex;flex-shrink:0;height:1.25rem;justify-content:center;transition:background-color var(--ff-transition-fast),border-color var(--ff-transition-fast);width:1.25rem}.ff-checkbox__input:checked+.ff-checkbox__box{background-color:var(--ff-color-primary);border-color:var(--ff-color-primary)}.ff-checkbox__input:checked+.ff-checkbox__box:after{border:solid var(--ff-color-neutral-0);border-width:0 2px 2px 0;content:"";display:block;height:.625rem;transform:rotate(45deg) translateY(-1px);width:.375rem}.ff-checkbox__input:focus-visible+.ff-checkbox__box{box-shadow:0 0 0 2px var(--ff-color-bg-elevated),0 0 0 4px var(--ff-color-primary-outline)}.ff-checkbox__label{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);line-height:var(--ff-leading-normal)}.ff-table-wrap{background-color:var(--ff-color-bg-elevated);height:calc(100dvh - var(--ff-header-height, 4rem) - var(--ff-pagination-height, 3rem));overflow:auto;width:calc(100vw - var(--ff-sidebar-width, 16rem))}.ff-table{border-collapse:collapse;min-width:100%}.ff-table__head{background-color:var(--ff-color-bg-muted);position:sticky;top:0;z-index:1}.ff-table__th{border-bottom:1px solid var(--ff-color-border);color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);padding:var(--ff-spacing-1) var(--ff-spacing-4);text-align:left;text-transform:uppercase;vertical-align:top;white-space:nowrap}.ff-table__th--center{text-align:center}.ff-table__th--center .ff-table__th-content{align-items:center}.ff-table__th--center .ff-table__th-actions{justify-content:center}.ff-table__th--right{text-align:right}.ff-table__th--right .ff-table__th-content{align-items:flex-end}.ff-table__th--right .ff-table__th-actions{justify-content:flex-end}.ff-table__th-content{display:flex;flex-direction:column;gap:var(--ff-spacing-0-5)}.ff-table__th-label{line-height:var(--ff-leading-normal);min-width:0;overflow:hidden;padding-top:var(--ff-spacing-1);text-overflow:ellipsis}.ff-table__th-actions,.ff-table__th-btn{align-items:center;display:flex}.ff-table__th-btn{background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text-muted);cursor:pointer;height:2.75rem;justify-content:center;padding:0;transition:color var(--ff-transition-fast),background-color var(--ff-transition-fast);width:2.75rem}.ff-table__th-btn:active{background-color:var(--ff-color-neutral-200);color:var(--ff-color-text)}@media(hover:hover){.ff-table__th-btn:hover{background-color:var(--ff-color-neutral-200);color:var(--ff-color-text)}}.ff-table__th-btn.is-active{color:var(--ff-color-primary)}.ff-table__th-btn.is-active:active{color:var(--ff-color-primary-hover)}@media(hover:hover){.ff-table__th-btn.is-active:hover{color:var(--ff-color-primary-hover)}}.ff-table__th-icon{height:1rem;width:1rem}.ff-table__th-sort-index{color:var(--ff-color-primary);font-size:.625rem;font-weight:var(--ff-font-weight-bold);line-height:1;min-width:.75rem;text-align:center}.ff-table__row{transition:background-color var(--ff-transition-fast)}.ff-table__row:nth-child(2n){background-color:var(--ff-color-neutral-50)}.ff-table__row:not(.ff-table__row--empty):hover{background-color:var(--ff-color-neutral-100)}.ff-table__row--clickable{cursor:pointer}.ff-table__td{border-bottom:1px solid var(--ff-color-border-light);color:var(--ff-color-text);font-size:var(--ff-font-size-sm);height:2.625rem;overflow:hidden;padding:0 var(--ff-spacing-4);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.ff-table__td--center{text-align:center}.ff-table__td--right{text-align:right}.ff-table__td--empty{color:var(--ff-color-text-muted);height:auto;padding:var(--ff-spacing-10) var(--ff-spacing-4);text-align:center}.ff-table__td--loading-more{height:auto;padding:var(--ff-spacing-4);text-align:center}.ff-table__sentinel{height:1px;visibility:hidden}.ff-table__skeleton{animation:ff-skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--ff-color-neutral-100) 25%,var(--ff-color-neutral-200) 50%,var(--ff-color-neutral-100) 75%);background-size:200% 100%;border-radius:var(--ff-radius-sm);display:block;height:1rem;width:70%}@keyframes ff-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ff-pagination{align-items:center;background-color:var(--ff-color-bg-elevated);border-top:1px solid var(--ff-color-border);display:flex;flex-shrink:0;height:3rem;justify-content:space-between;padding:0 var(--ff-spacing-4)}.ff-pagination__left{align-items:center;display:flex;flex:1;gap:var(--ff-spacing-3)}.ff-pagination__center{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-pagination__right{display:flex;flex:1;justify-content:flex-end}.ff-pagination__info{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm);white-space:nowrap}.ff-pagination__btn{align-items:center;background:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);color:var(--ff-color-text);cursor:pointer;display:flex;height:2rem;justify-content:center;transition:background-color var(--ff-transition-fast),border-color var(--ff-transition-fast);width:2rem}.ff-pagination__btn:hover:not(:disabled){background-color:var(--ff-color-bg-muted);border-color:var(--ff-color-neutral-400)}.ff-pagination__btn:disabled{cursor:not-allowed;opacity:.4}.ff-pagination__icon{height:1rem;width:1rem}.ff-pagination__current{min-width:3rem;text-align:center}.ff-pagination__current,.ff-pagination__per-page-btn{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium)}.ff-pagination__per-page-btn{align-items:center;background:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);cursor:pointer;display:flex;font-family:var(--ff-font-sans);gap:var(--ff-spacing-1);height:2.25rem;padding:0 var(--ff-spacing-3);transition:background-color var(--ff-transition-fast),border-color var(--ff-transition-fast)}.ff-pagination__per-page-btn:active{background-color:var(--ff-color-bg-muted)}@media(hover:hover){.ff-pagination__per-page-btn:hover{background-color:var(--ff-color-bg-muted);border-color:var(--ff-color-neutral-400)}}.ff-pagination__per-page-icon{color:var(--ff-color-text-muted);height:.875rem;width:.875rem}.ff-pagination__per-page-list{display:flex;flex-direction:column;min-width:4rem}.ff-pagination__per-page-option{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text);cursor:pointer;display:flex;font-family:var(--ff-font-sans);font-size:var(--ff-font-size-sm);height:2.75rem;justify-content:center;padding:0 var(--ff-spacing-4);transition:background-color var(--ff-transition-fast)}.ff-pagination__per-page-option:active{background-color:var(--ff-color-primary-subtle)}@media(hover:hover){.ff-pagination__per-page-option:hover{background-color:var(--ff-color-bg-muted)}}.ff-pagination__per-page-option.is-active{color:var(--ff-color-primary);font-weight:var(--ff-font-weight-semibold)}.ff-modal{align-items:center;background-color:var(--ff-color-bg-overlay);display:flex;inset:0;justify-content:center;padding:var(--ff-spacing-6);position:fixed;z-index:var(--ff-z-modal)}.ff-modal__dialog{background-color:var(--ff-color-bg-elevated);border-radius:var(--ff-radius-xl);box-shadow:var(--ff-shadow-xl);display:flex;flex-direction:column;max-height:calc(100dvh - var(--ff-spacing-12));max-width:48rem;overflow:hidden;width:100%}.ff-modal__header{align-items:center;border-bottom:1px solid var(--ff-color-border);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--ff-spacing-4) var(--ff-spacing-6)}.ff-modal__title{color:var(--ff-color-text);font-size:var(--ff-font-size-lg);font-weight:var(--ff-font-weight-semibold)}.ff-modal__close{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text-secondary);cursor:pointer;display:flex;font-size:var(--ff-font-size-xl);height:2.75rem;justify-content:center;transition:background-color var(--ff-transition-fast);width:2.75rem}.ff-modal__close:active{background-color:var(--ff-color-bg-muted)}.ff-modal__body{flex:1;overflow-y:auto}.ff-modal-fade-enter-active,.ff-modal-fade-leave-active{transition:opacity var(--ff-transition-base)}.ff-modal-fade-enter-active .ff-modal__dialog,.ff-modal-fade-leave-active .ff-modal__dialog{transition:transform var(--ff-transition-base)}.ff-modal-fade-enter-from,.ff-modal-fade-leave-to{opacity:0}.ff-modal-fade-enter-from .ff-modal__dialog,.ff-modal-fade-leave-to .ff-modal__dialog{transform:scale(.95) translateY(var(--ff-spacing-4))}:root.is-keyboard-open .ff-modal{align-items:flex-start;padding-top:var(--ff-spacing-2)}:root.is-keyboard-open .ff-modal__dialog{max-height:calc(var(--ff-viewport-height, 100dvh) - var(--ff-spacing-4))}.ff-customer-picker{align-items:center;display:flex;gap:var(--ff-spacing-1)}.ff-customer-picker__trigger{align-items:center;background:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);color:var(--ff-color-text);cursor:pointer;display:flex;font-family:var(--ff-font-sans);font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-2);height:2.75rem;padding:0 var(--ff-spacing-3);transition:border-color var(--ff-transition-fast),background-color var(--ff-transition-fast);white-space:nowrap}.ff-customer-picker__trigger:active{background-color:var(--ff-color-bg-muted)}.ff-customer-picker__trigger.is-selected{border-color:var(--ff-color-primary)}.ff-customer-picker__icon{color:var(--ff-color-text-secondary);flex-shrink:0;height:1rem;width:1rem}.ff-customer-picker__placeholder{color:var(--ff-color-text-muted)}.ff-customer-picker__value{font-weight:var(--ff-font-weight-medium)}.ff-customer-picker__clear{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text-muted);cursor:pointer;display:flex;height:2.75rem;justify-content:center;width:2.75rem}.ff-customer-picker__clear:active{color:var(--ff-color-danger)}.ff-customer-picker__clear-icon{height:1rem;width:1rem}.ff-customer-modal{display:flex;flex-direction:column}.ff-customer-modal.is-loading{opacity:.6;pointer-events:none}.ff-customer-modal__search{border-bottom:1px solid var(--ff-color-border-light);padding:var(--ff-spacing-4);position:relative}.ff-customer-modal__search-icon{color:var(--ff-color-text-muted);height:1rem;left:calc(var(--ff-spacing-4) + var(--ff-spacing-3));pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:1rem}.ff-customer-modal__input{padding-left:var(--ff-spacing-10)!important;width:100%}.ff-customer-modal__loading{display:flex;justify-content:center;padding:var(--ff-spacing-8)}.ff-customer-modal__empty{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-8);text-align:center}.ff-customer-modal__list{max-height:50dvh;overflow-y:auto}.ff-customer-modal__item{align-items:flex-start;background:transparent;border:none;border-bottom:1px solid var(--ff-color-border-light);cursor:pointer;display:flex;font-family:var(--ff-font-sans);gap:var(--ff-spacing-3);min-height:3.5rem;padding:var(--ff-spacing-3) var(--ff-spacing-4);text-align:left;transition:background-color var(--ff-transition-fast);width:100%}.ff-customer-modal__item:last-child{border-bottom:none}.ff-customer-modal__item:active{background-color:var(--ff-color-primary-subtle)}@media(hover:hover){.ff-customer-modal__item:hover{background-color:var(--ff-color-bg-muted)}}.ff-customer-modal__item.is-selected{background-color:var(--ff-color-primary);color:var(--ff-color-on-primary)}.ff-customer-modal__item.is-selected .ff-customer-modal__item-company,.ff-customer-modal__item.is-selected .ff-customer-modal__item-icon,.ff-customer-modal__item.is-selected .ff-customer-modal__item-vat{color:var(--ff-color-on-primary);opacity:.8}.ff-customer-modal__item-icon{color:var(--ff-color-text-muted);flex-shrink:0;height:1.25rem;margin-top:var(--ff-spacing-0-5);width:1.25rem}.ff-customer-modal__item-info{flex:1;min-width:0}.ff-customer-modal__item-name{font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);line-height:var(--ff-leading-tight)}.ff-customer-modal__item-company{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm);line-height:var(--ff-leading-normal)}.ff-customer-modal__item-vat{color:var(--ff-color-text-muted);font-family:var(--ff-font-mono);font-size:var(--ff-font-size-xs)}:root.is-keyboard-open .ff-customer-modal__list{max-height:calc(var(--ff-viewport-height, 50dvh) - 10rem)}.ff-column-manager{display:flex;flex-direction:column;padding:var(--ff-spacing-2) 0}.ff-column-manager__row{align-items:center;display:flex;gap:var(--ff-spacing-2);padding:var(--ff-spacing-1) var(--ff-spacing-4);transition:opacity var(--ff-transition-fast)}.ff-column-manager__row.is-hidden{opacity:.5}.ff-column-manager__label{color:var(--ff-color-text);flex:1;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium)}.ff-column-manager__arrows{display:flex;gap:var(--ff-spacing-0-5)}.ff-column-manager__btn{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text-secondary);cursor:pointer;display:flex;height:2.75rem;justify-content:center;transition:color var(--ff-transition-fast),background-color var(--ff-transition-fast);width:2.75rem}.ff-column-manager__btn:active{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}@media(hover:hover){.ff-column-manager__btn:hover:not(:disabled){background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}}.ff-column-manager__btn:disabled{cursor:not-allowed;opacity:.3}.ff-column-manager__icon{height:1.125rem;width:1.125rem}.ff-column-manager__icon--off{color:var(--ff-color-text-muted)}.ff-quote-detail__bar{border-bottom:1px solid var(--ff-color-border-light);justify-content:space-between;margin-bottom:var(--ff-spacing-6);padding-bottom:var(--ff-spacing-4)}.ff-quote-detail__bar,.ff-quote-detail__bar-left{align-items:center;display:flex;flex-wrap:wrap;gap:var(--ff-spacing-4)}.ff-quote-detail__bar-right{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-quote-detail__meta{align-items:center;color:var(--ff-color-text-secondary);display:flex;font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-1-5)}.ff-quote-detail__meta-icon{height:.875rem;width:.875rem}.ff-quote-detail__btn-icon{height:1rem;width:1rem}.ff-quote-status-actions{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-quote-detail__top-row{align-items:stretch;display:grid;gap:var(--ff-spacing-6);grid-template-columns:6fr 4fr}.ff-quote-detail__card{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);padding:var(--ff-spacing-5)}.ff-quote-detail__card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--ff-spacing-3)}.ff-quote-detail__card-title{align-items:center;color:var(--ff-color-text);display:flex;font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-2);margin-bottom:var(--ff-spacing-4)}.ff-quote-detail__card-header .ff-quote-detail__card-title{margin-bottom:0}.ff-quote-detail__card-icon{color:var(--ff-color-text-secondary);height:1.125rem;width:1.125rem}.ff-quote-detail__grid{display:grid;gap:var(--ff-spacing-4) var(--ff-spacing-8);grid-template-columns:1fr 1fr}.ff-quote-detail__label{color:var(--ff-color-text-secondary);display:block;font-size:var(--ff-font-size-xs);margin-bottom:var(--ff-spacing-0-5)}.ff-quote-detail__value{color:var(--ff-color-text);display:block;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);overflow-wrap:break-word;word-break:break-word}.ff-quote-detail__items{border-collapse:collapse;width:100%}.ff-quote-detail__items-th{border-bottom:1px solid var(--ff-color-border);color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);padding:var(--ff-spacing-2) var(--ff-spacing-3);text-align:left;text-transform:uppercase}.ff-quote-detail__items-th--right{text-align:right}.ff-quote-detail__items-row{transition:background-color var(--ff-transition-fast)}.ff-quote-detail__items-row:nth-child(2n){background-color:var(--ff-color-neutral-50)}.ff-quote-detail__items-td{border-bottom:1px solid var(--ff-color-border-light);color:var(--ff-color-text);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-3);vertical-align:middle}.ff-quote-detail__items-td--right{text-align:right;white-space:nowrap}.ff-quote-detail__item-name{font-weight:var(--ff-font-weight-medium);overflow-wrap:break-word;word-break:break-word}.ff-quote-detail__item-sku{color:var(--ff-color-text-muted);font-family:var(--ff-font-mono);font-size:var(--ff-font-size-xs)}.ff-quote-detail__dl{display:flex;flex-direction:column;gap:var(--ff-spacing-2)}.ff-quote-detail__dl-row{display:flex;gap:var(--ff-spacing-4);justify-content:space-between}.ff-quote-detail__dl-row dt{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm)}.ff-quote-detail__dl-row dd{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);overflow-wrap:break-word;text-align:right;word-break:break-word}.ff-quote-detail__dl-divider{background-color:var(--ff-color-border-light);height:1px;margin:var(--ff-spacing-1) 0}.ff-quote-detail__dl-total{border-top:1px solid var(--ff-color-border);display:flex;gap:var(--ff-spacing-4);justify-content:space-between;padding-top:var(--ff-spacing-2)}.ff-quote-detail__dl-total dt{color:var(--ff-color-text);font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-semibold)}.ff-quote-detail__dl-total dd{color:var(--ff-color-primary);font-size:var(--ff-font-size-lg);font-weight:var(--ff-font-weight-bold)}.ff-quote-detail__text{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);overflow-wrap:break-word;word-break:break-word}.ff-quote-detail__text--muted{color:var(--ff-color-text-muted)}.ff-quote-detail__comments{display:flex;flex-direction:column;gap:var(--ff-spacing-3)}.ff-quote-detail__comment{background-color:var(--ff-color-bg-muted);border-radius:var(--ff-radius-lg);padding:var(--ff-spacing-3)}.ff-quote-detail__comment--customer{background-color:var(--ff-color-primary-subtle)}.ff-quote-detail__comment-meta{display:flex;gap:var(--ff-spacing-2);justify-content:space-between;margin-bottom:var(--ff-spacing-1)}.ff-quote-detail__comment-author{color:var(--ff-color-text);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold)}.ff-quote-detail__comment-date{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}.ff-quote-detail__comment-text{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);overflow-wrap:break-word;word-break:break-word}.ff-quote-detail__doc-row{align-items:center;border-bottom:1px solid var(--ff-color-border-light);display:flex;justify-content:space-between;padding:var(--ff-spacing-2) 0}.ff-quote-detail__doc-row:last-child{border-bottom:none}.ff-quote-detail__doc-name{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium)}.ff-quote-detail__doc-date{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}:root.is-keyboard-open .ff-quote-detail__stack>.ff-quote-detail__card:last-child,:root.is-keyboard-open [data-scroll-target]{margin-bottom:calc(var(--ff-viewport-height, 100dvh) - var(--ff-header-height))}.ff-select{position:relative}.ff-select__trigger{align-items:center;background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);color:var(--ff-color-text);cursor:pointer;display:flex;font-family:var(--ff-font-sans);font-weight:var(--ff-font-weight-normal);gap:var(--ff-spacing-2);justify-content:space-between;line-height:var(--ff-leading-normal);outline:none;text-align:left;transition:border-color var(--ff-transition-fast),box-shadow var(--ff-transition-fast);width:100%}.ff-select--sm .ff-select__trigger{font-size:var(--ff-font-size-sm);height:2.5rem;padding:var(--ff-spacing-1-5) var(--ff-spacing-3)}.ff-select--md .ff-select__trigger{font-size:var(--ff-font-size-base);height:3rem;padding:var(--ff-spacing-2) var(--ff-spacing-4)}.ff-select--lg .ff-select__trigger{font-size:var(--ff-font-size-lg);height:3.5rem;padding:var(--ff-spacing-3) var(--ff-spacing-4)}.ff-select__trigger:active:not(:disabled){background-color:var(--ff-color-bg-muted)}@media(hover:hover){.ff-select__trigger:hover:not(:disabled){border-color:var(--ff-color-neutral-400)}}.ff-select__trigger:focus-visible{border-color:var(--ff-color-border-focus);box-shadow:0 0 0 2px var(--ff-color-primary-subtle)}.ff-select__trigger.is-open{border-color:var(--ff-color-border-focus);box-shadow:0 0 0 2px var(--ff-color-primary-subtle)}.ff-select__trigger.is-placeholder{color:var(--ff-color-text-muted)}.ff-select__trigger:disabled{background-color:var(--ff-color-bg-muted);cursor:not-allowed;opacity:.5}.ff-select.is-disabled{pointer-events:none}.ff-select__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-select__secondary{color:var(--ff-color-text-muted)}.ff-select__chevron{color:var(--ff-color-text-secondary);flex-shrink:0;height:1.125rem;transition:transform var(--ff-transition-fast);width:1.125rem}.ff-select__trigger.is-open .ff-select__chevron{transform:rotate(180deg)}.ff-select__list{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-lg);left:0;max-height:20rem;overflow-y:auto;padding:var(--ff-spacing-1) 0;position:absolute;right:0;top:calc(100% + var(--ff-spacing-1));z-index:var(--ff-z-dropdown)}.ff-select__option{align-items:center;background:transparent;border:none;color:var(--ff-color-text);cursor:pointer;display:flex;font-family:var(--ff-font-sans);font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-3);justify-content:space-between;min-height:3rem;padding:var(--ff-spacing-2) var(--ff-spacing-4);text-align:left;transition:background-color var(--ff-transition-fast);width:100%}.ff-select__option:active{background-color:var(--ff-color-primary-subtle)}@media(hover:hover){.ff-select__option:hover{background-color:var(--ff-color-bg-muted)}}.ff-select__option.is-focused{background-color:var(--ff-color-bg-muted)}.ff-select__option.is-selected{background-color:var(--ff-color-primary);color:var(--ff-color-on-primary);font-weight:var(--ff-font-weight-medium)}.ff-select__option.is-selected .ff-select__option-secondary{color:var(--ff-color-on-primary);opacity:.8}.ff-select__option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-select__option-secondary{color:var(--ff-color-text-muted);flex-shrink:0;font-size:var(--ff-font-size-xs)}.ff-address-modal{display:flex;flex-direction:column}.ff-address-modal__actions{border-bottom:1px solid var(--ff-color-border-light);display:flex;justify-content:flex-end;padding:var(--ff-spacing-3) var(--ff-spacing-4)}.ff-address-modal__btn-icon{height:1rem;width:1rem}.ff-address-modal__list{max-height:50dvh;overflow-y:auto}.ff-address-modal__item{align-items:flex-start;background:transparent;border:none;border-bottom:1px solid var(--ff-color-border-light);cursor:pointer;display:flex;font-family:var(--ff-font-sans);gap:var(--ff-spacing-3);min-height:3.5rem;padding:var(--ff-spacing-3) var(--ff-spacing-4);text-align:left;transition:background-color var(--ff-transition-fast);width:100%}.ff-address-modal__item:last-child{border-bottom:none}.ff-address-modal__item:active{background-color:var(--ff-color-primary-subtle)}@media(hover:hover){.ff-address-modal__item:hover{background-color:var(--ff-color-bg-muted)}}.ff-address-modal__item.is-selected{background-color:var(--ff-color-primary);color:var(--ff-color-on-primary)}.ff-address-modal__item.is-selected .ff-address-modal__item-company,.ff-address-modal__item.is-selected .ff-address-modal__item-icon{color:var(--ff-color-on-primary);opacity:.8}.ff-address-modal__item.is-selected .ff-address-modal__icon-btn{border-color:#ffffff4d;color:var(--ff-color-on-primary)}.ff-address-modal__item-icon{color:var(--ff-color-text-muted);flex-shrink:0;height:1.25rem;margin-top:var(--ff-spacing-0-5);width:1.25rem}.ff-address-modal__item-info{display:flex;flex:1;flex-direction:column;gap:var(--ff-spacing-0-5);min-width:0}.ff-address-modal__item-company{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-address-modal__item-label{font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);line-height:var(--ff-leading-normal)}.ff-address-modal__item-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--ff-spacing-1)}.ff-address-modal__icon-btn{align-items:center;background:transparent;border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);color:var(--ff-color-text-secondary);cursor:pointer;display:inline-flex;height:2.5rem;justify-content:center;transition:color var(--ff-transition-fast),background-color var(--ff-transition-fast);width:2.5rem}.ff-address-modal__icon-btn:active{background-color:var(--ff-color-bg-muted)}@media(hover:hover){.ff-address-modal__icon-btn:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-address-modal__icon-btn--danger:hover{background-color:var(--ff-color-danger-subtle);border-color:var(--ff-color-danger);color:var(--ff-color-danger)}}.ff-address-modal__icon-btn-icon{height:1rem;width:1rem}.ff-address-modal__empty{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-8);text-align:center}.ff-address-modal__form-header{padding:var(--ff-spacing-4) var(--ff-spacing-4) 0}.ff-address-modal__form-title{color:var(--ff-color-text);font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-semibold)}.ff-address-modal__error{background-color:var(--ff-color-danger-subtle);border:1px solid var(--ff-color-danger);border-radius:var(--ff-radius-md);color:var(--ff-color-danger);font-size:var(--ff-font-size-sm);margin:var(--ff-spacing-3) var(--ff-spacing-4) 0;padding:var(--ff-spacing-3)}.ff-address-modal__form{display:flex;flex-direction:column;gap:var(--ff-spacing-4);padding:var(--ff-spacing-4)}.ff-address-modal__form-row{display:grid;gap:var(--ff-spacing-4);grid-template-columns:1fr 1fr}.ff-address-modal__field{display:flex;flex-direction:column;gap:var(--ff-spacing-1-5)}.ff-address-modal__field--zipcode{max-width:10rem}.ff-address-modal__field--city{flex:1}.ff-address-modal__field-label{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-address-modal__form-actions{border-top:1px solid var(--ff-color-border-light);display:flex;gap:var(--ff-spacing-3);justify-content:flex-end;padding:var(--ff-spacing-4)}.ff-order-detail__state{align-items:center;display:flex;justify-content:center;min-height:50dvh}.ff-order-create__items{border-collapse:collapse;width:100%}.ff-order-create__items-th{border-bottom:1px solid var(--ff-color-border);color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);padding:var(--ff-spacing-2) var(--ff-spacing-3);text-align:left;text-transform:uppercase}.ff-order-create__items-td--right,.ff-order-create__items-th--right{text-align:right}.ff-order-create__items-row:nth-child(2n){background-color:var(--ff-color-neutral-50)}.ff-order-create__items-td{border-bottom:1px solid var(--ff-color-border-light);color:var(--ff-color-text);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-3);vertical-align:middle}.ff-order-create__items-td--empty{text-align:center}.ff-order-create__empty-card{align-items:center;background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);display:flex;flex-direction:column;gap:var(--ff-spacing-4);max-width:34rem;padding:var(--ff-spacing-6);text-align:center}.ff-order-create__empty-title{color:var(--ff-color-text);font-size:var(--ff-font-size-xl);font-weight:var(--ff-font-weight-semibold)}.ff-order-create__empty-text,.ff-order-create__placeholder{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm)}.ff-order-create__placeholder{margin:0}.ff-order-create__options-grid{display:grid;gap:var(--ff-spacing-4);grid-template-columns:repeat(3,minmax(0,1fr))}.ff-order-create__field{display:flex;flex-direction:column;gap:var(--ff-spacing-1-5)}.ff-order-create__field--address{gap:var(--ff-spacing-2)}.ff-order-create__field-label{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-order-create__field-header{gap:var(--ff-spacing-3)}.ff-order-create__field-header,.ff-order-detail__bar{align-items:center;display:flex;justify-content:space-between}.ff-order-detail__bar{border-bottom:1px solid var(--ff-color-border-light);flex-wrap:wrap;gap:var(--ff-spacing-4);margin-bottom:var(--ff-spacing-6);padding-bottom:var(--ff-spacing-4)}.ff-order-detail__bar-left{align-items:center;display:flex;flex-wrap:wrap;gap:var(--ff-spacing-3)}.ff-order-detail__meta{align-items:center;color:var(--ff-color-text-secondary);display:flex;font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-1-5)}.ff-order-detail__btn-icon,.ff-order-detail__meta-icon{height:1rem;width:1rem}.ff-order-detail__bottom-row,.ff-order-detail__top-row{align-items:stretch;display:grid;gap:var(--ff-spacing-6);grid-template-columns:repeat(2,minmax(0,1fr))}.ff-order-detail__card{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);padding:var(--ff-spacing-5)}.ff-order-detail__card-header{gap:var(--ff-spacing-4);justify-content:space-between}.ff-order-detail__card-header,.ff-order-detail__card-title{align-items:center;display:flex;margin-bottom:var(--ff-spacing-4)}.ff-order-detail__card-title{color:var(--ff-color-text);font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-2)}.ff-order-detail__card-header .ff-order-detail__card-title{margin-bottom:0}.ff-order-detail__card-icon{color:var(--ff-color-text-secondary);height:1.125rem;width:1.125rem}.ff-order-detail__count{color:var(--ff-color-text-muted)}.ff-order-detail__grid{display:grid;gap:var(--ff-spacing-4) var(--ff-spacing-8);grid-template-columns:repeat(2,minmax(0,1fr))}.ff-order-detail__grid-item--full{grid-column:1/-1}.ff-order-detail__label{color:var(--ff-color-text-secondary);display:block;font-size:var(--ff-font-size-xs);margin-bottom:var(--ff-spacing-0-5)}.ff-order-detail__value{color:var(--ff-color-text);display:block;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);overflow-wrap:break-word;word-break:break-word}.ff-order-detail__items{border-collapse:collapse;width:100%}.ff-order-detail__items-th{border-bottom:1px solid var(--ff-color-border);color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);padding:var(--ff-spacing-2) var(--ff-spacing-3);text-align:left;text-transform:uppercase}.ff-order-detail__items-td--right,.ff-order-detail__items-th--right{text-align:right}.ff-order-detail__items-row:nth-child(2n){background-color:var(--ff-color-neutral-50)}.ff-order-detail__items-td{border-bottom:1px solid var(--ff-color-border-light);color:var(--ff-color-text);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-3);vertical-align:middle}.ff-order-detail__items-td--empty{text-align:center}.ff-order-detail__item-name{font-weight:var(--ff-font-weight-medium);overflow-wrap:break-word;word-break:break-word}.ff-order-detail__item-type{text-transform:uppercase}.ff-order-detail__item-sku,.ff-order-detail__item-type{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}.ff-order-detail__item-sku{font-family:var(--ff-font-mono)}.ff-order-detail__dl{display:flex;flex-direction:column;gap:var(--ff-spacing-2)}.ff-order-detail__dl-row{display:flex;gap:var(--ff-spacing-4);justify-content:space-between}.ff-order-detail__dl-row dt{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm)}.ff-order-detail__dl-row dd{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);overflow-wrap:break-word;text-align:right;word-break:break-word}.ff-order-detail__dl-divider{background-color:var(--ff-color-border-light);height:1px;margin:var(--ff-spacing-1) 0}.ff-order-detail__dl-total{border-top:1px solid var(--ff-color-border);display:flex;gap:var(--ff-spacing-4);justify-content:space-between;padding-top:var(--ff-spacing-2)}.ff-order-detail__dl-total dt{color:var(--ff-color-text);font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-semibold)}.ff-order-detail__dl-total dd{color:var(--ff-color-primary);font-size:var(--ff-font-size-lg);font-weight:var(--ff-font-weight-bold)}.ff-order-detail__stack{display:flex;flex-direction:column;gap:var(--ff-spacing-4)}.ff-order-detail__status-line{align-items:center;display:flex;gap:var(--ff-spacing-4);justify-content:space-between}.ff-order-detail__subsection{display:flex;flex-direction:column;gap:var(--ff-spacing-3)}.ff-order-detail__subrow{align-items:flex-start;border-top:1px solid var(--ff-color-border-light);display:flex;gap:var(--ff-spacing-4);justify-content:space-between;padding-top:var(--ff-spacing-3)}.ff-order-detail__subrow-title{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium)}.ff-order-detail__subrow-meta{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}.ff-order-detail__subrow-value{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);white-space:nowrap}.ff-order-detail__tracking-code{align-items:center;background-color:var(--ff-color-bg);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);color:var(--ff-color-text);display:inline-flex;font-family:var(--ff-font-mono);font-size:var(--ff-font-size-xs);padding:var(--ff-spacing-1-5) var(--ff-spacing-2)}.ff-order-detail__documents{display:flex;flex-direction:column}.ff-order-detail__document-row{align-items:center;border-bottom:1px solid var(--ff-color-border-light);display:flex;gap:var(--ff-spacing-4);justify-content:space-between;padding:var(--ff-spacing-3) 0}.ff-order-detail__document-row:last-child{border-bottom:0}.ff-order-detail__document-name{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium)}.ff-order-detail__document-meta{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}.ff-order-detail__document-flags{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-order-detail__icon-btn{align-items:center;background-color:var(--ff-color-bg);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);color:var(--ff-color-text);display:inline-flex;height:2rem;justify-content:center;width:2rem}.ff-order-detail__icon-btn:disabled{opacity:.5}.ff-order-detail__icon-btn-icon{height:1rem;width:1rem}.ff-order-detail__link{color:var(--ff-color-primary);font-weight:var(--ff-font-weight-medium);text-decoration:none}.ff-order-detail__text{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);overflow-wrap:break-word;word-break:break-word}.ff-order-detail__text--muted{color:var(--ff-color-text-muted)}.ff-order-create__address-trigger{align-items:center;background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);color:var(--ff-color-text);cursor:pointer;display:flex;font-family:var(--ff-font-sans);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-normal);gap:var(--ff-spacing-2);height:3rem;line-height:var(--ff-leading-normal);padding:var(--ff-spacing-2) var(--ff-spacing-4);text-align:left;transition:border-color var(--ff-transition-fast),box-shadow var(--ff-transition-fast);width:100%}.ff-order-create__address-trigger:active:not(:disabled){background-color:var(--ff-color-bg-muted)}@media(hover:hover){.ff-order-create__address-trigger:hover:not(:disabled){border-color:var(--ff-color-neutral-400)}}.ff-order-create__address-trigger:disabled{background-color:var(--ff-color-bg-muted);cursor:not-allowed;opacity:.5}.ff-order-create__address-icon{color:var(--ff-color-text-secondary);flex-shrink:0;height:1rem;width:1rem}.ff-order-create__address-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (max-width: 56rem){.ff-order-detail__bottom-row,.ff-order-detail__grid,.ff-order-detail__top-row{grid-template-columns:1fr}.ff-order-create__options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 36rem){.ff-order-create__options-grid{grid-template-columns:1fr}}.ff-inline-cell{cursor:pointer;position:relative}.ff-inline-cell.is-saving{opacity:.6;pointer-events:none}.ff-inline-cell__value--editable{border-bottom:1px dashed var(--ff-color-border);padding-bottom:var(--ff-spacing-0-5)}.ff-inline-cell__input{background-color:var(--ff-color-bg-elevated);border:2px solid var(--ff-color-primary);border-radius:var(--ff-radius-md);color:var(--ff-color-text);font-family:var(--ff-font-sans);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);min-height:2.75rem;outline:none;padding:var(--ff-spacing-1) var(--ff-spacing-2);width:100%}.ff-inline-cell__input--right{text-align:right}.ff-inline-cell__input:focus{box-shadow:0 0 0 2px var(--ff-color-primary-subtle)}.ff-order-create__items-row--pending,.ff-quote-detail__items-row--pending{background-color:var(--ff-color-primary-subtle)!important}.ff-inline-cell__spinner{animation:ff-spin .7s linear infinite;color:var(--ff-color-primary);height:1rem;width:1rem}.ff-inline-cell__input[type=number]::-webkit-inner-spin-button,.ff-inline-cell__input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ff-inline-cell__input[type=number]{-moz-appearance:textfield}.ff-inline-cell__delete{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text-muted);cursor:pointer;display:flex;height:2.75rem;justify-content:center;transition:color var(--ff-transition-fast),background-color var(--ff-transition-fast);width:2.75rem}.ff-inline-cell__delete:active{background-color:var(--ff-color-danger-subtle);color:var(--ff-color-danger)}@media(hover:hover){.ff-inline-cell__delete:hover{background-color:var(--ff-color-danger-subtle);color:var(--ff-color-danger)}}.ff-inline-cell__delete-icon{height:1rem;width:1rem}.ff-line-item-name-cell{align-items:center;display:flex;gap:var(--ff-spacing-2);min-width:0}.ff-line-item-name-cell__main{flex:1;min-width:0}.ff-inline-cell__view{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:2.5rem;justify-content:center;transition:color var(--ff-transition-fast),background-color var(--ff-transition-fast);width:2.5rem}.ff-inline-cell__view:active{background-color:var(--ff-color-primary-subtle);color:var(--ff-color-primary)}@media(hover:hover){.ff-inline-cell__view:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-primary)}}.ff-inline-cell__view-icon{height:1.125rem;width:1.125rem}.ff-order-create__items-td--action,.ff-order-create__items-th--action,.ff-quote-detail__items-td--action,.ff-quote-detail__items-th--action{padding:0;text-align:center;width:3.5rem}.ff-confirm-dialog{display:flex;flex-direction:column;gap:var(--ff-spacing-6);padding:var(--ff-spacing-6)}.ff-confirm-dialog__message{color:var(--ff-color-text);font-size:var(--ff-font-size-base);line-height:var(--ff-leading-normal)}.ff-confirm-dialog__actions{display:flex;gap:var(--ff-spacing-3)}.ff-confirm-dialog__actions>*{flex:1}.ff-discount-editor{display:flex;flex-direction:column;gap:var(--ff-spacing-2);padding:var(--ff-spacing-2) 0}.ff-discount-editor__row{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-discount-editor__input{flex:1}.ff-discount-editor__actions{display:flex;gap:var(--ff-spacing-2);justify-content:flex-end}.ff-expiration-editor{display:flex;flex-direction:column;gap:var(--ff-spacing-2);padding:var(--ff-spacing-2) 0}.ff-expiration-editor__actions{display:flex;gap:var(--ff-spacing-2);justify-content:flex-end}.ff-product-search{margin-bottom:var(--ff-spacing-4);position:relative}.ff-product-search__input-row{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-product-search__input-row .ff-input{flex:1}.ff-product-search__scan-btn{align-items:center;background:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);color:var(--ff-color-text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:2.75rem;justify-content:center;transition:background-color var(--ff-transition-fast),color var(--ff-transition-fast);width:2.75rem}.ff-product-search__scan-btn:active{background-color:var(--ff-color-primary-subtle);color:var(--ff-color-primary)}@media(hover:hover){.ff-product-search__scan-btn:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}}.ff-product-search__dropdown{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-lg);left:0;max-height:24rem;overflow-y:auto;position:absolute;right:0;top:calc(100% + var(--ff-spacing-1));z-index:var(--ff-z-dropdown)}.ff-product-search__loading{display:flex;justify-content:center;padding:var(--ff-spacing-6)}.ff-product-search__hint{border-bottom:1px solid var(--ff-color-border-light);color:var(--ff-color-primary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-medium);padding:var(--ff-spacing-2) var(--ff-spacing-4)}.ff-product-search__empty{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-6);text-align:center}.ff-product-search__item{align-items:center;background:transparent;border:none;border-bottom:1px solid var(--ff-color-border-light);cursor:pointer;display:flex;font-family:var(--ff-font-sans);gap:var(--ff-spacing-3);min-height:3.5rem;padding:var(--ff-spacing-3) var(--ff-spacing-4);text-align:left;transition:background-color var(--ff-transition-fast);width:100%}.ff-product-search__item:last-child{border-bottom:none}.ff-product-search__item:active{background-color:var(--ff-color-primary-subtle)}@media(hover:hover){.ff-product-search__item:hover{background-color:var(--ff-color-bg-muted)}}.ff-product-search__item-main{flex:1;min-width:0}.ff-product-search__item-name{color:var(--ff-color-text);display:block;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-product-search__item-sku{color:var(--ff-color-text-muted);display:block;font-family:var(--ff-font-mono);font-size:var(--ff-font-size-xs)}.ff-product-search__item-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0}.ff-product-search__item-price{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);white-space:nowrap}.ff-product-search__item-stock{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs);white-space:nowrap}.ff-product-search__item-add{color:var(--ff-color-primary);flex-shrink:0;height:1.25rem;width:1.25rem}.ff-toggle-group{border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);display:inline-flex;overflow:hidden}.ff-toggle-group__btn{align-items:center;background:var(--ff-color-bg-elevated);border:none;color:var(--ff-color-text-secondary);cursor:pointer;display:flex;font-family:var(--ff-font-sans);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);height:2.5rem;justify-content:center;min-width:2.75rem;padding:0 var(--ff-spacing-3);transition:background-color var(--ff-transition-fast),color var(--ff-transition-fast)}.ff-toggle-group__btn+.ff-toggle-group__btn{border-left:1px solid var(--ff-color-border)}.ff-toggle-group__btn.is-active{background-color:var(--ff-color-primary);color:var(--ff-color-on-primary)}.ff-toggle-group__btn:not(.is-active):active{background-color:var(--ff-color-bg-muted)}@media(hover:hover){.ff-toggle-group__btn:not(.is-active):hover{background-color:var(--ff-color-bg-muted)}}.ff-send-wizard{display:flex;flex-direction:column;gap:var(--ff-spacing-6);padding:var(--ff-spacing-6)}.ff-step-wizard__indicators{border-bottom:1px solid var(--ff-color-border-light);display:flex;gap:var(--ff-spacing-6);justify-content:center;padding-bottom:var(--ff-spacing-4)}.ff-step-wizard__step{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-step-wizard__circle{align-items:center;background:var(--ff-color-bg-elevated);border:2px solid var(--ff-color-border);border-radius:var(--ff-radius-full);display:flex;flex-shrink:0;font-weight:var(--ff-font-weight-semibold);height:2.25rem;justify-content:center;transition:background-color var(--ff-transition-fast),border-color var(--ff-transition-fast),color var(--ff-transition-fast);width:2.25rem}.ff-step-wizard__circle,.ff-step-wizard__label{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm)}.ff-step-wizard__label{white-space:nowrap}.ff-step-wizard__step.is-active .ff-step-wizard__circle{background-color:var(--ff-color-primary);border-color:var(--ff-color-primary);color:var(--ff-color-on-primary)}.ff-step-wizard__step.is-active .ff-step-wizard__label{color:var(--ff-color-text);font-weight:var(--ff-font-weight-medium)}.ff-step-wizard__step.is-completed .ff-step-wizard__circle{background-color:var(--ff-color-success);border-color:var(--ff-color-success);color:var(--ff-color-on-success)}.ff-step-wizard__step.is-completed .ff-step-wizard__label{color:var(--ff-color-text)}.ff-step-wizard__content{min-height:8rem}.ff-send-wizard__step{display:flex;flex-direction:column;gap:var(--ff-spacing-5)}.ff-send-wizard__field{display:flex;flex-direction:column;gap:var(--ff-spacing-2)}.ff-send-wizard__label{align-items:center;color:var(--ff-color-text);display:flex;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);gap:var(--ff-spacing-2)}.ff-send-wizard__label-icon{color:var(--ff-color-text-secondary);height:1rem;width:1rem}.ff-send-wizard__options{display:flex;flex-direction:column;gap:var(--ff-spacing-2)}.ff-send-wizard__option{align-items:center;border:2px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);cursor:pointer;display:flex;min-height:3.5rem;padding:var(--ff-spacing-3) var(--ff-spacing-4);transition:border-color var(--ff-transition-fast),background-color var(--ff-transition-fast)}.ff-send-wizard__option.is-active{background-color:var(--ff-color-primary-subtle);border-color:var(--ff-color-primary)}.ff-send-wizard__option-text{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium)}.ff-send-wizard__summary{background-color:var(--ff-color-bg-muted);border-radius:var(--ff-radius-lg);color:var(--ff-color-text-secondary);display:flex;flex-direction:column;font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-1-5);padding:var(--ff-spacing-4)}.ff-send-wizard__summary strong{color:var(--ff-color-text)}.ff-send-wizard__error{color:var(--ff-color-danger);font-size:var(--ff-font-size-sm)}.ff-send-wizard__nav{display:flex;gap:var(--ff-spacing-3)}.ff-send-wizard__nav>*{flex:1}.ff-textarea{min-height:5rem;resize:vertical}.ff-comments__count{color:var(--ff-color-text-secondary);font-weight:var(--ff-font-weight-normal)}.ff-comments__list{display:flex;flex-direction:column;gap:var(--ff-spacing-3);margin-bottom:var(--ff-spacing-4);max-height:24rem;overflow-y:auto}.ff-comments__bubble{background-color:var(--ff-color-bg-muted);border-radius:var(--ff-radius-lg);margin-right:var(--ff-spacing-8);padding:var(--ff-spacing-3) var(--ff-spacing-4)}.ff-comments__bubble--customer{background-color:var(--ff-color-primary-subtle);margin-left:var(--ff-spacing-8);margin-right:0}.ff-comments__bubble--unread{border-left:3px solid var(--ff-color-primary)}.ff-comments__meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--ff-spacing-2);margin-bottom:var(--ff-spacing-1)}.ff-comments__author{color:var(--ff-color-text);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold)}.ff-comments__time{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs);margin-left:auto}.ff-comments__text{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);line-height:var(--ff-leading-normal);overflow-wrap:break-word;word-break:break-word}.ff-comments__compose{border-top:1px solid var(--ff-color-border-light);display:flex;flex-direction:column;gap:var(--ff-spacing-2);padding-top:var(--ff-spacing-3)}.ff-comments__compose .ff-btn{align-self:flex-end}.ff-documents__list{display:flex;flex-direction:column}.ff-documents__row{align-items:center;border-bottom:1px solid var(--ff-color-border-light);display:flex;gap:var(--ff-spacing-3);justify-content:space-between;padding:var(--ff-spacing-3) 0}.ff-documents__row:last-child{border-bottom:none}.ff-documents__info{display:flex;flex-direction:column;gap:var(--ff-spacing-0-5);min-width:0}.ff-documents__name{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-documents__date{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}.ff-documents__actions{display:flex;flex-shrink:0;gap:var(--ff-spacing-1)}.ff-documents__btn{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-primary);cursor:pointer;display:flex;height:2.75rem;justify-content:center;transition:background-color var(--ff-transition-fast);width:2.75rem}.ff-documents__btn:active{background-color:var(--ff-color-primary-subtle)}@media(hover:hover){.ff-documents__btn:hover{background-color:var(--ff-color-primary-subtle)}}.ff-documents__btn-icon{height:1.25rem;width:1.25rem}.ff-pdf-preview{height:75dvh;width:100%}.ff-pdf-preview__loading{align-items:center;display:flex;height:100%;justify-content:center}.ff-pdf-preview__scroll{background-color:var(--ff-color-neutral-200);height:100%;overflow-y:auto;width:100%}.ff-pdf-preview__pages{width:100%}.ff-pdf-preview__pages canvas{display:block;height:auto!important;margin-bottom:var(--ff-spacing-2);width:100%!important}.ff-barcode-scanner{background-color:#000;display:flex;flex-direction:column;inset:0;position:fixed;z-index:var(--ff-z-modal)}.ff-barcode-scanner__video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.ff-barcode-scanner__video--frozen{opacity:.5}.ff-barcode-scanner__reticle{aspect-ratio:3/2;border:2px solid hsla(0,0%,100%,.5);border-radius:var(--ff-radius-xl);box-shadow:0 0 0 9999px #0000004d;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:60%}.ff-barcode-scanner__top-bar{align-items:center;background:#0009;display:flex;justify-content:space-between;left:0;padding:var(--ff-spacing-3) var(--ff-spacing-4);padding-top:max(var(--ff-spacing-3),env(safe-area-inset-top));position:absolute;right:0;top:0;z-index:2}.ff-barcode-scanner__close{align-items:center;background:#ffffff26;border:none;border-radius:var(--ff-radius-full);color:#fff;cursor:pointer;display:flex;height:2.75rem;justify-content:center;width:2.75rem}.ff-barcode-scanner__close:active{background:#ffffff4d}.ff-barcode-scanner__feedback-btn{align-items:center;background:#ffffff26;border:none;border-radius:var(--ff-radius-full);color:#fff;cursor:pointer;display:flex;height:2.75rem;justify-content:center;width:2.75rem}.ff-barcode-scanner__feedback-btn:active{background:#ffffff4d}.ff-barcode-scanner__top-bar .ff-toggle-group{border-color:#ffffff4d}.ff-barcode-scanner__top-bar .ff-toggle-group__btn{background:#ffffff1a;border-color:#ffffff4d;color:#ffffffb3}.ff-barcode-scanner__top-bar .ff-toggle-group__btn.is-active{background:var(--ff-color-primary);color:#fff}.ff-barcode-scanner__error{align-items:center;background:#000000d9;color:#fff;display:flex;flex-direction:column;font-size:var(--ff-font-size-base);gap:var(--ff-spacing-4);inset:0;justify-content:center;position:absolute;z-index:3}.ff-barcode-scanner__bottom{bottom:0;left:0;padding:var(--ff-spacing-4);padding-bottom:max(var(--ff-spacing-4),env(safe-area-inset-bottom));position:absolute;right:0;z-index:2}.ff-barcode-scanner__lookup{display:flex;justify-content:center;padding:var(--ff-spacing-4)}.ff-barcode-scanner__product-overlay{background:#000000d9;border-radius:var(--ff-radius-xl);margin:0 auto;max-width:20rem;padding:var(--ff-spacing-5)}.ff-barcode-scanner__product-info{margin-bottom:var(--ff-spacing-4);text-align:center}.ff-barcode-scanner__product-name{color:#fff;font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-semibold);margin-bottom:var(--ff-spacing-1)}.ff-barcode-scanner__product-sku{color:#fff9;font-family:var(--ff-font-mono);font-size:var(--ff-font-size-sm);margin-bottom:var(--ff-spacing-1)}.ff-barcode-scanner__product-price{color:#fffc;font-size:var(--ff-font-size-sm)}.ff-scanner__toast-stack{align-items:center;display:flex;flex-direction:column-reverse;gap:var(--ff-spacing-2)}.ff-scanner__toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--ff-radius-full);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);padding:var(--ff-spacing-2) var(--ff-spacing-4);white-space:nowrap}.ff-scanner__toast--success{background:#22c55ed9;color:#fff}.ff-scanner__toast--error{background:#ef4444d9;color:#fff}.ff-scanner-toast-enter-active{transition:all var(--ff-transition-base)}.ff-scanner-toast-leave-active{transition:all var(--ff-transition-fast)}.ff-scanner-toast-enter-from{opacity:0;transform:translateY(var(--ff-spacing-4))}.ff-scanner-toast-leave-to{opacity:0}.ff-scanner-fade-enter-active,.ff-scanner-fade-leave-active{transition:opacity var(--ff-transition-base)}.ff-scanner-fade-enter-from,.ff-scanner-fade-leave-to{opacity:0}.ff-scanner-keypad{display:flex;flex-direction:column;gap:var(--ff-spacing-3)}.ff-scanner-keypad__display{color:#fff;font-size:var(--ff-font-size-2xl);font-weight:var(--ff-font-weight-bold);line-height:2.5rem;min-height:2.5rem;text-align:center}.ff-scanner-keypad__grid{display:grid;gap:var(--ff-spacing-2);grid-template-columns:repeat(3,1fr)}.ff-scanner-keypad__key{align-items:center;background:#ffffff1a;border:1px solid hsla(0,0%,100%,.2);border-radius:var(--ff-radius-lg);color:#fff;cursor:pointer;display:flex;font-family:var(--ff-font-sans);font-size:var(--ff-font-size-lg);font-weight:var(--ff-font-weight-semibold);justify-content:center;min-height:3.5rem;transition:background-color var(--ff-transition-fast);-webkit-tap-highlight-color:transparent}.ff-scanner-keypad__key:active{background:#ffffff4d}.ff-scanner-keypad__key--primary{background:var(--ff-color-primary);border-color:var(--ff-color-primary)}.ff-scanner-keypad__key--primary:active{background:var(--ff-color-primary-hover)}.ff-scanner-keypad__key--backspace{color:#ffffffb3}.ff-scanner-keypad__skip{align-items:center;background:transparent;border:1px solid hsla(0,0%,100%,.2);border-radius:var(--ff-radius-lg);color:#ffffffb3;cursor:pointer;display:flex;font-family:var(--ff-font-sans);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);justify-content:center;min-height:2.75rem}.ff-scanner-keypad__skip:active{background:#ffffff1a}.ff-customers-page,.ff-invoices-page,.ff-orders-page,.ff-quotes-page{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.ff-filter-list{display:flex;flex-direction:column;min-width:12rem}.ff-filter-search{min-width:16rem}.ff-filter-price-range{display:flex;flex-direction:column;gap:var(--ff-spacing-3);min-width:10rem}.ff-filter-price-range__field{display:flex;flex-direction:column;gap:var(--ff-spacing-1)}.ff-create-quote{display:flex;flex-direction:column;gap:var(--ff-spacing-5);padding:var(--ff-spacing-6)}.ff-create-quote__label{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm)}.ff-create-quote__error{color:var(--ff-color-danger);font-size:var(--ff-font-size-sm)}.ff-create-quote__actions{display:flex;gap:var(--ff-spacing-3)}.ff-create-quote__actions>*{flex:1}.ff-quotes-sums{align-items:center;display:flex;gap:var(--ff-spacing-3);justify-content:flex-end}.ff-quotes-sums__item{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);white-space:nowrap}.ff-filter-date-range{display:flex;flex-direction:column;gap:var(--ff-spacing-3);min-width:14rem}.ff-filter-date-range__field{display:flex;flex-direction:column;gap:var(--ff-spacing-1)}.ff-filter-date-range__label{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-medium);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-filter-date-range__presets{border-top:1px solid var(--ff-color-border-light);display:flex;flex-direction:column;gap:var(--ff-spacing-0-5);padding-top:var(--ff-spacing-2)}.ff-filter-date-range__preset{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-primary);cursor:pointer;display:flex;font-family:var(--ff-font-sans);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);height:2.75rem;padding:0 var(--ff-spacing-3);text-align:left;transition:background-color var(--ff-transition-fast)}.ff-filter-date-range__preset:active{background-color:var(--ff-color-primary-subtle)}@media(hover:hover){.ff-filter-date-range__preset:hover{background-color:var(--ff-color-primary-subtle)}}.ff-tabs{background-color:var(--ff-color-bg-elevated);border-bottom:1px solid var(--ff-color-border);display:flex;flex-shrink:0;gap:var(--ff-spacing-1);overflow-x:auto;padding:0 var(--ff-spacing-6);-webkit-overflow-scrolling:touch;scrollbar-width:none}.ff-tabs::-webkit-scrollbar{display:none}.ff-tabs__item{align-items:center;background:none;border:none;color:var(--ff-color-text-secondary);cursor:pointer;display:flex;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium);padding:var(--ff-spacing-3) var(--ff-spacing-4);position:relative;transition:color var(--ff-transition-fast),background-color var(--ff-transition-fast);white-space:nowrap}.ff-tabs__item:after{background-color:transparent;border-radius:1px;bottom:-1px;content:"";height:2px;left:var(--ff-spacing-4);position:absolute;right:var(--ff-spacing-4);transition:background-color var(--ff-transition-fast)}.ff-tabs__item:active{background-color:var(--ff-color-bg-muted)}@media(hover:hover){.ff-tabs__item:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}}.ff-tabs__item.is-active{color:var(--ff-color-primary)}.ff-tabs__item.is-active:after{background-color:var(--ff-color-primary)}.ff-customer-detail{overflow:hidden}.ff-customer-detail,.ff-customer-detail__content{display:flex;flex:1;flex-direction:column;min-height:0}.ff-customer-detail__content{overflow-y:auto}.ff-customer-detail__content--padded{overflow-y:auto;padding:var(--ff-spacing-6)}.ff-b2b-form{gap:var(--ff-spacing-6);max-width:48rem}.ff-b2b-form,.ff-b2b-form__card{display:flex;flex-direction:column}.ff-b2b-form__card{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);gap:var(--ff-spacing-4);padding:var(--ff-spacing-6)}.ff-b2b-form__card-title{border-bottom:1px solid var(--ff-color-border-light);color:var(--ff-color-text);font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-semibold);margin-bottom:var(--ff-spacing-2);padding-bottom:var(--ff-spacing-2)}.ff-b2b-form__row{display:grid;gap:var(--ff-spacing-4);grid-template-columns:1fr 1fr}.ff-b2b-form__field{display:flex;flex-direction:column;gap:var(--ff-spacing-1-5)}.ff-b2b-form__label{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-b2b-form__error{background-color:var(--ff-color-danger-subtle);border:1px solid var(--ff-color-danger);border-radius:var(--ff-radius-md);color:var(--ff-color-danger);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-3)}@media(max-width:640px){.ff-b2b-form__row{grid-template-columns:1fr}}.ff-permission-picker{display:flex;flex-direction:column;gap:var(--ff-spacing-4)}.ff-permission-picker__all{border-bottom:1px solid var(--ff-color-border-light);padding-bottom:var(--ff-spacing-3)}.ff-permission-picker__all .ff-checkbox__label{font-weight:var(--ff-font-weight-semibold)}.ff-permission-picker__group{display:flex;flex-direction:column;gap:var(--ff-spacing-2)}.ff-permission-picker__group-header{align-items:center;display:flex;position:relative}.ff-permission-picker__group-header .ff-checkbox__label{color:var(--ff-color-text);font-weight:var(--ff-font-weight-semibold)}.ff-permission-picker__partial{background-color:var(--ff-color-primary);height:2px;left:.3125rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:.625rem}.ff-permission-picker__items{display:flex;flex-direction:column;padding-left:var(--ff-spacing-6)}.ff-permission-picker__items .ff-checkbox{min-height:2.5rem}.ff-permission-picker__items .ff-checkbox__label{color:var(--ff-color-text-secondary);font-weight:var(--ff-font-weight-normal)}.ff-sparkline{display:block;overflow:visible}.ff-sparkline__line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ff-sparkline__line--animated{animation:ff-sparkline-draw .6s ease-out forwards}@keyframes ff-sparkline-draw{0%{stroke-dashoffset:var(--ff-sparkline-length)}to{stroke-dashoffset:0}}.ff-sparkline__area{opacity:.1}.ff-sparkline__area--animated{animation:ff-sparkline-fade-in .6s ease-out forwards;opacity:0}@keyframes ff-sparkline-fade-in{0%{opacity:0}to{opacity:.1}}.ff-donut-gauge{align-items:center;display:flex;gap:var(--ff-spacing-5)}.ff-donut-gauge__chart{flex-shrink:0}.ff-donut-gauge__segment{fill:none;stroke-linecap:butt;stroke-width:24;transition:stroke-dasharray 1s ease-out}.ff-donut-gauge__bg{fill:none;stroke:var(--ff-color-bg-muted);stroke-width:24}.ff-donut-gauge__legend{display:flex;flex:1;flex-direction:column;gap:var(--ff-spacing-2);min-width:0}.ff-donut-gauge__legend-item{align-items:center;color:var(--ff-color-text);display:flex;font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-2)}.ff-donut-gauge__legend-dot{border-radius:var(--ff-radius-full);flex-shrink:0;height:.625rem;width:.625rem}.ff-donut-gauge__legend-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-donut-gauge__legend-value{font-variant-numeric:tabular-nums;font-weight:var(--ff-font-weight-semibold);white-space:nowrap}.ff-bar-chart{gap:var(--ff-spacing-3)}.ff-bar-chart,.ff-bar-chart__item{display:flex;flex-direction:column}.ff-bar-chart__item{gap:var(--ff-spacing-1)}.ff-bar-chart__header{align-items:center;display:flex;gap:var(--ff-spacing-2);justify-content:space-between}.ff-bar-chart__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.ff-bar-chart__label,.ff-bar-chart__value{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);white-space:nowrap}.ff-bar-chart__value{font-variant-numeric:tabular-nums;font-weight:var(--ff-font-weight-semibold)}.ff-bar-chart__track{background-color:var(--ff-color-bg-muted);border-radius:var(--ff-radius-full);height:.5rem;overflow:hidden}.ff-bar-chart__fill{border-radius:var(--ff-radius-full);height:100%;transition:width .4s ease-out;width:0}.ff-bar-chart__fill--animated{width:var(--ff-bar-width)}.ff-customer-overview{container-type:inline-size;display:flex;flex-direction:column;gap:var(--ff-spacing-5);padding:var(--ff-spacing-5)}.ff-customer-overview__kpi-row{display:grid;gap:var(--ff-spacing-4);grid-template-columns:repeat(2,1fr)}@container (min-width: 700px){.ff-customer-overview__kpi-row{grid-template-columns:repeat(4,1fr)}}.ff-customer-overview__grid{display:grid;gap:var(--ff-spacing-4);grid-template-columns:1fr}@container (min-width: 700px){.ff-customer-overview__grid{grid-template-columns:repeat(2,1fr)}}.ff-overview-card{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);display:flex;flex-direction:column;gap:var(--ff-spacing-3);padding:var(--ff-spacing-5)}.ff-overview-card--full{grid-column:1/-1}.ff-overview-card__header{align-items:center;display:flex;gap:var(--ff-spacing-3);justify-content:space-between}.ff-overview-card__title{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-overview-card__empty{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-4) 0;text-align:center}.ff-overview-card__link{color:var(--ff-color-primary);display:inline-block;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);margin-top:var(--ff-spacing-4);text-decoration:none}.ff-overview-card__link:hover{text-decoration:underline}.ff-overview-kpi{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);display:flex;flex-direction:column;gap:var(--ff-spacing-3);min-height:8rem;padding:var(--ff-spacing-4)}.ff-overview-kpi__top{align-items:center;display:flex;gap:var(--ff-spacing-3)}.ff-overview-kpi__icon{align-items:center;border-radius:var(--ff-radius-lg);display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.ff-overview-kpi__icon svg{height:1.25rem;width:1.25rem}.ff-overview-kpi__label{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-overview-kpi__value{align-items:baseline;color:var(--ff-color-text);display:flex;font-size:var(--ff-font-size-2xl);font-weight:var(--ff-font-weight-bold);gap:var(--ff-spacing-1);line-height:1}.ff-overview-kpi__value--success{color:var(--ff-color-success)}.ff-overview-kpi__value--warning{color:var(--ff-color-warning)}.ff-overview-kpi__value--danger{color:var(--ff-color-danger)}.ff-overview-kpi__suffix{color:inherit;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-medium,500);opacity:.7}.ff-overview-kpi__footer{align-items:center;display:flex;gap:var(--ff-spacing-2);justify-content:space-between;margin-top:auto}.ff-overview-kpi__trend{align-items:center;border-radius:var(--ff-radius-full);display:inline-flex;font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-1);padding:var(--ff-spacing-0-5) var(--ff-spacing-2)}.ff-overview-kpi__trend--up{background-color:var(--ff-color-success-subtle);color:var(--ff-color-success)}.ff-overview-kpi__trend--down{background-color:var(--ff-color-danger-subtle);color:var(--ff-color-danger)}.ff-overview-kpi__trend--flat{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text-muted)}.ff-overview-kpi__trend svg{height:.75rem;width:.75rem}.ff-overview-kpi__sparkline{align-items:flex-end;display:flex;flex:1;min-width:0}.ff-overview-kpi__sub{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}.ff-recent-order{border-bottom:1px solid var(--ff-color-border-light);display:flex;flex-direction:column;gap:var(--ff-spacing-1);padding:var(--ff-spacing-3) 0}.ff-recent-order:last-of-type{border-bottom:none}.ff-recent-order--skeleton{flex-direction:row;min-height:2.5rem}.ff-recent-order--skeleton,.ff-recent-order__top{align-items:center;display:flex;justify-content:space-between}.ff-recent-order__top{gap:var(--ff-spacing-2)}.ff-recent-order__number{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold)}.ff-recent-order__bottom{align-items:center;display:flex;gap:var(--ff-spacing-2);justify-content:space-between}.ff-recent-order__date{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}.ff-recent-order__amount{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-variant-numeric:tabular-nums;font-weight:var(--ff-font-weight-semibold)}.ff-latest-quote{display:flex;flex-direction:column;gap:var(--ff-spacing-2)}.ff-latest-quote--skeleton{display:flex;flex-direction:column;gap:var(--ff-spacing-3);min-height:5rem}.ff-latest-quote__top{align-items:center;display:flex;gap:var(--ff-spacing-2);justify-content:space-between}.ff-latest-quote__number{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold)}.ff-latest-quote__value{color:var(--ff-color-text);font-size:var(--ff-font-size-xl);font-variant-numeric:tabular-nums;font-weight:var(--ff-font-weight-bold)}.ff-latest-quote__meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--ff-spacing-3)}.ff-latest-quote__date{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}.ff-latest-quote__expiry{align-items:center;display:inline-flex;font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-1)}.ff-latest-quote__expiry svg{height:.875rem;width:.875rem}.ff-latest-quote__expiry--warning{color:var(--ff-color-warning)}.ff-latest-quote__expiry--danger{color:var(--ff-color-danger)}@keyframes ff-pulse{0%,to{opacity:.4}50%{opacity:1}}.ff-overview-skeleton{animation:ff-pulse 1.5s ease-in-out infinite;background-color:var(--ff-color-bg-muted);border-radius:var(--ff-radius-md)}.ff-overview-skeleton--value{height:2rem;width:6rem}.ff-overview-skeleton--label{height:.75rem;width:4rem}.ff-overview-skeleton--sparkline{border-radius:var(--ff-radius-sm);height:2rem;width:100%}.ff-overview-skeleton--bar{border-radius:var(--ff-radius-sm);height:1.5rem}.ff-overview-skeleton--donut{border-radius:var(--ff-radius-full);height:8rem;margin:0 auto;width:8rem}.ff-overview-skeleton--chart{border-radius:var(--ff-radius-md);height:10rem;width:100%}.ff-overview-ai{overflow:hidden;position:relative}.ff-overview-ai__placeholder{align-items:center;color:var(--ff-color-text-muted);display:flex;flex-direction:column;font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-3);justify-content:center;padding:var(--ff-spacing-6);text-align:center}.ff-overview-ai__icon{color:var(--ff-color-chart-4);height:2rem;width:2rem}@keyframes ff-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ff-overview-ai__bar{animation:ff-shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,var(--ff-color-bg-muted) 25%,var(--ff-color-border-light) 50%,var(--ff-color-bg-muted) 75%);background-size:200% 100%;border-radius:var(--ff-radius-full);height:.5rem;max-width:24rem;width:100%}.ff-column-chart{display:flex;flex-direction:column;gap:var(--ff-spacing-2);width:100%}.ff-column-chart__bars{align-items:flex-end;display:flex;gap:var(--ff-spacing-1);width:100%}.ff-column-chart__col{align-items:flex-end;display:flex;flex:1;height:100%;min-width:0;position:relative}.ff-column-chart__bar{border-radius:var(--ff-radius-sm) var(--ff-radius-sm) 0 0;cursor:default;height:0;min-height:2px;position:relative;transition:height .5s ease-out;width:100%}.ff-column-chart__bar--animated{height:var(--ff-col-height)}.ff-column-chart__tooltip{bottom:100%;color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-2xs,.625rem);font-weight:var(--ff-font-weight-semibold);left:50%;opacity:0;padding-bottom:var(--ff-spacing-1);pointer-events:none;position:absolute;transform:translate(-50%);transition:opacity .2s ease-out;white-space:nowrap}.ff-column-chart__bar:hover .ff-column-chart__tooltip{opacity:1}.ff-column-chart__labels{display:flex;gap:var(--ff-spacing-1);width:100%}.ff-column-chart__label{color:var(--ff-color-text-muted);flex:1;font-size:var(--ff-font-size-2xs,.625rem);min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ff-customer-permissions{display:flex;flex:1;flex-direction:column;gap:var(--ff-spacing-5);min-height:0;overflow-y:auto;padding:var(--ff-spacing-5)}.ff-customer-permissions__loading{align-items:center;display:flex;justify-content:center;padding:var(--ff-spacing-10)}.ff-customer-permissions__header{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);display:flex;flex-direction:column;gap:var(--ff-spacing-1);padding:var(--ff-spacing-5)}.ff-customer-permissions__title{color:var(--ff-color-text);font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-semibold);margin:0}.ff-customer-permissions__subtitle{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm);margin:0}.ff-customer-permissions__error{background-color:var(--ff-color-danger-subtle);border-radius:var(--ff-radius-md);color:var(--ff-color-danger);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-3) var(--ff-spacing-4)}.ff-customer-permissions__list{display:flex;flex-direction:column;gap:var(--ff-spacing-3);list-style:none;margin:0;padding:0}.ff-perm-card{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);overflow:hidden;transition:border-color var(--ff-transition-fast)}.ff-perm-card.is-on{border-color:var(--ff-color-border)}.ff-perm-card__row{align-items:center;display:flex;gap:var(--ff-spacing-4);min-height:4.5rem;padding:var(--ff-spacing-4) var(--ff-spacing-5)}.ff-perm-card__icon{align-items:center;background-color:var(--ff-color-bg-muted);border-radius:var(--ff-radius-lg);color:var(--ff-color-text-muted);display:flex;flex-shrink:0;height:2.5rem;justify-content:center;transition:background-color var(--ff-transition-fast),color var(--ff-transition-fast);width:2.5rem}.ff-perm-card__icon svg{height:1.25rem;width:1.25rem}.ff-perm-card__icon.is-on{background-color:var(--ff-color-primary-subtle);color:var(--ff-color-primary)}.ff-perm-card__icon--sm{height:2rem;width:2rem}.ff-perm-card__icon--sm svg{height:1rem;width:1rem}.ff-perm-card__text{display:flex;flex:1;flex-direction:column;gap:var(--ff-spacing-1);min-width:0}.ff-perm-card__label{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold)}.ff-perm-card__description{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);line-height:var(--ff-leading-normal)}.ff-perm-card__status{align-items:center;display:flex;flex-shrink:0;gap:var(--ff-spacing-3)}.ff-perm-status{align-items:center;border-radius:var(--ff-radius-full);display:inline-flex;font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-medium);gap:var(--ff-spacing-1-5);padding:var(--ff-spacing-1) var(--ff-spacing-2-5);white-space:nowrap}.ff-perm-status.is-active{background-color:var(--ff-color-success-subtle);color:var(--ff-color-success)}.ff-perm-status.is-inactive{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text-muted)}.ff-perm-status__dot{background-color:currentColor;border-radius:var(--ff-radius-full);height:.5rem;width:.5rem}.ff-perm-card__children{background-color:var(--ff-color-bg-muted);border-top:1px solid var(--ff-color-border-light);display:flex;flex-direction:column;padding:var(--ff-spacing-2) var(--ff-spacing-5)}.ff-perm-card__children.is-disabled{opacity:.55}.ff-perm-card__child{align-items:center;display:flex;gap:var(--ff-spacing-3);min-height:3.5rem;padding:var(--ff-spacing-3) 0}.ff-perm-card__child+.ff-perm-card__child{border-top:1px solid var(--ff-color-border-light)}.ff-perm-switch{background-color:var(--ff-color-neutral-300);border:none;border-radius:var(--ff-radius-full);cursor:pointer;flex-shrink:0;height:1.5rem;padding:0;position:relative;transition:background-color var(--ff-transition-fast),opacity var(--ff-transition-fast);width:2.75rem}.ff-perm-switch:disabled{cursor:not-allowed;opacity:.5}.ff-perm-switch:focus-visible{outline:2px solid var(--ff-color-primary);outline-offset:2px}.ff-perm-switch__thumb{background-color:#fff;border-radius:var(--ff-radius-full);box-shadow:0 1px 2px #0003;height:1.25rem;left:.125rem;position:absolute;top:.125rem;transition:transform var(--ff-transition-fast);width:1.25rem}.ff-perm-switch.is-on{background-color:var(--ff-color-primary)}.ff-perm-switch.is-on .ff-perm-switch__thumb{transform:translate(1.25rem)}.ff-perm-switch.is-saving{opacity:.5}.ff-customer-data{gap:0}.ff-customer-data,.ff-customer-data__skeleton{display:flex;flex-direction:column;padding:var(--ff-spacing-5)}.ff-customer-data__skeleton{gap:var(--ff-spacing-4)}.ff-customer-data__section{border-bottom:1px solid var(--ff-color-border-light)}.ff-customer-data__section:last-child{border-bottom:none}.ff-customer-data__section-header{align-items:center;background:none;border:none;color:var(--ff-color-text);cursor:pointer;display:flex;font-size:var(--ff-font-size-base);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-3);min-height:3.5rem;padding:var(--ff-spacing-4) 0;text-align:left;width:100%}.ff-customer-data__section-header:hover{color:var(--ff-color-primary)}.ff-customer-data__section-icon{color:var(--ff-color-text-muted);flex-shrink:0;height:1.25rem;width:1.25rem}.ff-customer-data__chevron{color:var(--ff-color-text-muted);height:1rem;margin-left:auto;transition:transform .2s ease;width:1rem}.ff-customer-data__chevron.is-open{transform:rotate(180deg)}.ff-customer-data__section-body{display:flex;flex-direction:column;gap:var(--ff-spacing-3);padding-bottom:var(--ff-spacing-4)}.ff-customer-data__field{align-items:baseline;display:flex;gap:var(--ff-spacing-3);padding:var(--ff-spacing-1) 0}.ff-customer-data__field-label{color:var(--ff-color-text-muted);flex-shrink:0;font-size:var(--ff-font-size-sm);min-width:10rem}.ff-customer-data__field-value{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);word-break:break-word}.ff-customer-data__address{background:var(--ff-color-bg-muted);border-radius:var(--ff-radius-lg);display:flex;flex-direction:column;gap:var(--ff-spacing-1);padding:var(--ff-spacing-4)}.ff-customer-data__address-name{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold)}.ff-customer-data__address-line{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm)}.ff-customer-data__address-phone{align-items:center;display:flex;gap:var(--ff-spacing-2);margin-top:var(--ff-spacing-1)}.ff-customer-data__address-phone a{color:var(--ff-color-primary);font-size:var(--ff-font-size-sm);text-decoration:none}.ff-customer-data__phone-icon{color:var(--ff-color-text-muted);height:.875rem;width:.875rem}.ff-customer-data__empty,.ff-customer-data__placeholder{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-3) 0;text-align:center}.ff-shopping-list-items{background-color:var(--ff-color-surface);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-lg);display:flex;flex-direction:column;gap:var(--ff-spacing-4);padding:var(--ff-spacing-4)}.ff-shopping-list-items__title{align-items:center;color:var(--ff-color-text);display:flex;font-size:var(--ff-font-size-lg);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-2);margin:0}.ff-shopping-list-items__title-icon{color:var(--ff-color-text-secondary);height:1.25rem;width:1.25rem}.ff-shopping-list-items__loading{display:flex;justify-content:center;padding:var(--ff-spacing-8)}.ff-shopping-list-items__table{border-collapse:collapse;width:100%}.ff-shopping-list-items__th{border-bottom:1px solid var(--ff-color-border);color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);padding:var(--ff-spacing-2) var(--ff-spacing-3);text-align:left;text-transform:uppercase}.ff-shopping-list-items__th--right{text-align:right}.ff-shopping-list-items__th--action{width:3rem}.ff-shopping-list-items__row{transition:background-color var(--ff-transition-fast)}.ff-shopping-list-items__row:nth-child(2n){background-color:var(--ff-color-neutral-50)}.ff-shopping-list-items__row--pending{background-color:var(--ff-color-warning-50,#fffbeb)}.ff-shopping-list-items__td{border-bottom:1px solid var(--ff-color-border-light);color:var(--ff-color-text);font-size:var(--ff-font-size-sm);padding:var(--ff-spacing-3);vertical-align:middle}.ff-shopping-list-items__td--right{text-align:right;white-space:nowrap}.ff-shopping-list-items__td--action{padding-right:var(--ff-spacing-2);text-align:right}.ff-shopping-list-items__td--empty{color:var(--ff-color-text-muted);padding:var(--ff-spacing-6);text-align:center}.ff-shopping-list-items__name{font-weight:var(--ff-font-weight-medium);overflow-wrap:break-word;word-break:break-word}.ff-shopping-list-items__sku{color:var(--ff-color-text-muted);font-family:var(--ff-font-mono);font-size:var(--ff-font-size-xs)}.ff-products-page{display:flex;flex:1;min-height:0;overflow:hidden}.ff-products-page__main{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.ff-products-search{align-items:center;background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);display:flex;gap:var(--ff-spacing-2);min-width:16rem;padding:var(--ff-spacing-1) var(--ff-spacing-3)}.ff-products-search.is-expanded{border-color:var(--ff-color-border-focus)}.ff-products-search__icon{color:var(--ff-color-text-muted);flex-shrink:0;height:1rem;width:1rem}.ff-products-search__input{background:none;border:none;color:var(--ff-color-text);font-size:var(--ff-font-size-sm);min-width:0;outline:none;padding:var(--ff-spacing-1) 0;width:100%}.ff-products-search__close{align-items:center;background:none;border:none;border-radius:var(--ff-radius-sm);color:var(--ff-color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:1.5rem;justify-content:center;padding:0;width:1.5rem}.ff-products-search__close:hover{color:var(--ff-color-text)}.ff-products-search__close svg{height:.875rem;width:.875rem}.ff-products-search__input::-moz-placeholder{color:var(--ff-color-text-muted)}.ff-products-search__input::placeholder{color:var(--ff-color-text-muted)}.ff-sort-list{display:flex;flex-direction:column;min-width:14rem}.ff-sort-list__item{align-items:center;background:none;border:none;border-radius:var(--ff-radius-sm);color:var(--ff-color-text);cursor:pointer;display:flex;font-size:var(--ff-font-size-sm);min-height:2.5rem;padding:var(--ff-spacing-2) var(--ff-spacing-3);text-align:left}.ff-sort-list__item:hover{background-color:var(--ff-color-bg-muted)}.ff-sort-list__item.is-active{color:var(--ff-color-primary);font-weight:var(--ff-font-weight-semibold)}.ff-products-page__name-cell{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-products-page__name-cell.is-variant{opacity:.85;padding-left:1.5rem}.ff-products-page__expand-btn{align-items:center;background:none;border:none;border-radius:var(--ff-radius-sm);color:var(--ff-color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:1.5rem;justify-content:center;padding:0;width:1.5rem}.ff-products-page__expand-btn:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-products-page__expand-btn svg{height:1rem;width:1rem}.ff-products-page__variant-indent{flex-shrink:0;width:1.5rem}.ff-products-page__name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-products-page__properties{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-products-page .ff-table-wrap{flex:1;height:auto;min-height:0;width:100%}.ff-products-page.is-sidebar-open .ff-table-wrap{width:100%}.ff-products-page .ff-table__td{height:4.5rem}.ff-products-page__cover{align-items:center;background-color:var(--ff-color-bg-muted);border-radius:var(--ff-radius-md);display:flex;flex-shrink:0;height:3.5rem;justify-content:center;margin:0 auto;overflow:hidden;width:3.5rem}.ff-products-page__cover img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ff-products-page__cover-placeholder{color:var(--ff-color-text-muted);height:1.25rem;opacity:.5;width:1.25rem}.ff-products-page__category-path{color:var(--ff-color-text-secondary);display:inline-block;font-size:var(--ff-font-size-xs);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-products-page__margin{align-items:baseline;display:inline-flex;font-variant-numeric:tabular-nums;gap:var(--ff-spacing-1);white-space:nowrap}.ff-products-page__margin--positive{color:var(--ff-color-success);font-weight:var(--ff-font-weight-semibold)}.ff-products-page__margin--negative{color:var(--ff-color-danger);font-weight:var(--ff-font-weight-semibold)}.ff-products-page__margin-pct{font-size:var(--ff-font-size-xs)}.ff-products-page__margin-pct,.ff-text-muted{color:var(--ff-color-text-muted)}.ff-filter-sidebar{background-color:var(--ff-color-bg-elevated);border-left:1px solid var(--ff-color-border-light);display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:width .2s ease,min-width .2s ease;width:0}.ff-filter-sidebar.is-open{min-width:20rem;width:20rem}.ff-filter-sidebar:not(.is-open)>*{display:none}.ff-filter-sidebar__header{align-items:center;border-bottom:1px solid var(--ff-color-border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--ff-spacing-4)}.ff-filter-sidebar__title{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-filter-sidebar__close{align-items:center;background:none;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text-muted);cursor:pointer;display:flex;height:2rem;justify-content:center;width:2rem}.ff-filter-sidebar__close:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-filter-sidebar__close svg{height:1.125rem;width:1.125rem}.ff-filter-sidebar__search{align-items:center;background-color:var(--ff-color-bg-muted);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);display:flex;flex-shrink:0;gap:var(--ff-spacing-2);margin:var(--ff-spacing-3) var(--ff-spacing-4);padding:var(--ff-spacing-2) var(--ff-spacing-3)}.ff-filter-sidebar__search-icon{color:var(--ff-color-text-muted);flex-shrink:0;height:.875rem;width:.875rem}.ff-filter-sidebar__search-input{background:none;border:none;color:var(--ff-color-text);flex:1;font-size:var(--ff-font-size-sm);min-width:0;outline:none}.ff-filter-sidebar__search-input::-moz-placeholder{color:var(--ff-color-text-muted)}.ff-filter-sidebar__search-input::placeholder{color:var(--ff-color-text-muted)}.ff-filter-sidebar__search-clear{align-items:center;background:none;border:none;border-radius:var(--ff-radius-sm);color:var(--ff-color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:1.25rem;justify-content:center;padding:0;width:1.25rem}.ff-filter-sidebar__search-clear:hover{color:var(--ff-color-text)}.ff-filter-sidebar__search-clear svg{height:.75rem;width:.75rem}.ff-filter-sidebar__body{flex:1;overflow-y:auto;padding:0}.ff-filter-sidebar__section{border-bottom:1px solid var(--ff-color-border-light)}.ff-filter-sidebar__section:last-child{border-bottom:none}.ff-filter-sidebar__section-header{align-items:center;background:none;border:none;color:var(--ff-color-text);cursor:pointer;display:flex;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);justify-content:space-between;min-height:2.75rem;padding:var(--ff-spacing-3) var(--ff-spacing-4);text-align:left;width:100%}.ff-filter-sidebar__section-header:hover{background-color:var(--ff-color-bg-muted)}.ff-filter-sidebar__chevron{color:var(--ff-color-text-muted);flex-shrink:0;height:1rem;transition:transform .2s ease;width:1rem}.ff-filter-sidebar__chevron.is-open{transform:rotate(180deg)}.ff-filter-sidebar__section-body{display:flex;flex-direction:column;gap:var(--ff-spacing-1);padding:0 var(--ff-spacing-4) var(--ff-spacing-3)}.ff-filter-sidebar__option{align-items:center;display:flex;min-height:2.25rem}.ff-filter-sidebar__count{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs);margin-left:var(--ff-spacing-1)}.ff-filter-sidebar__price-row{align-items:center;display:flex;gap:var(--ff-spacing-2)}.ff-filter-sidebar__price-input{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);color:var(--ff-color-text);flex:1;font-size:var(--ff-font-size-sm);min-width:0;padding:var(--ff-spacing-2) var(--ff-spacing-3)}.ff-filter-sidebar__price-input:focus{border-color:var(--ff-color-border-focus);outline:none}.ff-filter-sidebar__price-sep{color:var(--ff-color-text-muted);flex-shrink:0}.ff-filter-sidebar__footer{border-top:1px solid var(--ff-color-border-light);flex-shrink:0;padding:var(--ff-spacing-3) var(--ff-spacing-4)}.ff-filter-sidebar__clear{align-items:center;background:none;border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);color:var(--ff-color-text-secondary);cursor:pointer;display:flex;font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-2);justify-content:center;min-height:2.5rem;padding:var(--ff-spacing-2) var(--ff-spacing-3);width:100%}.ff-filter-sidebar__clear:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-filter-sidebar__clear svg{height:.875rem;width:.875rem}.ff-category-tree{display:flex;flex-direction:column}.ff-category-tree__node{align-items:center;display:flex;gap:var(--ff-spacing-1);min-height:2.25rem}.ff-category-tree__expand{align-items:center;background:none;border:none;border-radius:var(--ff-radius-sm);color:var(--ff-color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:1.5rem;justify-content:center;padding:0;width:1.5rem}.ff-category-tree__expand:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-category-tree__expand svg{height:.875rem;width:.875rem}.ff-category-tree__expand-placeholder{flex-shrink:0;width:1.5rem}@keyframes ff-spin{to{transform:rotate(1turn)}}.ff-category-tree__spinner{animation:ff-spin .8s linear infinite;height:.875rem;width:.875rem}.ff-offline-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:color-mix(in srgb,var(--ff-color-sidebar-bg) 92%,transparent);display:flex;inset:0;justify-content:center;padding:var(--ff-spacing-5);position:fixed;z-index:9999}.ff-offline-overlay__card{align-items:center;background-color:var(--ff-color-bg-elevated);border-radius:var(--ff-radius-xl);box-shadow:0 20px 60px #00000059;display:flex;flex-direction:column;gap:var(--ff-spacing-3);max-width:28rem;padding:var(--ff-spacing-6);text-align:center}.ff-offline-overlay__icon{color:var(--ff-color-danger);height:3rem;width:3rem}.ff-offline-overlay__title{color:var(--ff-color-text);font-size:var(--ff-font-size-lg);font-weight:var(--ff-font-weight-bold);margin:0}.ff-offline-overlay__text{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm);margin:0;max-width:22rem}.ff-offline-overlay__last-sync{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs);margin:0}.ff-offline-overlay__retry{background-color:var(--ff-color-primary);border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-on-primary);cursor:pointer;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);margin-top:var(--ff-spacing-2);min-height:2.75rem;padding:var(--ff-spacing-3) var(--ff-spacing-5)}.ff-offline-overlay__retry:hover{background-color:var(--ff-color-primary-hover)}@keyframes ff-slide-down{0%{opacity:0;transform:translate(-50%,-100%)}to{opacity:1;transform:translate(-50%)}}.ff-reconnect-toast{align-items:center;animation:ff-slide-down .22s ease-out;background-color:var(--ff-color-success);border-radius:var(--ff-radius-full);box-shadow:0 8px 24px #0003;color:var(--ff-color-on-success);display:inline-flex;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-2);left:50%;padding:var(--ff-spacing-2) var(--ff-spacing-4);position:fixed;top:var(--ff-spacing-4);transform:translate(-50%);z-index:9998}.ff-reconnect-toast__icon{height:1rem;width:1rem}.ff-product-detail{container-type:inline-size;display:flex;flex:1;flex-direction:column;gap:var(--ff-spacing-5);min-height:0;overflow-y:auto;padding:var(--ff-spacing-5)}.ff-product-detail__error,.ff-product-detail__loading{align-items:center;color:var(--ff-color-text-secondary);display:flex;flex-direction:column;gap:var(--ff-spacing-3);justify-content:center;padding:var(--ff-spacing-10)}.ff-product-detail__top{display:grid;gap:var(--ff-spacing-5);grid-template-columns:1fr}@container (min-width: 900px){.ff-product-detail__top{grid-template-columns:minmax(20rem,28rem) 1fr}}.ff-product-detail__right{display:flex;flex-direction:column;gap:var(--ff-spacing-4)}.ff-product-detail__card{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);display:flex;flex-direction:column;gap:var(--ff-spacing-3);padding:var(--ff-spacing-5)}.ff-product-detail__card-title{align-items:center;color:var(--ff-color-text-secondary);display:flex;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-2);letter-spacing:var(--ff-tracking-wide);margin:0;text-transform:uppercase}.ff-product-detail__card-count{color:var(--ff-color-text-muted);font-weight:var(--ff-font-weight-medium)}.ff-product-detail__hero{display:flex;flex-direction:column;gap:var(--ff-spacing-3)}.ff-product-detail__gallery-main{align-items:center;aspect-ratio:1/1;background-color:var(--ff-color-bg-muted);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);display:flex;justify-content:center;overflow:hidden;width:100%}.ff-product-detail__gallery-main img{height:100%;-o-object-fit:contain;object-fit:contain;padding:var(--ff-spacing-4);width:100%}.ff-product-detail__gallery-placeholder{color:var(--ff-color-text-muted);height:4rem;opacity:.5;width:4rem}.ff-product-detail__gallery-thumbs{display:flex;gap:var(--ff-spacing-2);overflow-x:auto;padding-bottom:var(--ff-spacing-1)}.ff-product-detail__thumb{background-color:var(--ff-color-bg-muted);border:2px solid var(--ff-color-border-light);border-radius:var(--ff-radius-md);cursor:pointer;flex-shrink:0;height:4.5rem;overflow:hidden;padding:.25rem;transition:border-color .15s ease;width:4.5rem}.ff-product-detail__thumb:hover{border-color:var(--ff-color-border)}.ff-product-detail__thumb.is-active{border-color:var(--ff-color-primary)}.ff-product-detail__thumb img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ff-product-detail__info-grid{display:grid;gap:var(--ff-spacing-2) var(--ff-spacing-4);grid-template-columns:minmax(10rem,auto) 1fr;margin:0}.ff-product-detail__info-grid dt{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-sm)}.ff-product-detail__info-grid dd{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);margin:0;word-break:break-word}.ff-product-detail__tags{align-items:center;border-top:1px solid var(--ff-color-border-light);display:flex;flex-wrap:wrap;gap:var(--ff-spacing-1-5);padding-top:var(--ff-spacing-2)}.ff-product-detail__tags-label{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs);letter-spacing:var(--ff-tracking-wide);margin-right:var(--ff-spacing-1);text-transform:uppercase}.ff-product-detail__tag{background-color:var(--ff-color-primary-subtle);border-radius:var(--ff-radius-full);color:var(--ff-color-primary);display:inline-block;font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-medium);padding:var(--ff-spacing-1) var(--ff-spacing-2-5)}.ff-product-detail__prices-grid{display:grid;gap:var(--ff-spacing-3);grid-template-columns:repeat(2,1fr)}@container (min-width: 1200px){.ff-product-detail__prices-grid{grid-template-columns:repeat(4,1fr)}}.ff-product-detail__price-card{background-color:var(--ff-color-bg-muted);border-radius:var(--ff-radius-lg);display:flex;flex-direction:column;gap:var(--ff-spacing-1);padding:var(--ff-spacing-3)}.ff-product-detail__price-label{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-product-detail__price-value{color:var(--ff-color-text);font-size:var(--ff-font-size-lg);font-variant-numeric:tabular-nums;font-weight:var(--ff-font-weight-bold)}.ff-product-detail__price-value--positive{color:var(--ff-color-success)}.ff-product-detail__price-value--negative{color:var(--ff-color-danger)}.ff-product-detail__price-percent{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-medium);margin-left:var(--ff-spacing-1)}.ff-product-detail__stock{align-items:center;display:flex;gap:var(--ff-spacing-3)}.ff-product-detail__stock-icon{align-items:center;border-radius:var(--ff-radius-lg);display:flex;flex-shrink:0;height:3rem;justify-content:center;width:3rem}.ff-product-detail__stock-icon svg{height:1.5rem;width:1.5rem}.ff-product-detail__stock-icon.is-ok{background-color:var(--ff-color-success-subtle);color:var(--ff-color-success)}.ff-product-detail__stock-icon.is-low{background-color:var(--ff-color-warning-subtle);color:var(--ff-color-warning)}.ff-product-detail__stock-icon.is-out{background-color:var(--ff-color-danger-subtle);color:var(--ff-color-danger)}.ff-product-detail__stock-info{display:flex;flex-direction:column;gap:var(--ff-spacing-0-5)}.ff-product-detail__stock-value{color:var(--ff-color-text);font-size:var(--ff-font-size-xl);font-weight:var(--ff-font-weight-bold)}.ff-product-detail__stock-status{align-items:center;display:inline-flex;font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-1)}.ff-product-detail__stock-status svg{height:.875rem;width:.875rem}.ff-product-detail__stock-status.is-ok{color:var(--ff-color-success)}.ff-product-detail__stock-status.is-low{color:var(--ff-color-warning)}.ff-product-detail__stock-status.is-out{color:var(--ff-color-danger)}.ff-product-detail__stock-restock{border-top:1px solid var(--ff-color-border-light);color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs);padding-top:var(--ff-spacing-2)}.ff-product-detail__description{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);line-height:var(--ff-leading-relaxed,1.6)}.ff-product-detail__description h1,.ff-product-detail__description h2,.ff-product-detail__description h3,.ff-product-detail__description h4{color:var(--ff-color-text);font-weight:var(--ff-font-weight-semibold);margin:var(--ff-spacing-3) 0 var(--ff-spacing-2)}.ff-product-detail__description p{margin:0 0 var(--ff-spacing-2)}.ff-product-detail__description ol,.ff-product-detail__description ul{margin:0 0 var(--ff-spacing-2);padding-left:var(--ff-spacing-5)}.ff-product-detail__description li{margin-bottom:var(--ff-spacing-1)}.ff-product-detail__description img{border-radius:var(--ff-radius-md);height:auto;max-width:100%}.ff-product-detail__description a{color:var(--ff-color-primary);text-decoration:underline}.ff-product-detail__properties-grid{display:grid;gap:var(--ff-spacing-2) var(--ff-spacing-4);grid-template-columns:minmax(12rem,auto) 1fr;margin:0}.ff-product-detail__properties-grid dt{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold)}.ff-product-detail__properties-grid dd{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);margin:0}.ff-product-detail__variants{display:flex;flex-direction:column;gap:var(--ff-spacing-1)}.ff-product-detail__variant-row{align-items:center;background:none;border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-md);cursor:pointer;display:grid;gap:var(--ff-spacing-3);grid-template-columns:auto 1fr auto auto;min-height:4.5rem;padding:var(--ff-spacing-3);text-align:left;transition:background-color .15s ease}.ff-product-detail__variant-row:hover,.ff-product-detail__variant-thumb{background-color:var(--ff-color-bg-muted)}.ff-product-detail__variant-thumb{align-items:center;border-radius:var(--ff-radius-md);display:flex;flex-shrink:0;height:3rem;justify-content:center;overflow:hidden;width:3rem}.ff-product-detail__variant-thumb img{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ff-product-detail__variant-thumb-placeholder{color:var(--ff-color-text-muted);height:1.25rem;opacity:.5;width:1.25rem}.ff-product-detail__variant-info{display:flex;flex-direction:column;gap:var(--ff-spacing-0-5);min-width:0}.ff-product-detail__variant-name{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-product-detail__variant-meta{color:var(--ff-color-text-secondary);display:flex;font-size:var(--ff-font-size-xs);gap:var(--ff-spacing-1)}.ff-product-detail__variant-price{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-variant-numeric:tabular-nums;font-weight:var(--ff-font-weight-semibold);white-space:nowrap}.ff-product-detail__variant-chevron{color:var(--ff-color-text-muted);height:1rem;width:1rem}.ff-dashboard{container-type:inline-size;display:flex;flex-direction:column;gap:var(--ff-spacing-5);padding:var(--ff-spacing-5)}.ff-dashboard__kpi-row{display:grid;gap:var(--ff-spacing-4);grid-template-columns:repeat(2,1fr)}@container (min-width: 720px){.ff-dashboard__kpi-row{grid-template-columns:repeat(4,1fr)}}.ff-dashboard__grid{display:grid;gap:var(--ff-spacing-4);grid-template-columns:1fr}@container (min-width: 720px){.ff-dashboard__grid{grid-template-columns:repeat(2,1fr)}}.ff-dashboard-kpi{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-2xl,1.25rem);color:inherit;display:flex;flex-direction:column;gap:var(--ff-spacing-3);min-height:11rem;overflow:hidden;padding:var(--ff-spacing-5);position:relative;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ff-dashboard-kpi:before{background:radial-gradient(circle at top right,color-mix(in srgb,var(--ff-kpi-color,var(--ff-color-chart-1)) 12%,transparent),transparent 60%);content:"";inset:0;pointer-events:none;position:absolute}.ff-dashboard-kpi--clickable{cursor:pointer}.ff-dashboard-kpi--clickable:active{transform:scale(.98)}@media(hover:hover){.ff-dashboard-kpi--clickable:hover{border-color:color-mix(in srgb,var(--ff-kpi-color,var(--ff-color-chart-1)) 50%,var(--ff-color-border-light));box-shadow:0 4px 16px color-mix(in srgb,var(--ff-kpi-color,var(--ff-color-chart-1)) 12%,transparent)}}.ff-dashboard-kpi__top{align-items:center;display:flex;gap:var(--ff-spacing-3);z-index:1}.ff-dashboard-kpi__icon{align-items:center;border-radius:var(--ff-radius-xl);display:flex;flex-shrink:0;height:3rem;justify-content:center;width:3rem}.ff-dashboard-kpi__icon svg{height:1.5rem;width:1.5rem}.ff-dashboard-kpi__label{color:var(--ff-color-text-secondary);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);letter-spacing:var(--ff-tracking-wide);text-transform:uppercase}.ff-dashboard-kpi__value{color:var(--ff-color-text);font-size:clamp(2rem,4cqi,3rem);font-variant-numeric:tabular-nums;font-weight:var(--ff-font-weight-bold);line-height:1;z-index:1}.ff-dashboard-kpi__footer{align-items:center;display:flex;flex-wrap:wrap;gap:var(--ff-spacing-2);margin-top:auto;z-index:1}.ff-dashboard-kpi__trend{align-items:center;border-radius:var(--ff-radius-full);display:inline-flex;font-size:var(--ff-font-size-xs);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-1);padding:var(--ff-spacing-0-5) var(--ff-spacing-2)}.ff-dashboard-kpi__trend--up{background-color:var(--ff-color-success-subtle);color:var(--ff-color-success)}.ff-dashboard-kpi__trend--down{background-color:var(--ff-color-danger-subtle);color:var(--ff-color-danger)}.ff-dashboard-kpi__trend--flat{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text-muted)}.ff-dashboard-kpi__trend svg{height:.875rem;width:.875rem}.ff-dashboard-kpi__sub{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs)}.ff-dashboard-list-row{align-items:center;border-bottom:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-md);color:inherit;display:flex;gap:var(--ff-spacing-3);justify-content:space-between;padding:var(--ff-spacing-3) 0;text-decoration:none;transition:background-color .15s ease}.ff-dashboard-list-row:last-of-type{border-bottom:none}.ff-dashboard-list-row:active{background-color:var(--ff-color-bg-muted)}@media(hover:hover){.ff-dashboard-list-row:hover{background-color:var(--ff-color-bg-muted)}}.ff-dashboard-list-row__main{display:flex;flex:1;flex-direction:column;gap:var(--ff-spacing-0-5);min-width:0;padding-left:var(--ff-spacing-2)}.ff-dashboard-list-row__title{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-dashboard-list-row__sub{color:var(--ff-color-text-muted);font-size:var(--ff-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-dashboard-list-row__meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:var(--ff-spacing-1);padding-right:var(--ff-spacing-2)}.ff-dashboard-list-row__amount{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-variant-numeric:tabular-nums;font-weight:var(--ff-font-weight-semibold)}@keyframes ff-dashboard-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.ff-header__icon.is-spinning{animation:ff-dashboard-spin .8s linear infinite}.ff-picker-bar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:color-mix(in oklab,var(--ff-color-primary) 6%,var(--ff-color-bg-elevated));border-bottom:1px solid color-mix(in oklab,var(--ff-color-primary) 20%,var(--ff-color-border-light));padding:var(--ff-spacing-3) var(--ff-spacing-4);position:sticky;top:0;z-index:20}.ff-picker-bar,.ff-picker-bar__center{align-items:center;display:flex;gap:var(--ff-spacing-3)}.ff-picker-bar__center{flex:1;flex-wrap:wrap;min-width:0}.ff-picker-bar__count{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold)}.ff-picker-bar__link{background:none;border:none;color:var(--ff-color-primary);cursor:pointer;font-size:var(--ff-font-size-sm);padding:0;text-decoration:none}.ff-picker-bar__link:hover{text-decoration:underline}.ff-picker-bar__btn{align-items:center;border:1px solid transparent;border-radius:var(--ff-radius-md);cursor:pointer;display:inline-flex;font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);gap:var(--ff-spacing-2);min-height:2.5rem;padding:var(--ff-spacing-2) var(--ff-spacing-4)}.ff-picker-bar__btn:disabled{cursor:not-allowed;opacity:.5}.ff-picker-bar__btn--ghost{background-color:transparent;border-color:var(--ff-color-border-light);color:var(--ff-color-text-secondary)}.ff-picker-bar__btn--ghost:hover:not(:disabled){background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-picker-bar__btn--primary{background-color:var(--ff-color-primary);color:var(--ff-color-on-primary,#fff)}.ff-picker-bar__btn--primary:hover:not(:disabled){background-color:color-mix(in oklab,var(--ff-color-primary) 90%,#000)}.ff-picker-bar__btn-icon{height:1rem;width:1rem}.ff-picker-chip{align-items:center;background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-full);color:var(--ff-color-text);display:inline-flex;font-size:var(--ff-font-size-sm);gap:var(--ff-spacing-2);padding:var(--ff-spacing-1) var(--ff-spacing-3)}.ff-picker-chip__icon{color:var(--ff-color-primary);flex-shrink:0;height:1rem;width:1rem}.ff-picker-chip__label{max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-line-items-toolbar{align-items:flex-start;display:flex;gap:var(--ff-spacing-2);margin-bottom:var(--ff-spacing-3)}.ff-line-items-toolbar>.ff-product-search{flex:1;margin-bottom:0;min-width:0}.ff-line-items-toolbar__pick-btn{align-items:center;background:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);color:var(--ff-color-text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:2.75rem;justify-content:center;transition:background-color var(--ff-transition-fast),color var(--ff-transition-fast);width:2.75rem}.ff-line-items-toolbar__pick-btn:active:not(:disabled){background-color:var(--ff-color-primary-subtle);color:var(--ff-color-primary)}@media(hover:hover){.ff-line-items-toolbar__pick-btn:hover:not(:disabled){background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}}.ff-line-items-toolbar__pick-btn:disabled{cursor:not-allowed;opacity:.5}.ff-line-items-toolbar__pick-btn svg{height:1.25rem;width:1.25rem}.ff-picker-cell{display:flex}.ff-picker-cell,.ff-picker-cell__box{align-items:center;justify-content:center}.ff-picker-cell__box{background-color:var(--ff-color-bg-elevated);border:2px solid var(--ff-color-border);border-radius:var(--ff-radius-sm);cursor:pointer;display:inline-flex;height:1.5rem;transition:background-color .15s ease,border-color .15s ease;width:1.5rem}.ff-picker-cell__box.is-checked,.ff-picker-cell__box:hover{border-color:var(--ff-color-primary)}.ff-picker-cell__box.is-checked{background-color:var(--ff-color-primary);color:var(--ff-color-on-primary,#fff)}.ff-picker-cell__box svg{height:1rem;opacity:0;transition:opacity .15s ease;width:1rem}.ff-picker-cell__box.is-checked svg{opacity:1}.ff-bulk-add{background-color:var(--ff-color-bg-elevated);border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-xl);bottom:var(--ff-spacing-4);box-shadow:0 12px 32px color-mix(in oklab,var(--ff-color-text) 18%,transparent);display:flex;flex-direction:column;max-height:min(32rem,calc(100vh - 6rem));overflow:hidden;position:fixed;right:var(--ff-spacing-4);width:min(28rem,calc(100vw - 2rem));z-index:70}.ff-bulk-add.is-minimized{max-height:none;width:min(24rem,calc(100vw - 2rem))}.ff-bulk-add.is-offline .ff-bulk-add__status-icon{color:var(--ff-color-warning)}.ff-bulk-add.is-done:not(.has-failed) .ff-bulk-add__status-icon{color:var(--ff-color-success)}.ff-bulk-add.is-done.has-failed .ff-bulk-add__status-icon{color:var(--ff-color-danger)}.ff-bulk-add__header{border-bottom:1px solid var(--ff-color-border-light);justify-content:space-between;padding:var(--ff-spacing-3) var(--ff-spacing-4)}.ff-bulk-add__header,.ff-bulk-add__header-main{align-items:flex-start;display:flex;gap:var(--ff-spacing-3)}.ff-bulk-add__header-main{flex:1;min-width:0}.ff-bulk-add__status-icon{align-items:center;color:var(--ff-color-primary);display:flex;flex-shrink:0;height:1.5rem;justify-content:center;width:1.5rem}.ff-bulk-add__icon{height:1.25rem;width:1.25rem}.ff-bulk-add__icon--spin{animation:ff-bulk-add-spin 1s linear infinite}@keyframes ff-bulk-add-spin{to{transform:rotate(1turn)}}.ff-bulk-add__header-text{display:flex;flex:1;flex-direction:column;gap:var(--ff-spacing-0-5);min-width:0}.ff-bulk-add__title{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);font-weight:var(--ff-font-weight-semibold);line-height:1.3}.ff-bulk-add__context{background:none;border:none;color:var(--ff-color-primary);cursor:pointer;font-size:var(--ff-font-size-xs);padding:0;text-align:left;text-decoration:none}.ff-bulk-add__context:hover{text-decoration:underline}.ff-bulk-add__header-actions{display:flex;flex-shrink:0;gap:var(--ff-spacing-1)}.ff-bulk-add__icon-btn{align-items:center;background:transparent;border:none;border-radius:var(--ff-radius-md);color:var(--ff-color-text-secondary);cursor:pointer;display:inline-flex;height:2rem;justify-content:center;width:2rem}.ff-bulk-add__icon-btn:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-bulk-add__icon-btn svg{height:1rem;width:1rem}.ff-bulk-add__progress{background-color:var(--ff-color-bg-muted);height:.25rem;overflow:hidden;position:relative}.ff-bulk-add__progress-bar{background-color:var(--ff-color-primary);height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.ff-bulk-add.is-done:not(.has-failed) .ff-bulk-add__progress-bar{background-color:var(--ff-color-success)}.ff-bulk-add.is-done.has-failed .ff-bulk-add__progress-bar{background-color:var(--ff-color-danger)}.ff-bulk-add.is-offline .ff-bulk-add__progress-bar{background-color:var(--ff-color-warning)}.ff-bulk-add__body{display:flex;flex-direction:column;overflow:hidden}.ff-bulk-add__list{max-height:24rem;overflow-y:auto;padding:var(--ff-spacing-2) 0}.ff-bulk-add__row{align-items:center;border-bottom:1px solid color-mix(in oklab,var(--ff-color-border-light) 50%,transparent);display:flex;gap:var(--ff-spacing-3);padding:var(--ff-spacing-2) var(--ff-spacing-4)}.ff-bulk-add__row:last-child{border-bottom:none}.ff-bulk-add__row-icon{align-items:center;color:var(--ff-color-text-muted);display:flex;flex-shrink:0;height:1rem;justify-content:center;width:1rem}.ff-bulk-add__row-icon svg{height:1rem;width:1rem}.ff-bulk-add__row--success .ff-bulk-add__row-icon{color:var(--ff-color-success)}.ff-bulk-add__row--failed .ff-bulk-add__row-icon{color:var(--ff-color-danger)}.ff-bulk-add__row--in-flight .ff-bulk-add__row-icon{color:var(--ff-color-primary)}.ff-bulk-add__row-main{display:flex;flex:1;flex-direction:column;gap:var(--ff-spacing-0-5);min-width:0}.ff-bulk-add__row-name{color:var(--ff-color-text);font-size:var(--ff-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-bulk-add__row-sub{color:var(--ff-color-text-muted);display:flex;font-size:var(--ff-font-size-xs);gap:var(--ff-spacing-2)}.ff-bulk-add__row-sku{font-variant-numeric:tabular-nums}.ff-bulk-add__row-error{color:var(--ff-color-danger)}.ff-bulk-add__row-actions{display:flex;flex-shrink:0;gap:var(--ff-spacing-1)}.ff-bulk-add__row-btn{align-items:center;background:transparent;border:1px solid var(--ff-color-border-light);border-radius:var(--ff-radius-md);color:var(--ff-color-text-secondary);cursor:pointer;display:inline-flex;height:1.75rem;justify-content:center;width:1.75rem}.ff-bulk-add__row-btn:hover{background-color:var(--ff-color-bg-muted);color:var(--ff-color-text)}.ff-bulk-add__row-btn svg{height:.875rem;width:.875rem}.ff-bulk-add__footer{border-top:1px solid var(--ff-color-border-light);display:flex;justify-content:flex-end;padding:var(--ff-spacing-3) var(--ff-spacing-4)}.ff-bulk-add__btn-icon{height:.875rem;width:.875rem}.ff-bulk-add-enter-active,.ff-bulk-add-leave-active{transition:opacity .2s ease,transform .2s ease}.ff-bulk-add-enter-from,.ff-bulk-add-leave-to{opacity:0;transform:translateY(.5rem)}
