@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAQgABAAAAAAB+wAAAPGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEgAXBEICoJ8gkMLFAABNgIkAyIEIAWFCgdiDAcbhQbIPg1vjKH/SZAjGKk6g0Cz4ZDoqIq9ujYKvX+56LMpeKqx39u9+yKCiGazJpasMYQkFiKJSmhkKiQRqyQSleGnud+7DTG5L6jJGPdNJriH5JbwBBG6JVISgmK/170QegCQmWgmlyggSYrYRiVCU8mVdSoUqdZWfpsHE7m10AI7gL2xGtH/pVj0d/045f9hYeqMUicC2WdxoPzP5fhug8y4jw3gwAJO/G57a1i0nm8KMKFeYGdNPGoNsbVxiQSWuba48mH8gQtyCg5ZGAvDD5agO4oAPwBQQhhCgFe5RFRvaXUzOG0xggGcWMA/AWSTcAawAQKEpdyEm4qzANWCIApAGEIZSsgghakUSrjFgCREbxu/cRzQGwWAUWtGFiE8qqmDC6iWQ71FdfCqquouvdcYFiOuCtAtgPxPewaK0aS0ggxDgXLUnlIlIIClbUaH7BBxFsMkfAAIGOGXWNkB/QSAAgPiaALiLAwBgtyUU7EC+w6DKv6QgJ+R/PPNsuFpiK5bSEIxAA+AKMALZgHrgCwgDgCl77kplpAM67LJDJl10GcCuuhI+33L9mq73u62NvsWZu3rMWb3cgvn12x/P8lffyqb/HglnFmEf+rjy4X7/ql37b5+6vY78+HB0UP1UoRu7ouL/fbFUbnaWt23vt79XKns2uzimnswMDd4/sV5T+tRyfifEJTXp0rO6M72e3+7lt5c7R9a9l9j3tdUtXfNZMugZxqkJWfd0l8q27px4E9LcXRh+Fpfy289JTldsUkNKfimSnyrbqPraoPjv2PDRXk54d4RkT5h2QXVBUA1QMDF5ccP6u/k3oV4ABGgm/SiDaYEBEz6xGt/Ouacs1M038DXTWWO5d+ncE1S92PgXGCNBfLTfYd+nQZUqml3/MkRYQsLL6dd3AEtEiDg0c5CBh22pgT47TIkwwMcReIOIh9JUMFwg9HlDax62+CQNQdOtdrtQZ2kDgJ+SbAEww1e/LyL8uEFY4z0GAYVBAwdNVYbQk1JRcB/FpjwMsWJw2Nx1EwEvFg8NZ1YRhylOHVKVSvHMNAiDMpwjAQETytGI0JJpMPgtCI4PDUjAyxJrHgJkuK1sHjCUuBqyVKuWJE6WQVKqfrUwiJGJqO4dr4JliheogRYMxUC19bqGdFobDRUQGxZM7ZQHwtvPKSkdvNFA2KxD6bEIcTgSNEBUTYW8eKokr1jKFMRKOrzf9Xm4AHl3oPChBErDnE6uwc4MkSsRYM6Pr4g3g5MjC9Mtl1gRYF8TUNxOCXjk+JT/6qR+4TujRUA) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAY8AA8AAAAAB9AAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAE0AAABgVhGVxlNUQVQAAAI0AAAAPAAAAEjnb8weY21hcAAAAnAAAABCAAAAXEHQ4ltnYXNwAAACtAAAAAgAAAAIAAAAEGdseWYAAAK8AAABXQAAAXztscPjaGVhZAAABBwAAAA2AAAANiKfW4FoaGVhAAAEVAAAAB8AAAAkCEwBamhtdHgAAAR0AAAAIQAAACIN3QCpbG9jYQAABJgAAAAUAAAAFAFhAextYXhwAAAErAAAABoAAAAgABwA5W5hbWUAAATIAAABIQAAAoo6Dl9McG9zdAAABewAAABOAAAAYvVu8ckAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2BhUmGcwMDKwMDUxRTBwMDgDaEZ4xg0GDUYUAE7EDPBOB4uzv4MBxgUFLYwv/h3kYGB+QWjvgID42SQHONbpp1ASoGBGQDyIQy4AAAAeNoNx7ENQFAYBsD7fgqhfSNYTIVE+RJrGMhwXHciJoWmsKp7P3pw9u3KLEbNgMqYh3oxyP8FhA/Q2QU+eNpjYGBgAmJmIBYBkoxgmoXBA0jzMXAA5dgYFBgcGRYwHGRkUtjy/z9QHIX//8n/A/9T/zv+Z7wfBNSNAgBlvxJCAAAAAQAB//8AD3jaPMsh0AFBGAbg99ubf79/ru1wJwisG6vfut2gCehV0QSZXuiVTK/0kejBjN4UI9pjhlGfmQcCOUAnuiACA1Zp1dZK57QOKxqHHV2CadIGAgoQM3EAIwYsWco6mttRpCgeUDzphWuP+vOFODyH2+2dRmGPsvysaCkMCACDccP559OvS/wv3oBK+RAVcUQdHvhrGVN0vfNZoRMtWSbVNLW58zUpqdDOu6JrTNaS3HHO5mmaVFmyTajxmkumFTsLmxkTw79pnGzcqg4a9sF8QRJ1/2YzRnBzCMsZK+g4S7oppLraxpjwsrI5cZvG2kiJ8vKYm/PwikurWcg5mCv5hTHOtuDkElOQ1ZPW1Na2sdYPMlUQ5+CwALrXkEmH4ScwJJgZGITNjdkNc6M7mXR6e8EyTxgTmdMZeIEySmqmxiIg9wIptpO+3rZGmlpGNr5MT1zsNTQ01R2dANfkSg4AAAAAAQAAAAMDVJ3QuIhfDzz1AAMD6AAAAADfih8IAAAAAN+a9WL/Uf7/BRAD4QAAAAYAAgAAAAAAAHjaY2BkYGB+8e8iAwOr8//Av76sAkARVMABAJYoBbwAeNpj/MtgxFTLIAjDjCwMDCDMZMAgzMDAYMhgCABUZAOSAAAAAAAAFAAvADsARgBGAEYAmQCmAL542mNgZGBg4GRoAOJkBlYwDwFYGBgBFx0BAgAAeNqMkQVKRWEQRo/dknZL2N3d3S1tv+6mcRFSrkbKZflxfd38zJ0zPcwF6vmijJLyGuCnZDrKJXSWNEe5lMaS6iiXsclvlMsZ5TvKFbTzGeVKhnmMciPz9P9zCZrVHOXyRM+SWvlro1wngmtcOHjGyRF+aTsWXnngXdqEWT6Jnhsfy0zo+RT3KurGLx7HJ7ZLu+Q1KX7BPqccGj1tvOt7gFdRv9gnzxjXIhMBVT0rci/La3RxKbeXGfWaZEo6uUdvWpfetC6JqhXV7bLDhajoLdKsfJN3xG4ieOMX6mWaScmU6Faed+n8u18atlX2q1G/pcm6tHFDn+zBjKubsBgZAV4Y59X4axMSbWtYdolJElDFhPIS08fk/xuy7ZoAB/xhkwAAAHjaY2BiAIP/7QwaDNgAJxCrMJxkZGJgZmRmZGFkZWRjc0wqSi1LZS/NyzQwcDQA0UYGTiacicmlJanJ+blJPCAZYwMzveTE4lQAH2ARFAAA) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-vietnamese-400-normal-BLrFBAHj.woff2) format("woff2"),url(/assets/hanken-grotesk-vietnamese-400-normal-C-iWyKLC.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-ext-400-normal-DR7lHpW4.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-ext-400-normal-DI-aIsWt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-400-normal-BG6hkEXj.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-400-normal-CjyVwvJV.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAAQIABAAAAAACAQAAAOvAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAXBEICoJ8gkILFAABNgIkAyIEIAWFKAdiDAcbngYoLgpsW7F2EW5iaDHUuE4MfK2EiuDJv6h63X9mQfCkiMhBhsvo5EiaqbW2d/+I+KtIQl7tBEmQGRKRRIOu1qgM08UaQyggDm7nRPJEQ8yt/i+kPxzR/3NNvjVI8z4uSAc88SqLKssyHUVb097RKkT3pocLQBwwzNwaPrRPwsDGVWMcQ0JC6POwBxWoCUhCyEKguo4k4ImTfTHQv3MdVgf9CqgQiB2bkDroRCAUkqpCVUlDRHQ1D5JAyEKSJYGU4qidMYjDVkQilhfxV/yqRLoxLQXMUK3Eaqx0JRxVkEydutYguNe2j/N3/7OjjD5tAXQrxM/pRbRFEP1vS0MwOoKPbCliELZdqgpVFxoiFnfUoG4WEKX4FSRkNEQQ+IJTAbUDsClry2zfm5HaPlMBxKLylTdsMk58Oh9E7h2iQh1QDdQHVMcywAlAc0BDAEn61CcqhCiKKkXjYjt17Rq5VlpfK9essaPGtuqrVyaTPYvWbV+4EFc82GLJ4SPOvvlhjZsudlj0cm5z1LE76xb/63f4H3up+o2f9Fx8dDH2/HlnH2m6xk1ZuMYWNc6+eiJ9/fBDzvW/fNflgx0iu/P1135hTq0X9rzb8b2OffZaL/9ttxws1OTtcs2ifurg4aN54vRp2vBVpxF+zfPqLpPezVhxxNg+pnTtuPK4cx07sOdmLi627vZzbK74f/MIh3FRKIso5sp/ek5tZ9stN3vviznTbUYH/aNT55eOkyw+M4A7g1BFFb/4BK0uq3qaCKA26Xi+Rm22BYScFx5lvr6+ps7I36rm/B18emObqir5nt/W66/caaU8xXJTpJNusFD+f6j0OwWqxr/6J1HDioKXS30NAnrhg1DNQETNEDjokkBtj8miqIa3YiiA0D21IakdIBvtsbEwQklzh1DW1RbUNpgH6polYNfTq702JGLjxtIlUp1Y/T+ooTrma6hJqXPDpFSVZCTllBQUYfxyskpwNS4pdRU5dSROiAZMDqqiCINpQmkICaEyECVNGJQAqqRKoAFRIBTk4OOWKs38+GBCDkKSN2p7KQERManm13KxsQrWho5E+l+Aq0pBHtlMcudbNTRtQIb1TUgkRCTESGKKckhUeQgiZXmGgr0ZDlPUgECRsAZrLCjZ1sGlCWQ01AjVpCBIWm2QQhscSqioB0G+gpMNJkIr0xXKaujoKZIcOYooRbk8bv3K/ikdh3aXRCKzSD0pEVlkXes24Fju9xrSXuwQSUWKdTYSz6PSE8Ut) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAY8AA8AAAAAB7QAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAE0AAABgVnWVylNUQVQAAAI0AAAAOQAAAETlE8wbY21hcAAAAnAAAABCAAAAXEHQ4ltnYXNwAAACtAAAAAgAAAAIAAAAEGdseWYAAAK8AAABXgAAAXwE1rnAaGVhZAAABBwAAAA1AAAANiKkW4FoaGVhAAAEVAAAAB8AAAAkCFEBaWhtdHgAAAR0AAAAIQAAACIN/ACZbG9jYQAABJgAAAAUAAAAFAFhAextYXhwAAAErAAAABoAAAAgABwA5W5hbWUAAATIAAABIQAAAnQ1/F4xcG9zdAAABewAAABOAAAAYvVu8ckAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2Bh0mD8wsDKwMDUxRTBwMDgDaEZ4xg0GDUYUAE7EDPBOB4uzv4MBxgUFLYwv/h3kYGB+QWjvgID42SQHONbpp1ASoGBGQAXMA0gAAAAeNodxIEFgFAYBsD7/ooUhEZosUBFgEeLN0B0OBGjwvq/qec4W3C1/c4keotAhrzoRGUG4QO3sgTdAAAAeNpjYGBgAmJmIBYBkoxgmoXBA0jzMXAA5dgYFBgcGRYwHGRkUtjy/z9QHIX//8n/A/9T/zv+Z7wfBNSNAgBlvxJCAAAAAQAB//8AD3jaPIszeGxRGEX3f+7MOflebGOM58tnG7FdxahjN7HZt+mn/2KXqdM3URer3HutBQYZoHXahwQBKKGWUIcl1CLT7PkAZZ4v0v65y07jYAgCWDPzQeARoJBCNpdFOCQpiILTKKjx1fnBK1LrG5jv7OfCwik9P9/DxcVtJfUxJwiAgMARNh/+yrufw6/96kDIxTGLYsuIhwGYrU6nphq6YdMskRYueGREVJQi60Y056RZdEPXVKfTZuXCpeuKHBUVGSG4UCIp5UftWy6ZXjJ+vuBn9re+c7xNDSqL7TyfoQLBQxOeJXk+xmSkVP74WKr5S6a3AXrp+9gIf/+PH/39o+LsSsJbxf0vhxY+cxGZGO+NcXvlD+9eZOmJkdz8GYSn7AmZmA8SEG4o4mlD9TB7MjR0Qw6oXKpE4BWxOi9naiwCci+QYjvu7+2mr6qm5+rL9NjVXlVFVcXJCQCvfEkeAAB42mNgZGBgYGYOqfY4HxbPb/MVyH7BAAT3u+Q5wPSsr0n/A//9YxVlfgTksjEwgUQBcMANhAAAAHjaY2BkYGB+8e8iAwOry//Av96sokARVMABAJZ2BcAAeNpj/MNgxNTJwAfDjCwMDCDMZMAgwMDAoMugCwBW0wOhAAAAAAAAFAAvADsARgBGAEYAmQCmAL542mNgZGBg4GRoAOJkBlYwDwFYGBgBFx0BAgAAeNpiYGDgYZjGwMzAyMIJZB9ilIGyGRm0GD5B2UwMfAxPIGwgacewDMpmQVLDyiDF0ANohKy1KgiCKFi45aRIgrtDgrtrCs/d9e8p3OXs6b3VPjPP3MogoSe2c57xJ25wF/3P3CJ3P3On3PnMXRKckyXNHRn2KKkp4gQ5IkxIKpu7ISxFiZnX/HIUWWaCCTVIwWyOkjxOUU6pWaNR8ydsc8guzidJ2P8OBbMluWhk7MOma7mAM6zI0MsM40wypb7RCrtsssGJ9N+553JUSllf+NDV+6mv90PfhpkcdQqv9+9lmkltSro0ElZ/n3eKPgn9IPazRlmNGfOm+oNf3jTqNiusCzBO0Mo0E5pnR4+UFtXKdkxY97Z9jOiH7UP3TuVfYwAAAHjaY2BiAIP/7QwaDNgAJxCrMJxkZGJgZmRmZGFkZWRjc0wqSi1LZS/NyzQwcDQA0UYGTiacicmlJanJ+blJPCAZYwMzveTE4lQAH2ARFAAA) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-vietnamese-500-normal-DxwlvJEc.woff2) format("woff2"),url(/assets/hanken-grotesk-vietnamese-500-normal-DkDHNoXI.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-latin-ext-500-normal-DLb9JDK8.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-ext-500-normal-BNvrJ0Ju.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-latin-500-normal-DrDcrrxK.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-500-normal-Bo-NxEKf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAAQoABAAAAAACBQAAAPPAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAXBEICoJ8gkQLFAABNgIkAyIEIAWFOAdiDAcbsAYArgZscK1wkCT3IhFNYz5DPm7qldBpMgqe/7f7d5878wHPl+fTgfT+owOgTZ10qYRSldRmpU2VVAIBtVb23O0DgSLUxDaggFgCgYsH4vL58iGQsX8lwzz/N2ssW5itSTCXRf3EepFFaWB193xtOsLr/8L5w/mRXT/9/eStz9e8ZyvSAU88yqPKhpE04lG0VVOmwL/pw8X5dE4v9dEEsYPKnNkNQhGQDgAUITRCQKo63dTwvCVryFxtiQXIpAP+E4CsskcCJAMBQqckE8mUfDpoUkkoAEIjFI0iiILdyA0acLkGYMdOAD38izUkQB3SSbC4EJlLU2gg2JKA0nbB8MxyHqitvY3+nLrSFwzttchpCMi/2EMIBo1EvyrkU6CO2uZ0xQS4N1t8ko7Ip1dbSIOxnAAkWW0AQAEN5NMIvDwLQCY/nESGKZe8DDHjzh8YjMRXe50B4TcNEuLSQhLkAEgBkAtSwUawD5SDfACK+qW3RCck0pP0wqjtOztNy1CzGfH0NG/aitS5W9avT5tpOTs5Ce+cKuorV+y4+jHj8LumfP8AcA6Bolz3+LoB7/Io/dChpXr8Dn5+gnZcKWx9iTO2G0PG4RWW7NSxHl3f863TFp6ZkFbwoMm/P7ygJSJbTkrgowKoyhzz9Y9smyi8OB6IhoZKaj5vF/sX9n5Z6ZQsPDx9dfaCtPHUQ27GxAeD+8aXHZ/Ltbv9rIHMFWPzprZ39q0ZKC16pbHJf2H7maPefE68ORPLay4JwmUhmlkyiaojIEmSHyKDk53CBKRBHUL36sstQ4AWX9O+/ms9L6v7P4Vqn4CPh1B65KUXSkvcz4DEWyzjFimpsxbEqcuxv5M7OfzGQjgzgg5vpzpkghYtBKTopSuhsSymCMh0VZxEKcCjML4GoiOUAyUzpAPNtKeZuh1IUOo6SNTmOMjUbxnIVq6bmSNbDYtAusJ8SXyGSsWlPi+NVLBKkJ9FwEIxFj5uVuvZuTm5xKxm5+c2LcjHZoHHbF52AYb5IoJi7KK87f9iQqKGdeoUZRXhFhIT1SHKzadDUIRTp+XmWcIaq+Zuj0CyDpNFuGTBGIr36GDq0rPiHbHAHDOWp44ftar6TnE+FpF3zW34q2YEu2GPyNn9EkM3U7cuhjVc7Axe2QoM5ZFZOeBPiYtxCYqIMjSdscbJbTVL3KwOVkF+nfwsIojEN6OcReKiOrlEwN/OaWmmCIH/p8GCKaDOkxBDC5rokiCJiVOzKfxHJW0JuE1zytRf7Dane1MWWOMxezYbknTUbPaY/elthN8PiW5ERwE=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAY4AA8AAAAAB8gAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAEsAAABgVtmVzlNUQVQAAAIwAAAAOQAAAETld8wcY21hcAAAAmwAAABCAAAAXEHQ4ltnYXNwAAACsAAAAAgAAAAIAAAAEGdseWYAAAK4AAABXgAAAX5c5uVEaGVhZAAABBgAAAA2AAAANiKpW4JoaGVhAAAEUAAAAB8AAAAkCFYBaWhtdHgAAARwAAAAIQAAACIOHACLbG9jYQAABJQAAAAUAAAAFAFkAe9tYXhwAAAEqAAAABoAAAAgABwA5W5hbWUAAATEAAABJAAAAoQ3x1+DcG9zdAAABegAAABOAAAAYvVu8ckAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2Bh0mGKYGBlYGDqAtIMDN4QmjGOQYNRgwEVsAMxE4zj4eLsz3CAQUFhC/OLfxcZGJhfMOorMDBOBskxvmXaCaQUGJgB4X0MiQB42h3EAQaAQBQFwHm/JAWhI3SoAAIVAZauHw1GxKiw/m/qPa8W3O14MoneIpChdnSiMoPwAaxHBEMAAAB42mNgYGACYmYgFgGSjGCahcEDSPMxcADl2BgUGBwZFjAcZGRS2PL/P1Achf//yf8D/1P/O/5nvB8E1I0CAGW/EkIAAAABAAH//wAPeNo8ywHGAkEYBuD3m/XP9ytitbtJ0LSaDcBOM3OEdINOULcISAok6CjpBIku0A0KQFBotogAHh4IlACd6IIIDJhYxX0Vq5J2YUPjsKdLKAa0gkAdEGtxAKMGGDKUF4r7UVSnZELNuQ1XS8V0Kg6v0Xb7pFa4oaq+K1oIDQLAYDxw/vns5/9Y4kNoVHfRFkd04IG/ntZ26J3PrUqVZJkmWWZK51tSklXOOzvUOu9JLpwzZZalCUs2KXVH7+XasDKx6DJx/5vPzsIlb6Fk5sWfLdX4bzJjBAuzgKS2lLqNeIxilptjghknI6Mxr3m8vZgIJ6eHByenqKSSvqSpgZ5XCOMcTxYWYSlJVTF1DQt7O4NQcykRZiZPoIu1mLQZBYBhwczAIGxuzK6VVzGVSbuvDyzzmDGeOZ2BFyijpGZqLAJyL5BiOxrg7a+tqKjt58v02NVeSVFJ0dkRAA8oSTQAAAABAAAAAwNUxah1nl8PPPUAAwPoAAAAAN+KHwgAAAAA35r1Yv9R/v4FGgPjAAAABgACAAAAAAAAeNpjYGRgYH7x7yIDA6vb/8C/nqxSQBFUwAEAlt0FxQB42mP8zWDENJWBG4YZWRgYQJjJgIGPgYFBi0ELAFlNA7MAAAAAAAAUAC8AOwBHAEcARwCaAKcAv3jaY2BkYGDgZGgA4mQGVjAPAVgYGAEXHQECAAB42pWQtUFEURRED+6SoNEmuLsluLum6Lp+QepAyqAIKqIBZIJ13+C+OTPPL9DIBxWUVdYBX2XDUS5jlN8ol9PMd5QrWOUzypVJa6ro5i3K1QzjjnIzs0yKxWXort4oV9NKe5TrlddHuUEEp4QIcEOQHSypHw93nPFAQLRKSMk9VzzIuXBjocIijMkiY4xJ7zDwKLHEo5hivzSk1MUYR2yyzza6Ax8PGrcwCGGJTSUjGbddyhvoHPkgDqYYZZwJaYKW2GadNY5EpZx9Ku/CFt9gJO/EkbbXkbF3TRrmBYNoL3AwybhqQnSu5EGa/8xj5PHK36H9rGBL3coMTPn+jP668KAV2Nwyyh0hAoypbjCQw69yqWxM5e6k20eUJ98+8A8O6WKAeNpjYGIAg//tDBoM2AAnEKswnGRkYmBmZGZkYWRlZGNzTCpKLUtlL83LNDBwNADRRgZOJpyJyaUlqcn5uUk8IBljAzO95MTiVAAfYBEUAAA=) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-vietnamese-600-normal-Cp8QQjQf.woff2) format("woff2"),url(/assets/hanken-grotesk-vietnamese-600-normal-DHaFH8q1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-latin-ext-600-normal-FY8kSObK.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-ext-600-normal-DHIm05DD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-latin-600-normal-CIXX6EOa.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-600-normal-NEn2C4Q3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAAQQABAAAAAAB9AAAAO1AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAXBEICoJ8gkULFAABNgIkAyIEIAWEcgdiDAcbawYAPgzYZKiDVf9AJG6cDDnBomS69KOW+n5qazEGz//bVff9qmloNUKNvSCjbbmmtQCzjTfck4MRlMqpcpgH+HHY+xMVmtIalHYAo5yoTKXFQ5zayVEoGWY92TdNoFQlCEmzUTTRuv4/nC9cFvmd4kJ9rcssgaOlihjv/5yLtwZp3scF6YAnvj6vsqOyCjrDgZ013RsdtWiVn8GJ6+k26YjeXEM1TLo9UgS4AIAihEYIcGgyQPUsXL4ez3JfPo2HDvhPALIslE1jAwKETrERNkoxHbSpJRQAoRGKRhEmQjSmRQsxMQNERMzXIzR1WzTUvohRYBkOImO0BbPJrED5ayzumbeKi8rKLke+/zfa+9BahhwC5EvEfTBohLBRoJgCTdSmSDQvgNh6X1IYUUynESo4ARAgAIlVtwEU0EAxjYBiusXAw0axMMxx0XiIMG79B/eJ/68FncKzfmIcWsh/UgHYAUwEDrAF7AHVoBiAor70keiEROlWvTRqrVucmlv53eRyJpznmM2bNjnbd2pqKmw9Vzhy6ZItlx8l7p8uHXrWwqCkZ3Tjw6sK2isPEvY9bRp+eenkpC2ns2bZ0rU1GxIP3Kedh3DcRMfM0ZllDXMOdbLl3psjjvjg/Z9X7bonrMNIitTwdN+skvyB49E9Cyvq3lSX9c/v+bq5o3rxwb7V7py4ZsKZ/oy1n0y/l5ftW1veeGxo4UxjdmLW4jm+/pENk8vun1XdYJ7deeKg8Rd9vfNnb647U1iSrtk8b+UcVA0BVlb/ZBbbnKcPYIM6EbkTr7YIAVrk+r+anJXqX+MitU/Ax32lcbj65NfY/t8uE1jK2KOMotRFDfrfhd4PVbSFXwxTikGHKtXGiVL/gAC7IboKGi/hFAEuF0SSKDtwJxScQVT7B4rNN9BMdRt0LS5AkUp7wKLJZsljRINMwKUUrNh8Awcujm05cYC1TCk+aUvk+STFBGwSEhMRlZe/Nm9MzlS9euUEZMWMycvpkROT1MOUFdFrlYWWW8wnLSEkbZEsU15ITkK3uUxJQRuFZOXEmNIMg3r06TfoYZixKMOyuWvTLDbfPKtMi27iwWO1z2Mas1M2G9/EMKDPgH6G9aJCjNt6qzkk7gV8VM9RkBfNV8AcQ5sMJyJiWssU+PUIMKX0SvHJMq8mmSJMBTm9ojfQd4sU2imb4f/UCWkHTR6HCLSgiS5FYrHM8XffX2P9dKyvb04fPnOgb+6QfQOFfKgRDcfF5vsG+0Y606i8Hv7vWtRBAAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAYoAA8AAAAAB7AAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAE0AAABgVz2VsVNUQVQAAAI0AAAAOQAAAETl28wdY21hcAAAAnAAAABCAAAAXEHQ4ltnYXNwAAACtAAAAAgAAAAIAAAAEGdseWYAAAK8AAABUQAAAXa5Z4vvaGVhZAAABBAAAAA2AAAANiKuW4NoaGVhAAAESAAAAB8AAAAkCFoBaWhtdHgAAARoAAAAIQAAACIOPgB7bG9jYQAABIwAAAAUAAAAFAFdAeVtYXhwAAAEoAAAABoAAAAgABwA5W5hbWUAAAS8AAABGQAAAnI2iF0HcG9zdAAABdgAAABOAAAAYvVu8ckAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2Bh0mfaw8DKwMDUxRTBwMDgDaEZ4xg0GDUYUAE7EDPBOB4uzv4MCxgUFLYwv/h3kYGB+QWjvgID42SQHONbpp1ASoGBGQACDwzQAAAAeNodxIEFgFAYBsD7/qIUhEZosUBFgEfLNVx0OBGjwvq/qec4W3C1/c4keotAhnrRicoMwgezyASoAAAAeNpjYGBgAmJmIBYBkoxgmoXBA0jzMXAA5dgYFBgcGRYwHGRkUtjy/z9QHIX//8n/A/9T/zv+Z7wfBNSNAgBlvxJCAAAAAQAB//8AD3jaPU41cNxAFH1/lWgvDAIz7N14FQatIMzMzMyctCnDMTOX7vu5xtQY+3Ht3tzaxzP+zP+BwQVomCaggQNqk9hUITYJl9oSLXQ80UcTiS3b6ScYIgDrZHFwrAYUKYo5glc4PEL5zym/1k1MKyp8/JTFl87+/7+YSCCZzO1of5gEAeBpTmB8uf52uR5BPdIlrEkusBI2giL4wMqolL4XBmHMF5bQuW6Ztq3cIMzTdfJFEAa+J2UsqnMnCJRr25bJlUXiwpfDKxjbyjYnenRtTakq33t6w/eSn4l6uke0Pk/mx/bbb8Wnc8dfhPrudcGLo5bBI9evc24WlG23d+9Q529Q9w2izflW1HDk0ePH3Dv7bOMGCJJtpyIWhwYYoeLy258utr2uLtuZpKfaW6wDjKj0lZlBmnb64PWL97YWlTr3rrLJ08fKSspKTp5IAffUSWUAAAAAAQAAAAMDVA1NLcxfDzz1AAMD6AAAAADfih8IAAAAAN+a9WL/Uf79BR4D5QABAAYAAgAAAAAAAHjaY2BkYGB+8e8iAwOr+//Avx6sckARVMABAJctBckAeNpj/MVgxLSIgQOGGVkYGECYyYCBm4GBQY1BDQBcBwPFAAAAAAAAFAAuADoARgBGAEYAlgCjALt42mNgZGBg4GRoAOJkBlYwDwFYGBgBFx0BAgAAeNqNkYNuRkEYRE/thrVtuw1q23H12+Zz9Gka9aEaFpN0a+bmu3Nm1rtAMddkkZFdANxmVBvOoJYHw5nkc2c4i2luDGfT/jo2h2rShnNp5dRwKeM0P3MGWqvccN7bnBmFygsNF4lgHx8ezvGyRljqxsElJ1ikNuzKVPr8hJhmgAHpJUEcSsLifkJit9Sn1MYAOyyzySqaExcW/VcI4iMsDinpY17OzRXHSoJovLyXRkboZ5Ah6fvRjZ/GN76Of+s/wyqLLLAj+s/KRn9dZ0HsJ0Hw9SYaGWZQNSQ6VGKR/r7TXeRxyl8Slp8jIrUr07nlO7/crk2rqQcRLujnEr0OA6pzgsjhVtlUEULK7e9W71P+fvWuJ3pCXsUAAAB42mNgYgCD/+0MGgzYACcQqzCcZGRiYGZkZmRhZGVkY3NMKkotS2Uvzcs0MHA0ANFGBk4mnInJpSWpyfm5STwgGWMDM73kxOJUAB9gERQAAA==) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-vietnamese-700-normal-C4RNfQp6.woff2) format("woff2"),url(/assets/hanken-grotesk-vietnamese-700-normal-CslVg6dq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-latin-ext-700-normal-CK2OfQqO.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-ext-700-normal-BXHnjv6S.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-latin-700-normal-CeQ8H3UY.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-700-normal-6IGCzoPh.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:800;src:url(data:font/woff2;base64,d09GMgABAAAAAAQQABAAAAAACBwAAAO0AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAXBEICoJ8gkULFAABNgIkAyIEIAWFQAdiDAcbuQZRlC3OUoCfB44x9TTEKkMlolkpXUtcW8cdNqMkfNCnw08tvgYVP/abvffdMU2i2ayJJZqFThVPeCI1y4Qunmn4lS7dkwwEMiKcgB7OIgeIOwKquDLVGRdNuhBRt7168Z7iBBIOpLCZwNOEkijVMK38jz78n8txbZDNfWuRBpz4WL42jUmFcxAftSfdO2ptoLCXnkcI2Vwbj+gTE5HgJOd6+6EIRACAEXFEIKReIWps7R4GvwWbTvDjAfxDQLOgO8EDCIiHCZAAk+ECmsVBDIA4YhyjpmU2RqNUSpAVmJHAak8TcNVcYbvNAzBhI9EE6UmnBPzAzBwdm/rgM7U+d+9/82BUXgV0AOixN0A1mqrfFjIoUI/aJNlEAKsrtiMvJMOF3QmDhAmg+tAAYMCBDJqQ5RkFxPDx8anW4DLXoqrvf+DD4//ZZ4IG6G4SROlFWfeLAwgCSAFCYAGwBigHZABg7JfeFw9R8fg96TAXOXXMm/alWF/ax9vmrXhNjo+NeY/gwysr2nUpfOz2fdj54I33kdX4kaWlJeQPzks3+u5RgPjdt16Hf2WPrq4GLy+z83zIXC59eE6PvHfmKN+Zs5YK186tibnlm8rBNea12r3g/PP1l+tp27N3fMvZAYzvBCmtYRuCOHLbrakkIvbm39js+vT/e8tjW3f3m16T4ZNhJ+/3+FfkVGhwNROSMNKkNSc0OBvam7iCsrGKEN0BiRnEFAeHFwdcPkyON9fjmI58ZFUUHuytB6qHgJ8/jlvP+oBTaAPghZ1uvW22DAi4dvpxb+zaYrz6DTj3Drjb6QJ25PnLcv0/8qzg28ZqtpGOXRH076oVUQTCCOQTCknWuPFAlA08QR3rEcbIurgoolHEjEDMOEclCNyon0DawoCJJQXOoD/ZnjjwKnkOPi32Q0yPfkiIUcxLCpLIJ4jIVSvwjhCihP6JMCEwiXDAnDqYMDsFZ4xAIZGZWmxk0mGNCDteO8zJRuDEaKMjTAKDjcxkWmColCePgaNTLDAZchkUdrkInSRPn1bdqPG4UE4NnlECHU1NpHaRXPkKFI3Eq7Rr1qQvnTMQBlsvsdhh+vcWYhD0TQhZN9HX8JcwCuUrVIAxTCZgkNX9PoKq5jDwb2AxyQidgZG+0kaJEoXGwsrFIRzyOGC6R2nvCVINiyGPrALJHJIzA0VJ/Q+aYQyCet9F4eLkkVc+Xx97lv8Yd8up5Oc3tNlfFuY3dnlizjKFY20ofbyO/KL80nNuhL/W//pjzz4AAAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAYoAA8AAAAAB8AAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAE0AAABgV6GV1VNUQVQAAAI0AAAAOAAAAETmP8weY21hcAAAAmwAAABCAAAAXEHQ4ltnYXNwAAACsAAAAAgAAAAIAAAAEGdseWYAAAK4AAABUAAAAXD2sgZoaGVhZAAABAgAAAA1AAAANiKyW4RoaGVhAAAEQAAAAB8AAAAkCF8BaWhtdHgAAARgAAAAIQAAACIOXgBtbG9jYQAABIQAAAAUAAAAFAFaAd9tYXhwAAAEmAAAABoAAAAgABwA5W5hbWUAAAS0AAABJAAAAow4A2FTcG9zdAAABdgAAABOAAAAYvVu8ckAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2BhMmZWYGBlYGDqYopgYGDwhtCMcQwajBoMqIAdiJlgHA8XZ3+GAwwKCluYX/y7yMDA/IJRX4GBcTJIjvEt004gpcDADADQfAxZAAAAeNodxAEGgDAABdD3tzAFoQOELhaoCDC6fuzhiWgKtvGhfNfdg6efb2YxWQXS6o4qShYQfqhdBA542mNgYGACYmYgFgGSjGCahcEDSPMxcADl2BgUGBwZFjAcZGRS2PL/P1Achf//yf8D/1P/O/5nvB8E1I0CAGW/EkIAAAABAAH//wAPeNo9TjVUHFEUve9PZlZwxnAYj9tfjbu7u7snXZp4mrgHd+2r7ajw/tCi/YEW1+bpNTCsB6ideiHAB/AMI8MxMoz19HeihGITHdQ7sXQNvQSDCLAWloAPQYATJ8szfI7nEyn/AeWXr5kYXUspZ86yxPje168nh4cxOTnHET4yFwTABx8J6Fm83128+1EMgCEwOcKKWBdywQHRdN1wKBqJWmFDNSSfpCqaxtdHorokUdiIhEOua5mSz4tE+HpNUxUfV8k4+GzLEiKH6RONghDMXZO/cnv6x4L3E5/pTFCxFCOivjCf7tt5KyasSI3e3J6ZKUkXLoiinJXvycuWxfcep/ILabKcn+Hau3fsWH8unp52AQSLLSePJSAAcpT7rGd/atjy799nP/10RbiLFEA23TBXZjJON6n1xMHrjp5tXz/K+ndvy8vJy9m1fQp2WkfieNpjYGRgYGBmDul9ZiAUz2/zFch+wQAE97vkOcD0rK9J/wP//WVVZn4G5LIxMIFEAWnVDWIAAAB42mNgZGBgfvHvIgMDq+f/wL9urMpAEVTAAQCXlAXOAHjaY/zJYMS0joEVhhlZGBhAmMmAgZOBgUGZQRkAXoED1wAAAAAAABQALgA6AEYARgBGAJMAoAC4eNpjYGRgYOBkaADiZAZWMA8BWBgYARcdAQIAAHjalZE1VgRREEUv7u5Ek+HukODumjLu7gtB1sESWBQxLxj3OX2q6773S1qAbj5poqG5A/htWE9xA8sNzSlupJe/FDdxzE+Km3NqWpjkO8WtLOJKcS+bpGY2oF3TKW5nkNEUd8rvTHGXCB7x48WIjwsiyh6cmDkhIRWSPsQvz8IbVp3YcchX6AoQZpcllpTNqnXKiYgXFU48yn65dp3fcco152gLbqy6n+nET0QclrNQYt8rVmlNkvZhYI1FlllRztIe5xxzxJ2ovumPOrMTFRvl5/YaCroNJbqPlAMk5aW+iKpWWVasiJ7lWJUrT71HGpe0GfVzQFTZIU9vLT1d9JXtOFGF6kwsYkb/jSWF3gApPAq7IkpYviNn+4L83O0z/272Yo542mNgYgCD/+0MGgzYACcQqzCcZGRiYGZkZmRhZGVkY3NMKkotS2Uvzcs0MHA0ANFGBk4mnInJpSWpyfm5STwgGWMDM73kxOJUAB9gERQAAA==) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/hanken-grotesk-vietnamese-800-normal-rhXM_bnk.woff2) format("woff2"),url(/assets/hanken-grotesk-vietnamese-800-normal-Botv5QzP.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/hanken-grotesk-latin-ext-800-normal-BUyj4f7g.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-ext-800-normal-Cj41HOW_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/hanken-grotesk-latin-800-normal-KQ5tvtTT.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-800-normal-BTy3IUcF.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2) format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2) format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-sans-latin-600-normal-DFOURf8L.woff2) format("woff2"),url(/assets/geist-sans-latin-600-normal-CA1yjETN.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-sans-latin-700-normal-BmN9tIp5.woff2) format("woff2"),url(/assets/geist-sans-latin-700-normal-CjScfYeH.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-cyrillic-ext-300-normal-DqmgDkIN.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-300-normal-Bbd5v1xK.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-cyrillic-300-normal-RhT0Ayi3.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-300-normal-LoaTnByX.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-greek-300-normal-J-CBqZoJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-300-normal-STc8XiDr.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-vietnamese-300-normal-SDfX6ktj.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-300-normal-CkYRZD2a.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-latin-ext-300-normal-BLFuR0P1.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-300-normal-B8Zgwjh3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-latin-300-normal-b4i7YzLG.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-300-normal-C9Of02-5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Sans Symbols 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-symbols-2-symbols-400-normal-Crk7i-NV.woff2) format("woff2"),url(/assets/noto-sans-symbols-2-symbols-400-normal-1543TeiR.woff) format("woff")}@font-face{font-family:"Noto Sans Symbols 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-symbols-2-math-400-normal-loavqmHP.woff2) format("woff2"),url(/assets/noto-sans-symbols-2-math-400-normal-DNpUeSRq.woff) format("woff")}:root{color-scheme:light;--primary: #2F5FD0;--primary-hover: #2950B3;--primary-active: #21408F;--primary-light: #E7EDFB;--primary-soft: #F0F4FC;--accent-muted: #8AA6E0;--accent-subtle: #D4E0F5;--bg: #F3F1EA;--bg-subtle: #F3F1EA;--surface: #FFFFFF;--surface-muted: #ECE9E1;--border: #CDD0D6;--divider: #E4E6EA;--text: #1D1F24;--text-secondary: #5F636C;--text-tertiary: #9A9EA7;--text-inverse: #FFFFFF;--success: #3F7D4E;--success-bg: #EEF6F0;--success-text: #2F6B40;--warning: #BF6A23;--warning-bg: #FDF3EE;--warning-text: #8A4A16;--error: #9A3636;--error-bg: #FBECEC;--error-text: #7A2A2A;--info: #2F5FD0;--accent: #2F5FD0;--accent-2: #BF6A23;--won: #3F7D4E;--late: #9A3636;--sent: #6A4CA8;--line: #CDD0D6;--hair: #E4E6EA;--card: #FFFFFF;--gradient-brand: linear-gradient(135deg, #2F5FD0 0%, #5A82E0 100%);--font-display: "Hanken Grotesk", ui-sans-serif, -apple-system, BlinkMacSystemFont, sans-serif;--font-sans: "Hanken Grotesk", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Symbols 2", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, "Noto Sans Symbols 2", monospace;--paper: #F3F1EA;--paper-deep: #ECE9E1;--ink: #1D1F24;--ink-soft: #3E424A;--ink-muted: #5F636C;--rule: rgba(29, 31, 36, .12);--rule-strong: rgba(29, 31, 36, .26);--text-primary: var(--text);--text-muted: var(--text-tertiary);--shadow-sm: 0 1px 3px rgba(29, 31, 36, .07);--shadow-md: 0 4px 12px rgba(29, 31, 36, .09);--shadow-lg: 0 10px 30px rgba(29, 31, 36, .11);--shadow-xl: 0 20px 60px rgba(29, 31, 36, .14)}[data-theme=dark]{color-scheme:dark;--primary: #5A82E0;--primary-hover: #6E93E8;--primary-active: #4A72D0;--primary-light: rgba(47, 95, 208, .18);--primary-soft: rgba(47, 95, 208, .1);--accent-muted: #5A82E0;--accent-subtle: rgba(47, 95, 208, .14);--bg: #15171C;--bg-subtle: #15171C;--surface: #1D2026;--surface-muted: #252931;--border: #2C3038;--divider: #2C3038;--text: #E8E9EC;--text-secondary: #A8ACB5;--text-tertiary: #6E727C;--text-inverse: #1D1F24;--success-bg: rgba(63, 125, 78, .16);--success-text: #74C98C;--warning-bg: rgba(191, 106, 35, .16);--warning-text: #E0A05A;--error-bg: rgba(154, 54, 54, .16);--error-text: #E08080;--accent: #5A82E0;--accent-2: #E0A05A;--won: #74C98C;--late: #E08080;--sent: #A98FE0;--line: #2C3038;--hair: #2C3038;--card: #1D2026;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .6);--paper: #121419;--paper-deep: #1A1D23;--ink: #E8E9EC;--ink-soft: #B7BAC1;--ink-muted: #7C808A;--rule: rgba(232, 233, 236, .14);--rule-strong: rgba(232, 233, 236, .3);--text-primary: var(--text);--text-muted: var(--text-tertiary)}html,body,#root{height:100%;width:100%}body{font-family:var(--font-sans);background:var(--bg-subtle);color:var(--text);line-height:1.5;letter-spacing:.002em;transition:background .2s,color .2s}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select{-webkit-appearance:none;appearance:none;background:var(--surface);color:var(--text);border:1px solid var(--border);font-family:inherit;font-size:14px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px var(--surface) inset;-webkit-text-fill-color:var(--text);caret-color:var(--text);transition:background-color 5000s ease-in-out 0s}::selection{background:var(--primary-light);color:var(--text)}.select-org-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.select-org-container{width:100%;max-width:480px;padding:2rem}.select-org-header{text-align:center;margin-bottom:2rem}.select-org-header .logo-icon{font-size:2.5rem;color:var(--primary);display:block;margin-bottom:.75rem}.select-org-header h1{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 .5rem}.select-org-header p{color:var(--text-secondary);margin:0;font-size:.95rem}.org-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.org-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left;width:100%}.org-card:hover:not(:disabled){border-color:var(--primary);background:var(--surface-muted)}.org-card:disabled{opacity:.6;cursor:not-allowed}.org-avatar{width:40px;height:40px;border-radius:10px;background:var(--primary);color:var(--text-inverse);font-weight:700;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.org-info{flex:1;display:flex;flex-direction:column;gap:.2rem}.org-name{font-size:.95rem;font-weight:600;color:var(--text)}.org-role{font-size:.8rem;color:var(--text-secondary);text-transform:capitalize}.org-badge{font-size:.7rem;background:var(--surface-muted);color:var(--text-secondary);padding:.2rem .5rem;border-radius:4px}.org-loading{color:var(--primary);font-size:1.2rem}.create-org-link{width:100%;padding:.75rem;background:transparent;border:1px dashed var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;transition:border-color .15s,color .15s}.create-org-link:hover{border-color:var(--primary);color:var(--primary)}.cfd-overlay{position:fixed;inset:0;z-index:400;background:#0f141973;display:flex;align-items:center;justify-content:center;padding:24px}.cfd{width:min(440px,92vw);background:var(--surface);border-radius:12px;padding:20px 22px;box-shadow:0 18px 50px #00000040}.cfd-title{font-size:15px;font-weight:700;color:var(--text)}.cfd-body{margin-top:8px;font-size:13.5px;color:var(--text-secondary);white-space:pre-line}.cfd-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.cfd-danger{padding:8px 16px;border-radius:7px;border:none;cursor:pointer;background:var(--error);color:#fff;font-size:13.5px;font-weight:600}.cfd-danger:hover{filter:brightness(.92)}.file-preview-list{overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.file-preview-list.grouped{border:none;background:transparent}.file-preview-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--surface-muted);transition:background-color .15s}.file-preview-item:last-child{border-bottom:none}.file-preview-item:hover{background-color:var(--bg-subtle)}.file-preview-item.shared{background-color:var(--warning-bg)}.file-preview-item.shared:hover{background-color:#fef9c3}.file-type-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}.file-info{flex:1;min-width:0;overflow:hidden}.file-name{font-weight:500;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{display:flex;gap:8px;font-size:11px;color:var(--text-secondary);margin-top:2px}.file-type-label{font-weight:500;text-transform:uppercase}.file-size{color:var(--text-tertiary)}.part-number-section{display:flex;align-items:center;gap:6px;flex-shrink:0}.part-number-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500;font-family:SF Mono,Monaco,Courier New,monospace}.part-number-pill.confidence-high{background:var(--success-bg);color:var(--success-text)}.part-number-pill.confidence-medium{background:var(--warning-bg);color:var(--warning-text)}.part-number-pill.confidence-low{background:var(--error-bg);color:var(--error-text)}.part-number-pill .revision{font-size:10px;opacity:.8;margin-left:2px}.no-part-number{font-size:11px;color:var(--text-tertiary);font-style:italic}.shared-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500;background:var(--warning-bg);color:var(--warning-text)}.part-number-edit{display:flex;align-items:center;gap:4px}.part-number-edit input{width:120px;padding:4px 8px;font-size:12px;border:1px solid var(--border);border-radius:4px;font-family:SF Mono,Monaco,Courier New,monospace}.part-number-edit input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e33}.part-number-edit .save-btn,.part-number-edit .cancel-btn{padding:4px 8px;font-size:12px;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s}.part-number-edit .save-btn{background:var(--success);color:#fff}.part-number-edit .save-btn:hover{background:var(--success)}.part-number-edit .cancel-btn{background:var(--border);color:var(--text-secondary)}.part-number-edit .cancel-btn:hover{background:var(--border)}.edit-part-btn{padding:2px 6px;font-size:12px;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s;opacity:0}.file-preview-item:hover .edit-part-btn{opacity:1}.edit-part-btn:hover{background:var(--surface-muted);border-color:var(--border);color:var(--text-secondary)}.file-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.share-btn,.remove-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .15s;opacity:.6}.file-preview-item:hover .share-btn,.file-preview-item:hover .remove-btn{opacity:1}.share-btn{background:var(--surface-muted);color:var(--text-secondary)}.share-btn:hover{background:var(--border);color:var(--text-secondary)}.share-btn.active{background:var(--warning-bg);color:var(--warning-text)}.remove-btn{background:var(--error-bg);color:var(--error)}.remove-btn:hover{background:var(--error)}.file-group{margin-bottom:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.file-group:last-child{margin-bottom:0}.file-group.unassigned{border-color:var(--error)}.file-group.unassigned .group-header{background:var(--error-bg)}.file-group.shared-group{border-color:var(--warning)}.file-group.shared-group .group-header{background:var(--warning-bg)}.group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.group-part-number{font-weight:600;font-size:13px;color:var(--text);font-family:SF Mono,Monaco,Courier New,monospace}.group-count{font-size:12px;color:var(--text-secondary)}.empty-state{padding:24px;text-align:center;color:var(--text-tertiary);font-size:13px}.file-grouping-editor{display:flex;flex-direction:column;gap:16px;overflow-y:auto}.file-grouping-editor.empty{padding:40px;text-align:center;color:var(--text-secondary)}.grouping-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--border)}.grouping-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text)}.add-part-btn{padding:6px 12px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.add-part-btn:hover{background:var(--primary)}.grouping-hint{font-size:12px;color:var(--text-secondary);padding:8px 12px;background:var(--bg-subtle);border-radius:6px}.parts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.no-parts-message{grid-column:1 / -1;padding:32px;text-align:center;background:var(--bg-subtle);border-radius:8px;border:2px dashed var(--border)}.no-parts-message p{margin:0;color:var(--text-secondary);font-size:13px}.part-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:120px;transition:border-color .15s,box-shadow .15s}.part-card.drop-hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light);background:var(--primary-light)}.part-card.suggested{border:1px dashed var(--primary);background:var(--primary-soft)}.suggested-pill{flex-shrink:0;font-size:10px;font-weight:600;line-height:1;padding:3px 6px;border-radius:10px;background:var(--primary-light);color:var(--primary);cursor:help}.confirm-part-btn{flex-shrink:0;background:var(--primary-light);border:none;color:var(--primary);cursor:pointer;font-size:12px;font-weight:600;line-height:1;padding:5px 10px;border-radius:6px;transition:color .15s,background .15s}.confirm-part-btn:hover{background:var(--primary);color:var(--text-inverse)}.part-card-header{display:flex;align-items:center;gap:8px}.part-number-display{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.part-number-btn{display:block;min-width:0;max-width:100%;background:none;border:none;padding:2px 4px;margin:0 -4px;border-radius:4px;cursor:pointer;text-align:left;transition:background .15s}.part-number-btn:hover{background:var(--surface-muted)}.part-number{display:block;font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-menu-wrapper{position:relative;flex-shrink:0}.part-menu-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s}.part-menu-btn:hover{color:var(--text-secondary);background:var(--surface-muted)}.part-number-edit{display:flex;align-items:center;gap:4px;flex:1}.part-number-edit input{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--border);border-radius:8px;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.part-number-edit input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.part-number-error{font-size:11px;color:var(--error);margin-top:-4px}.part-meta-row{display:flex;gap:6px}.part-meta-row input{padding:4px 8px;border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s}.part-meta-row input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.part-name-input{flex:1;min-width:0}.part-rev-input{width:52px;text-align:center}.edit-save-btn{background:var(--success);color:#fff;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:12px}.part-card-files{flex:1;display:flex;flex-direction:column;gap:6px;min-height:60px}.empty-drop-zone{flex:1;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:6px;color:var(--text-tertiary);font-size:12px;min-height:60px}.part-card.drop-hover .empty-drop-zone{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.part-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--surface-muted)}.file-count{font-size:11px;color:var(--text-tertiary)}.quantity-control{display:flex;align-items:center;gap:4px}.quantity-control label{font-size:11px;color:var(--text-secondary)}.quantity-control input{width:50px;padding:3px 6px;border:1px solid var(--border);border-radius:8px;font-size:12px;text-align:center;outline:none;transition:border-color .15s,box-shadow .15s}.quantity-control input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.file-chip{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;cursor:grab;transition:all .15s}.file-chip:hover{background:var(--surface-muted);border-color:var(--border)}.file-chip.dragging{opacity:.5;cursor:grabbing}.file-chip.duplicate{background:var(--warning-bg);border-color:var(--warning)}.file-chip-icon{font-size:14px;flex-shrink:0}.file-chip-thumbnail{width:20px;height:20px;object-fit:contain;flex-shrink:0;border-radius:2px}.file-chip.clickable{cursor:pointer}.file-chip.clickable:hover{border-color:var(--primary);background:var(--primary-soft)}.file-chip-name{flex:1;font-size:12px;color:var(--text);word-break:break-all;line-height:1.3}.duplicate-badge{font-size:9px;padding:1px 4px;background:var(--warning);color:var(--warning-text);border-radius:3px;font-weight:500;text-transform:uppercase}.file-chip-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.file-chip:hover .file-chip-actions,.file-chip:focus-within .file-chip-actions{opacity:1}.file-chip:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.file-chip.selected{border-color:var(--primary);background:var(--primary-soft)}.chip-select{flex-shrink:0;width:13px;height:13px;margin:0;accent-color:var(--primary);cursor:pointer;opacity:0;transition:opacity .15s}.file-chip:hover .chip-select,.file-chip:focus-within .chip-select,.chip-select:checked{opacity:1}.chip-action-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px;line-height:1;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s}.chip-action-btn.menu-btn:hover{color:var(--primary);background:var(--primary-soft)}.unassigned-section{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;padding:12px;transition:border-color .15s,background .15s}.unassigned-section.drop-hover{border-color:var(--primary);background:var(--primary-light)}.unassigned-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.unassigned-title{font-size:13px;font-weight:600;color:var(--text-secondary)}.unassigned-count{font-size:11px;color:#fff;background:var(--text-tertiary);padding:1px 6px;border-radius:10px}.unassigned-files{display:flex;flex-wrap:wrap;gap:8px}.unassigned-empty{width:100%;padding:16px;text-align:center;color:var(--text-tertiary);font-size:12px}.file-chip-wrapper{position:relative}.chip-menu-backdrop{position:fixed;inset:0;z-index:100}.chip-menu{position:absolute;top:100%;left:0;z-index:101;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);min-width:160px;max-height:240px;overflow-y:auto;margin-top:4px;padding:4px}.chip-menu.part-menu{left:auto;right:0;min-width:150px}.chip-menu-header{padding:6px 10px 4px;font-size:11px;font-weight:600;color:var(--text-tertiary)}.chip-menu-item{display:block;width:100%;padding:7px 10px;text-align:left;background:none;border:none;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer;transition:background .15s}.chip-menu-item:hover,.chip-menu-item:focus-visible{background:var(--surface-muted)}.chip-menu-divider{height:1px;margin:4px 6px;background:var(--hair)}.chip-menu-item.danger{color:var(--error)}.chip-menu-item.danger:hover,.chip-menu-item.danger:focus-visible{background:var(--error-bg)}.selection-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--primary-soft);border:1px solid var(--primary-light);border-radius:8px}.selection-count{font-size:12px;font-weight:600;color:var(--primary)}.selection-bar select{padding:4px 8px;border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s}.selection-bar select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.selection-clear-btn{margin-left:auto;padding:4px 10px;background:none;border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s}.selection-clear-btn:hover{color:var(--text);border-color:var(--text-tertiary)}.duplicate-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.duplicate-modal{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-xl);width:100%;max-width:320px;max-height:80vh;display:flex;flex-direction:column}.duplicate-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.duplicate-modal-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text)}.duplicate-modal-header .close-btn{background:none;border:none;font-size:20px;color:var(--text-tertiary);cursor:pointer;line-height:1}.duplicate-modal-header .close-btn:hover{color:var(--text-secondary)}.duplicate-modal-body{padding:8px;overflow-y:auto}.duplicate-target-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px;background:none;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.duplicate-target-btn:hover{background:var(--surface-muted)}.target-part-number{font-size:14px;font-weight:500;color:var(--text)}.target-file-count{font-size:12px;color:var(--text-tertiary)}.email-extraction-review{display:flex;flex-direction:column;gap:16px}.eer-fields-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px}.eer-field-group{display:flex;flex-direction:column;gap:4px}.eer-field-group label{font-size:12px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.eer-field-group input,.eer-field-group textarea{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text);transition:border-color .15s}.eer-field-group input:focus,.eer-field-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e1a}.eer-field-group.active input{border-color:var(--primary);background:var(--primary-soft)}.eer-field-locate{background:none;border:none;color:var(--text-tertiary);font-size:11px;cursor:pointer;padding:0;transition:color .15s}.eer-field-locate:hover{color:var(--primary)}.eer-text-pane{position:relative;min-height:280px;max-height:min(640px,60vh);overflow-y:auto;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;padding:16px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:13px;line-height:1.65;color:var(--text);white-space:pre-wrap;word-wrap:break-word;cursor:text;user-select:text;-webkit-user-select:text}.eer-text-pane-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.eer-text-pane-label h4{margin:0;font-size:13px;color:var(--text-secondary)}.eer-text-pane-hint{font-size:11px;color:var(--text-tertiary)}.eer-highlight{padding:1px 2px;border-radius:3px;cursor:pointer;transition:background .15s}.eer-highlight:hover{filter:brightness(.9)}.eer-highlight[data-field=title]{background:#5e9b6e33}.eer-highlight[data-field=customerName]{background:#10b98133}.eer-highlight[data-field=customerEmail]{background:#f59e0b33}.eer-highlight[data-field=contactName]{background:#8b5cf633}.eer-highlight[data-field=dueDate]{background:#ef444433}.eer-highlight[data-field=poNumber]{background:#ec489933}.eer-highlight[data-field=eventNumber]{background:#14b8a633}.eer-highlight.flash{animation:eer-flash 1s ease}@keyframes eer-flash{0%{background:#5e9b6e99}to{background:inherit}}.eer-popover{position:absolute;z-index:100;background:var(--text);border:1px solid var(--text);border-radius:8px;box-shadow:0 8px 24px #00000040;padding:8px 0;min-width:200px}.eer-popover-header{padding:6px 12px;font-size:11px;color:var(--text-tertiary);border-bottom:1px solid var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eer-popover-header strong{color:var(--primary)}.eer-popover-item{display:block;width:100%;padding:8px 12px;background:none;border:none;color:var(--border);font-size:13px;text-align:left;cursor:pointer;transition:background .1s}.eer-popover-item:hover{background:var(--text)}.eer-confidence{display:inline-flex;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:600}.eer-confidence.high{background:var(--success-bg);color:var(--success-text)}.eer-confidence.medium{background:#fef9c3;color:#854d0e}.eer-confidence.low{background:var(--error);color:var(--error-text)}.eer-legend{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.eer-legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.eer-legend-swatch{width:12px;height:12px;border-radius:2px}.password-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.password-modal{background:var(--surface);border-radius:12px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.password-modal-header{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.password-modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.password-modal-icon{font-size:24px;flex-shrink:0}.password-modal-filename{font-size:13px;color:var(--text-secondary);margin-top:2px;word-break:break-all}.password-modal-close{margin-left:auto;background:none;border:none;font-size:20px;color:var(--text-tertiary);cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.password-modal-close:hover{color:var(--text-secondary)}.stored-passwords-section{padding:12px 20px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.stored-passwords-label{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.025em}.stored-passwords-list{display:flex;flex-wrap:wrap;gap:6px}.stored-password-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--primary-light);border:1px solid var(--accent-muted);border-radius:6px;color:var(--primary-active);font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}.stored-password-btn:hover{background:var(--accent-subtle);border-color:var(--accent-muted)}.stored-password-date{font-size:11px;color:var(--text-secondary)}.stored-passwords-group{margin-bottom:8px}.stored-passwords-group:last-child{margin-bottom:0}.stored-passwords-group-label{font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}.stored-passwords-loading{padding:10px 20px;font-size:13px;color:var(--text-tertiary);font-style:italic}.password-modal-body{padding:16px 20px}.password-modal-body label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.password-masked-input{-webkit-text-security:disc}.password-modal-body input[type=text].password-masked-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}.password-modal-body .password-masked-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #5e9b6e1a}.remember-checkbox{display:flex!important;align-items:center;gap:8px;margin-top:12px;font-size:13px!important;font-weight:400!important;color:var(--text-secondary)!important;cursor:pointer}.remember-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.contact-selector{margin-top:10px}.contact-selector label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.contact-selector select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text);background:var(--surface);outline:none;transition:border-color .15s;box-sizing:border-box}.contact-selector select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #5e9b6e1a}.password-error{margin-top:12px;padding:8px 12px;background:var(--error-bg);border:1px solid var(--error);border-radius:6px;color:var(--error);font-size:13px}.password-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.isg-overlay{position:fixed;inset:0;z-index:1100;background:#0f121880;display:flex;align-items:center;justify-content:center;padding:24px}.isg{width:100%;max-width:640px;max-height:88vh;overflow:auto;background:var(--card, #fff);border:1px solid var(--line, #d5d8dd);border-radius:14px;box-shadow:0 24px 64px #00000040;padding:18px 20px}.isg-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.isg-head b{font-size:17px}.isg-sub{font-size:12.5px;color:var(--ink-muted, #6b7280);margin-top:2px}.isg-x{flex:none;width:30px;height:30px;border-radius:7px;border:1px solid var(--line, #d5d8dd);background:var(--card, #fff);cursor:pointer}.isg-step{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--hair, #eceef1)}.isg-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--surface-muted, #f2f3f5);color:var(--ink-muted, #6b7280)}.isg-step.done .isg-n{background:#22a06b24;color:#1a7f4e}.isg-body{min-width:0;flex:1}.isg-body b{font-size:14px}.isg-body p{font-size:12.5px;color:var(--ink-muted, #6b7280);margin:4px 0 8px;line-height:1.5}.isg-ok{font-size:12px;color:#1a7f4e;font-weight:600}.isg-hint{font-size:11.5px!important;color:var(--ink-soft, #9aa1ab)!important}.isg-btn{font-size:12.5px;padding:7px 13px;border-radius:8px;cursor:pointer;border:1px solid var(--line, #d5d8dd);background:var(--card, #fff);color:var(--ink, #1d1f24)}.isg-btn.pri{background:var(--accent, #2f5fd0);color:#fff;border-color:var(--accent, #2f5fd0)}.isg-btn:disabled{opacity:.55;cursor:default}.isg-copyrow{display:flex;align-items:center;gap:8px;margin:6px 0 10px}.isg-copyrow code{font-size:12.5px;background:var(--surface-muted, #f2f3f5);padding:5px 10px;border-radius:7px}.isg-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px}.isg-chips-l{font-size:11px;color:var(--ink-soft, #9aa1ab);width:100%}.isg-chip{font-size:11px;padding:3px 9px;border-radius:20px;cursor:pointer;border:1px solid var(--hair, #eceef1);background:var(--surface-muted, #f2f3f5);color:var(--ink, #1d1f24)}.isg-chip code{font-size:10px;color:var(--ink-muted, #6b7280)}.isg-chip:hover{border-color:var(--accent, #2f5fd0)}.isg-howto{margin:4px 0}.isg-howto summary{font-size:12px;color:var(--accent, #2f5fd0);cursor:pointer}.isg-howto ol{margin:6px 0 4px;padding-left:20px;font-size:12px;color:var(--ink-muted, #6b7280);line-height:1.7}.isg-testrow{display:flex;align-items:center;gap:10px}.isg-foot{margin-top:12px;padding:9px 12px;border-radius:9px;font-size:11.5px;background:#2f5fd00f;color:var(--ink-muted, #6b7280)}.intake-hub{display:grid;grid-template-columns:1fr 280px;gap:24px;max-width:1200px;margin:0 auto;padding:24px}.intake-main{min-width:0}.nx-landing{display:flex;flex-direction:column;gap:16px}.nx-hero{border:2px dashed var(--border);border-radius:16px;padding:64px 48px;text-align:center;cursor:pointer;background:var(--surface);transition:border-color .15s,background-color .15s}.nx-hero:hover,.nx-hero.nx-drag{border-color:var(--primary);background:var(--primary-light)}.nx-hero:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.nx-hero-glyphs{display:flex;justify-content:center;gap:18px;font-size:26px;line-height:1;color:var(--text-tertiary);margin-bottom:18px}.nx-hero.nx-drag .nx-hero-glyphs,.nx-hero:hover .nx-hero-glyphs{color:var(--primary)}.nx-hero-title{font-size:17px;font-weight:600;color:var(--text);margin-bottom:8px}.nx-hero-sub{font-size:12.5px;color:var(--text-secondary);max-width:520px;margin:0 auto;line-height:1.6}.nx-paste-toggle{align-self:flex-start;border:none;background:transparent;padding:6px 10px;border-radius:8px;font-size:12.5px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .12s,background-color .12s}.nx-paste-toggle:hover{color:var(--primary);background:var(--primary-soft)}.nx-paste-panel{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:16px}.nx-paste-panel textarea{width:100%;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);resize:vertical;min-height:220px;transition:border-color .15s,box-shadow .15s}.nx-paste-panel textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.nx-paste-panel textarea::placeholder{color:var(--text-tertiary)}.nx-paste-actions{display:flex;align-items:center;gap:14px;margin-top:12px}.nx-hint{font-size:12px;color:var(--text-tertiary)}.nx-foot-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-tertiary);padding:2px 4px}.nx-link{border:none;background:transparent;padding:0;font-size:12px;font-weight:500;color:var(--primary);cursor:pointer;text-decoration:none;transition:color .12s}.nx-link:hover{color:var(--primary-hover);text-decoration:underline}.nx-drop-error{background:var(--error-bg);border:1px solid var(--error);color:var(--error-text);padding:12px 14px;border-radius:8px;font-size:13px}.nx-drop-error--outlook{background:var(--warning-bg);border-color:var(--warning);color:var(--warning-text)}.nx-drop-error-title{font-weight:600;font-size:14px;margin-bottom:6px}.nx-drop-error--outlook p{margin:0 0 8px;font-size:13px;line-height:1.5}.nx-drop-error--outlook ol{margin:0 0 8px;padding-left:20px;font-size:13px;line-height:1.7}.nx-drop-error--outlook code{background:var(--warning-bg);border:1px solid var(--warning);border-radius:3px;padding:1px 5px;font-family:var(--font-mono);font-size:12px}.nx-drop-error-alt{font-size:12px;margin:0!important}.nx-reading{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:28px}.nx-reading-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.nx-reading-head .nx-shimmer{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-reading-cancel{margin-left:auto;flex-shrink:0}.nx-reading-spinner{width:16px;height:16px;border:2px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:nx-spin .7s linear infinite}@keyframes nx-spin{to{transform:rotate(360deg)}}.nx-shimmer{font-size:14px;font-weight:600;color:var(--primary);background:linear-gradient(90deg,var(--primary) 0%,var(--accent-muted) 50%,var(--primary) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:nx-shimmer 1.4s linear infinite}@keyframes nx-shimmer{to{background-position:-200% 0}}.nx-reading-list{display:flex;flex-direction:column}.nx-file-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--hair);font-size:13px;color:var(--text)}.nx-file-row:last-child{border-bottom:none}.nx-file-glyph{width:22px;text-align:center;font-size:15px;color:var(--text-secondary);flex-shrink:0}.nx-file-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-file-size{font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0}.nx-review{display:flex;flex-direction:column;gap:16px}.nx-review-head{display:flex;align-items:center;gap:12px;min-width:0}.nx-review-head h2{margin:0;font-size:15px;font-weight:600;color:var(--text)}.nx-review-dismiss{margin-left:auto;flex-shrink:0;color:var(--danger, #c0392b)}.nx-review-reset{margin-left:auto;flex-shrink:0}.nx-pill{display:inline-block;font-size:10.5px;font-weight:600;border-radius:20px;padding:3px 10px;line-height:1.5;white-space:nowrap}.nx-pill-source{background:var(--primary-light);color:var(--primary-active);max-width:280px;overflow:hidden;text-overflow:ellipsis}.nx-pill.confidence-high{background:var(--success-bg);color:var(--success-text)}.nx-pill.confidence-medium{background:var(--warning-bg);color:var(--warning-text)}.nx-pill.confidence-low{background:var(--error-bg);color:var(--error-text)}.nx-panel{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:20px;display:flex;flex-direction:column;gap:12px}.nx-panel h4{margin:0;font-size:12.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.nx-new-customer{align-self:flex-start}.nx-fields{display:flex;flex-direction:column;gap:14px}.intake-hub .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.intake-hub .form-row{grid-template-columns:1fr}}.intake-hub .form-group{display:flex;flex-direction:column;gap:6px}.intake-hub .form-group label{font-size:12.5px;font-weight:500;color:var(--text)}.intake-hub .form-group input,.intake-hub .form-group select,.intake-hub .form-group textarea{padding:9px 12px;font-size:13.5px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.intake-hub .form-group input:focus,.intake-hub .form-group select:focus,.intake-hub .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.intake-hub .form-group textarea{resize:vertical;min-height:56px}.intake-hub .form-group input.nx-missing:not(:focus){border-color:var(--warning)}.intake-hub .input-with-action{display:flex;gap:8px}.intake-hub .input-with-action input{flex:1}.intake-hub .input-with-action .btn{flex-shrink:0}.intake-hub .btn-sm{padding:8px 12px;font-size:13px}.nx-detected-grid{display:flex;flex-wrap:wrap;gap:20px}.nx-detected-section{min-width:150px}.nx-detected-section label{display:block;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.nx-chips{display:flex;flex-wrap:wrap;gap:6px}.nx-chip{display:inline-block;padding:3px 10px;background:var(--primary-soft);color:var(--primary-active);border-radius:20px;font-size:10.5px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.nx-extra-files{border-top:1px solid var(--hair);padding-top:14px;display:flex;flex-direction:column;gap:8px}.nx-extra-files h5{margin:0;font-size:12.5px;font-weight:600;color:var(--text)}.nx-more-files{border:2px dashed var(--border);border-radius:12px;padding:16px;text-align:center;font-size:12.5px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.nx-more-files:hover,.nx-more-files.nx-drag{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.nx-more-files:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.nx-read-doc{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.nx-read-doc-select{max-width:320px;padding:8px 10px;font-size:12.5px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.nx-read-doc-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.nx-files-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.nx-files-summary{display:flex;align-items:center;gap:8px}.nx-files-count{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.nx-pill-ready{background:var(--success-bg);color:var(--success-text)}.nx-locked{border-top:1px solid var(--hair);padding-top:12px;display:flex;flex-direction:column;gap:8px}.nx-locked-row{display:flex;align-items:center;gap:10px;min-width:0}.nx-locked-row .nx-file-name{flex:1;min-width:0;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-pill-locked{background:var(--warning-bg);color:var(--warning-text);flex-shrink:0}.nx-locked-input{width:200px;flex-shrink:0;padding:7px 10px;font-size:12.5px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.nx-locked-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.nx-locked-input::placeholder{color:var(--text-tertiary)}@media(max-width:640px){.nx-locked-row{flex-wrap:wrap}.nx-locked-input{width:100%}}.nx-zip-box{background:var(--warning-bg);border:1px solid var(--warning);border-radius:8px;padding:14px 16px}.nx-zip-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13.5px;color:var(--warning-text)}.nx-zip-text{margin:0 0 10px;font-size:12.5px;line-height:1.5;color:var(--warning-text)}.nx-zip-error{margin:0 0 8px;font-size:12.5px;color:var(--error-text)}.nx-zip-actions{display:flex;gap:8px;align-items:center}.nx-zip-set{font-size:12px;font-weight:500;color:var(--success-text)}.nx-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:4px}.nx-actions-row{display:flex;justify-content:flex-end;gap:12px}.nx-req-hint{margin:0;font-size:12px;color:var(--warning-text)}.intake-sidebar{position:sticky;top:24px;align-self:start}.intake-sidebar-card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:16px}.intake-sidebar-card h3{margin:0 0 12px;font-size:12.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.recent-intake-list{display:flex;flex-direction:column}.recent-intake-item{display:block;padding:10px 8px;border-bottom:1px solid var(--hair);text-decoration:none;color:inherit;border-radius:6px;transition:background-color .15s}.recent-intake-item:last-child{border-bottom:none}.recent-intake-item:hover{background:var(--bg-subtle)}.recent-rfq-number{font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.recent-customer{font-size:12px;color:var(--text-secondary);margin-top:2px}.recent-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.source-badge{display:inline-block;font-size:10.5px;font-weight:600;border-radius:20px;padding:2px 8px;line-height:1.5}.source-badge.source-email{background:var(--primary-light);color:var(--primary-active)}.source-badge.source-coupa{background:var(--warning-bg);color:var(--warning-text)}.source-badge.source-manual{background:var(--surface-muted);color:var(--text-secondary)}.recent-time{font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.sidebar-empty{font-size:13px;color:var(--text-tertiary);text-align:center;padding:16px 0}@media(max-width:960px){.intake-hub{grid-template-columns:1fr}.intake-sidebar{position:static}.nx-hero{padding:44px 24px}}.intake-hub .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.intake-hub .modal{background:var(--surface);border-radius:12px;padding:24px;width:100%;max-width:400px;box-shadow:var(--shadow-xl)}.intake-hub .modal h3{margin:0 0 16px;font-size:15px;font-weight:600}.intake-hub .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.intake-modal-overlay{position:fixed;inset:0;z-index:900;background:#0f121880;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;overscroll-behavior:contain;animation:intake-modal-fade .12s ease-out}@keyframes intake-modal-fade{0%{opacity:0}to{opacity:1}}.intake-modal{background:var(--bg);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-xl);width:100%;max-width:1120px;max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden}.intake-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 24px 14px;border-bottom:1px solid var(--divider);background:var(--surface)}.intake-modal-heading h2{margin:0;font-size:19px;font-weight:600;color:var(--text)}.intake-modal-heading p{margin:4px 0 0;font-size:12.5px;color:var(--text-secondary)}.intake-modal-close{background:none;border:none;color:var(--text-tertiary);font-size:26px;line-height:1;padding:0 4px;cursor:pointer;border-radius:6px}.intake-modal-close:hover{color:var(--text);background:var(--surface-muted)}.intake-modal-body{overflow-y:auto;padding:0}.intake-modal-body .intake-hub{max-width:none;margin:0;padding:20px 24px 24px}.intake-modal-body .modal-overlay{z-index:1000}@media(max-width:640px){.intake-modal-overlay{padding:0}.intake-modal{max-width:none;max-height:100vh;height:100vh;border-radius:0;border:none}.intake-modal-body .intake-hub{padding:16px}}.dashboard{padding:0}.dashboard .page-subtitle{margin:0;font-size:14px;color:var(--text-secondary)}.dashboard .dashboard-header-actions{display:flex;align-items:center;gap:12px}.dashboard .dashboard-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:2px}.dashboard .view-toggle-btn{border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:600;border-radius:6px;padding:6px 12px;cursor:pointer}.dashboard .view-toggle-btn.active{background:var(--primary);color:var(--text-inverse)}.dashboard .section-title{font-size:15px;font-weight:600;margin:4px 0 14px;color:var(--text);letter-spacing:-.005em}.dashboard .calendar-section{margin-bottom:24px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.dashboard .calendar-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.dashboard .calendar-nav{display:flex;align-items:center;gap:8px}.dashboard .calendar-month-label{min-width:140px;text-align:center;font-size:13px;font-weight:600;color:var(--text)}.dashboard .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.dashboard .calendar-weekday{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:6px 6px 4px}.dashboard .calendar-day{position:relative;min-height:96px;border:1px solid var(--border);border-radius:8px;padding:6px;background:var(--surface)}.dashboard .calendar-day.is-today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary-light)}.dashboard .calendar-day.is-today .calendar-day-number{color:var(--primary)}.dashboard .calendar-day.outside-month{background:var(--bg-subtle);opacity:.65}.dashboard .calendar-day.has-events{border-color:var(--primary-light);background:var(--primary-soft);cursor:pointer}.dashboard .calendar-day-number{font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}.dashboard .calendar-day-events{display:flex;flex-direction:column;gap:4px}.dashboard .calendar-event-chip{text-align:left;border:none;border-radius:5px;background:var(--primary-light);color:var(--primary);font-family:inherit;font-size:11px;font-weight:600;padding:4px 6px;cursor:pointer}.dashboard .calendar-event-chip:hover{background:var(--accent-subtle)}.dashboard .calendar-event-chip.due-overdue{color:var(--error-text);background:var(--error-bg)}.dashboard .calendar-event-chip.due-today,.dashboard .calendar-event-chip.due-soon{color:var(--warning-text);background:var(--warning-bg)}.dashboard .calendar-more-events{font-size:11px;color:var(--text-secondary);padding-left:2px}.dashboard .calendar-day-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(320px,calc(100vw - 48px));max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:8px;display:grid;gap:8px}.dashboard .rfq-picker-card{text-align:left;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface);cursor:pointer;transition:box-shadow .15s ease,transform .15s ease;font:inherit;color:inherit}.dashboard .rfq-picker-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard .calendar-popover-card{padding:8px}.dashboard .rfq-picker-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:6px}.dashboard .rfq-picker-head span{color:var(--text-secondary)}.dashboard .rfq-picker-title{font-weight:600;font-size:13px;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard .rfq-picker-customer{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard .rfq-preview-row{display:flex;gap:6px;margin-top:8px;min-height:48px}.dashboard .calendar-popover-card .rfq-preview-row{min-height:36px}.dashboard .rfq-preview-placeholder{width:48px;height:48px;border-radius:6px;background:var(--surface-muted);display:flex;align-items:center;justify-content:center;font-size:18px}.dashboard .calendar-preview-placeholder{width:36px;height:36px;font-size:14px}.dashboard .kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}.dashboard .kpi-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:13px 15px;min-width:0;text-decoration:none;color:inherit;display:block}.dashboard .kpi-card.clickable:hover{border-color:var(--primary)}.dashboard .kpi-label{font-size:12px;color:var(--text-secondary)}.dashboard .kpi-big{font-size:28px;font-weight:700;line-height:1.15;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard .kpi-big.accent{color:var(--primary)}.dashboard .kpi-big.warn{color:var(--warning-text)}.dashboard .kpi-sub{font-size:11px;color:var(--text-secondary)}.dashboard .dash-main{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(300px,1fr);gap:16px;align-items:start;margin-bottom:20px}.dashboard .dash-due,.dashboard .dash-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.dashboard .dash-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 15px;border-bottom:1px solid var(--border)}.dashboard .dash-card-head b{font-size:14px}.dashboard .dash-head-link{font-size:12px;color:var(--primary);text-decoration:none;white-space:nowrap}.dashboard .dash-head-link:hover{text-decoration:underline}.dashboard .dash-empty{padding:22px 15px;font-size:12px;color:var(--text-secondary)}.dashboard .dash-due-scroll{max-height:430px;overflow:auto}.dashboard .dash-tbl{width:100%;border-collapse:collapse;font-size:13px}.dashboard .dash-tbl th{text-align:left;padding:8px 12px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--divider);position:sticky;top:0;background:var(--surface)}.dashboard .dash-tbl td{padding:10px 12px;border-bottom:1px solid var(--divider)}.dashboard .dash-tbl tbody tr{cursor:pointer}.dashboard .dash-tbl tbody tr:hover{background:var(--surface-muted)}.dashboard .dash-tbl tbody tr:last-child td{border-bottom:none}.dashboard .dash-tbl-sub{font-size:11px;color:var(--text-secondary);margin-top:1px}.dashboard .dash-tbl .due-late{color:var(--error-text);font-weight:600;white-space:nowrap}.dashboard .dash-tbl .due-soon{color:var(--warning-text);font-weight:600;white-space:nowrap}.dashboard .dash-status{font-size:11px;padding:2px 9px;border-radius:20px;white-space:nowrap;text-transform:capitalize;background:var(--surface-muted);color:var(--text-secondary)}.dashboard .dash-status.st-new{background:var(--primary-soft);color:var(--primary)}.dashboard .dash-status.st-quote_ready,.dashboard .dash-status.st-ready{background:var(--success-bg);color:var(--success-text)}.dashboard .dash-open{font-size:12px;color:var(--primary);white-space:nowrap}.dashboard .dash-rail{display:flex;flex-direction:column;gap:14px;min-width:0}.dashboard .dash-inbox{display:flex;flex-direction:column}.dashboard .dash-mail{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;cursor:pointer;font-family:inherit;color:inherit;padding:10px 15px;border:none;background:none;border-bottom:1px solid var(--divider)}.dashboard .dash-mail:last-child{border-bottom:none}.dashboard .dash-mail:hover{background:var(--surface-muted)}.dashboard .dash-mail.unseen .dash-mail-from{font-weight:700}.dashboard .dash-mail.unseen{box-shadow:inset 3px 0 0 var(--primary)}.dashboard .dash-mail-top{display:flex;justify-content:space-between;gap:8px}.dashboard .dash-mail-from{font-size:12px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard .dash-mail-time{font-size:11px;color:var(--text-secondary);flex:none}.dashboard .dash-mail-subj{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard .dash-mail-chips{display:flex;gap:5px}.dashboard .dash-chip{font-size:10px;padding:1px 7px;border-radius:20px;background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--divider)}.dashboard .dash-chip.b{background:var(--primary-soft);color:var(--primary);border-color:transparent}.dashboard .dash-chip.warn{background:var(--warning-bg);color:var(--warning-text);border-color:transparent}.dashboard .dash-chip.done{background:var(--success-bg);color:var(--success-text);border-color:transparent}.dashboard .dash-machines{display:flex;flex-direction:column}.dashboard .dash-machine{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;cursor:pointer;font-family:inherit;color:inherit;padding:10px 15px;border:none;background:none;border-bottom:1px solid var(--divider)}.dashboard .dash-machine:last-child{border-bottom:none}.dashboard .dash-machine:hover{background:var(--surface-muted)}.dashboard .dash-machine-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.dashboard .dash-machine-top b{font-size:13px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard .dash-machine-sub{font-size:11px;color:var(--text-secondary)}.dashboard .dash-av{flex:none;font-size:10px;padding:2px 8px;border-radius:20px;border:1.5px solid}.dashboard .dash-av.av-open{color:var(--success-text);border-color:var(--success)}.dashboard .dash-av.av-filling{color:var(--warning-text);border-color:var(--warning)}.dashboard .dash-av.av-slammed{color:var(--error-text);border-color:var(--error)}@media(max-width:1100px){.dashboard .kpi-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.dashboard .dash-main{grid-template-columns:1fr}}@media(max-width:768px){.dashboard .page-header{flex-direction:column;align-items:flex-start;gap:10px}.dashboard .dashboard-header-actions{width:100%;justify-content:space-between}.dashboard .calendar-header{flex-direction:column;align-items:flex-start}.dashboard .calendar-nav{width:100%;justify-content:space-between}.dashboard .calendar-month-label{min-width:0;flex:1}.dashboard .calendar-day{min-height:86px}.dashboard .calendar-day-popover{position:fixed;left:16px;right:16px;top:20vh;width:auto;max-height:50vh}}@media(max-width:640px){.dashboard .kpi-strip{grid-template-columns:repeat(2,1fr)}.dashboard .dash-tbl{min-width:520px}.dashboard .calendar-section{padding:10px}.dashboard .calendar-grid{gap:3px}.dashboard .calendar-day{min-height:62px;padding:4px;border-radius:6px}.dashboard .calendar-weekday{font-size:10px;padding:4px 2px 2px;text-align:center}.dashboard .calendar-day-number{margin-bottom:3px}.dashboard .calendar-event-chip{padding:2px 4px;font-size:10px}}@media(max-width:480px){.dashboard .kpi-strip{grid-template-columns:1fr;gap:10px}.dashboard .dashboard-header-actions{flex-wrap:wrap;gap:8px}}.projects-page{max-width:1400px;margin:0 auto}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.projects-header h1{font-size:24px;font-weight:600;color:var(--text)}.search-box{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 16px;width:300px}.search-box .search-icon{margin-right:8px;opacity:.5}.search-box input{border:none;outline:none;width:100%;font-size:14px}.projects-tabs{display:flex;gap:32px;border-bottom:2px solid var(--border);margin-bottom:24px}.projects-tabs .tab{background:none;border:none;padding:12px 0;font-size:15px;color:var(--text-secondary);cursor:pointer;position:relative;font-weight:500}.projects-tabs .tab.active{color:var(--primary)}.projects-tabs .tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary)}.projects-tabs .tab{display:inline-flex;align-items:center;gap:8px;font-family:inherit}.projects-tabs .tab:not(.active):hover{color:var(--text)}.projects-tabs .tab-count{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:12px;font-weight:600;line-height:18px;text-align:center}.projects-tabs .tab.active .tab-count{background:var(--primary-soft);color:var(--primary)}.projects-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.filter-dropdown{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:14px;cursor:pointer;color:var(--text)}.filter-dropdown:hover{border-color:var(--border)}.filter-dropdown span{font-size:10px;opacity:.6}.projects-due-filter{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg-subtle);font-size:13px;color:var(--text)}.projects-due-filter-clear{border:none;background:transparent;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;padding:0}.projects-due-filter-clear:hover{text-decoration:underline}.projects-list{display:flex;flex-direction:column;gap:16px}.project-card{background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:20px;text-decoration:none;color:inherit;transition:all .15s;display:block}.project-card:hover{border-color:var(--border);box-shadow:0 4px 12px #00000014}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.project-info{flex:1}.project-id{font-size:12px;color:var(--primary);font-weight:600;display:block;margin-bottom:4px}.project-title{font-size:18px;font-weight:600;color:var(--text);margin:0 0 8px}.project-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.project-meta .separator{color:var(--border)}.project-meta .due-date{color:var(--warning);font-weight:500}.project-parts{background:var(--bg-subtle);border-radius:8px;padding:16px;margin-bottom:16px}.project-parts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:10px}.project-part-card{display:grid;grid-template-columns:98px minmax(0,1fr);gap:14px;align-items:center;background:var(--surface);border-radius:8px;padding:12px;border:1px solid var(--border)}.project-part-thumbnail{width:86px;height:86px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.project-part-thumbnail>div{width:86px!important;height:86px!important}.project-thumbnail-placeholder{width:86px;height:86px;background:var(--surface-muted);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:30px}.project-part-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.project-part-id-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.project-part-number{font-size:12px;font-weight:600;color:var(--text);font-family:SF Mono,Monaco,Courier New,monospace;letter-spacing:.01em;overflow-wrap:anywhere}.project-part-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-part-rev{font-size:11px;color:var(--text-secondary);background:var(--border);padding:2px 6px;border-radius:4px;display:inline-block;margin-bottom:6px}.project-part-specs{display:flex;gap:8px;flex-wrap:wrap}.project-meta-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:3px 8px;background:var(--bg-subtle);min-width:0}.project-meta-chip.material{background:var(--primary-soft);border-color:var(--primary-light)}.project-meta-chip.status{background:#ecfeff;border-color:#cffafe}.project-meta-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.project-meta-value{font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.more-parts{text-align:center;padding:12px;font-size:13px;color:var(--text-secondary);border-top:1px solid var(--border);margin-top:12px}.no-parts{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-tertiary);font-size:14px}.no-parts-icon{font-size:20px}.project-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--surface-muted)}.parts-summary{display:flex;gap:20px}.summary-item{font-size:13px;color:var(--text-secondary)}.summary-item strong{color:var(--text);font-weight:600}.view-link{font-size:13px;color:var(--primary);font-weight:500}.status-pill{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-pill.blue{background:var(--primary-light);color:var(--primary-hover)}.status-pill.orange{background:var(--warning-bg);color:var(--warning-text)}.status-pill.yellow{background:#fef9c3;color:#a16207}.status-pill.green{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success)}.status-pill.purple{background:#ede9fe;color:#6d28d9}.status-pill.gray{background:var(--surface-muted);color:var(--text-secondary)}.status-pill.red{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.loading-state,.empty-state{text-align:center;padding:60px 20px;background:var(--surface);border-radius:12px;color:var(--text-secondary)}.empty-state p{margin-bottom:20px}@media(max-width:768px){.project-parts-grid{grid-template-columns:1fr}.project-part-card{grid-template-columns:80px minmax(0,1fr)}.project-part-thumbnail,.project-part-thumbnail>div,.project-thumbnail-placeholder{width:72px!important;height:72px!important}.project-card-header{flex-direction:column;gap:12px}.project-meta{flex-wrap:wrap}.project-card-footer{flex-direction:column;gap:12px;align-items:flex-start}.project-meta-value{max-width:110px}}.rfq-cardlist-toolbar{display:flex;align-items:center;gap:12px;margin:8px 0 20px}.rfq-search{position:relative;flex:1;display:flex;align-items:center}.rfq-search-icon{position:absolute;left:14px;width:16px;height:16px;color:var(--text-secondary);pointer-events:none}.rfq-search input{width:100%;height:40px;padding:0 38px 0 40px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.rfq-search input::placeholder{color:var(--text-secondary)}.rfq-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f}.rfq-search-clear{position:absolute;right:8px;width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center}.rfq-search-clear:hover{background:var(--bg-subtle);color:var(--text)}.rfq-sort{display:flex;align-items:center;gap:8px;flex-shrink:0}.rfq-sort-label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.rfq-sort-select,.rfq-sort-dir{height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;white-space:nowrap}.rfq-sort-dir{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}.rfq-sort-select:hover,.rfq-sort-dir:hover{border-color:var(--primary);color:var(--text)}.rfq-sort-select:focus-visible,.rfq-sort-dir:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}@media(max-width:720px){.rfq-cardlist-toolbar{flex-wrap:wrap}.rfq-search{flex-basis:100%}.rfq-sort-dir-text{display:none}}.project-status{display:flex;align-items:center;gap:8px}.rfq-archive-btn{display:grid;place-items:center;width:32px;height:32px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.rfq-archive-btn svg{width:16px;height:16px}.rfq-archive-btn:hover{color:var(--text);background:var(--bg-subtle);border-color:var(--border)}.rfq-archive-btn:disabled{opacity:.4;cursor:default}.rfq-overdue-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.rfq-overdue-pill svg{width:13px;height:13px;flex:none}.project-meta .due-date.overdue{color:var(--error);font-weight:600}.qty-breaks-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.qty-breaks-modal{background:var(--surface);border-radius:12px;box-shadow:0 20px 40px #0003;width:100%;max-width:420px;max-height:80vh;display:flex;flex-direction:column}.qty-breaks-modal .modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.qty-breaks-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.qty-breaks-modal .modal-header .part-name{font-size:12px;color:var(--text-secondary);background:var(--surface-muted);padding:2px 8px;border-radius:4px}.qty-breaks-modal .modal-header .close-btn{margin-left:auto;background:none;border:none;font-size:24px;color:var(--text-tertiary);cursor:pointer;line-height:1;padding:0}.qty-breaks-modal .modal-header .close-btn:hover{color:var(--text-secondary)}.qty-breaks-modal .modal-body{padding:16px 20px;overflow-y:auto;flex:1}.qty-breaks-table{display:flex;flex-direction:column;gap:8px}.qty-breaks-table .table-header{display:flex;gap:8px;padding:0 0 8px;font-size:12px;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border)}.qty-breaks-table .table-row{display:flex;gap:8px;align-items:center}.qty-breaks-table .col-qty{flex:1;min-width:80px}.qty-breaks-table .col-price{flex:1.5;min-width:100px}.qty-breaks-table .col-action{width:32px;flex-shrink:0}.qty-breaks-table input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text)}.qty-breaks-table input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e1a}.qty-breaks-table input::placeholder{color:var(--text-tertiary)}.remove-row-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-tertiary);font-size:18px;cursor:pointer;transition:all .15s}.remove-row-btn:hover:not(:disabled){background:var(--error-bg);border-color:var(--error);color:var(--error)}.remove-row-btn:disabled{opacity:.3;cursor:not-allowed}.add-row-btn{margin-top:12px;padding:8px 12px;background:none;border:1px dashed var(--border);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;width:100%;transition:all .15s}.add-row-btn:hover{background:var(--bg-subtle);border-color:var(--text-tertiary);color:var(--text-secondary)}.qty-breaks-modal .modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border)}.qty-breaks-modal .modal-footer .btn{padding:8px 20px;font-size:14px}.model-viewer-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.model-viewer-modal{background:var(--text);border-radius:12px;width:90vw;max-width:1200px;height:80vh;max-height:800px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .2s ease-out;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.model-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--text);border-bottom:1px solid var(--text)}.model-viewer-header h3{margin:0;font-size:14px;font-weight:600;color:var(--surface-muted);font-family:SF Mono,Monaco,Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-viewer-header .header-buttons{display:flex;align-items:center;gap:4px}.model-viewer-header .fullscreen-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:6px 8px;border-radius:4px;transition:all .15s;display:flex;align-items:center;justify-content:center}.model-viewer-header .fullscreen-btn:hover{background:var(--text);color:var(--surface-muted)}.model-viewer-header .close-btn{background:none;border:none;color:var(--text-tertiary);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:all .15s}.model-viewer-header .close-btn:hover{background:var(--text);color:var(--surface-muted)}.model-viewer-content{flex:1;min-height:0;position:relative}.model-viewer-modal.fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.add-part-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.add-part-modal{background:var(--surface);border-radius:12px;box-shadow:0 20px 40px #0003;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column}.add-part-modal .modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.add-part-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.add-part-modal .modal-header .close-btn{margin-left:auto;background:none;border:none;font-size:24px;color:var(--text-tertiary);cursor:pointer;line-height:1;padding:0}.add-part-modal .modal-header .close-btn:hover{color:var(--text-secondary)}.add-part-modal .modal-body{padding:20px;overflow-y:auto;flex:1}.drop-zone{border:2px dashed var(--border);border-radius:10px;padding:28px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:border-color .15s,background .15s;min-height:160px;-webkit-user-select:none;user-select:none}.drop-zone:hover{border-color:var(--text-tertiary)}.drop-zone--active{border-color:var(--primary);background:#5e9b6e0f}.drop-zone--has-files{min-height:100px;padding:18px 16px}.drop-zone__input{display:none}.drop-zone__icon{color:var(--text-tertiary);margin-bottom:4px}.drop-zone--active .drop-zone__icon{color:var(--primary)}.drop-zone__label{font-size:14px;font-weight:500;color:var(--text-secondary)}.drop-zone--active .drop-zone__label{color:var(--primary)}.drop-zone__hint{font-size:12px;color:var(--text-tertiary)}.file-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.file-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-subtle, rgba(0,0,0,.04));border:1px solid var(--border);border-radius:20px;padding:4px 8px 4px 6px;font-size:12px;line-height:1.3;max-width:100%}.file-chip--make-from{border-color:#d4a04a;background:#d4a04a14}.file-chip__ext{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--primary);background:#5e9b6e1a;padding:2px 5px;border-radius:4px;white-space:nowrap}.file-chip--make-from .file-chip__ext{color:#b8860b;background:#d4a04a26}.file-chip__name{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.file-chip__size{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.file-chip__remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:15px;line-height:1;padding:0 2px;flex-shrink:0}.file-chip__remove:hover{color:var(--danger, #d44)}.make-from-section{margin-top:16px}.make-from-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;padding:4px 0}.make-from-toggle:hover{color:var(--text)}.make-from-toggle__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--bg-subtle, rgba(0,0,0,.04));font-size:14px;font-weight:600;transition:transform .15s}.make-from-toggle__icon--open{transform:rotate(45deg)}.make-from-toggle__count{background:#d4a04a;color:#fff;font-size:10px;font-weight:600;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.drop-zone--make-from{min-height:72px;padding:14px 16px;border-color:#d4a04a;border-width:1.5px;margin-top:10px;gap:4px}.drop-zone--make-from .drop-zone__label{font-size:13px;color:#b8860b}.drop-zone--make-from-active{border-color:#b8860b;background:#d4a04a14}.drop-zone--make-from-active .drop-zone__label{color:#996515}.part-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.add-part-modal .form-group{margin-bottom:0}.add-part-modal .form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.add-part-modal .form-group input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text);transition:border-color .15s,box-shadow .15s}.add-part-modal .form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e1a}.add-part-modal .form-group input::placeholder{color:var(--text-tertiary)}.add-part-modal .modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border)}.add-part-modal .modal-footer .btn{padding:8px 20px;font-size:14px}.project-info-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.project-info-modal{background:var(--surface);border-radius:12px;box-shadow:0 20px 40px #0003;width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column}.project-info-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.project-info-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.project-info-modal .modal-header .close-btn{background:none;border:none;font-size:24px;color:var(--text-tertiary);cursor:pointer;line-height:1;padding:0}.project-info-modal .modal-header .close-btn:hover{color:var(--text-secondary)}.project-info-modal .modal-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.project-info-modal .modal-tabs .tab{flex:1;padding:12px 16px;background:none;border:none;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.project-info-modal .modal-tabs .tab:hover{color:var(--text);background:var(--surface-muted)}.project-info-modal .modal-tabs .tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--surface)}.project-info-modal .modal-body{padding:20px;overflow-y:auto;flex:1}.project-info-modal .form-group{margin-bottom:16px}.project-info-modal .form-group:last-child{margin-bottom:0}.project-info-modal .form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.project-info-modal .form-group input,.project-info-modal .form-group select,.project-info-modal .form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text);transition:border-color .15s,box-shadow .15s;font-family:inherit}.project-info-modal .form-group textarea{resize:vertical;min-height:80px}.project-info-modal .form-group input:focus,.project-info-modal .form-group select:focus,.project-info-modal .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e1a}.project-info-modal .form-group input::placeholder,.project-info-modal .form-group textarea::placeholder{color:var(--text-tertiary)}.project-info-modal .form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.project-info-modal .field-hint{display:block;font-size:12px;color:var(--text-tertiary);margin-top:4px}.project-info-modal .modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border)}.project-info-modal .modal-footer .btn{padding:8px 20px;font-size:14px}.file-organizer{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;width:100%}.file-organizer-header{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.file-organizer-header h2{margin:0;font-size:15px;font-weight:600;color:var(--text)}.file-organizer-summary{font-size:13px;color:var(--text-tertiary);display:flex;align-items:center;gap:8px}.unassigned-badge{background:var(--warning-bg);color:var(--warning-text);font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.file-organizer-close{margin-left:auto;background:none;border:1px solid var(--border);border-radius:6px;font-size:18px;color:var(--text-tertiary);cursor:pointer;padding:2px 10px;line-height:1}.file-organizer-close:hover{color:var(--text);background:var(--bg-subtle)}.file-organizer-body{display:flex;height:calc(100vh - 220px);min-height:500px}.file-organizer-left{width:55%;min-width:0;display:flex;flex-direction:column;overflow:hidden}.file-organizer-divider{width:1px;background:var(--border);flex-shrink:0}.file-organizer-right{width:45%;min-width:0;display:flex;flex-direction:column;overflow:hidden}.file-search-sticky{padding:10px 14px 8px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.file-search-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text);background:var(--bg-subtle);outline:none}.file-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e26;background:var(--surface)}.file-filter-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.filter-chip{padding:2px 8px;border:1px solid var(--border);border-radius:12px;font-size:11px;color:var(--text-secondary);background:var(--surface);cursor:pointer;white-space:nowrap;transition:all .12s}.filter-chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-count{font-size:10px;opacity:.7;margin-left:2px}.file-tree{flex:1;overflow-y:auto}.folder-node{border-bottom:1px solid var(--divider)}.folder-node.all-assigned{opacity:.6}.folder-header{display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--bg-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:2}.folder-header:hover{background:var(--surface-muted)}.folder-chevron{font-size:8px;color:var(--text-tertiary);transition:transform .15s;flex-shrink:0;width:12px;text-align:center}.folder-chevron.expanded{transform:rotate(90deg)}.folder-icon{font-size:14px;flex-shrink:0}.folder-name{font-size:13px;font-weight:600;color:var(--text);font-family:SF Mono,Monaco,Cascadia Code,monospace;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-stats{flex-shrink:0}.folder-file-count{font-size:11px;color:var(--text-tertiary)}.folder-assigned-count{font-size:11px;color:var(--primary);font-weight:500}.folder-action{padding:2px 8px;border:1px solid var(--primary);border-radius:4px;background:none;color:var(--primary);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;opacity:0;transition:opacity .1s;flex-shrink:0}.folder-header:hover .folder-action{opacity:1}.folder-action:hover{background:var(--primary);color:#fff}.folder-selection-count{font-size:10px;color:var(--primary);font-weight:600;background:var(--primary-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.file-row{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 32px;cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none;font-size:13px;border-bottom:1px solid var(--divider)}.file-row:hover{background:var(--bg-subtle)}.file-row.selected{background:var(--primary-light)}.file-row.assigned{opacity:.55}.file-row.assigned:hover,.file-row.assigned.selected{opacity:1}.file-row.pending{opacity:.35;pointer-events:none}.file-row-check{flex-shrink:0;cursor:pointer;accent-color:var(--primary)}.file-type-badge{flex-shrink:0;padding:1px 4px;border-radius:3px;font-size:9px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.3px;min-width:28px;text-align:center}.file-row-name{flex:1;min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row-size{flex-shrink:0;font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;min-width:48px;text-align:right}.file-part-tag{flex-shrink:0;font-size:10px;padding:1px 6px;border-radius:8px;background:var(--primary-light);color:var(--primary);font-weight:500;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-shared-tag{flex-shrink:0;font-size:10px;padding:1px 6px;border-radius:8px;background:#5fa8d326;color:var(--info);font-weight:500}.file-list-empty{padding:32px 14px;text-align:center;color:var(--text-tertiary);font-size:13px}.file-preview{flex-shrink:0;border-bottom:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;height:50%;min-height:180px}.file-preview-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--divider);flex-shrink:0;background:var(--bg-subtle)}.file-preview-name{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.file-preview-meta-inline{font-size:11px;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.file-preview-part-tag{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--primary-light);color:var(--primary);font-weight:500;white-space:nowrap;flex-shrink:0}.file-preview-unassigned-tag{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--warning-bg);color:var(--warning-text);font-weight:500;white-space:nowrap;flex-shrink:0}.file-preview-open{margin-left:auto;background:none;border:1px solid var(--border);border-radius:4px;font-size:14px;color:var(--text-tertiary);cursor:pointer;padding:2px 8px;line-height:1;flex-shrink:0}.file-preview-open:hover{color:var(--primary);border-color:var(--primary)}.file-preview-content{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-subtle)}.file-preview-object{width:100%;height:100%}.file-preview-image{max-width:100%;max-height:100%;object-fit:contain;padding:8px}.file-preview-placeholder{text-align:center;color:var(--text-tertiary);font-size:13px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:6px}.file-preview-icon-3d{font-size:28px;font-weight:800;color:var(--primary);letter-spacing:1px}.file-preview-icon-generic{font-size:28px;font-weight:800;color:var(--text-tertiary);letter-spacing:1px}.file-preview-open-btn{margin-top:4px;padding:4px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-secondary);font-size:12px;cursor:pointer}.file-preview-open-btn:hover{border-color:var(--primary);color:var(--primary)}.batch-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid var(--border);background:var(--primary-light);flex-shrink:0}.batch-count{font-size:12px;font-weight:600;color:var(--primary);white-space:nowrap}.batch-move-select{padding:4px 6px;border:1px solid var(--border);border-radius:4px;font-size:11px;background:var(--surface);color:var(--text);cursor:pointer;max-width:130px}.batch-btn{padding:3px 8px;border:1px solid var(--border);border-radius:4px;font-size:11px;background:var(--surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .12s}.batch-btn:hover{border-color:var(--primary);color:var(--primary)}.batch-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.batch-btn.primary:hover{background:var(--primary-hover)}.batch-btn.deselect{margin-left:auto;border:none;color:var(--text-tertiary)}.file-context-menu{position:fixed;z-index:1000;min-width:200px;max-width:280px;max-height:400px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);padding:4px 0}.context-menu-header{padding:6px 12px;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.context-menu-item{display:block;width:100%;padding:6px 12px;border:none;background:none;text-align:left;font-size:13px;color:var(--text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-menu-item:hover{background:var(--bg-subtle)}.context-menu-item.primary{color:var(--primary);font-weight:600}.context-menu-item.primary:hover{background:var(--primary-light)}.context-menu-item.danger{color:var(--error)}.context-menu-item.danger:hover{background:var(--error-bg)}.context-menu-divider{height:1px;background:var(--divider);margin:4px 0}.parts-list{padding:8px;flex:1;overflow-y:auto;min-height:0}.part-row{border:1px solid var(--border);border-radius:8px;margin-bottom:6px;background:var(--surface);transition:border-color .15s,box-shadow .15s}.part-row.drop-hover{border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e33;background:var(--primary-soft)}.part-row.shared-row{border-color:var(--info);background:#5fa8d30a}.part-row.unassigned-drop{border-style:dashed;border-color:var(--text-tertiary)}.part-row.unassigned-drop.drop-hover{border-color:var(--primary);border-style:solid}.part-row-header{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.part-chevron{font-size:9px;color:var(--text-tertiary);transition:transform .15s;flex-shrink:0}.part-chevron.expanded{transform:rotate(90deg)}.part-row-label{font-size:13px;font-weight:600;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-row-rev{font-size:11px;color:var(--text-tertiary);background:var(--bg-subtle);padding:1px 5px;border-radius:3px}.part-row-count{font-size:11px;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.part-row-actions{display:flex;gap:2px;opacity:0;transition:opacity .1s;flex-shrink:0}.part-row-header:hover .part-row-actions{opacity:1}.part-action-btn{background:none;border:none;font-size:14px;color:var(--text-tertiary);cursor:pointer;padding:2px 5px;border-radius:3px;line-height:1}.part-action-btn:hover{background:var(--bg-subtle);color:var(--text)}.part-action-btn.danger:hover{background:var(--error-bg);color:var(--error)}.part-rename-input{flex:1;min-width:0;padding:2px 6px;border:1px solid var(--primary);border-radius:4px;font-size:13px;font-weight:600;color:var(--text);background:var(--surface);outline:none;box-shadow:0 0 0 2px #5e9b6e26}.part-row.part-highlight{border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e40;animation:part-flash 2.5s ease-out}@keyframes part-flash{0%{background:var(--primary-light)}to{background:var(--surface)}}.part-row-files{padding:0 12px 8px;display:flex;flex-direction:column;gap:3px}.part-file-chip{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:4px;font-size:12px;background:var(--bg-subtle)}.part-file-chip:hover{background:var(--surface-muted)}.part-file-type{width:6px;height:6px;border-radius:50%;flex-shrink:0}.part-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.part-file-size{font-size:10px;color:var(--text-tertiary);flex-shrink:0}.part-file-remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;opacity:0;transition:opacity .1s}.part-file-chip:hover .part-file-remove{opacity:1}.part-file-remove:hover{color:var(--error)}.part-row-empty{padding:12px;text-align:center;color:var(--text-tertiary);font-size:12px;font-style:italic}@media(max-width:900px){.file-organizer-body{flex-direction:column;height:auto;max-height:none}.file-organizer-left,.file-organizer-right{width:100%}.file-organizer-left{max-height:50vh}.file-organizer-divider{width:100%;height:1px}.file-organizer-right{max-height:50vh}}.rfq-timeline{margin-top:16px;border:1px solid var(--border);border-radius:8px;padding:12px 16px;background:var(--surface)}.rfq-timeline__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.rfq-timeline__title{font-size:13px;font-weight:600;color:var(--text)}.rfq-timeline__range{font-size:11px;color:var(--text-tertiary)}.rfq-timeline__chart{position:relative}.rfq-timeline__marker{position:absolute;top:0;bottom:0;width:2px;z-index:2;pointer-events:none}.rfq-timeline__marker--today{background:var(--border);border-style:dashed;border-width:0 0 0 1.5px;background:none;border-color:var(--text-tertiary);width:0}.rfq-timeline__marker--due{background:var(--error);border-radius:1px}.rfq-timeline__marker-label{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:9px;font-weight:600;color:var(--error);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.rfq-timeline__row{display:flex;align-items:center;gap:8px;padding:3px 0;cursor:pointer}.rfq-timeline__row:hover .rfq-timeline__bar{filter:brightness(1.1)}.rfq-timeline__row-label{width:100px;min-width:100px;font-size:11px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfq-timeline__row-track{flex:1;height:20px;background:var(--bg, var(--surface-muted));border-radius:3px;overflow:hidden;position:relative}.rfq-timeline__bar{height:100%;background:var(--primary);border-radius:3px;display:flex;align-items:center;min-width:24px;transition:filter .15s}.rfq-timeline__bar--overdue{background:var(--warning)}.rfq-timeline__bar-text{font-size:10px;font-weight:600;color:#fff;padding:0 6px;white-space:nowrap}.project-detail{max-width:1600px;margin:0 auto;padding:0 24px}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.header-left .back-link{font-size:13px;color:var(--text-secondary);display:block;margin-bottom:8px}.project-header h1{font-size:24px;font-weight:600;margin-bottom:4px}.editable-title{cursor:pointer;display:inline-flex;align-items:center;gap:8px}.editable-title .edit-hint{opacity:0;font-size:16px;color:var(--text-tertiary);transition:opacity .15s}.editable-title:hover .edit-hint{opacity:1}.title-edit-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.title-input{padding:6px 12px;font-size:24px;font-weight:600;border:2px solid var(--primary);border-radius:6px;outline:none;min-width:300px}.title-input:focus{box-shadow:0 0 0 3px #5e9b6e33}.customer-name{color:var(--text-secondary);font-size:14px}.btn{padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none}.btn-secondary{background:var(--primary);color:#fff}.notice-banner{background:var(--warning-bg);border:1px solid var(--warning);border-radius:8px;padding:10px 16px;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--warning-text)}.notice-banner.info{background:var(--primary-soft);border-color:var(--accent-subtle);color:var(--primary-active)}.notice-icon{font-size:16px;flex-shrink:0}.notice-banner span{flex:1}.notice-dismiss{background:none;border:none;color:inherit;cursor:pointer;padding:4px;opacity:.6;font-size:18px;line-height:1;flex-shrink:0}.notice-dismiss:hover{opacity:1}.project-content{display:flex;flex-direction:column;gap:24px}.source-email-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px;display:flex;align-items:center;gap:16px}.source-email-card h3{margin:0;font-size:14px;font-weight:600}.source-email-card .email-row{font-size:13px;color:var(--text-secondary)}.source-email-card .label{color:var(--text-tertiary);margin-right:4px}.parts-section{background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.parts-section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.parts-section-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text)}.parts-table-header,.col-select{display:none}.part-card{display:flex;gap:20px;padding:16px 20px;border-bottom:1px solid var(--border);transition:all .15s}.part-card:hover{background:#fafbfc}.part-card.clickable{cursor:pointer}.part-card.clickable:hover{background:var(--surface-muted);box-shadow:inset 3px 0 0 var(--primary)}.part-card:last-of-type{border-bottom:none}.rfq-files-panel{border-top:1px solid var(--border);padding:16px 20px;background:var(--bg-subtle)}.rfq-files-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}.rfq-files-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text)}.rfq-files-header span{font-size:12px;color:var(--text-secondary)}.rfq-file-group+.rfq-file-group{margin-top:14px}.rfq-file-group-title{font-size:12px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}.rfq-file-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.rfq-file-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.rfq-file-thumb{flex-shrink:0}.rfq-file-row+.rfq-file-row{margin-top:8px}.rfq-file-meta{min-width:0}.rfq-file-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rfq-file-details{font-size:12px;color:var(--text-secondary);margin-top:2px}.part-select{display:none}.part-thumbnail{flex-shrink:0;width:180px;display:flex;flex-direction:column;align-items:center;gap:8px}.part-thumbnail-btn{display:block;border:none;background:transparent;padding:0;cursor:pointer;width:100%;border-radius:10px}.part-thumbnail-btn:hover{outline:2px solid var(--accent-subtle);outline-offset:2px}.part-thumbnail img,.part-thumbnail .thumbnail-image{width:180px;height:180px;object-fit:contain;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border)}.thumbnail-placeholder{width:180px;height:180px;background:linear-gradient(135deg,var(--bg-subtle) 0%,var(--border) 100%);border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--border)}.thumbnail-filename{font-size:11px;color:var(--text-secondary);text-align:center;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--surface-muted);padding:4px 12px;border-radius:4px;font-weight:500}.part-content{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0;justify-content:space-between}.part-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.part-name{font-size:14px;font-weight:600;color:var(--text);margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1.3}.part-name .edit-hint{opacity:0;font-size:12px;color:var(--text-tertiary);transition:opacity .15s}.part-name:hover .edit-hint{opacity:1}.part-name .revision{font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--border);padding:2px 8px;border-radius:4px}.dfm-badge{font-size:12px;font-weight:500;padding:6px 12px;border-radius:6px;border:none;white-space:nowrap}.dfm-badge.passed{background:var(--success-bg);color:var(--success-text)}.dfm-badge.issues{background:var(--error-bg);color:var(--error);cursor:pointer}.dfm-badge.issues:hover{background:var(--error-bg)}.part-specs-row{display:flex;flex-wrap:wrap;gap:8px}.spec-tag{font-size:12px;color:var(--text-secondary);background:var(--surface-muted);padding:5px 12px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.part-key-specs{display:flex;gap:12px;flex-wrap:wrap}.key-spec{display:flex;flex-direction:column;gap:0}.key-spec-label{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);font-weight:500;line-height:1.2}.key-spec-value{font-size:12px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.3}.key-spec-value--editable{cursor:pointer;border-bottom:1px dashed var(--border)}.key-spec-value--editable:hover{color:var(--primary)}.qpa-input{width:48px;font-size:12px;font-weight:600;padding:1px 4px;border:1px solid var(--primary);border-radius:3px;background:var(--surface);color:var(--text);font-variant-numeric:tabular-nums;text-align:center;outline:none}.part-files-summary{display:flex;gap:6px;flex-wrap:wrap}.file-count-tag{font-size:10px;padding:1px 6px;border-radius:8px;font-weight:500}.file-count-tag.model{background:var(--primary-light);color:var(--primary)}.file-count-tag.drawing{background:var(--error-bg);color:var(--error-text)}.file-count-tag.other{background:var(--surface-muted);color:var(--text-tertiary)}.file-count-tag.empty{background:var(--warning-bg);color:var(--warning-text)}.spec-tag .spec-label{color:var(--text-tertiary);font-weight:500}.part-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:8px;border-top:1px solid var(--surface-muted)}.file-actions{display:flex;gap:8px}.file-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid}.file-btn svg{flex-shrink:0}.file-btn.model{background:var(--primary-soft);border-color:var(--accent-subtle);color:var(--primary)}.file-btn.model:hover{background:var(--primary-light);border-color:var(--primary)}.file-btn.pdf{background:var(--error-bg);border-color:var(--error);color:var(--error)}.file-btn.pdf:hover{background:var(--error-bg);border-color:#f87171}.file-btn.split{background:var(--bg-subtle);border-color:var(--border);color:var(--text-secondary)}.file-btn.split:hover{background:var(--surface-muted);border-color:var(--border);color:var(--text-secondary)}.part-meta{display:flex;align-items:center;gap:24px}.part-qty-col{display:flex;align-items:center}.qty-btn{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.qty-btn:hover{background:var(--primary-soft);border-color:var(--primary)}.qty-label{font-size:12px;color:var(--text-secondary);font-weight:500}.qty-value{font-size:18px;font-weight:700;color:var(--text)}.qty-breaks-indicator{font-size:10px;color:#fff;background:var(--primary);padding:2px 8px;border-radius:10px;font-weight:600}.part-price-col{text-align:right;min-width:90px}.price-amount{font-size:16px;font-weight:700;color:var(--text);display:block}.price-per{font-size:12px;color:var(--text-tertiary)}.name-edit-row{display:flex;align-items:center;gap:8px}.name-edit-row .name-input{padding:8px 12px;border:2px solid var(--primary);border-radius:6px;font-size:15px;outline:none;min-width:250px}.name-edit-row .btn-icon{width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;font-size:16px}.name-edit-row .btn-icon:hover{background:var(--bg-subtle)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500}.status-configured{background:var(--success-bg);color:var(--success-text)}.status-quoted{background:var(--primary-light);color:var(--primary-active)}.status-partial{background:var(--warning-bg);color:var(--warning-text)}.status-pending{background:var(--surface-muted);color:var(--text-secondary)}.part-status{margin-top:8px}.part-qty{display:flex;align-items:center;justify-content:center}.part-qty-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:4px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;transition:all .15s;font-family:inherit}.part-qty-btn:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-active)}.part-qty-btn .qty-breaks-badge{background:var(--primary);color:#fff;font-size:9px;padding:1px 4px;border-radius:8px;font-weight:600}.part-price{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.price-value{font-size:14px;font-weight:600;color:var(--text)}.price-unit{font-size:11px;color:var(--text-tertiary)}.part-quick-actions{display:flex;gap:4px;margin-top:6px;justify-content:flex-end}.part-quick-actions .action-btn{padding:2px 6px;font-size:10px;font-weight:500;background:var(--surface-muted);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.part-quick-actions .action-btn:hover{background:var(--border);color:var(--text)}.price-actions{margin-top:12px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.bulk-pricing-link{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--primary);background:none;border:none;cursor:pointer;padding:0}.bulk-pricing-link:hover{text-decoration:underline}.configure-link{font-size:13px;color:var(--primary);background:none;border:none;cursor:pointer;padding:0}.configure-link:hover{text-decoration:underline}.delete-part-link{font-size:13px;color:var(--error);background:none;border:none;cursor:pointer;padding:0}.delete-part-link:hover{text-decoration:underline}.view-bulk-btn{display:block;margin-top:12px;background:none;border:none;color:var(--primary);font-size:13px;cursor:pointer;padding:0}.part-feedback{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}.feedback-btn{width:28px;height:28px;border:1px solid var(--border);background:var(--surface);border-radius:4px;cursor:pointer;font-size:14px;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center}.feedback-btn:hover{border-color:var(--border);color:var(--text-secondary)}.name-edit-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.name-input{flex:1;padding:6px 10px;font-size:16px;font-weight:600;border:1px solid var(--primary);border-radius:6px;outline:none}.name-input:focus{box-shadow:0 0 0 2px #5e9b6e33}.btn-icon{width:28px;height:28px;border:none;background:var(--surface-muted);border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--border)}.btn-icon:first-of-type:hover{background:var(--success-bg);color:var(--success-text)}.btn-icon:last-of-type:hover{background:var(--error-bg);color:var(--error-text)}.add-drawing-prompt{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;border:2px dashed var(--border);margin:20px;border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}.add-drawing-prompt.drag-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover)}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;text-decoration:underline}.parts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:16px 20px 4px}.parts-grid .part-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.parts-grid .part-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #5e9b6e1a}.part-card-body{display:flex;flex-direction:column}.part-thumb-col{display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);padding:12px;min-height:200px}.part-thumb-col .part-thumbnail-btn{background:none;border:none;cursor:pointer;padding:0}.part-thumb-col .part-thumbnail-btn>div,.part-thumb-col>div:not(.thumbnail-placeholder){width:200px!important;height:200px!important}.part-thumb-col .thumbnail-placeholder{width:200px;height:140px;display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--text-tertiary)}.part-info-col{padding:12px 14px;display:flex;flex-direction:column;gap:6px}.part-number-sub{font-size:11px;color:var(--text-tertiary);font-family:SF Mono,Monaco,Cascadia Code,monospace}.part-price-row{display:flex;justify-content:flex-end;padding:0 14px 10px}.part-menu{position:absolute;top:10px;right:10px;z-index:25}.part-menu-trigger{width:26px;height:26px;border:none;background:transparent;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;border-radius:999px;display:flex;align-items:center;justify-content:center}.part-menu-trigger:hover{background:var(--surface-muted);color:var(--text)}.part-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:130px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #0f172a1f;z-index:20;padding:4px}.part-menu-item{width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:13px;border-radius:6px;padding:7px 9px;cursor:pointer}.part-menu-item:hover:not(:disabled){background:var(--surface-muted)}.part-menu-item:disabled{color:var(--text-tertiary);cursor:not-allowed}.pricing-sidebar{background:var(--surface);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;height:fit-content;position:sticky;top:20px}.sidebar-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--surface-muted)}.sidebar-section:last-of-type{border-bottom:none}.sidebar-section h3{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.email-reference-name{font-weight:600;margin-bottom:12px;word-break:break-word}.email-reference-row{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.email-reference-row .label{font-size:12px;color:var(--text-secondary)}.email-reference-row .value{font-size:13px;color:var(--text);word-break:break-word}.email-reference-extra{margin-top:10px;margin-bottom:0;font-size:12px;color:var(--text-secondary)}.email-reference-body{margin-top:4px;max-height:260px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.45;color:var(--text);background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;padding:10px}.pricing-sidebar.email-wide{padding:22px 24px}.pricing-sidebar.email-wide .email-reference-body{max-height:520px;font-size:13px;line-height:1.55;background:var(--surface)}.info-icon{font-size:14px;color:var(--text-tertiary);cursor:help}.lead-option{display:flex;align-items:center;gap:12px;padding:12px;border:2px solid var(--border);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .15s}.lead-option:hover{border-color:var(--border)}.lead-option.selected{border-color:var(--primary);background:var(--primary-soft)}.lead-option input{width:18px;height:18px;accent-color:var(--primary)}.option-content{flex:1;display:flex;justify-content:space-between;align-items:center}.option-label{font-weight:500;font-size:14px}.option-price{font-size:13px;color:var(--text-secondary)}.option-price.savings{color:var(--success)}.delivery-date{margin-top:12px;font-size:13px;color:var(--text-secondary);text-align:right}.cert-status{font-size:14px;color:var(--text)}.shipping-option{display:flex;justify-content:space-between;font-size:14px;margin-bottom:16px}.shipping-price{font-weight:600}.shipping-address{background:var(--bg-subtle);padding:12px;border-radius:8px;font-size:13px}.shipping-address strong{display:block;margin-bottom:4px}.shipping-address p{color:var(--text-secondary);margin:0}.totals{margin-bottom:16px}.total-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;color:var(--text-secondary)}.total-row.grand-total{font-size:18px;font-weight:700;color:var(--text);margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.save-status-indicator{text-align:center;padding:10px 16px;font-size:13px;color:var(--text-tertiary)}.parts-header-left{display:flex;align-items:center;gap:16px}.assembly-qty-group{display:flex;align-items:center;gap:6px}.assembly-qty-label{font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.assembly-qty-input{width:90px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface)}.assembly-qty-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e26}.qty-per-assy{display:flex;align-items:center;gap:3px;margin-top:4px}.qty-per-assy-input{width:48px;padding:2px 4px;border:1px solid var(--border);border-radius:3px;font-size:12px;text-align:center;color:var(--text);background:var(--surface);font-variant-numeric:tabular-nums}.qty-per-assy-input:focus{outline:none;border-color:var(--primary)}.qty-per-assy-label{font-size:11px;color:var(--text-tertiary)}.qty-computed{font-size:11px;color:var(--primary);font-weight:500;margin-left:4px}.price-display{cursor:pointer;border-radius:4px;padding:2px 4px;transition:background .15s}.price-display:hover{background:var(--bg-subtle)}.price-edit-row{display:flex;align-items:center;gap:2px}.price-prefix{font-size:16px;font-weight:600;color:var(--text-secondary)}.price-input{width:120px;padding:4px 6px;border:1px solid var(--primary);border-radius:4px;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;color:var(--text);background:var(--surface);outline:none;box-shadow:0 0 0 2px #5e9b6e26}.price-total-hint{font-size:11px;color:var(--text-tertiary);text-align:right;margin-top:2px}.quote-summary-bar{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:10px 24px;display:flex;justify-content:space-between;align-items:center;z-index:100;box-shadow:0 -2px 8px #00000014}.summary-costs{display:flex;align-items:center;gap:20px}.summary-item{display:flex;flex-direction:column;gap:1px}.summary-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;font-weight:500}.summary-value{font-size:15px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.summary-item.total .summary-value{font-size:18px;font-weight:700;color:var(--primary)}.summary-item.margin .summary-value{color:var(--success, var(--success))}.summary-divider{width:1px;height:32px;background:var(--border)}.summary-status{font-size:12px;color:var(--text-tertiary)}.project-detail{padding-bottom:72px}@media(max-width:1200px){.project-content,.project-content.with-source-email{grid-template-columns:1fr}.pricing-sidebar{position:static}}@media(max-width:1000px){.parts-grid{grid-template-columns:1fr}}@media(max-width:768px){.project-detail{padding:0 16px}.parts-table-header{display:none}.parts-grid{padding:12px 12px 0;gap:12px}.parts-grid .part-card{aspect-ratio:auto;min-height:0}.parts-grid .part-thumbnail img,.parts-grid .part-thumbnail .thumbnail-image,.parts-grid .thumbnail-placeholder{max-width:170px;max-height:170px}.parts-grid .part-thumbnail-btn>div,.parts-grid .part-thumbnail>div{width:170px!important;height:170px!important}.parts-grid .part-meta-left{flex-wrap:wrap}.rfq-file-row{flex-direction:column;align-items:flex-start}.rfq-file-main{width:100%}.rfq-file-row .btn{align-self:flex-end}}.schedule-check{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.feasibility-params{margin-bottom:16px}.param-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.param-row label{font-size:13px;color:var(--text-secondary)}.param-input{display:flex;align-items:center;gap:6px}.param-input input{width:60px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;text-align:center}.param-input input:focus{outline:none;border-color:var(--primary)}.param-input span{font-size:12px;color:var(--text-tertiary)}.btn-full{width:100%}.feasibility-result{margin-top:16px;padding:16px;border-radius:8px;background:var(--bg-subtle)}.feasibility-result.feasible{background:var(--success-bg);border:1px solid #bbf7d0}.feasibility-result.not-feasible{background:var(--error-bg);border:1px solid var(--error)}.feasibility-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.feasibility-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.feasibility-result.feasible .feasibility-icon{background:var(--success);color:#fff}.feasibility-result.not-feasible .feasibility-icon{background:var(--warning);color:#fff}.feasibility-title{font-weight:600;font-size:15px}.feasibility-result.feasible .feasibility-title{color:var(--success-text)}.feasibility-result.not-feasible .feasibility-title{color:var(--warning-text)}.feasibility-timeline{display:flex;flex-direction:column;gap:8px}.feasibility-timeline .timeline-item{display:flex;justify-content:space-between;align-items:center;font-size:13px}.feasibility-timeline .timeline-item .label{color:var(--text-secondary)}.feasibility-timeline .timeline-item .value{font-weight:500;color:var(--text)}.feasibility-timeline .timeline-item.buffer .value.negative{color:var(--error)}.available-machines{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.available-machines .label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.machine-window{font-size:12px;padding:4px 0;color:var(--text)}.feasibility-warnings{margin-top:12px;padding-top:12px;border-top:1px solid var(--error)}.warning-item{font-size:12px;color:var(--warning-text);padding:4px 0}.part-quality-section{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.quality-label{font-size:11px;color:var(--text-secondary);font-weight:500}.part-qty-breaks{margin-top:8px}.qty-breaks-btn{padding:4px 10px;background:none;border:1px dashed var(--border);border-radius:4px;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.qty-breaks-btn:hover{background:var(--bg-subtle);border-color:var(--text-tertiary);color:var(--text-secondary)}.qty-breaks-btn.has-breaks{background:var(--success-bg);border:1px solid var(--success);color:var(--success-text);border-style:solid}.qty-breaks-btn.has-breaks:hover{background:var(--success-bg);border-color:var(--success)}.part-attachments-row{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.attachment-icon-link{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:11px;font-weight:500;text-decoration:none;transition:all .15s;background:var(--surface);cursor:pointer}.attachment-icon-link.model{color:var(--primary);border-color:var(--accent-subtle)}.attachment-icon-link.model:hover{background:var(--primary-soft);border-color:var(--primary)}.attachment-icon-link.pdf{color:var(--error);border-color:var(--error)}.attachment-icon-link.pdf:hover{background:var(--error-bg);border-color:var(--error)}.split-part-btn{margin-top:8px;padding:0;background:none;border:none;color:var(--primary);font-size:12px;cursor:pointer;text-decoration:none}.split-part-btn:hover{text-decoration:underline}.sim-sec{border:1px solid var(--border, #d5d8dd);border-radius:12px;background:var(--card, #fff);padding:12px 13px}.sim-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}.sim-head h3{margin:0;font-size:14px}.sim-hint{font-size:10px;color:var(--text-tertiary, #9aa1ab);text-transform:uppercase;letter-spacing:.05em;cursor:help}.sim-row{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid var(--divider, #eceef1);text-decoration:none;color:inherit;border-radius:8px}.sim-row:last-child{border-bottom:none}.sim-row:hover{background:var(--surface-muted, #f2f3f5)}.sim-thumb{flex:none;width:36px;height:36px;border-radius:7px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface-muted, #f2f3f5)}.sim-thumb-ph{color:var(--text-tertiary, #9aa1ab);font-size:16px}.sim-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.sim-pn{font-family:var(--font-mono, monospace);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-sub{font-size:10.5px;color:var(--text-tertiary, #9aa1ab);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-why{font-size:10.5px;color:#6b4aa3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.sim-score{font-size:12px;color:#1a7f4e}.sim-price{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-secondary, #5c6370)}.qtyi{display:inline-flex;align-items:center;gap:4px;vertical-align:baseline}.qtyi-view{border:none;background:none;padding:0 2px;margin:0;font:inherit;color:inherit;cursor:pointer;border-radius:6px;transition:background .12s,color .12s}.qtyi-view:hover{background:#2f5fd014;color:var(--accent, #2f5fd0)}.qtyi-pen{font-size:10px;margin-left:3px;opacity:0;color:var(--accent, #2f5fd0);transition:opacity .12s}.qtyi-view:hover .qtyi-pen,.qtyi-view:focus-visible .qtyi-pen{opacity:1}.qtyi-input{width:62px;padding:2px 6px;font:inherit;font-family:var(--font-mono, monospace);color:var(--ink, #1d1f24);background:var(--card, #fff);border:1px solid var(--line, #cdd0d6);border-radius:8px;outline:none;transition:border-color .12s,box-shadow .12s}.qtyi-input:focus{border-color:var(--accent, #2f5fd0);box-shadow:0 0 0 2px #2f5fd02e}.qtyi-unit{font-size:inherit;color:var(--ink-muted, #6b7280)}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.fpv-overlay{position:fixed;inset:0;z-index:1000;background:#0f1218b8;display:flex;align-items:center;justify-content:center;padding:32px}.fpv-modal{width:100%;max-width:1100px;height:100%;max-height:90vh;background:#1a1a1a;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.fpv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;background:#1c1c1c;border-bottom:1px solid #2a2a2a;flex-shrink:0}.fpv-name{color:#f5f5f5;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fpv-x{flex:none;width:30px;height:30px;border-radius:6px;border:none;background:#2a2a2a;color:#ccc;cursor:pointer;font-size:13px}.fpv-x:hover{background:#363636;color:#fff}.fpv-body{flex:1;min-height:0;position:relative;background:#2a2a2a;display:flex}.fpv-msg{margin:auto;color:#9a9a9a;font-size:13px}.fpv-pdf-scroll{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px}.fpv-pdf-page{box-shadow:0 2px 12px #0006;background:#fff}.fpv-image-wrap{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:24px}.fpv-image-wrap img{max-width:100%;max-height:100%;object-fit:contain;background:#fff}.fpv-other{margin:auto;text-align:center;color:#cbd5e1;display:flex;flex-direction:column;align-items:center;gap:8px}.fpv-other-ico{font-size:40px}.fpv-other-t{font-size:14px;font-weight:500}.fpv-other-s{font-size:12px;color:#94a3b8}.fpv-other-btn{margin-top:8px;padding:7px 16px;border-radius:7px;background:#3a3a3a;color:#f5f5f5;font-size:12px;text-decoration:none}.fpv-other-btn:hover{background:#464646}.fpv-dl{background:none;border:1px solid var(--border);border-radius:7px;padding:3px 12px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin-right:8px;white-space:nowrap;transition:border-color .12s ease,color .12s ease}.fpv-dl:hover{border-color:var(--primary);color:var(--primary)}.bulkbar{position:sticky;bottom:12px;z-index:30;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:9px 14px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;background:var(--card);box-shadow:0 6px 20px #0000001f}.bulkbar-count{font-size:12.5px;color:var(--ink-muted);white-space:nowrap}.bulkbar-count b{font-family:var(--font-mono);font-size:14px;color:var(--ink)}.bulkbar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.bulkbar-btn{padding:6px 12px;font-size:12px;border-radius:8px;cursor:pointer;white-space:nowrap;background:var(--surface-muted);color:var(--ink);border:1px solid var(--line)}.bulkbar-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.bulkbar-btn:disabled{opacity:.5;cursor:not-allowed}.bulkbar-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.bulkbar-btn.primary:hover:not(:disabled){filter:brightness(1.06);color:#fff}.bulkbar-btn.danger{color:var(--error-text)}.bulkbar-btn.danger:hover:not(:disabled){border-color:var(--error-text);color:var(--error-text)}.bulkbar-clear{padding:6px 10px;font-size:12px;border-radius:8px;cursor:pointer;background:none;border:1px solid transparent;color:var(--ink-muted)}.bulkbar-clear:hover:not(:disabled){color:var(--ink);border-color:var(--line)}.bulkbar-clear:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.bulkbar-actions{margin-left:0;width:100%}}.pp-roster{max-width:1280px}.pp-split{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:16px;align-items:stretch}.pp-loading,.pp-empty{padding:40px;color:var(--ink-muted);text-align:center}.pp-head{margin-bottom:16px}.pp-head h2{margin:0 0 2px;font-size:22px;font-weight:700;letter-spacing:-.01em}.pp-sub{font-size:13px;color:var(--ink-muted)}.pp-pkg{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;background:var(--card);padding:12px 16px;margin-bottom:14px}.pp-pkg-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;color:var(--ink-soft)}.pp-pkg-name{font-size:17px;display:block;margin:1px 0}.pp-pkg-meta{font-size:11.5px;color:var(--ink-muted)}.pp-pkg-stats{display:flex;gap:22px;margin-left:auto}.pp-stat-l{font-size:11px;color:var(--ink-muted)}.pp-stat-n{font-size:18px}.pp-stat-n.accent{color:var(--accent)}.pp-build{flex:none}.pp-card{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}.rost-head{display:grid;grid-template-columns:22px 56px 1fr auto;gap:12px;align-items:center;padding:9px 16px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.rost-head .num{text-align:right}.rost-row{display:grid;grid-template-columns:22px 56px 1fr auto;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--hair);cursor:pointer;border-left:3px solid transparent}.rost-row:last-child{border-bottom:none}.rost-row:hover{background:var(--surface-muted)}.rost-row.sel{background:var(--surface-muted);border-left-color:var(--accent)}.rost-row.picked{background:#2f5fd012}.rost-row.picked.sel{background:#2f5fd01f}.rost-cb{display:grid;place-items:center;cursor:default}.rost-cb input{width:15px;height:15px;cursor:pointer;accent-color:var(--accent);margin:0}.pth{width:44px;height:44px;display:grid;place-items:center}.pth-ph{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:var(--surface-muted);color:var(--accent);font-size:20px}.rost-id{min-width:0}.rost-id .mono{font-family:var(--font-mono);font-size:13px}.rost-id-sub{font-size:11px;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rost-prog{display:flex;gap:5px;flex-wrap:wrap}.rost-pill{font-size:10.5px;padding:2px 8px;border-radius:20px;white-space:nowrap;background:var(--surface-muted);color:var(--ink-muted);border:1px solid var(--hair)}.rost-pill.won{background:var(--success-bg);color:var(--success-text);border-color:transparent}.rost-pill.b{background:#2f5fd01a;color:var(--accent);border-color:transparent}.rost-pill.warn{background:var(--warning-bg);color:var(--warning-text);border-color:transparent}.rost-val{text-align:right;white-space:nowrap}.rost-val .mono{font-family:var(--font-mono);font-size:13px}.rost-val-l{display:block;font-size:10px;color:var(--ink-soft)}.pd{position:sticky;top:16px;align-self:start;max-height:calc(100vh - 96px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:13px}.pd-hero{display:flex;gap:12px;align-items:flex-start;padding:14px;border-bottom:1px solid var(--hair)}.pd-thumb{width:128px;height:128px;flex:none;position:relative;display:grid;place-items:center;padding:0;cursor:pointer;border:1px solid var(--hair);border-radius:12px;background:var(--surface-muted)}.pd-thumb:disabled{cursor:default}.pd-thumb:hover{border-color:var(--accent)}.pd-thumb-zoom{position:absolute;right:5px;bottom:5px;font-size:10px;padding:2px 7px;border-radius:12px;background:#1d1f24b8;color:#fff;opacity:0;transition:opacity .12s}.pd-thumb:hover .pd-thumb-zoom{opacity:1}.pd-thumb-ph{width:128px;height:128px;display:grid;place-items:center;border-radius:10px;color:var(--accent);font-size:44px}.pd-hero-id{min-width:0;flex:1}.pd-hero-id .mono{font-family:var(--font-mono);font-size:13px}.pd-name{font-size:14px;margin-top:1px}.pd-meta{font-size:11.5px;color:var(--ink-muted);margin-top:2px}.pd-val{margin-top:7px;white-space:nowrap}.pd-val .mono{font-family:var(--font-mono);font-size:15px;color:var(--accent)}.pd-val span{font-size:10.5px;color:var(--ink-soft)}.pd-sec{padding:12px 14px;border-bottom:1px solid var(--hair)}.pd-sec-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.pd-sec-c{color:var(--ink-muted)}.pd-chips{display:flex;flex-wrap:wrap;gap:5px}.pd-chip{font-size:11px;padding:3px 9px;border-radius:20px;background:var(--surface-muted);color:var(--ink);border:1px solid var(--hair)}.pd-chip.mat{background:#2f5fd01a;color:var(--accent);border-color:transparent;font-family:var(--font-mono)}.pd-chip-empty{font-size:11.5px;color:var(--ink-muted);font-style:italic}.pd-stds{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.pd-std{font-family:var(--font-mono);font-size:10.5px;padding:2px 7px;border-radius:5px;background:var(--warning-bg);color:var(--warning-text)}.pd-std.matched{background:var(--success-bg);color:var(--success-text)}.pd-std-more{font-size:10.5px;color:var(--ink-muted);align-self:center}.pd-files{display:flex;flex-direction:column;gap:4px}.pd-file{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0;width:100%;padding:5px 7px;border:1px solid transparent;border-radius:8px;background:none;cursor:pointer;text-align:left;color:inherit}.pd-file:hover{background:var(--surface-muted);border-color:var(--hair)}.pd-file:hover .pd-file-go{opacity:1}.pd-file-n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-file-go{flex:none;font-size:10.5px;color:var(--accent);opacity:0;transition:opacity .12s}.pd-file-mf{flex:none;font-size:10px;padding:1px 6px;border-radius:999px;background:var(--surface-muted);color:var(--ink-soft);border:1px solid var(--hair);white-space:nowrap}.pd-file-mfbtn{flex:none;font-size:10px;padding:1px 6px;border-radius:999px;background:none;border:1px solid var(--hair);color:var(--ink-muted);cursor:pointer;opacity:0;transition:opacity .12s;white-space:nowrap}.pd-file:hover .pd-file-mfbtn{opacity:1}.pd-file-mfbtn:hover{color:var(--ink);background:var(--surface-muted)}.pd-tbl{width:100%;border-collapse:collapse;font-size:12px}.pd-tbl th{text-align:left;font-weight:500;color:var(--ink-soft);font-size:10.5px;padding:2px 4px}.pd-tbl td{padding:3px 4px;border-top:1px solid var(--hair)}.pd-tbl .num{text-align:right}.pd-tbl .mono{font-family:var(--font-mono)}.pd-actions{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.pd-open{width:100%}.pd-links{display:flex;gap:8px}.pd-links button{flex:1;padding:7px;font-size:12px;border-radius:8px;cursor:pointer;background:var(--surface-muted);color:var(--ink);border:1px solid var(--line)}.pd-links button:hover{border-color:var(--accent);color:var(--accent)}.pp-note{margin-top:14px;padding:12px 15px;font-size:13px;color:var(--ink-muted);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:10px;background:var(--card)}.pp-note b{color:var(--ink)}@media(max-width:960px){.pp-split{grid-template-columns:1fr}.pd{position:static}}@media(max-width:760px){.rost-head,.rost-row{grid-template-columns:22px 44px 1fr auto}.rost-head span:nth-child(3),.rost-prog{grid-column:1 / -1}}.pd-price-edit{border:none;background:none;color:var(--accent);font-size:10.5px;cursor:pointer;padding:0;text-transform:none;letter-spacing:0}.pd-price-edit:hover{text-decoration:underline}.pd-bbox{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);margin-top:4px}.pd-geo{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.pd-geo-chip{font-size:9.5px;padding:1px 7px;border-radius:12px;font-family:var(--font-mono);background:var(--surface-muted);color:var(--ink-muted);border:1px solid var(--hair)}.pd-geo-chip.hot{background:#2f5fd017;color:var(--accent);border-color:transparent}.rost-requote{font-size:10px;font-weight:700;padding:1px 7px;border-radius:12px;margin-left:7px;background:#22a06b1a;color:#1a7f4e;vertical-align:1px;white-space:nowrap}.fo-page{max-width:1240px}.fo-loading,.fo-empty{padding:40px;color:var(--ink-muted);text-align:center}.fo-empty-sm{padding:16px;color:var(--ink-muted);font-size:12.5px;text-align:center}.fo-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.fo-head-main{min-width:0;flex:1}.fo-head h2{margin:0 0 2px;font-size:22px;font-weight:700;letter-spacing:-.01em}.fo-sub{font-size:13px;color:var(--ink-muted)}.fo-dl-all{flex:none;display:inline-flex;align-items:center;gap:7px;margin-top:2px;padding:8px 14px;border-radius:9px;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:600;background:var(--accent);color:#fff;border:1px solid var(--accent);transition:opacity .12s ease,filter .12s ease}.fo-dl-all:hover:not(:disabled){filter:brightness(1.06)}.fo-dl-all:disabled{opacity:.5;cursor:default}.fo-dl-all-ico{font-size:15px;line-height:1}.fo-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;background:var(--card);padding:12px 15px;margin-bottom:14px}.fo-banner-ico{font-size:17px}.fo-banner-txt{min-width:0;flex:1}.fo-banner-k{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--ink-soft)}.fo-banner-b{font-size:14px;margin-top:2px}.fo-banner-b b{font-weight:700}.fo-banner-chip{flex:none;font-size:11px;padding:4px 10px;border-radius:20px;background:#2f5fd01a;color:var(--accent)}.fo-body{display:grid;grid-template-columns:392px minmax(0,1fr);gap:16px;align-items:start}.fo-pkg{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}.fo-pkg-head{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid var(--line)}.fo-pkg-ico{font-size:20px}.fo-pkg-id b{font-size:14px}.fo-pkg-meta{font-size:11px;color:var(--ink-muted)}.fo-drop{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 12px 2px;padding:12px 10px;border:1.5px dashed var(--line);border-radius:10px;font-size:12.5px;color:var(--ink-muted);background:var(--card);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.fo-drop b{color:var(--accent);font-weight:600}.fo-drop:hover,.fo-drop.over{border-color:var(--primary);background:var(--primary-soft)}.fo-drop:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.fo-drop.busy{opacity:.6;cursor:default}.fo-drop-ico{font-size:14px;line-height:1}.fo-pkg-scroll{max-height:620px;overflow:auto;padding:8px 6px}.fo-grp{margin-bottom:6px}.fo-grp-head{display:flex;justify-content:space-between;align-items:center;padding:7px 8px 5px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.fo-grp-n{color:var(--ink-muted)}.fo-file{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:7px}.fo-file:hover{background:var(--surface-muted)}.fo-file.needed{background:#2f5fd00d}.fo-ck{width:18px;height:18px;flex:none;border-radius:5px;border:1.5px solid var(--line);background:var(--card);color:#fff;font-size:11px;line-height:1;display:grid;place-items:center;cursor:pointer}.fo-ck.on{background:var(--accent);border-color:var(--accent)}.fo-ck:disabled{opacity:.5;cursor:default}.fo-file-thumb{width:28px;height:28px;flex:none;display:grid;place-items:center;padding:0;border:none;background:none;cursor:pointer}.fo-file-name{flex:1;min-width:0;font-size:12.5px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fo-file:not(.needed) .fo-file-name{color:var(--ink-muted)}.fo-assign-wrap{position:relative;flex:none}.fo-file-chip{flex:none;font-size:10.5px;padding:2px 8px;border-radius:20px;cursor:pointer;background:var(--surface-muted);color:var(--ink-soft);border:1px solid var(--hair)}.fo-file-chip.assign{background:#2f5fd01a;color:var(--accent);border-color:transparent}.fo-file-chip:hover{border-color:var(--accent)}.fo-pop-backdrop{position:fixed;inset:0;z-index:40}.fo-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:41;min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #00000024;padding:5px;overflow:hidden}.fo-pop.right{left:auto;right:0}.fo-pop.fixed{position:fixed;top:0;left:0}.fo-pop-h{padding:6px 9px 5px;font-size:10.5px;color:var(--ink-soft)}.fo-pop-sep{height:1px;background:var(--hair);margin:4px 0}.fo-pop-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:7px 9px;border:none;background:none;border-radius:6px;font-size:12.5px;color:var(--ink);cursor:pointer;white-space:nowrap}.fo-pop-item:hover{background:var(--surface-muted)}.fo-pop-item:disabled{opacity:.45;cursor:default}.fo-pop-item.accent{color:var(--accent)}.fo-pop-item.danger{color:var(--error)}.fo-pop-ck{width:12px;color:var(--accent);font-size:11px}.fo-pop-assign{display:flex;flex-direction:column;max-height:340px;width:var(--pop-w, 224px)}.fo-pop-search{margin:2px 5px 5px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted);color:var(--ink);font-size:12.5px;outline:none}.fo-pop-search:focus{border-color:var(--accent);background:var(--card)}.fo-pop-scroll{overflow-y:auto;flex:1 1 auto;min-height:0}.fo-pop-empty{padding:8px 9px;font-size:11.5px;color:var(--ink-soft)}.fo-pkg-foot{padding:10px 13px;border-top:1px solid var(--line);background:var(--surface-muted);font-size:11.5px;color:var(--ink-muted)}.fo-pkg-foot .accent{color:var(--accent)}.fo-parts{display:flex;flex-direction:column;gap:13px;min-width:0}.fo-parts-head{display:flex;justify-content:space-between;align-items:center;padding:1px 1px 0}.fo-parts-head b{font-size:15px}.fo-addpart{font-size:11.5px;padding:4px 11px;border-radius:20px;cursor:pointer;background:var(--card);color:var(--ink);border:1px solid var(--line)}.fo-addpart:hover{border-color:var(--accent);color:var(--accent)}.fo-addpart:disabled{opacity:.5;cursor:default}.fo-part{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:visible}.fo-part.off{opacity:.5}.fo-part-top{display:flex;gap:12px;align-items:flex-start;padding:12px 13px}.fo-part-top-right{display:flex;align-items:center;gap:8px;flex:none}.fo-part-pnrow{display:flex;align-items:center;gap:7px}.fo-pencil{border:none;background:none;color:var(--ink-soft);font-size:12px;cursor:pointer;padding:0;line-height:1}.fo-pencil:hover{color:var(--accent)}.fo-kebab-wrap{position:relative}.fo-kebab{border:none;background:none;color:var(--ink-soft);cursor:pointer;font-size:16px;line-height:1;padding:2px 4px;border-radius:6px}.fo-kebab:hover{background:var(--surface-muted);color:var(--ink)}.fo-edit{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.fo-edit-row{display:flex;gap:6px}.fo-edit input{font-size:12.5px;padding:5px 8px;border-radius:7px;border:1px solid var(--line);background:var(--card);color:var(--ink);min-width:0}.fo-edit-pn{flex:1;font-family:var(--font-mono)}.fo-edit-qty{width:66px}.fo-edit-name,.fo-edit-mat{width:100%}.fo-edit-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:1px}.fo-edit-cancel,.fo-edit-save{font-size:12px;padding:5px 13px;border-radius:7px;cursor:pointer}.fo-edit-cancel{background:var(--surface-muted);color:var(--ink);border:1px solid var(--line)}.fo-edit-save{background:var(--accent);color:#fff;border:1px solid var(--accent)}.fo-edit-save:disabled,.fo-edit-cancel:disabled{opacity:.5;cursor:default}.fo-part-thumb{width:56px;height:56px;flex:none;display:grid;place-items:center}.fo-part-thumb-ph{width:56px;height:56px;display:grid;place-items:center;border-radius:10px;background:var(--surface-muted);color:var(--accent);font-size:24px}.fo-part-id{min-width:0;flex:1}.fo-part-id .mono{font-family:var(--font-mono);font-size:13px}.fo-part-name{font-size:14px;margin-top:1px}.fo-part-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.fo-chip{font-size:11px;padding:3px 9px;border-radius:20px;background:var(--surface-muted);color:var(--ink);border:1px solid var(--hair)}.fo-chip.mat{background:#2f5fd01a;color:var(--accent);border-color:transparent;font-family:var(--font-mono)}.fo-needed{flex:none;display:flex;align-items:center;gap:7px;cursor:pointer;background:none;border:none;padding:2px}.fo-needed-l{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--ink-soft)}.fo-sw{width:30px;height:17px;border-radius:20px;background:var(--line);position:relative;transition:background .15s}.fo-sw:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:left .15s}.fo-needed.on .fo-sw{background:var(--accent)}.fo-needed.on .fo-sw:after{left:15px}.fo-part-files{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:0 13px 11px}.fo-part-files-l{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;color:var(--ink-soft)}.fo-part-file{display:inline-flex;align-items:center;gap:6px;max-width:220px;font-size:11.5px;padding:3px 9px 3px 5px;border-radius:20px;background:var(--surface-muted);color:var(--ink);border:1px solid var(--hair);cursor:pointer}.fo-part-file span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fo-part-file:hover{border-color:var(--accent)}.fo-part-dl{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);cursor:pointer;transition:background .12s ease}.fo-part-dl:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.fo-part-dl-ico{font-size:13px;line-height:1}.fo-rel{border-top:1px solid var(--hair);padding:11px 13px;background:color-mix(in srgb,var(--ink) 1.5%,transparent)}.fo-rel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;color:var(--ink-soft)}.fo-rel-eau{flex:none;padding:2px 8px;border-radius:20px;background:#2f5fd01a;color:var(--accent)}.fo-rel-tbl{width:100%;border-collapse:collapse;font-size:12px}.fo-rel-tbl th{text-align:left;font-weight:500;color:var(--ink-soft);font-size:10.5px;padding:2px 4px}.fo-rel-tbl th.num{text-align:right}.fo-rel-tbl td{padding:3px 4px;border-top:1px solid var(--hair)}.fo-rel-tbl td.num{text-align:right}.fo-rel-tbl .mono{font-family:var(--font-mono)}.fo-rel-tbl .soon{color:var(--warning-text)}.fo-refpile{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px dashed var(--line);border-radius:12px;background:var(--card)}.fo-refpile-ico{color:var(--ink-muted);font-size:15px}.fo-refpile b{font-size:13px}.fo-refpile-sub{font-size:11.5px;color:var(--ink-muted)}.fo-note{margin-top:14px;padding:12px 15px;font-size:13px;color:var(--ink-muted);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:10px;background:var(--card)}.fo-note b{color:var(--ink)}@media(max-width:900px){.fo-body{grid-template-columns:1fr}.fo-pkg{order:2}}.fo-file-dl{background:none;border:none;cursor:pointer;padding:2px 6px;color:var(--text-tertiary);font-size:13px;opacity:0;transition:opacity .12s ease,color .12s ease}.fo-file:hover .fo-file-dl{opacity:1}.fo-file-dl:hover{color:var(--primary)}.fo-file-del{background:none;border:none;cursor:pointer;padding:2px 6px;color:var(--text-tertiary);font-size:13px;opacity:0;transition:opacity .12s ease,color .12s ease}.fo-file:hover .fo-file-del{opacity:1}.fo-file-del:hover{color:var(--error, #d1242f)}.fo-file-del:disabled{opacity:.4;cursor:default}.cf{display:flex;flex-direction:column;min-height:0}.cf-body{display:flex;flex-direction:column;gap:12px;min-height:0}.cf-modal .cf-body{padding:16px 20px;overflow-y:auto}.cf-modal .cf-foot{padding:12px 20px;border-top:1px solid var(--hair, var(--border))}.cf-inline{border:1px solid var(--border);border-radius:10px;background:var(--surface);margin-bottom:12px}.cf-inline .cf-body{padding:14px 14px 0}.cf-inline .cf-foot{padding:12px 14px}.cf-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.cf-foot-right{display:flex;align-items:center;gap:10px}.cf-invalid{font-size:12px;color:var(--danger, #d92d20)}.cf-kinds{display:flex;gap:8px}.cf-kind{flex:1;padding:7px 0;font-size:12px;font-weight:700;cursor:pointer;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);transition:border-color .12s ease,background .12s ease,color .12s ease}.cf-kind.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.cf-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--text-secondary);flex:1}.cf-field input,.cf-field select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--surface);color:var(--text);font-weight:400;transition:border-color .12s ease,box-shadow .12s ease}.cf-field input:focus,.cf-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.cf-opt{font-weight:400;color:var(--text-tertiary);font-size:11px}.cf-sub{margin-top:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.cf-row{display:flex;gap:10px}.cf-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:6px 8px}.cf-chips:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.cf-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--surface-2, var(--bg));border:1px solid var(--border);border-radius:999px;padding:2px 8px}.cf-chip button{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:10px;padding:0}.cf-chip-input{flex:1;min-width:90px;border:none;background:transparent;font-size:12px;color:var(--text);padding:3px 2px;font-weight:400}.cf-chip-input:focus{outline:none}.cf-attach-note{font-size:11px;color:var(--text-tertiary);margin-top:-6px}.cf-attach-note.create{color:var(--primary)}@media(max-width:560px){.cf-row{flex-direction:column}}.acm{width:min(560px,94vw);max-height:90vh;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.acm-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--hair, var(--border))}.acm-head h2{margin:0;font-size:15px;font-weight:700}.acm-x{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:15px}.acm-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.acm>.acm-smart,.acm>.cf{flex:1;min-height:0}.acm-smart{display:flex;flex-direction:column;min-height:0}.acm-drop{border:1.5px dashed var(--border);border-radius:10px;transition:border-color .12s ease,background .12s ease}.acm-drop.over{border-color:var(--primary);background:var(--primary-soft)}.acm-drop textarea{width:100%;border:none;resize:vertical;background:transparent;padding:12px;font-size:13px;font-family:inherit;color:var(--text);box-sizing:border-box;min-height:120px}.acm-drop textarea:focus{outline:none}.acm-drop-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-top:1px dashed var(--hair, var(--border))}.acm-browse{font-size:12px;font-weight:600;color:var(--primary);cursor:pointer}.acm-filechip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface-2, var(--bg));border:1px solid var(--border);border-radius:999px;padding:3px 10px}.acm-filechip button{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:11px;padding:0}.acm-urlhint{font-size:11px;color:var(--text-tertiary)}.acm-reading{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.acm-spinner{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--primary);animation:acm-spin .7s linear infinite}@keyframes acm-spin{to{transform:rotate(360deg)}}.acm-smart-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.acm-manual{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:12px;text-decoration:underline;padding:0}.acm-provenance{font-size:12px;color:var(--text-secondary);background:var(--primary-soft);border-radius:8px;padding:8px 10px}.acm-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--hair, var(--border))}.acm-foot-right{display:flex;gap:10px}.infotip{position:relative;display:inline-flex;vertical-align:middle}.infotip-btn{width:16px;height:16px;padding:0;flex:none;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-secondary);font-size:10.5px;font-weight:700;font-style:italic;line-height:1;cursor:pointer}.infotip-btn:hover,.infotip-btn.on{border-color:var(--primary);color:var(--primary)}.infotip-bubble{position:absolute;top:calc(100% + 6px);z-index:40;width:250px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);box-shadow:0 6px 18px #00000024;font-size:12px;font-weight:400;font-style:normal;line-height:1.45;text-align:left;white-space:normal}.infotip-bubble.left{left:0}.infotip-bubble.right{right:0}.mconv{display:flex;flex-direction:column;gap:12px;min-height:0}.mconv-state{padding:24px;text-align:center;color:var(--text-tertiary);font-size:13px}.mconv-token{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--bg-subtle);border-radius:8px;font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary)}.mconv-token-code{font-weight:600;white-space:nowrap}.mconv-token-hint{min-width:0}.mconv-messages{display:flex;flex-direction:column;gap:12px;max-height:min(52vh,560px);overflow-y:auto;padding-right:4px}.mconv-msg-wrap{display:flex;flex-direction:column;gap:3px;max-width:72%;align-self:flex-start}.mconv-msg-wrap.own{align-self:flex-end;align-items:flex-end}.mconv-msg-meta{display:flex;align-items:baseline;gap:8px;font-size:11px;color:var(--text-tertiary);padding:0 4px;min-width:0}.mconv-msg-wrap.own .mconv-msg-meta{justify-content:flex-end}.mconv-src{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-muted);color:var(--text-secondary);flex:none;align-self:center}.mconv-src.out{background:var(--surface-muted);color:var(--sent)}.mconv-src.in{background:var(--success-bg);color:var(--success-text)}.mconv-src.pasted{background:var(--warning-bg);color:var(--warning-text)}.mconv-sender{font-size:12px;font-weight:600;color:var(--text-secondary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mconv-time{font-size:11px;color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums}.mconv-msg{border:none;border-radius:14px 14px 14px 4px;padding:9px 13px;background:var(--surface-muted)}.mconv-msg.own{border:none;border-radius:14px 14px 4px;background:var(--primary);color:var(--text-inverse)}.mconv-msg.in{border:1px solid var(--hair)}.mconv-msg-body{font-size:13px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.mconv-msg.own .mconv-msg-body{color:var(--text-inverse)}.mconv-extract{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.mconv-msg.own .mconv-extract{border-top-color:var(--primary-hover)}.mconv-xchip{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600;background:var(--success-bg);color:var(--success-text);font-variant-numeric:tabular-nums}.mconv-xchip.declined{background:var(--error-bg);color:var(--error-text)}.mconv-xchip.conf{background:var(--surface-muted);color:var(--text-tertiary);font-weight:500}.mconv-msg.own .mconv-xchip{background:var(--surface);color:var(--text-secondary)}.mconv-msg.own .mconv-xchip.declined{color:var(--error-text)}.mconv-msg.own .mconv-xchip.conf{color:var(--text-tertiary)}.mconv-apply{margin-left:auto;padding:3px 10px;border:1px solid var(--primary);border-radius:7px;background:var(--surface);color:var(--primary);font-size:11.5px;font-weight:600;cursor:pointer;transition:background-color .13s ease,border-color .13s ease,color .13s ease}.mconv-apply:hover{background:var(--primary-soft)}.mconv-composer-box{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;transition:border-color .13s ease,box-shadow .13s ease}.mconv-composer-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.mconv-composer-box textarea{width:100%;padding:10px 12px;border:none;outline:none;font-size:13px;font-family:inherit;background:transparent;color:var(--text);resize:vertical;box-sizing:border-box}.mconv-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border-top:1px solid var(--hair);flex-wrap:wrap}.mconv-mode{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.mconv-mode-btn{padding:5px 10px;border:none;background:var(--surface);color:var(--text-tertiary);font-size:12px;font-weight:600;cursor:pointer;transition:background-color .12s ease,color .12s ease}.mconv-mode-btn+.mconv-mode-btn{border-left:1px solid var(--hair)}.mconv-mode-btn.on{background:var(--primary-soft);color:var(--primary)}.mconv-composer-btns{display:flex;gap:8px}.mconv-btn{padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .13s ease,border-color .13s ease,color .13s ease}.mconv-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.mconv-btn:disabled{opacity:.5;cursor:not-allowed}.mconv-btn.pri{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.mconv-btn.pri:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:var(--text-inverse)}.sv-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:220px;padding:48px 24px;color:var(--text-secondary)}.sv-state.sv-inline{min-height:0;padding:24px 16px;gap:8px}.sv-spinner{display:inline-block;box-sizing:border-box;border:2px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:sv-spin .7s linear infinite}@keyframes sv-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sv-spinner{animation-duration:1.6s}}.sv-message{margin:0;font-size:14px;color:var(--text-tertiary)}.sv-title{margin:0;font-size:16px;font-weight:600;color:var(--text)}.sv-inline .sv-title{font-size:15px}.sv-hint{margin:0;max-width:42ch;font-size:14px;line-height:1.5;color:var(--text-secondary)}.sv-detail{margin:4px 0 0;max-width:48ch;font-size:12px;font-family:var(--font-mono);color:var(--text-tertiary);word-break:break-word}.sv-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:4px;color:var(--text-tertiary)}.sv-icon svg{width:100%;height:100%}.sv-action{margin-top:8px}.sv-error .sv-title{color:var(--error-text)}.sv-retry{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.sv-retry:hover{background:var(--surface-muted);border-color:var(--primary)}.ibx2{--font-display: "Geist Sans", "Geist", "Hanken Grotesk", ui-sans-serif, -apple-system, sans-serif;--font-sans: "Geist Sans", "Geist", "Hanken Grotesk", ui-sans-serif, -apple-system, sans-serif;--i-bg: #FBFAF7;--i-bg-alt: #F4F1EA;--i-surface: #FFFFFF;--i-surface-2: #F6F3ED;--i-text: #1B1714;--i-text-soft: #55504A;--i-text-mute: #8A847B;--i-border: #E8E3D9;--i-border-strong: #D6D0C4;--i-accent: #2F5FD0;--i-accent-hover: #21408F;--i-accent-solid: #2F5FD0;--i-accent-solid-hover: #21408F;--i-accent-quiet: color-mix(in oklab, var(--i-accent) 12%, transparent);--i-on-accent: #FFFFFF;--i-scrim: color-mix(in oklab, var(--i-text) 55%, transparent);--surface: var(--i-surface);--surface-muted: var(--i-surface-2);--card: var(--i-surface);--bg: var(--i-bg);--bg-subtle: var(--i-bg);--border: var(--i-border);--line: var(--i-border);--divider: var(--i-border);--hair: var(--i-border);--rule: var(--i-border);--rule-strong: var(--i-border-strong);--paper: var(--i-surface);--paper-deep: var(--i-surface-2);--text: var(--i-text);--text-primary: var(--i-text);--text-secondary: var(--i-text-soft);--text-tertiary: var(--i-text-mute);--text-muted: var(--i-text-mute);--ink: var(--i-text);--ink-soft: var(--i-text-soft);--ink-muted: var(--i-text-mute);--primary: var(--i-accent);--primary-hover: var(--i-accent-hover);--primary-soft: var(--i-accent-quiet);--primary-light: var(--i-accent-quiet);--accent: var(--i-accent);--info: var(--i-text-soft);--success: var(--i-accent);--success-text: var(--i-accent);--success-bg: var(--i-accent-quiet);--warning: var(--i-border-strong);--warning-text: var(--i-text-mute);--warning-bg: var(--i-surface-2);--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none;display:grid;grid-template-columns:220px 1.05fr 1.55fr;gap:16px;padding:22px 24px;height:calc(100vh - 64px);max-width:1600px;margin:0 auto;box-sizing:border-box;background:var(--i-bg);color:var(--i-text);font-family:var(--font-sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark] .ibx2{--i-bg: #0B0A08;--i-bg-alt: #100E0C;--i-surface: #16130F;--i-surface-2: #1E1913;--i-text: #F4F1EC;--i-text-soft: #B4ADA3;--i-text-mute: #837B71;--i-border: #272019;--i-border-strong: #362D24;--i-accent: #6E93E8;--i-accent-hover: #88A6EF;--i-accent-solid: #4670DA;--i-accent-solid-hover: #5A82E6;--i-accent-quiet: color-mix(in oklab, var(--i-accent) 14%, transparent);--i-scrim: color-mix(in oklab, var(--i-bg) 78%, transparent)}.ibx2 a:focus-visible,.ibx2 button:focus-visible,.ibx2 input:focus-visible{outline:2px solid var(--i-accent);outline-offset:2px;border-radius:8px}.ibx2 ::selection{background:var(--i-accent);color:var(--i-on-accent)}.ibx2-state{padding:28px;text-align:center;color:var(--i-text-mute);font-size:13.5px}.ibx2-eyebrow{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;color:var(--i-text-mute);text-transform:uppercase}.ibx2-rail,.ibx2-list,.ibx2-read{background:var(--i-surface);border:1px solid var(--i-border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.ibx2-rail{padding:16px;gap:14px}.ibx2-mailbox-label{margin-bottom:7px}.ibx2-mailbox-addr{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--i-text)}.ibx2-mailbox-addr b{font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ibx2-dot{width:7px;height:7px;border-radius:50%;flex:none}.ibx2-dot.live{background:var(--i-accent);box-shadow:0 0 0 4px var(--i-accent-quiet)}.ibx2-dot.off{background:var(--i-text-mute)}.ibx2-folders{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--i-border);padding-top:14px}.ibx2-folder{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;text-align:left;font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--i-text-soft);transition:color .15s ease,background .15s ease,border-color .15s ease}.ibx2-folder:hover{background:var(--i-bg-alt);color:var(--i-text)}.ibx2-folder.on{background:var(--i-accent-quiet);border-color:var(--i-accent);color:var(--i-text)}.ibx2-folder-n{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--i-text-mute);font-variant-numeric:tabular-nums}.ibx2-folder.on .ibx2-folder-n{color:var(--i-accent)}.ibx2-rail-foot{margin-top:auto;font-size:13px;line-height:1.55;color:var(--i-text-soft);border-top:1px solid var(--i-border);padding-top:14px}.ibx2-guide-btn{display:flex;align-items:center;gap:8px;margin-top:12px;width:100%;height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--i-border-strong);background:transparent;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--i-text);cursor:pointer;text-align:left;transition:border-color .2s ease,color .2s ease}.ibx2-guide-btn:hover{border-color:var(--i-accent);color:var(--i-accent)}a.ibx2-guide-btn{text-decoration:none;box-sizing:border-box}.ibx2-guide-btn+.ibx2-guide-btn{margin-top:8px}.ibx2-list-head,.ibx2-read-head{padding:13px 16px;border-bottom:1px solid var(--i-border);background:var(--i-bg-alt);flex:none}.ibx2-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ibx2-list-head b{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.015em;color:var(--i-text)}.ibx2-list-head-left{display:flex;align-items:center;gap:8px;min-width:0}.ibx2-list-head-right{display:flex;align-items:center;gap:8px}.ibx2-search{height:32px;padding:0 11px;border:1px solid var(--i-border-strong);border-radius:9px;background:var(--i-surface);color:var(--i-text);font-family:var(--font-sans);font-size:13px;letter-spacing:-.01em;width:150px}.ibx2-search::placeholder{color:var(--i-text-mute)}.ibx2-refresh{width:32px;height:32px;border:1px solid var(--i-border-strong);border-radius:9px;background:transparent;color:var(--i-text-soft);cursor:pointer;flex:none;transition:border-color .2s ease,color .2s ease}.ibx2-refresh:hover:not(:disabled){border-color:var(--i-accent);color:var(--i-accent)}.ibx2-list-body{flex:1;overflow-y:auto;padding:6px}.ibx2-msg{position:relative;display:flex;align-items:stretch;gap:4px;border-radius:8px;border-bottom:1px dashed var(--i-border);transition:background .2s ease}.ibx2-msg:last-child{border-bottom:none}.ibx2-msg:hover{background:var(--i-bg-alt)}.ibx2-msg.sel{background:var(--i-accent-quiet)}.ibx2-msg.sel:before,.ibx2-msg.queued:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--i-accent)}.ibx2-msg.queued:not(.sel):before{background:var(--i-text-mute)}.ibx2-msg-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:var(--font-sans)}.ibx2-msg-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ibx2-msg-from{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:-.005em;color:var(--i-text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ibx2-msg.unseen .ibx2-msg-from{color:var(--i-text);font-weight:500}.ibx2-msg-time{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--i-text-mute);flex:none;font-variant-numeric:tabular-nums}.ibx2-msg-subj{font-size:13.5px;line-height:1.35;letter-spacing:-.01em;color:var(--i-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ibx2-msg.unseen .ibx2-msg-subj{font-weight:600}.ibx2-msg-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}.ibx2-msg-conf{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--i-text-mute);font-variant-numeric:tabular-nums}.ibx2-msg.sel .ibx2-msg-conf{color:var(--i-accent)}.ibx2-msg-dismiss{flex:none;align-self:center;width:26px;height:26px;margin-right:8px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--i-text-mute);font-size:14px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,border-color .2s ease,color .2s ease}.ibx2-msg:hover .ibx2-msg-dismiss,.ibx2-msg-dismiss:focus-visible{opacity:1}.ibx2-msg-dismiss:hover{border-color:var(--error);color:var(--error)}.ibx2-msg-dismiss:disabled{cursor:wait;opacity:.5}@media(hover:none),(prefers-reduced-motion:reduce){.ibx2-msg-dismiss{opacity:1}}.ibx2-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;padding:3px 7px;border-radius:5px;border:1px solid currentColor;color:var(--i-text-mute);background:transparent;white-space:nowrap}.ibx2-chip.b{color:var(--i-accent)}.ibx2-chip.warn{color:var(--i-text-mute)}.ibx2-chip.done{color:var(--i-accent);background:var(--i-accent-quiet)}.ibx2-chip-dot{width:6px;height:6px;border-radius:2px;background:currentColor;flex:none}.ibx2-read-empty{margin:auto}.ibx2-read-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ibx2-read-who{min-width:0}.ibx2-read-subject{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--i-text);margin-bottom:6px}.ibx2-read-sender{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ibx2-read-sender b{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--i-text)}.ibx2-save-contact{background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-sans);font-size:13px;font-weight:500;color:var(--i-accent);white-space:nowrap;transition:color .15s ease}.ibx2-save-contact:hover{color:var(--i-accent-hover)}.ibx2-read-meta,.ibx2-read-to{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--i-text-mute);margin-top:5px;word-break:break-word}.ibx2-read-actions{display:flex;gap:10px;flex:none;flex-wrap:wrap;justify-content:flex-end}.ibx2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 15px;border-radius:9px;font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;border:1px solid var(--i-border-strong);background:transparent;color:var(--i-text);transition:transform .15s ease,background .2s ease,border-color .2s ease,color .2s ease}.ibx2-btn:hover:not(:disabled){border-color:var(--i-accent);color:var(--i-accent)}.ibx2-btn:disabled{opacity:.55;cursor:not-allowed}.ibx2-btn.ghost:hover:not(:disabled){border-color:var(--error);color:var(--error)}.ibx2-btn.pri{background:var(--i-accent-solid);border-color:transparent;color:var(--i-on-accent)}.ibx2-btn.pri:hover:not(:disabled){transform:translateY(-1px);background:var(--i-accent-solid-hover);border-color:transparent;color:var(--i-on-accent)}.ibx2-btn.conv{border-color:var(--i-accent);color:var(--i-accent)}.ibx2-btn.conv:hover:not(:disabled){background:var(--i-accent-quiet)}.ibx2-read-back{display:none}.ibx2-read-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:16px}.ibx2-email-body,.ibx2-email-empty,.ibx2-extract,.ibx2-reprocess,.ibx2-attach{background:var(--i-surface-2);border:1px solid var(--i-border);border-radius:10px}.ibx2-email-body{font-size:14px;color:var(--i-text-soft);line-height:1.6;padding:14px 16px;white-space:pre-wrap}pre.ibx2-email-body{margin:0;font-family:inherit}.ibx2-email-empty{font-size:13.5px;color:var(--i-text-mute);padding:14px 16px}.ibx2-email-html{width:100%;min-height:300px;flex:1;border:1px solid var(--i-border);border-radius:10px;background:var(--i-surface)}.ibx2-sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--i-border)}.ibx2-sec-head+*{margin-top:-4px}.ibx2-extract{overflow:hidden}.ibx2-extract-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px dashed var(--i-border-strong)}.ibx2-extract-head b{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:-.015em;color:var(--i-text)}.ibx2-extract-head-chips{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.ibx2-hold{display:flex;flex-direction:column;gap:7px;padding:12px 14px;border-bottom:1px dashed var(--i-border-strong)}.ibx2-hold-row{display:flex;gap:9px;font-size:12.5px;line-height:1.45;color:var(--i-text-soft)}.ibx2-hold-row b{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--i-text-mute);flex:none;padding-top:2px;min-width:96px}.ibx2-hold-link{font-size:13px;font-weight:500;color:var(--i-accent);text-decoration:none}.ibx2-hold-link:hover{color:var(--i-accent-hover);text-decoration:underline}.ibx2-extract-grid{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}@media(max-width:720px){.ibx2-extract-grid{grid-template-columns:1fr}}.ibx2-field-k{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--i-text-mute);margin-bottom:4px}.ibx2-field-v{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--i-border-strong);padding:4px 0;font-size:14px;letter-spacing:-.01em;color:var(--i-text)}.ibx2-field-v.missing{border-bottom-style:dashed;color:var(--i-text-mute);font-family:var(--font-mono);font-size:12px}.ibx2-field-mark{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--i-text-mute);flex:none}.ibx2-field-v:not(.missing) .ibx2-field-mark{color:var(--i-accent)}.ibx2-attach-list{display:flex;flex-direction:column;gap:8px}.ibx2-attach{display:flex;align-items:center;gap:10px;padding:9px 12px}.ibx2-attach-icon{width:7px;height:7px;border-radius:2px;background:var(--i-accent);flex:none}.ibx2-attach-name{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.01em;color:var(--i-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ibx2-attach-size{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--i-text-mute);flex:none}.ibx2-reprocess{display:flex;flex-direction:column;gap:7px;padding:13px 15px}.ibx2-reprocess.note{font-size:13px;color:var(--i-text-soft)}.ibx2-reprocess-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ibx2-reprocess-head b{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:-.015em;color:var(--i-text)}.ibx2-reprocess-row{display:flex;gap:9px;font-size:13px;color:var(--i-text-soft)}.ibx2-reprocess-row b{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--i-text);white-space:nowrap}.ibx2-reprocess-row.muted,.ibx2-reprocess-row.muted b{color:var(--i-text-mute)}.ibx2-reprocess-row.bad b{color:var(--error-text)}.ibx2-reprocess-link{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:13.5px;font-weight:500;color:var(--i-accent);text-decoration:none;transition:gap .2s ease}.ibx2-reprocess-link:hover{gap:12px;color:var(--i-accent-hover)}.ibx2-read-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-top:1px solid var(--i-border);background:var(--i-bg-alt);flex:none}.ibx2-read-foot-note{font-size:13px;color:var(--i-text-soft)}.ibx2-modal-overlay{position:fixed;inset:0;background:var(--i-scrim);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.ibx2-modal{background:var(--i-surface);border:1px solid var(--i-border);border-radius:14px;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.ibx2-modal-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--i-border);background:var(--i-bg-alt);flex:none}.ibx2-modal-head b{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--i-text)}.ibx2-modal-close{border:none;background:none;font-size:20px;color:var(--i-text-soft);cursor:pointer;line-height:1;padding:2px 8px;border-radius:7px}.ibx2-modal-close:hover{background:var(--i-surface-2);color:var(--i-text)}.ibx2-modal-body{padding:18px;overflow-y:auto}.ibx2-conv-search{width:100%;box-sizing:border-box;margin-bottom:12px}.ibx2-conv-list{display:flex;flex-direction:column;gap:7px}.ibx2-conv-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--i-border);border-radius:9px;background:var(--i-surface-2);cursor:pointer;transition:border-color .2s ease,background .2s ease}.ibx2-conv-item:hover:not(:disabled){border-color:var(--i-accent);background:var(--i-accent-quiet)}.ibx2-conv-item:disabled{opacity:.6;cursor:wait}.ibx2-conv-token{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;color:var(--i-accent);white-space:nowrap;flex:none}.ibx2-conv-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ibx2-conv-main b{font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:var(--i-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ibx2-conv-sub{font-family:var(--font-mono);font-size:11px;color:var(--i-text-mute)}.ibx2-conv-time{font-family:var(--font-mono);font-size:10.5px;color:var(--i-text-mute);flex:none}@media(max-width:1100px){.ibx2{grid-template-columns:200px 1fr;height:calc(100vh - 64px)}.ibx2-read{display:none}.ibx2.reading .ibx2-read{display:flex;position:fixed;inset:64px 0 0;z-index:40;border-radius:0;border-width:1px 0 0}.ibx2.reading .ibx2-read-back{display:inline-flex}.ibx2-read-head{flex-wrap:wrap}}@media(max-width:760px){.ibx2{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);padding:14px;gap:12px}.ibx2-rail{padding:12px;gap:12px}.ibx2-mailbox{display:flex;align-items:baseline;gap:10px}.ibx2-mailbox-label{margin-bottom:0;flex:none}.ibx2-folders{flex-direction:row;gap:6px;padding-top:12px;overflow-x:auto;scrollbar-width:none}.ibx2-folders::-webkit-scrollbar{display:none}.ibx2-folder{flex:none}.ibx2-rail-foot{border-top:none;padding-top:0}.ibx2-rail-note{display:none}.ibx2-guide-btn{margin-top:0}}@media(prefers-reduced-motion:reduce){.ibx2 *,.ibx2 *:before,.ibx2 *:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.rvq.ibx2{display:block;height:auto;min-height:calc(100vh - 64px);max-width:1080px;overflow-y:auto}.rvq-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}.rvq-title{font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.025em;color:var(--i-text);margin:6px 0 0}.rvq-sub{font-size:14px;line-height:1.55;color:var(--i-text-soft);margin:8px 0 0;max-width:62ch}.rvq-head-actions{display:flex;align-items:center;gap:10px;flex:none}.rvq-list{display:flex;flex-direction:column;gap:14px}.rvq-card{background:var(--i-surface);border:1px solid var(--i-border);border-radius:12px;overflow:hidden}.rvq-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;background:var(--i-bg-alt);border-bottom:1px dashed var(--i-border-strong)}.rvq-card-who{min-width:0}.rvq-card-subject{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--i-text)}.rvq-card-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--i-text-mute);margin-top:5px;word-break:break-word}.rvq-card-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.rvq-fields{padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:860px){.rvq-fields{grid-template-columns:1fr}}.rvq-field{display:flex;flex-direction:column;gap:5px;min-width:0}.rvq-field-k{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--i-text-mute)}.rvq-field-conf{font-size:10px;letter-spacing:.04em;text-transform:none;color:var(--i-text-mute);white-space:nowrap}.rvq-field.flagged .rvq-field-k{color:var(--i-text)}.rvq-input{width:100%;box-sizing:border-box;height:36px;padding:0 10px;border:1px solid var(--i-border-strong);border-radius:8px;background:var(--i-surface);color:var(--i-text);font-family:var(--font-mono);font-size:13px;letter-spacing:.01em;transition:border-color .2s ease}.rvq-input:focus{outline:none;border-color:var(--i-accent)}.rvq-input:disabled{opacity:.6}.rvq-field.flagged .rvq-input{border-style:dashed;background:var(--i-surface-2)}.rvq-field-hint{font-size:11.5px;line-height:1.45;color:var(--i-text-mute)}.rvq-field.flagged .rvq-field-hint{color:var(--i-text-soft)}.rvq-card-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--i-border)}.rvq-card-note{font-size:12.5px;color:var(--i-text-mute);max-width:52ch}.rvq-card-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.rvq-card-actions a.ibx2-btn{text-decoration:none}.rvq-more{align-self:center;margin-top:4px}@media(max-width:720px){.rvq.ibx2{padding:18px 14px}.rvq-card-actions{width:100%;justify-content:stretch}.rvq-card-actions>*{flex:1}}.machines-page{padding:24px;max-width:1400px;margin:0 auto}.machines-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.machines-header h1{margin:0;font-size:1.75rem;color:var(--text)}.header-actions{display:flex;gap:12px;align-items:center}.btn-primary:hover{background:var(--primary)}.machines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.machine-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;transition:box-shadow .2s,border-color .2s}.machine-card:hover{box-shadow:0 4px 12px #00000014;border-color:var(--border)}.machine-card.inactive{opacity:.6;background:var(--bg-subtle)}.machine-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.machine-title h3{margin:0 0 4px;font-size:1.125rem;color:var(--text)}.machine-model{font-size:.875rem;color:var(--text-secondary)}.type-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500;background:var(--border);color:var(--text-secondary)}.type-badge.vertical_mill,.type-badge.horizontal_mill,.type-badge.\33_axis_mill{background:var(--primary-light);color:var(--primary-hover)}.type-badge.\35_axis_mill{background:var(--surface-muted);color:var(--primary)}.type-badge.lathe,.type-badge.lathe_live,.type-badge.swiss,.type-badge.vertical_turning_center_ram{background:var(--success-bg);color:var(--success-text)}.type-badge.mill_turn{background:var(--warning-bg);color:var(--warning-text)}.type-badge.wire_edm,.type-badge.sinker_edm{background:var(--surface-muted);color:var(--text-secondary)}.type-badge.surface_grinder,.type-badge.cylindrical_grinder{background:var(--primary-light);color:var(--primary)}.machine-specs{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--surface-muted)}.spec-row{display:flex;justify-content:space-between;font-size:.875rem}.spec-label{color:var(--text-secondary)}.spec-value{color:var(--text);font-weight:500}.machine-costing{display:flex;gap:20px;margin-bottom:12px}.cost-item{display:flex;flex-direction:column;gap:2px}.cost-label{font-size:.75rem;color:var(--text-tertiary)}.cost-value{font-size:1rem;font-weight:600;color:var(--success)}.machine-location{font-size:.8rem;color:var(--text-secondary);margin-bottom:12px}.machine-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--surface-muted)}.operation-count{font-size:.8rem;color:var(--text-tertiary)}.card-actions{display:flex;gap:8px}.modal-content{background:var(--surface);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-content.large{max-width:800px}.lookup-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.lookup-section label{display:block;margin-bottom:8px;font-weight:500;color:var(--text)}.search-input-wrapper{position:relative}.search-input-wrapper input{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:.95rem}.search-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5e9b6e1a}.searching{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--text-tertiary)}.search-results{margin-top:8px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:12px;cursor:pointer;transition:background .1s}.search-result-item:hover{background:var(--bg-subtle)}.search-result-item+.search-result-item{border-top:1px solid var(--surface-muted)}.result-type{font-size:.8rem;color:var(--text-secondary)}.auto-fill-notice{background:var(--success-bg);color:var(--success-text);padding:12px;border-radius:8px;margin-bottom:20px;font-size:.875rem}.btn-lookup{margin-top:8px;padding:8px 16px;background:var(--primary-soft);color:var(--primary);border:1px solid var(--border);border-radius:6px;font-size:.875rem;cursor:pointer;transition:background .2s}.btn-lookup:hover:not(:disabled){background:var(--primary-soft)}.btn-lookup:disabled{opacity:.6;cursor:not-allowed}.lookup-error{margin-top:8px;padding:10px;background:var(--error-bg);color:var(--error-text);border-radius:6px;font-size:.875rem}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5e9b6e1a}.form-row-2col input{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;font-size:.9rem}.mach-search{width:260px;padding:8px 12px;font-size:13px;border:1px solid var(--line, #d5d8dd);border-radius:8px;background:var(--card, #fff);color:inherit}.mach-sub{font-size:12px;color:var(--ink-muted, #6b7280);margin:-8px 0 14px}.mach-sub .ok{color:var(--success-text, #1a7f4e)}.mach-layout{display:grid;grid-template-columns:170px 320px minmax(0,1fr);gap:14px;align-items:start}.mach-rail{display:flex;flex-direction:column;gap:16px}.mach-flt-grp h4{margin:0 0 6px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft, #9aa1ab);font-family:var(--font-mono, monospace)}.mach-flt{display:flex;align-items:center;gap:7px;width:100%;padding:6px 9px;border:none;background:none;border-radius:7px;font-size:12.5px;color:var(--ink-muted, #6b7280);cursor:pointer;text-align:left}.mach-flt:hover{background:var(--surface-muted, #f2f3f5)}.mach-flt.on{background:var(--surface-muted, #f2f3f5);color:var(--ink, #1d1f24);font-weight:600}.mach-flt .cnt{margin-left:auto;font-size:11px;color:var(--ink-soft, #9aa1ab)}.dot-status{width:8px;height:8px;border-radius:50%;flex:none}.dot-status.s-active{background:#22a06b}.dot-status.s-down{background:#e5a50a}.dot-status.s-offline{background:#9aa1ab}.mach-list{display:flex;flex-direction:column;gap:8px;min-width:0}.mcard{text-align:left;width:100%;cursor:pointer;border:1px solid var(--line, #d5d8dd);border-radius:10px;background:var(--card, #fff);padding:10px 12px}.mcard:hover{border-color:var(--accent, #2f5fd0)}.mcard.sel{border-color:var(--accent, #2f5fd0);box-shadow:0 0 0 1px var(--accent, #2f5fd0)}.mcard-r1{display:flex;align-items:center;gap:8px;min-width:0}.mcard-name{font-size:13.5px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcard-r2{font-size:11.5px;color:var(--ink-muted, #6b7280);margin-top:4px}.mcard-heads{color:var(--accent, #2f5fd0)}.mcard-r3{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:11px;color:var(--ink-soft, #9aa1ab)}.mstat-pill{flex:none;font-size:10px;padding:2px 8px;border-radius:20px;white-space:nowrap;background:var(--surface-muted, #f2f3f5);color:var(--ink-muted, #6b7280)}.mstat-pill.s-active{background:#22a06b1f;color:#1a7f4e}.mstat-pill.s-down{background:#e5a50a24;color:#8a6d00}.mstat-pill.s-offline{background:var(--surface-muted, #f2f3f5);color:var(--ink-soft, #9aa1ab)}.av-pill{flex:none;font-size:10.5px;padding:2px 9px;border-radius:20px;white-space:nowrap}.av-pill.av-open{background:#22a06b1f;color:#1a7f4e}.av-pill.av-filling{background:#e5a50a24;color:#8a6d00}.av-pill.av-slammed{background:#c0392b1f;color:#b03a2e}.mdetail{border:1px solid var(--line, #d5d8dd);border-radius:12px;background:var(--card, #fff);padding:16px 18px;min-width:0}.md-head{border-bottom:1px solid var(--hair, #eceef1);padding-bottom:12px;margin-bottom:4px}.md-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.md-title h2{margin:0;font-size:19px}.md-sub{font-size:12px;color:var(--ink-muted, #6b7280);margin-top:4px}.md-actions{display:flex;gap:8px;margin-top:10px}.md-avail{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--hair, #eceef1)}.md-avail-l{font-size:11px;color:var(--ink-soft, #9aa1ab)}.md-avail-n{font-size:11px;color:var(--ink-muted, #6b7280)}.av-toggle{display:inline-flex;gap:2px;padding:2px;border-radius:8px;cursor:pointer;background:var(--surface-muted, #f2f3f5);border:1px solid var(--hair, #eceef1)}.av-toggle .avt{font-size:11px;padding:4px 10px;border-radius:6px;color:var(--ink-soft, #9aa1ab)}.av-toggle .avt.on{background:var(--card, #fff);font-weight:600;box-shadow:0 1px 2px #00000014}.av-toggle .avt.on.av-open{color:#1a7f4e}.av-toggle .avt.on.av-filling{color:#8a6d00}.av-toggle .avt.on.av-slammed{color:#b03a2e}.md-sec{padding:14px 0;border-bottom:1px solid var(--hair, #eceef1)}.md-sec:last-child{border-bottom:none}.md-sec h4{margin:0 0 10px;font-size:13px}.md-sec-hrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.md-sec-hrow h4{margin:0}.md-sec-hint{font-size:11.5px;color:var(--ink-muted, #6b7280);margin-bottom:10px}.md-notes{font-size:13px;color:var(--ink-muted, #6b7280);white-space:pre-wrap}.no-data-sm{font-size:12.5px;color:var(--ink-soft, #9aa1ab);font-style:italic;padding:4px 0}.btn-sm{font-size:12px;padding:5px 11px}.env-grid{display:flex;gap:10px;flex-wrap:wrap}.env-cell{min-width:108px;padding:9px 12px;border:1px solid var(--hair, #eceef1);border-radius:9px;background:var(--surface-muted, #f7f8f9)}.env-cell .ax{font-family:var(--font-mono, monospace);font-size:9px;letter-spacing:.06em;color:var(--ink-soft, #9aa1ab)}.env-cell .v{font-size:14px;font-weight:600;margin-top:2px}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px}.spec-grid .sg .l{font-family:var(--font-mono, monospace);font-size:9px;letter-spacing:.06em;color:var(--ink-soft, #9aa1ab)}.spec-grid .sg .v{font-size:13px;margin-top:2px}.cap-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.cap-chips .chip{font-size:11px;padding:3px 10px;border-radius:20px;background:var(--surface-muted, #f2f3f5);border:1px solid var(--hair, #eceef1)}.cap-chips .chip.mat{background:#2f5fd014;color:var(--accent, #2f5fd0);border-color:transparent}.heads{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.head-card{border:1px solid var(--line, #d5d8dd);border-radius:10px;padding:11px 13px}.head-top{display:flex;align-items:flex-start;gap:9px}.head-ico{font-size:17px;color:var(--accent, #2f5fd0)}.head-id{flex:1;min-width:0}.head-id b{font-size:13px;display:block}.head-type{font-size:11px;color:var(--ink-muted, #6b7280)}.head-actions{display:flex;gap:4px}.head-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 10px;margin-top:10px}.hg .hl{display:block;font-family:var(--font-mono, monospace);font-size:8.5px;letter-spacing:.05em;color:var(--ink-soft, #9aa1ab)}.hg .hv{font-size:12px;font-weight:600}.hg .hsub{display:block;font-size:10px;color:var(--ink-muted, #6b7280)}.head-flags{margin-top:9px}.head-flag{font-size:10.5px;padding:2px 9px;border-radius:20px}.head-flag.ok{background:#22a06b1f;color:#1a7f4e}.head-flag.no{background:#e5a50a24;color:#8a6d00}.head-note{font-size:11.5px;color:var(--ink-muted, #6b7280);margin-top:8px}.head-atc{margin:10px 0;font-size:13px}@media(max-width:1100px){.mach-layout{grid-template-columns:150px minmax(0,1fr)}.mdetail{grid-column:1 / -1}}.mach-seg{display:inline-flex;padding:2px;border-radius:8px;background:var(--surface-muted, #f2f3f5);border:1px solid var(--hair, #eceef1)}.mach-seg button{padding:6px 14px;border:none;background:none;font-size:12.5px;border-radius:6px;color:var(--ink-muted, #6b7280);cursor:pointer}.mach-seg button.on{background:var(--card, #fff);color:var(--ink, #1d1f24);font-weight:600;box-shadow:0 1px 2px #00000014}.mach-view-hint{font-size:12px;color:var(--ink-muted, #6b7280);margin-bottom:10px}.sch-grid{border:1px solid var(--line, #d5d8dd);border-radius:12px;background:var(--card, #fff);overflow:hidden}.sch-head{display:grid;border-bottom:1px solid var(--line, #d5d8dd);background:var(--surface-muted, #f7f8f9)}.sch-corner,.sch-wk{padding:8px 10px;font-family:var(--font-mono, monospace);font-size:9.5px;letter-spacing:.04em;color:var(--ink-soft, #9aa1ab)}.sch-wk{text-align:center;border-left:1px solid var(--hair, #eceef1)}.sch-wk.now{color:var(--accent, #2f5fd0);font-weight:700}.sch-lane{display:grid;border-bottom:1px solid var(--hair, #eceef1);min-height:54px}.sch-lane:last-child{border-bottom:none}.sch-lane.is-down{opacity:.55}.sch-mname{padding:8px 10px;cursor:pointer;min-width:0}.sch-mname b{font-size:12.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sch-mname .av-pill{margin-top:4px;display:inline-block}.sch-track{position:relative;display:grid;align-items:center}.sch-cell{border-left:1px solid var(--hair, #eceef1);height:100%}.sch-cell.now{background:#2f5fd008}.sch-block{grid-row:1;margin:8px 3px;padding:4px 8px;border-radius:7px;cursor:pointer;background:#2f5fd01f;border:1px solid rgba(47,95,208,.3);display:flex;align-items:center;gap:6px;min-width:0;z-index:1}.sch-block:hover{background:#2f5fd033}.sch-block.routed{background:#22a06b24;border-color:#22a06b73}.sch-block.routed:hover{background:#22a06b38}.sb-job{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-wk{font-size:9.5px;color:var(--ink-muted, #6b7280);flex:none}.sch-downbar,.sch-openbar{grid-row:1;grid-column:1 / -1;margin:8px 6px;padding:4px 10px;border-radius:7px;font-size:11px;z-index:1}.sch-downbar{background:#c0392b14;color:#b03a2e}.sch-openbar{background:#22a06b12;color:#1a7f4e;border:1px dashed rgba(34,160,107,.35)}.cap-view{display:flex;flex-direction:column;gap:8px}.cap-lane{display:grid;grid-template-columns:280px minmax(0,1fr) 110px;gap:12px;align-items:center;border:1px solid var(--line, #d5d8dd);border-radius:10px;background:var(--card, #fff);padding:10px 14px}.cap-lane.free{border-left:3px solid #22a06b}.cl-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer;min-width:0}.cl-name b{font-size:13px}.cl-sub{width:100%;font-size:11px;color:var(--ink-muted, #6b7280)}.cl-jobs{display:flex;flex-wrap:wrap;gap:5px}.cl-dim{font-size:11.5px;color:var(--ink-soft, #9aa1ab)}.cap-chip{font-size:11px;padding:3px 9px;border-radius:20px;cursor:pointer;background:var(--surface-muted, #f2f3f5);border:1px solid var(--hair, #eceef1);color:var(--ink, #1d1f24)}.cap-chip:hover{border-color:var(--accent, #2f5fd0);color:var(--accent, #2f5fd0)}.cl-avail{text-align:right}.av-btn{border:none;cursor:pointer}.alloc-list{display:flex;flex-direction:column;gap:4px}.alloc-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:7px 10px;border:none;border-radius:7px;background:none;cursor:pointer;font-size:12.5px}.alloc-row:hover{background:var(--surface-muted, #f2f3f5)}.alloc-dot{width:7px;height:7px;border-radius:50%;background:var(--accent, #2f5fd0);flex:none}.alloc-job{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.alloc-win{flex:none;font-size:11px;color:var(--ink-muted, #6b7280)}.cap-flags{display:flex;gap:18px}.proc-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.proc-chip{font-size:11.5px;padding:4px 11px;border-radius:20px;cursor:pointer;border:1px solid var(--line, #d5d8dd);background:var(--card, #fff);color:var(--ink-muted, #6b7280)}.proc-chip.on{background:#2f5fd01a;color:var(--accent, #2f5fd0);border-color:var(--accent, #2f5fd0);font-weight:600}.proc-add input{font-size:11.5px;padding:4px 10px;border-radius:20px;width:110px;border:1px dashed var(--line, #d5d8dd);background:none;color:inherit}.proc-hint{font-size:10.5px;color:var(--ink-soft, #9aa1ab);margin-top:6px}.cap-chips .chip.proc{background:#2f5fd014;color:var(--accent, #2f5fd0);border-color:transparent}.cap-chips-l{font-family:var(--font-mono, monospace);font-size:8.5px;letter-spacing:.06em;color:var(--ink-soft, #9aa1ab);align-self:center}.mx-modal{border-radius:16px;overflow:hidden}.mx-head{align-items:flex-start}.mx-head h2{margin-bottom:2px}.mx-head-sub{font-size:12.5px;color:var(--ink-muted, #6b7280)}.mx-identify{padding:28px 32px 32px;display:flex;flex-direction:column;align-items:stretch}.mx-search{position:relative}.mx-search>input{width:100%;font-size:15px;padding:14px 18px;border-radius:12px;border:1.5px solid var(--line, #d5d8dd);background:var(--surface-muted, #f7f8f9)}.mx-search>input:focus{border-color:var(--accent, #2f5fd0);background:var(--card, #fff);outline:none}.mx-searching{position:absolute;right:14px;top:16px;font-size:11px;color:var(--ink-soft, #9aa1ab)}.mx-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10;background:var(--card, #fff);border:1px solid var(--line, #d5d8dd);border-radius:12px;box-shadow:0 16px 40px #00000029;overflow:hidden;max-height:260px;overflow-y:auto}.mx-result{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:11px 16px;border:none;background:none;cursor:pointer;text-align:left;font-size:13.5px}.mx-result:hover{background:var(--surface-muted, #f2f3f5)}.mx-result span{font-size:11px;color:var(--ink-muted, #6b7280)}.mx-or{display:flex;align-items:center;gap:12px;margin:22px 0 12px;color:var(--ink-soft, #9aa1ab);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.mx-or:before,.mx-or:after{content:"";flex:1;height:1px;background:var(--hair, #eceef1)}.mx-ai{display:flex;gap:8px}.mx-ai input{flex:1;font-size:13.5px;padding:10px 14px;border-radius:10px;border:1px solid var(--line, #d5d8dd)}.mx-ai .btn-primary{flex:none}.mx-ai-hint{font-size:11.5px;color:var(--ink-soft, #9aa1ab);margin-top:8px}.mx-manual{margin:26px auto 0;border:none;background:none;cursor:pointer;font-size:12.5px;color:var(--ink-muted, #6b7280)}.mx-manual:hover{color:var(--accent, #2f5fd0)}.mx-foot .mx-back{margin-right:auto}.sch-block[draggable=true]{cursor:grab}.sch-block.dragging{opacity:.45}.sch-track.dropover{outline:2px dashed var(--accent, #2f5fd0);outline-offset:-2px;border-radius:8px}.sch-sandbox{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;padding:7px 12px;border-radius:9px;background:#2f5fd012;color:var(--accent, #2f5fd0)}.sch-sandbox button{margin-left:auto;font-size:11.5px;padding:4px 11px;border-radius:7px;cursor:pointer;border:1px solid var(--accent, #2f5fd0);background:none;color:var(--accent, #2f5fd0)}.hive-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.hive-tool{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;padding:4px 10px;border-radius:8px;border:1px solid var(--hair, #eceef1);background:var(--surface-muted, #f7f8f9)}.hive-tool b{font-size:11.5px}.hive-meta{color:var(--ink-muted, #6b7280);font-family:var(--font-mono, monospace);font-size:10px}.hive-x{border:none;background:none;cursor:pointer;color:var(--ink-soft, #9aa1ab);font-size:10px;padding:0}.hive-x:hover{color:#b03a2e}.hive-add{display:flex;gap:6px;flex-wrap:wrap}.hive-add input,.hive-add select{font-size:12px;padding:6px 9px;border-radius:7px;border:1px solid var(--line, #d5d8dd);background:var(--card, #fff);color:inherit}.hive-add input:first-child{flex:1;min-width:120px}.hive-add input[type=number]{width:84px}.vendor-link{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor;cursor:pointer;transition:color .15s ease,border-color .15s ease}.vendor-link:hover,.vendor-link:focus-visible{color:var(--primary, #2563eb);border-bottom-color:currentColor;outline:none}.vendors-page{padding:24px;max-width:1400px;margin:0 auto}.vendors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.vendors-header h1{margin:0;font-size:1.75rem;color:var(--text)}.search-input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;width:200px}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:.875rem}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.checkbox-label input{cursor:pointer}.btn-primary{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary{padding:10px 20px;background:var(--surface-muted);color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.loading{text-align:center;padding:60px;color:var(--text-secondary)}.empty-state{text-align:center;padding:80px 40px;background:var(--bg-subtle);border-radius:12px;border:2px dashed var(--border)}.empty-state h3{margin:0 0 8px;color:var(--text)}.empty-state p{margin:0 0 24px;color:var(--text-secondary)}.vendors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.vendor-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;transition:box-shadow .2s,border-color .2s;display:flex;flex-direction:column}.vendor-card:hover{box-shadow:0 4px 12px #00000014;border-color:var(--border)}.vendor-card.inactive{opacity:.6;background:var(--bg-subtle)}.vendor-card.preferred{border-color:var(--warning);border-width:2px}.vendor-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.vendor-title h3{margin:0 0 4px;font-size:1.125rem;color:var(--text);display:flex;align-items:center;gap:6px}.vendor-title .star{color:var(--warning)}.vendor-code{font-size:.75rem;color:var(--text-tertiary);font-family:monospace}.type-badge{padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:500;white-space:nowrap}.type-badge.material{background:var(--primary-light);color:var(--primary-hover)}.type-badge.subtier{background:var(--success-bg);color:var(--success-text)}.type-badge.both{background:var(--surface-muted);color:var(--primary)}.on-arrvo-badge{padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:600;white-space:nowrap;background:var(--primary-light);color:var(--primary);margin-left:6px}.invite-arrvo-btn{margin-right:auto;padding:6px 12px;border:1px solid var(--primary);border-radius:6px;background:var(--surface);color:var(--primary);font-size:.75rem;font-weight:600;cursor:pointer}.invite-arrvo-btn:hover:not(:disabled){background:var(--primary-soft)}.invite-arrvo-btn:disabled{opacity:.6;cursor:wait}.vendor-contact{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--surface-muted)}.contact-name{font-weight:500;color:var(--text);font-size:.875rem;margin-bottom:4px}.contact-email{color:var(--primary);font-size:.8rem;text-decoration:none;display:block;margin-bottom:2px}.contact-email:hover{text-decoration:underline}.contact-phone{color:var(--text-secondary);font-size:.8rem}.vendor-people{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--surface-muted)}.vendor-people-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.vendor-people-head h4{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.add-person-btn{background:none;border:none;color:var(--primary);font-size:.78rem;font-weight:500;cursor:pointer;padding:2px 4px;border-radius:4px}.add-person-btn:hover{background:var(--surface-muted)}.people-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.person-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.person-main{display:flex;flex-direction:column;min-width:0}.person-name{font-weight:500;color:var(--text);font-size:.875rem;display:flex;align-items:center;gap:6px}.primary-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--primary);background:var(--surface-muted);padding:1px 6px;border-radius:999px}.person-title{color:var(--text-secondary);font-size:.78rem}.person-email{color:var(--primary);font-size:.8rem;text-decoration:none}.person-email:hover{text-decoration:underline}.person-phone{color:var(--text-secondary);font-size:.8rem}.person-actions{display:flex;gap:2px;flex-shrink:0}.product-card{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--surface-muted)}.product-card h4,.certifications h4{margin:0 0 8px;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:500}.tag.material{background:var(--warning-bg);color:var(--warning-text)}.tag.form{background:var(--primary-light);color:var(--primary)}.tag.capability{background:var(--success-bg);color:var(--success-text)}.tag.cert{background:var(--surface-muted);color:var(--text-secondary)}.no-data{font-size:.8rem;color:var(--text-tertiary);font-style:italic}.certifications{margin-bottom:12px}.vendor-info-row{display:flex;gap:16px;margin-bottom:12px;flex-wrap:wrap}.info-item{display:flex;flex-direction:column;gap:2px}.info-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase}.info-value{font-size:.85rem;color:var(--text);font-weight:500}.vendor-card-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--surface-muted)}.card-actions{display:flex;gap:8px;justify-content:flex-end}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;font-size:.875rem;transition:background .2s,border-color .2s}.btn-icon:hover{background:var(--bg-subtle);border-color:var(--border)}.btn-icon.danger:hover{border-color:var(--error);color:var(--error)}.btn-icon.active{background:var(--warning-bg);border-color:var(--warning);color:var(--warning-text)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-content.large{max-width:900px}.modal-header h2{margin:0;font-size:1.25rem;color:var(--text)}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;border-radius:6px}.close-btn:hover{background:var(--surface-muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.form-section{padding:16px;background:var(--bg-subtle);border-radius:8px}.form-section.full-width{grid-column:1 / -1}.form-section h3{margin:0 0 16px;font-size:.95rem;color:var(--text-secondary);border-bottom:1px solid var(--border);padding-bottom:8px}.form-row{margin-bottom:16px}.form-row:last-child{margin-bottom:0}.form-row label{display:block;margin-bottom:6px;font-size:.85rem;font-weight:500;color:var(--text)}.form-row input,.form-row select,.form-row textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;background:var(--surface)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.form-row-2col label{display:block;margin-bottom:6px;font-size:.85rem;font-weight:500;color:var(--text)}.form-row-2col input,.form-row-2col select{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;font-size:.9rem}.required{color:var(--error)}textarea{resize:vertical;min-height:80px}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.checkbox-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text);cursor:pointer}.checkbox-item input{width:auto;cursor:pointer}.checkbox-inline{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text);cursor:pointer}.checkbox-inline input{width:auto;cursor:pointer}.custom-materials-input{display:flex;align-items:center;gap:12px}.custom-materials-input input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem}.custom-materials-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #5e9b6e1a}.input-hint{font-size:.75rem;color:var(--text-tertiary);white-space:nowrap}.custom-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.custom-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 12px;background:var(--primary-light);color:var(--primary-active);border-radius:16px;font-size:.813rem;font-weight:500}.custom-tag .remove-tag{background:none;border:none;color:var(--primary-active);font-size:1rem;cursor:pointer;padding:0;line-height:1;opacity:.7}.custom-tag .remove-tag:hover{opacity:1}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}.edv-overlay{position:fixed;inset:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center}.edv-container{width:100%;height:100%;display:flex;flex-direction:column;background:#1a1a1a}.edv-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff}.edv-spinner{width:40px;height:40px;border:3px solid #333;border-top-color:var(--primary);border-radius:50%;animation:edv-spin .8s linear infinite}@keyframes edv-spin{to{transform:rotate(360deg)}}.edv-error{background:#1f1f1f;padding:32px;border-radius:8px;text-align:center;color:#ef4444}.edv-error p{margin-bottom:16px}.edv-loading-scale{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#888}.edv-loading-scale p{margin:0}.edv-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#1c1c1c;border-bottom:1px solid #2a2a2a;flex-shrink:0;gap:12px}.edv-toolbar-left,.edv-toolbar-center,.edv-toolbar-right{display:flex;align-items:center;gap:10px;min-width:0}.edv-toolbar-left{flex:1;min-width:0}.edv-toolbar-right{flex-shrink:0}.edv-filename{color:#f5f5f5;font-weight:500;font-size:13px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.edv-page-info{color:#8a8a8a;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.02em;padding:2px 8px;border-radius:4px;background:#232323;white-space:nowrap}.edv-zoom-pill{padding:2px 10px;border-radius:12px;background:#5e9b6e26;border:1px solid rgba(94,155,110,.35);color:#b8d8c1;font-size:11px;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}.edv-zoom-pill:hover{background:#5e9b6e40}.edv-toolbar-center{flex-shrink:0}.edv-modetabs{display:inline-flex;padding:2px;border-radius:8px;background:#232323;border:1px solid #2f2f2f}.edv-modetab{padding:4px 14px;border:none;background:transparent;color:#9a9a9a;font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;white-space:nowrap}.edv-modetab:hover{color:#d8d8d8}.edv-modetab.active{background:#3a3a3a;color:#f5f5f5;box-shadow:0 1px 2px #0000004d}.edv-model-stage{flex:1;min-height:0;position:relative;background:#f3f4f6}.edv-toolbar-divider{width:1px;height:24px;background:#444;margin:0 4px}.edv-zoom-level{color:#ccc;font-size:13px;min-width:50px;text-align:center;font-variant-numeric:tabular-nums}.edv-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:transparent;border:1px solid transparent;border-radius:6px;color:#c7c7c7;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.edv-iconbtn:hover{background:#2a2a2a;color:#fff}.edv-iconbtn:active{background:#303030}.edv-iconbtn:disabled{opacity:.35;cursor:not-allowed;background:transparent}.edv-iconbtn-active{background:#5e9b6e2e;color:#cce4d2;border-color:#5e9b6e66}.edv-iconbtn-active:hover{background:#5e9b6e47;color:#fff}.edv-iconbtn-close:hover{background:#ef444433;color:#fff}.edv-btn{padding:6px 12px;background:#333;border:1px solid #444;border-radius:4px;color:#ddd;font-size:13px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.edv-btn:hover{background:#404040;border-color:#555}.edv-btn:disabled{opacity:.5;cursor:not-allowed}.edv-btn-icon{padding:6px 10px;font-size:14px}.edv-btn-active{background:var(--primary);border-color:var(--primary);color:#fff}.edv-btn-close{background:var(--error);border-color:var(--error);color:#fff}.edv-btn-close:hover{background:#b91c1c;border-color:#b91c1c}.edv-btn-secondary{width:100%;padding:10px;background:#2a2a2a}.edv-quick-edit-badge{display:flex;align-items:center;gap:8px;padding:4px 12px;background:var(--primary);border-radius:20px;color:#fff;font-size:12px;animation:edv-pulse 2s infinite}@keyframes edv-pulse{0%,to{opacity:1}50%{opacity:.7}}.edv-badge-close{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;line-height:1;opacity:.7}.edv-badge-close:hover{opacity:1}.edv-toast{position:absolute;top:60px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:10px 20px;background:#059669;border-radius:8px;color:#fff;font-size:14px;box-shadow:0 4px 12px #0000004d;z-index:1100;animation:edv-toast-in .3s ease}.edv-toast-learning{background:linear-gradient(135deg,var(--primary) 0%,var(--primary) 100%)}.edv-toast-icon{font-size:16px}@keyframes edv-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.edv-main{display:flex;flex:1;min-height:0}.edv-document,.react-pdf__Document{display:contents}.edv-viewer{flex:1;position:relative;background:#2a2a2a}.edv-viewer-scroll{overflow:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px}.edv-viewer-scroll.hand-tool{cursor:grab;-webkit-user-select:none;user-select:none}.edv-viewer-scroll.hand-tool:active{cursor:grabbing}.edv-viewer-scroll.hand-tool .react-pdf__Page__textContent{pointer-events:none}.edv-page-wrapper{position:relative;box-shadow:0 4px 20px #0006;background:var(--surface)}.edv-bubble{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2px solid #fff;background:var(--accent, #2f5fd0);color:#fff;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 1px 4px #00000059;display:flex;align-items:center;justify-content:center;z-index:5;transition:transform .08s}.edv-bubble:hover{transform:scale(1.15)}.edv-bubble-focused{background:var(--accent-2, #bf6a23);transform:scale(1.15);z-index:6}.edv-bubble-label{position:absolute;top:26px;left:50%;transform:translate(-50%);white-space:nowrap;background:var(--ink, #1d1f24);color:#fff;padding:5px 9px;border-radius:7px;font-size:11.5px;font-weight:400;display:flex;flex-direction:column;gap:1px;box-shadow:0 4px 14px #0000004d;pointer-events:none}.edv-bubble-label strong{font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.react-pdf__Page{position:relative}.react-pdf__Page__textContent{user-select:text;-webkit-user-select:text}.react-pdf__Page__textContent ::selection{background:#5e9b6e73}.react-pdf__Page__textContent ::-moz-selection{background:#5e9b6e73}.edv-viewer.quick-edit-mode .react-pdf__Page__textContent span{background:#7c3aed1f}.edv-viewer.quick-edit-mode .react-pdf__Page__textContent span:hover{background:#7c3aed47}.edv-thumbnails{width:168px;flex-shrink:0;background:#1a1a1a;border-right:1px solid #262626;overflow-y:auto;padding:14px 10px 20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:#333 transparent}.edv-thumbnails::-webkit-scrollbar{width:6px}.edv-thumbnails::-webkit-scrollbar-track{background:transparent}.edv-thumbnails::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.edv-thumbnail{background:transparent;border:1px solid transparent;border-radius:6px;padding:6px 6px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .12s ease,border-color .12s ease,transform .12s ease;position:relative}.edv-thumbnail:hover{background:#222;transform:translateY(-1px)}.edv-thumbnail-active{background:#5e9b6e14;border-color:#5e9b6e8c}.edv-thumbnail-active:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:28px;border-radius:2px;background:var(--accent, #2F5FD0)}.edv-thumbnail-label{font-size:11px;color:#888;font-variant-numeric:tabular-nums;letter-spacing:.04em}.edv-thumbnail-active .edv-thumbnail-label{color:#cce4d2}.edv-thumbnail .react-pdf__Page{pointer-events:none;border-radius:3px;overflow:hidden;box-shadow:0 2px 6px #00000080}.edv-findbar{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#1a1a1a;border-bottom:1px solid #262626;animation:edv-findbar-in .12s ease}@keyframes edv-findbar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.edv-findbar-input{flex:1;max-width:360px;background:#232323;border:1px solid #2f2f2f;color:#f0f0f0;border-radius:6px;padding:6px 10px;font-size:13px;outline:none;transition:border-color .12s ease,background .12s ease}.edv-findbar-input:focus{border-color:#5e9b6e99;background:#2a2a2a}.edv-findbar-input::placeholder{color:#6a6a6a}.edv-findbar-count{font-size:12px;color:#8a8a8a;font-variant-numeric:tabular-nums;min-width:80px;letter-spacing:.02em}.edv-find-highlight{position:absolute;background:#ffd50073;border-radius:2px;pointer-events:none;z-index:3;transition:background .1s ease}.edv-find-highlight-current{background:#ff9100b3;outline:1px solid rgba(255,145,0,.9)}.edv-popover{position:absolute;width:280px;background:#1f1f1f;border:1px solid #444;border-radius:8px;box-shadow:0 8px 24px #00000080;z-index:1050;overflow:hidden}.edv-popover-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#252525;border-bottom:1px solid #333}.edv-popover-selection{color:var(--primary);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edv-popover-close{background:none;border:none;color:#888;cursor:pointer;font-size:18px;line-height:1;padding:0}.edv-popover-close:hover{color:#fff}.edv-popover-filter{width:100%;padding:10px 12px;background:#2a2a2a;border:none;border-bottom:1px solid #333;color:#fff;font-size:13px;outline:none}.edv-popover-filter::placeholder{color:#666}.edv-popover-fields{max-height:300px;overflow-y:auto}.edv-popover-tier{padding:8px 0}.edv-popover-tier:not(:last-child){border-bottom:1px solid #333}.edv-popover-tier-label{padding:4px 12px;color:#888;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.edv-popover-field{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:none;border:none;color:#ddd;font-size:13px;text-align:left;cursor:pointer;transition:background .15s ease}.edv-popover-field:hover{background:#333}.edv-popover-field:disabled{opacity:.5;cursor:not-allowed}.edv-popover-shortcut{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#444;border-radius:4px;color:#999;font-size:11px;font-weight:600}.edv-panel{width:360px;display:flex;flex-direction:column;background:#1f1f1f;border-left:1px solid #333}.edv-panel-header{padding:16px;border-bottom:1px solid #333}.edv-panel-header h2{margin:0;color:#fff;font-size:16px;font-weight:600}.edv-panel-meta{display:flex;align-items:center;gap:8px;margin-top:8px}.edv-extraction-method{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.edv-extraction-method.text{background:#059669;color:#fff}.edv-extraction-method.ocr{background:#d97706;color:#fff}.edv-confidence{color:#888;font-size:12px}.edv-panel-content{flex:1;overflow-y:auto;padding:8px 0}.edv-panel-footer{padding:12px 16px;border-top:1px solid #333}.edv-tier{margin-bottom:4px}.edv-tier-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:none;border:none;color:#fff;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .15s ease}.edv-tier-header:hover{background:#252525}.edv-tier-toggle{color:#666;font-size:10px}.edv-tier-label{flex:1}.edv-tier-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--primary);border-radius:10px;color:#fff;font-size:11px;font-weight:600}.edv-tier-content{padding:0 16px 8px}.edv-field{padding:8px 0;border-bottom:1px solid #2a2a2a}.edv-field:last-child{border-bottom:none}.edv-field-quick-edit{background:#5e9b6e1a;margin:0 -16px;padding:8px 16px;border-left:3px solid var(--primary)}.edv-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.edv-field-header label{color:#888;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.edv-field-edit{padding:2px 8px;background:#333;border:none;border-radius:4px;color:#888;font-size:11px;cursor:pointer;transition:all .15s ease}.edv-field-edit:hover{background:#444;color:#ddd}.edv-field-edit.active{background:var(--primary);color:#fff}.edv-field-actions{display:flex;gap:4px}.edv-field-input-group{display:flex;flex-wrap:wrap;gap:6px;width:100%}.edv-field-input{flex:1;min-width:120px;padding:6px 10px;background:#333;border:1px solid #444;border-radius:4px;color:#fff;font-size:13px}.edv-field-input:focus{outline:none;border-color:var(--primary)}.edv-field-input:disabled{opacity:.6}.edv-field-save{padding:6px 12px;background:#059669;border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease}.edv-field-save:hover:not(:disabled){background:var(--success-text)}.edv-field-save:disabled{opacity:.5;cursor:not-allowed}.edv-field-cancel{padding:6px 12px;background:#444;border:none;border-radius:4px;color:#aaa;font-size:12px;cursor:pointer;transition:background .15s ease}.edv-field-cancel:hover:not(:disabled){background:#555;color:#ddd}.edv-field-saved{background:#0596691a;border-color:#059669}.edv-field-learned{margin-top:6px;padding:4px 8px;background:linear-gradient(135deg,#7c3aed33,#5e9b6e33);border-radius:4px;color:var(--accent-muted);font-size:11px;font-weight:600}.edv-field-value{display:flex;align-items:flex-start;gap:8px;color:#fff;font-size:14px;line-height:1.4}.edv-field-value>span{flex:1;word-break:break-word}.edv-field-empty{color:#555;font-style:italic}.edv-field-list{margin:0;padding-left:16px;flex:1}.edv-field-list li{margin-bottom:4px}.edv-field-list li:last-child{margin-bottom:0}.edv-field-confidence{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;flex-shrink:0}.edv-field-confidence.high{background:#059669;color:#fff}.edv-field-confidence.medium{background:#d97706;color:#fff}.edv-field-confidence.low{background:var(--error);color:#fff}.edv-low-confidence{margin:16px;padding:12px;background:#2a1515;border:1px solid #4a2020;border-radius:8px}.edv-low-confidence h3{margin:0 0 12px;color:#ef4444;font-size:13px;font-weight:600}.edv-low-confidence-list{display:flex;flex-direction:column;gap:6px}.edv-low-confidence-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:#1f1f1f;border-radius:4px;cursor:pointer;transition:background .15s ease}.edv-low-confidence-item:hover{background:#333}.edv-low-confidence-text{color:#ddd;font-size:12px;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edv-low-confidence-score{color:#ef4444;font-size:11px;font-weight:600;flex-shrink:0;margin-left:8px}.edv-panel-content::-webkit-scrollbar,.edv-popover-fields::-webkit-scrollbar{width:8px}.edv-panel-content::-webkit-scrollbar-track,.edv-popover-fields::-webkit-scrollbar-track{background:#1a1a1a}.edv-panel-content::-webkit-scrollbar-thumb,.edv-popover-fields::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.edv-panel-content::-webkit-scrollbar-thumb:hover,.edv-popover-fields::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:1024px){.edv-panel{width:300px}}@media(max-width:768px){.edv-main{flex-direction:column}.edv-panel{width:100%;height:40%;border-left:none;border-top:1px solid #333}.edv-toolbar-left{display:none}}.edv-bubble-callout{background:var(--warning, #bf6a23);border-color:var(--warning, #bf6a23);cursor:default}.edv-bubble-clickable{cursor:pointer}.edv-bubble-left{margin:-11px 0 0 -27px;transform-origin:right center}.edv-bubble-right{margin:-11px 0 0 5px;transform-origin:left center}.edv-bubble-left:after,.edv-bubble-right:after{content:"";position:absolute;top:50%;width:5px;height:2px;margin-top:-1px;background:inherit;pointer-events:none}.edv-bubble-left:after{left:100%}.edv-bubble-right:after{right:100%}.edv-region-box{position:absolute;border:2px solid var(--warning, #bf6a23);border-radius:3px;background:#bf6a231a;pointer-events:auto;cursor:pointer;z-index:4}.edv-region-box-active{border-color:var(--accent-2, #bf6a23);background:#bf6a2338;box-shadow:0 0 0 2px #bf6a2359}.edv-source-region{cursor:default;pointer-events:none;animation:edv-source-pulse .9s ease-out 2}@keyframes edv-source-pulse{0%{box-shadow:0 0 0 2px #bf6a238c}70%{box-shadow:0 0 0 9px #bf6a2300}to{box-shadow:0 0 0 2px #bf6a2359}}@media(prefers-reduced-motion:reduce){.edv-source-region{animation:none}}.edv-overlay.edv-embedded{position:relative;inset:auto;background:none;z-index:auto;width:100%;height:100%}.edv-embedded .edv-container{width:100%;height:100%;border:1px solid var(--line, #d5d8dd);border-radius:12px;overflow:hidden}.edv-marquee{position:absolute;border:1.5px dashed var(--primary, #5e9b6e);background:#5e9b6e1f;pointer-events:none;z-index:30;border-radius:3px}.fcf{display:inline-flex;align-items:flex-start;flex-direction:column;gap:.15em;vertical-align:-.15em;line-height:1}.fcf-frame{display:inline-flex;align-items:stretch;border:.08em solid currentColor;border-radius:.08em;font-variant-numeric:tabular-nums;white-space:nowrap}.fcf-cell{display:inline-flex;align-items:center;gap:.12em;padding:.16em .36em;border-right:.08em solid currentColor}.fcf-cell:last-child{border-right:none}.fcf-cell-symbol{padding-left:.24em;padding-right:.24em}.fcf-value{font-size:.85em;letter-spacing:.02em}.gdt-symbol{display:inline-block;flex:none;overflow:visible}.dc-table-wrap{position:relative;overflow:auto;max-height:clamp(220px,52vh,620px);overscroll-behavior:contain;border-radius:6px}.dc-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.dc-table th{text-align:left;padding:6px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary, #7a8290);border-bottom:1px solid var(--line, #d5d8dd);white-space:nowrap;position:sticky;top:0;z-index:3;background:var(--surface, #fff)}.dc-table td{padding:6px 8px;border-bottom:1px solid var(--hair, #eceef1);vertical-align:top;color:var(--text, #1f2430)}.dc-num{width:1%;white-space:nowrap;color:var(--text-secondary, #56606e);font-variant-numeric:tabular-nums;position:sticky;left:24px;background:inherit;z-index:2}.dc-table tr>.dc-num:first-child{left:0}.dc-table th.dc-num{z-index:4;background:var(--surface, #fff)}.dc-req{min-width:120px;max-width:260px}.dc-trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-nom,.dc-tol{white-space:nowrap;font-variant-numeric:tabular-nums}.dc-loc,.dc-crit{white-space:nowrap;color:var(--text-secondary, #56606e);max-width:92px;overflow:hidden;text-overflow:ellipsis}.dc-confcell{width:1%}.dc-done-mark{margin-left:5px;color:#2f8a4b;font-size:10px}.dc-row-done .dc-num,.dc-row-done .dc-req{color:var(--text-secondary, #56606e)}.dc-row{cursor:pointer;transition:background .08s;background:var(--surface, #fff)}.dc-row:hover{background:var(--primary-soft, #eef2fb)}.dc-row-selected,.dc-row-selected:hover{background:var(--primary-soft, #dfe8fb);box-shadow:inset 3px 0 0 var(--primary, #2f5fd0)}.dc-row-selected>td:first-child,.dc-row-focused>td:first-child{box-shadow:inset 3px 0 0 var(--primary, #2f5fd0)}.dc-row-low.dc-row-selected>td:first-child{box-shadow:inset 3px 0 0 var(--warning-text, #9a5b12)}.dc-anchored{margin-left:5px;color:var(--primary, #2f5fd0);font-size:11px}.dc-kind{display:inline-block;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600;background:var(--hair, #eceef1);color:var(--text-secondary, #56606e);white-space:nowrap}.dc-kind-gdt{background:#e6edfb;color:#2f5fd0}.dc-kind-dimension{background:#e7f3ea;color:#2f8a4b}.dc-cost-h{white-space:nowrap}.dc-cost{max-width:200px}.dc-cost-none{color:var(--text-tertiary, #7a8290)}.dc-cost-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.dc-spec{display:inline-block;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap}.dc-spec.in-hub{background:#e6edfb;color:#2f5fd0}.dc-spec.no-hub{background:var(--warning-bg, #fdf4e7);color:var(--warning-text, #9a5b12)}.dc-spec-missing{font-size:10px;color:var(--warning-text, #9a5b12);white-space:nowrap}.dc-cost-ops{display:inline-flex;flex-wrap:wrap;gap:3px}.dc-op{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;background:var(--hair, #eceef1);color:var(--text-secondary, #56606e);white-space:nowrap}.dc-op-in_house{background:#e7f3ea;color:#2f8a4b}.dc-op-outsource{background:#f0eafb;color:#6b46c1}.dc-op-unknown{background:var(--warning-bg, #fdf4e7);color:var(--warning-text, #9a5b12)}.dc-conf{font-size:11px;color:var(--text-tertiary, #7a8290);white-space:nowrap;font-variant-numeric:tabular-nums}.dc-conf.low{color:var(--warning-text, #9a5b12);font-weight:600}.dc-conf-flag{margin-right:3px}.dc-row-low{background:var(--warning-bg, #fdf4e7)}.dc-row-low:hover{background:var(--warning-bg, #fbecd6)}.dc-row-low.dc-row-selected{box-shadow:inset 3px 0 0 var(--warning-text, #9a5b12)}.dc-run-btn{padding:6px 14px;border-radius:6px;border:1px solid var(--primary, #2f5fd0);background:var(--primary, #2f5fd0);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .08s,opacity .08s}.dc-run-btn:hover:not(:disabled){background:var(--primary-hover, #274fb0)}.dc-run-btn:disabled{opacity:.6;cursor:default}.dc-review:focus{outline:none}.dc-review:focus-visible{outline:2px solid var(--primary, #2f5fd0);outline-offset:2px;border-radius:4px}.dc-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.dc-toolbar-empty{margin-top:8px;justify-content:center}.dc-tool-btn{padding:4px 10px;border-radius:6px;border:1px solid var(--line, #d5d8dd);background:var(--surface, #fff);color:var(--text-secondary, #56606e);font-size:11px;font-weight:600;cursor:pointer;transition:background .08s,border-color .08s}.dc-tool-btn:hover:not(:disabled){background:var(--primary-soft, #eef2fb);border-color:var(--primary, #2f5fd0)}.dc-tool-btn.active{background:var(--primary, #2f5fd0);border-color:var(--primary, #2f5fd0);color:#fff}.dc-tool-btn:disabled{opacity:.6;cursor:default}.dc-addmissed{display:inline-flex;align-items:stretch}.dc-addmissed-main{border-top-right-radius:0;border-bottom-right-radius:0;border-color:var(--primary, #2f5fd0);color:var(--primary, #2f5fd0);background:var(--primary-soft, #eef2fb)}.dc-addmissed-alt{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none;font-weight:500}.dc-sweep-hint{font-size:10px;color:var(--text-tertiary, #7a8290)}.dc-sweep-hint b{color:var(--text-secondary, #56606e)}.dc-awaiting{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 8px;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:600;color:var(--primary, #2f5fd0);background:var(--primary-soft, #eef2fb);border:1px dashed var(--primary, #2f5fd0)}.dc-awaiting-alt{margin-left:auto;border:1px solid var(--primary, #2f5fd0);border-radius:5px;background:transparent;color:var(--primary, #2f5fd0);cursor:pointer;font-size:10px;font-weight:600;padding:2px 8px;white-space:nowrap}.dc-awaiting-alt:hover{background:var(--surface, #fff)}.dc-awaiting-x{border:none;background:transparent;color:var(--primary, #2f5fd0);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px}.dc-awaiting-x:hover{color:var(--primary-hover, #274fb0)}.dc-row-focused{box-shadow:inset 3px 0 0 var(--primary, #2f5fd0);background:var(--primary-soft, #eef2fb)}.dc-row-awaiting{outline:1px dashed var(--primary, #2f5fd0);outline-offset:-1px}.dc-actions-h,.dc-actions{width:1%;white-space:nowrap;text-align:right;position:sticky;right:0;background:inherit;z-index:2}.dc-actions-h{z-index:4;background:var(--surface, #fff);box-shadow:-6px 0 6px -6px #0f172a2e}.dc-actions{box-shadow:-6px 0 6px -6px #0f172a24}.dc-actbar{display:flex;align-items:center;justify-content:flex-end;gap:1px}.dc-act{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;cursor:pointer;font-size:12px;padding:2px 4px;border-radius:4px;color:var(--text-tertiary, #7a8290);transition:background .08s,color .08s}.dc-act:hover:not(:disabled){background:var(--hair, #eceef1);color:var(--text, #1f2430)}.dc-act-accept:hover:not(:disabled){color:#2f8a4b}.dc-act:disabled{opacity:.4;cursor:default}.dc-act-ico{line-height:1}.dc-act-del{color:var(--text-tertiary, #7a8290);opacity:.75}.dc-act-del:hover:not(:disabled){color:#c0392b;background:#c0392b14;opacity:1}.dc-act-word,.dc-act-key{display:none}.dc-act-word{font-size:10.5px;font-weight:600;white-space:nowrap}.dc-act-key{font-family:inherit;font-size:9px;font-weight:700;line-height:1;padding:2px 4px;border-radius:3px;border:1px solid var(--line, #d5d8dd);background:var(--surface, #fff);color:var(--text-tertiary, #7a8290)}.dc-row-selected .dc-act-key,.dc-row-focused .dc-act-key{display:inline-block}.dc-row:hover .dc-actbar,.dc-actions:focus-within .dc-actbar{position:absolute;right:4px;top:50%;transform:translateY(-50%);gap:2px;padding:2px 3px;border-radius:6px;background:inherit;box-shadow:0 1px 3px #0f172a29,-8px 0 8px -8px #0f172a40}.dc-row:hover .dc-act-word,.dc-actions:focus-within .dc-act-word{display:inline-block}.dc-row:hover .dc-act-key,.dc-actions:focus-within .dc-act-key{display:inline-block}.dc-edit-row{background:var(--primary-soft, #f5f8ff)}.dc-edit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 8px}.dc-edit-grid label{display:flex;flex-direction:column;gap:2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary, #7a8290)}.dc-edit-grid .dc-edit-wide{grid-column:span 2}.dc-edit-grid input,.dc-edit-grid select{font-size:12px;padding:4px 6px;border:1px solid var(--line, #d5d8dd);border-radius:4px;background:var(--surface, #fff);color:var(--text, #1f2430);text-transform:none;font-weight:400}.dc-edit-grid input:focus,.dc-edit-grid select:focus{outline:none;border-color:var(--primary, #2f5fd0)}.dc-edit-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.dc-pick-h,.dc-pick{width:24px;padding-left:6px;padding-right:0;position:sticky;left:0;background:inherit;z-index:2}.dc-table th.dc-pick-h{z-index:4;background:var(--surface, #fff)}.dc-pick input{cursor:pointer;margin:0}.dc-group-head{background:var(--surface-2, #f3f5f9)}.dc-group-head>td{border-top:1px solid var(--border, #d7dce4);font-weight:600;color:var(--text-secondary, #56606e)}.dc-group-num{font-size:1.02em;color:var(--text, #1d2430)}.dc-group-label{font-weight:500;font-size:.86em}.dc-row-sub .dc-num{padding-left:1.35em}.dc-row-sub>td{box-shadow:inset 2px 0 0 var(--border, #d7dce4)}.dc-row-sub>td.dc-actions{box-shadow:-6px 0 6px -6px #0f172a24}.dc-row-group-selected,.dc-row-group-selected:hover{background:var(--primary-soft, #dfe8fb);opacity:.85}.material-specs{display:flex;flex-direction:column;gap:10px;margin-top:-8px}.material-specs-chips{display:flex;flex-wrap:wrap;gap:6px}.spec-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:500;cursor:pointer;transition:filter .12s,box-shadow .12s;background:var(--bg-subtle);color:var(--text)}.spec-chip:hover{filter:brightness(.96);box-shadow:0 1px 3px #00000014}.spec-chip-type{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;opacity:.75}.spec-chip-value{font-weight:600}.spec-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:14px;line-height:1;margin-left:2px;color:inherit;opacity:.55}.spec-chip-remove:hover{opacity:1;background:#00000014}.spec-chip--ams{background:var(--primary-soft);color:#075985}.spec-chip--temper{background:var(--warning-bg);color:var(--warning-text)}.spec-chip--heat_treat{background:var(--error-bg);color:var(--error-text)}.spec-chip--ultrasonic{background:#ede9fe;color:#5b21b6}.spec-chip--hardness{background:var(--surface-muted);color:#9d174d}.spec-chip--cert{background:var(--success-bg);color:var(--success-text)}.spec-chip--note{background:var(--bg-subtle);color:var(--text-secondary)}.spec-editor{background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.spec-editor-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.spec-editor-type{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text)}.spec-editor-hint{font-size:11px;color:var(--text-tertiary)}.spec-editor input,.spec-editor textarea{background:var(--surface)}.spec-editor textarea{resize:vertical;min-height:48px;font-family:inherit}.spec-editor-actions{display:flex;justify-content:flex-end;gap:8px}.spec-btn{padding:6px 14px;font-size:13px;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer}.spec-btn--ghost{background:transparent;border-color:var(--border);color:var(--text-secondary)}.spec-btn--ghost:hover{border-color:var(--text-tertiary);color:var(--text)}.spec-btn--primary{background:var(--primary);color:#fff}.spec-btn--primary:hover:not(:disabled){background:var(--primary-hover)}.spec-btn--primary:disabled{opacity:.5;cursor:not-allowed}.spec-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.spec-add-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-right:4px;font-weight:500}.spec-add-btn{background:transparent;border:1px dashed var(--border);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:border-color .12s,color .12s,background .12s}.spec-add-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.spec-add-btn:disabled{opacity:.4;cursor:not-allowed}.specplan-page{padding:24px;max-width:1440px;margin:0 auto}.sp-header h1{margin:0 0 6px;font-size:1.75rem;color:var(--text-primary)}.sp-sub{margin:0 0 18px;max-width:720px;color:var(--text-secondary);font-size:14px;line-height:1.5}.sp-sub a{color:var(--primary)}.sp-input-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}.sp-input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-primary);font-size:13.5px;font-family:inherit;resize:vertical}.sp-input-actions{display:flex;flex-direction:column;gap:8px;flex:none;width:140px}.sp-rollup{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.sp-stat{flex:1;min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}.sp-stat-n{font-size:22px;font-weight:800;color:var(--text-primary)}.sp-stat-n.disp-home-t{color:var(--success)}.sp-stat-n.disp-out-t{color:var(--warning)}.sp-stat-l{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.sp-vendor-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:14px}.sp-vendor-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.sp-unmatched{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--warning-bg);border:1px solid var(--warning);border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:13px;color:var(--warning-text)}.sp-add-link{margin-left:auto;color:var(--primary);font-size:13px}.sp-items{display:flex;flex-direction:column;gap:12px}.sp-item{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px 16px;display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:start}.sp-item.unmatched{border-left:3px solid var(--warning)}.sp-callout{font-weight:700;font-size:14px;color:var(--text-primary)}.sp-no-match{color:var(--text-tertiary);font-size:13px}.sp-standards{display:flex;flex-direction:column;gap:12px}.sp-std-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}.sp-std-num{font-weight:700;font-size:13.5px;color:var(--text-primary)}.sp-std-title{font-size:13px;color:var(--text-secondary)}.sp-ops{display:flex;flex-direction:column;gap:6px}@media(max-width:720px){.sp-item{grid-template-columns:1fr}.sp-input-row{flex-direction:column}.sp-input-actions{width:100%;flex-direction:row}}.sp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.sp-packet{flex:none;white-space:nowrap}.sp-map{border:1px solid var(--border);border-radius:12px;background:var(--card);overflow:hidden;margin-bottom:18px}.sp-map-head,.sp-map-row{display:grid;grid-template-columns:1.1fr 1.4fr 1fr 1.2fr;gap:12px;align-items:center;padding:10px 16px}.sp-map-head{border-bottom:1px solid var(--border);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.sp-map-row{border-bottom:1px solid var(--divider);font-size:13px}.sp-map-row:last-child{border-bottom:none}.sp-map-row.grp{border-top:1px solid var(--divider)}.sp-map-callout{font-family:var(--font-mono);font-size:12.5px;color:var(--text-primary)}.sp-map-std{display:flex;align-items:center;gap:7px;min-width:0}.sp-map-num{font-family:var(--font-mono);font-size:12px}.sp-map-open{font-size:11px;color:var(--primary);text-decoration:none;white-space:nowrap}.sp-map-open:hover{text-decoration:underline}.sp-map-missing{font-size:12px;color:var(--warning-text)}.sp-map-disp{display:flex}.disp-out-cell{display:flex;flex-direction:column;gap:2px}.sp-opplan{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sp-opcol{border:1px solid var(--border);border-radius:12px;background:var(--card);padding:14px 16px}.sp-opcol-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:10px;display:flex;gap:8px;align-items:baseline}.sp-oprow{display:flex;align-items:center;gap:8px;padding:5px 0;flex-wrap:wrap}.sp-opcol-empty{color:var(--text-tertiary);font-size:13px}@media(max-width:760px){.sp-map-head,.sp-map-row{grid-template-columns:1fr 1fr}.sp-map-head span:nth-child(3),.sp-map-head span:nth-child(4){display:none}.sp-opplan{grid-template-columns:1fr}}.sp-state{padding:28px;color:var(--text-tertiary);text-align:center}.si-add{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.si-add select,.si-add input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text-primary);font-size:13px}.si-add-value{flex:1;min-width:220px}.si-add-spec{width:200px}.si-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;align-items:start}.si-group-notes{grid-column:1 / -1}@media(max-width:720px){.si-groups{grid-template-columns:1fr}}.si-group{border:1px solid var(--border);border-radius:12px;background:var(--card);overflow:hidden}.si-group-head{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--border);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.si-group-n{font-size:11px;background:var(--surface-muted);color:var(--text-secondary);border-radius:20px;padding:1px 8px}.si-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 14px;border-bottom:1px solid var(--divider);font-size:13px}.si-item:last-child{border-bottom:none}.si-item.rejected{opacity:.45;text-decoration:line-through}.si-val{font-weight:600;color:var(--text-primary)}.si-spec{font-size:12px;color:var(--text-secondary)}.si-hub{font-size:11px;color:var(--primary);text-decoration:none}.si-hub:hover{text-decoration:underline}.si-prov{margin-left:auto;font-size:11px}.si-auto{color:var(--primary)}.si-manual{color:var(--text-tertiary)}.si-actions{display:flex;align-items:center;gap:4px}.si-btn{border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:6px;padding:2px 8px;cursor:pointer;font-size:12px}.si-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.si-btn.ok{color:var(--success);border-color:var(--success)}.si-btn.danger:hover{border-color:var(--error);color:var(--error)}.si-confirmed{color:var(--success);font-size:13px;padding:0 4px}.si-matcher{margin-top:18px;border-top:1px solid var(--border);padding-top:12px}.si-matcher summary{cursor:pointer;font-size:13px;color:var(--text-secondary)}.si-matcher summary a{color:var(--primary)}.si-match-summary{font-size:12.5px;color:var(--text-secondary);margin-top:8px}.si-unmatched{color:var(--warning-text)}.sp-head-actions{display:flex;gap:8px;align-items:center;flex:none}.sp-roll{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--border);border-radius:12px;background:var(--card);padding:14px 18px;margin-bottom:16px}.sp-roll-stat{display:flex;flex-direction:column;gap:2px}.sp-roll-n{font-size:20px;font-weight:700;color:var(--text-primary)}.sp-roll-l{font-size:11.5px;color:var(--text-tertiary)}.sp-roll-arrow{color:var(--text-tertiary);font-size:16px}.sp-conf{font-size:11px;color:var(--text-tertiary);margin-left:6px}.sp-conf.low{color:var(--warning-text)}.sp-map-callout{display:flex;align-items:center;gap:8px}.sp-map-callout b{font-family:var(--font-mono);font-size:12.5px}.sp-map-actions{display:flex;gap:3px;margin-left:auto}.sp-map-row.unconfirmed{background:var(--primary-soft, rgba(47,95,208,.04))}.sp-std-title{font-size:13px;color:var(--text-primary)}.sp-map-op{display:flex;gap:4px;flex-wrap:wrap}.sp-map-disp{display:flex;flex-direction:column;gap:6px}.sp-disp-cell{display:flex;flex-direction:column;gap:1px}.sp-inline-btn{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.sp-drawing-row{display:flex;gap:18px;align-items:flex-start;margin-bottom:16px}.sp-dwg-panel{flex:none;position:sticky;top:16px}.sp-dwg-frame{position:relative;display:block;padding:0;line-height:0;cursor:pointer;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:repeating-linear-gradient(45deg,rgba(29,31,36,.03) 0 9px,transparent 9px 18px)}.sp-dwg-frame:hover{border-color:var(--primary)}.sp-dwg-pin{position:absolute;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:50%;background:var(--primary);color:#fff;border:2px solid #fff;display:grid;place-items:center;font-size:11px;font-weight:700;font-family:var(--font-mono);box-shadow:0 2px 5px #0003}.sp-dwg-pin.miss{background:var(--error, #9a3636)}.sp-dwg-hint{position:absolute;bottom:8px;right:8px;font-size:10.5px;line-height:1.2;color:var(--text-secondary);background:var(--card);border:1px solid var(--border);border-radius:7px;padding:3px 8px;opacity:0;transition:opacity .12s}.sp-dwg-frame:hover .sp-dwg-hint{opacity:1}.sp-dwg-cap{font-size:11px;color:var(--text-tertiary);margin-top:6px;text-align:center}.sp-map-wrap{flex:1;min-width:0}@media(max-width:900px){.sp-drawing-row{flex-direction:column}.sp-dwg-panel{align-self:center}}.dwg-preview{position:relative;line-height:0}.dwg-preview canvas{display:block;max-width:100%}.dwg-preview-msg{min-height:180px;display:grid;place-items:center;padding:24px 12px;font-size:12px;color:var(--text-tertiary);background:var(--surface-muted)}.sp-dwg-nav{display:inline-flex;align-items:center;gap:4px;margin-right:4px}.sp-dwg-nav button{border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:5px;width:20px;height:18px;line-height:1;cursor:pointer;font-size:12px;padding:0}.sp-dwg-nav button:disabled{opacity:.4;cursor:default}.sp-dwg-dot{color:var(--text-tertiary);margin-left:2px}.sp-dwg-pin.hl{outline:2px solid var(--text-primary);z-index:3;transform:translate(-50%,-50%) scale(1.15)}.sp-map-row.hl{background:var(--primary-soft, rgba(47,95,208,.08))}.si-head{margin:26px 0 10px}.si-head h2{margin:0 0 2px;font-size:17px;font-weight:700}.si-head-sub{font-size:12.5px;color:var(--ink-muted, #6b7280)}.si-group-empty{padding:9px 14px;font-size:12px;color:var(--ink-soft, #9aa1ab);font-style:italic}.si-group-add{display:flex;align-items:center;gap:7px;padding:8px 12px;border-top:1px dashed var(--hair, #eceef1)}.si-group-add input{flex:1;min-width:0;font-size:12.5px;padding:6px 9px;border:1px solid var(--border, #d5d8dd);border-radius:7px;background:var(--card, #fff);color:inherit}.si-group-notes .si-val{white-space:normal;line-height:1.45}.si-edit{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.si-edit input{flex:1;min-width:0;font-size:12.5px;padding:5px 8px;border:1px solid var(--accent, #2f5fd0);border-radius:6px;background:var(--card, #fff);color:inherit}.si-val{cursor:text}.specplan-page.sp2{max-width:none;padding:16px 20px}.sp2-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.sp2-head-id h1{margin:0;font-size:19px;display:flex;align-items:baseline;gap:10px}.sp2-partqty{display:inline-flex;align-items:baseline;gap:7px;font-size:12px;font-weight:500;color:var(--ink-muted)}.sp2-partqty-pn{font-family:var(--font-mono, monospace);font-size:12px;color:var(--ink)}.sp2-sub{font-size:12px;color:var(--text-tertiary, #9aa1ab)}.sp2-roll{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--text-tertiary, #9aa1ab);margin-left:auto}.sp2-roll b{color:var(--text-primary, #1d1f24);font-size:13px}.sp2-roll i{font-style:normal;color:var(--text-tertiary, #9aa1ab)}.sp2-actions{display:flex;gap:7px;flex:none}.sp2-ws{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:14px;height:calc(100vh - 235px);min-height:560px}.sp2-canvas{min-width:0;display:flex;flex-direction:column;gap:6px}.sp2-canvas>.edv-overlay.edv-embedded{flex:1;min-height:0}.sp2-canvas-hint{font-size:11px;color:var(--text-tertiary, #9aa1ab);text-align:center}.sp2-nodrawing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--border, #d5d8dd);border-radius:12px;color:var(--text-tertiary, #9aa1ab);font-size:13.5px}.sp2-nodrawing-ico{font-size:40px}.sp2-nodrawing a{color:var(--primary, #2f5fd0)}.sp2-side{overflow:auto;min-width:0;display:flex;flex-direction:column;gap:12px;padding-right:2px}.sp2-sec{border:1px solid var(--border, #d5d8dd);border-radius:12px;background:var(--card, #fff);padding:12px 13px}.sp2-sec-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.sp2-sec-head h3{margin:0;font-size:14px}.sp2-sec-n{font-size:11px;color:var(--text-tertiary, #9aa1ab)}.sp2-empty{font-size:12px;color:var(--text-tertiary, #9aa1ab);padding:4px 0}.sp2-ops{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sp2-opcol-h{font-size:10.5px;font-weight:700;margin-bottom:6px}.sp2-oprow{display:flex;justify-content:space-between;gap:6px;font-size:12px;padding:3px 0}.sp2-oprow .dim{color:var(--text-tertiary, #9aa1ab);font-size:10.5px}.sp2-groups{grid-template-columns:1fr;gap:10px}.sp2-add{margin-bottom:10px}.sp2-add select{max-width:130px}@media(max-width:1100px){.sp2-ws{grid-template-columns:1fr;height:auto}.sp2-canvas{height:70vh}.sp2-side{overflow:visible}}.sp2-model{flex:1;min-height:0;position:relative;overflow:hidden;border:1px solid var(--border, #d5d8dd);border-radius:12px;background:#f3f4f6}.sp2-op-add{display:flex;gap:7px;margin-bottom:9px}.sp2-op-add input{flex:1;min-width:0;font-size:12.5px;padding:7px 10px;border:1px solid var(--border, #d5d8dd);border-radius:8px;background:var(--card, #fff);color:inherit}.sp2-oprow{position:relative}.sp2-oprow .sp2-op-x{opacity:0;transition:opacity .12s}.sp2-oprow:hover .sp2-op-x{opacity:1}.sp2-mat{border-left:3px solid var(--primary, #2f5fd0)}.sp2-mat-row{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid var(--divider, #eceef1)}.sp2-mat-row:last-child{border-bottom:none}.sp2-mat-l{flex:none;width:104px;font-family:var(--font-mono, monospace);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary, #9aa1ab);padding-top:6px}.sp2-mat-chips{flex:1;display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.sp2-mat-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:4px 11px;border-radius:20px;cursor:text;background:#2f5fd014;color:var(--primary, #2f5fd0);border:1px solid transparent}.sp2-mat-chip.finish,.sp2-mat-chip.tolerance{background:var(--surface-muted, #f2f3f5);color:var(--text-primary, #1d1f24)}.sp2-mat-chip.makefrom{background:var(--surface-muted, #f2f3f5);color:var(--text-secondary, #5c6370);border-color:var(--hair, #e2e4e8);cursor:default;font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp2-mat-chip.unconfirmed{border-color:#e5a50a;background:#e5a50a14}.sp2-chip-ok,.sp2-chip-x,.sp2-chip-go{border:none;background:none;cursor:pointer;font-size:10px;padding:0;color:inherit;opacity:.55;transition:opacity .12s}.sp2-chip-ok:hover,.sp2-chip-x:hover,.sp2-chip-go:hover{opacity:1}.sp2-mat-quotes{margin-left:auto;border:none;background:none;cursor:pointer;font-size:11px;font-weight:600;color:var(--primary, #2f5fd0);padding:2px 6px;border-radius:6px;white-space:nowrap;opacity:.8;transition:opacity .12s,background .12s}.sp2-mat-quotes:hover{opacity:1;background:#2f5fd014}.sp2-mat-record{margin-left:auto}.sp2-mat-record+.sp2-mat-quotes{margin-left:0}.sp2-mat-price{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;padding:4px 11px;border-radius:20px;background:#228b5e1a;color:#1c7a52;border:1px solid rgba(34,139,94,.25)}.sp2-mat-price:hover{background:#228b5e29}.sp2-mat-price b{font-family:var(--font-mono, monospace);font-size:12.5px}.sp2-mat-price-v,.sp2-mat-price-l{color:var(--text-secondary, #5c6370)}.sp2-mat-price-n{font-size:11px;color:var(--text-tertiary, #9aa1ab)}.sp2-rp-hint{font-size:12px;color:var(--text-secondary, #5c6370);margin:0 0 12px}.sp2-rp-row{display:flex;gap:10px;flex-wrap:wrap}.sp2-rp-row .sp2-rp-field{flex:1 1 140px}.sp2-rp-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary, #9aa1ab);font-family:var(--font-mono, monospace)}.sp2-rp-field input,.sp2-rp-field select{font-family:var(--font-sans, inherit);font-size:13px;text-transform:none;letter-spacing:normal;color:var(--text-primary, #1d1f24);padding:7px 9px;border-radius:8px;background:var(--card, #fff);border:1px solid var(--border, #d5d8dd)}.sp2-rp-field input:focus,.sp2-rp-field select:focus{outline:none;border-color:var(--primary, #2f5fd0)}.sp2-rp-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.sp2-mat-edit{font-size:12px;border:none;background:none;outline:none;width:130px;color:inherit}.sp2-mat-add{font-size:11.5px;padding:4px 10px;border-radius:20px;min-width:140px;border:1px dashed var(--border, #d5d8dd);background:none;color:inherit}.sp2-mat-add:focus{border-style:solid;border-color:var(--primary, #2f5fd0);outline:none}.sp2-oplist{display:flex;flex-direction:column}.sp2-oplist .sp2-oprow{display:flex;align-items:center;gap:9px;padding:6px 0;border-bottom:1px solid var(--divider, #eceef1)}.sp2-oplist .sp2-oprow:last-child{border-bottom:none}.sp2-oprow-name{font-weight:600;font-size:12.5px;flex:none}.sp2-oplist .dim{flex:1;min-width:0;text-align:right}.sp2-more>summary{cursor:pointer;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;list-style:none}.sp2-more>summary:before{content:"▸";color:var(--text-tertiary, #9aa1ab);transition:transform .15s}.sp2-more[open]>summary:before{transform:rotate(90deg)}.sp2-more[open]>summary{margin-bottom:10px}.sp2-geo-btn{font-size:11.5px;padding:4px 11px;border-radius:20px;cursor:pointer;margin-left:auto;border:1px solid var(--primary, #2f5fd0);background:none;color:var(--primary, #2f5fd0)}.sp2-geo-btn:disabled{opacity:.6}.sp2-geo-chips{display:flex;flex-wrap:wrap;gap:6px}.sp2-geo-chip{font-size:11.5px;padding:4px 10px;border-radius:8px;background:var(--surface-muted, #f2f3f5);border:1px solid var(--divider, #eceef1);font-family:var(--font-mono, monospace)}.sp2-geo-chip.hot{background:#2f5fd014;color:var(--primary, #2f5fd0);border-color:transparent;font-weight:600}.sp2-geo-chip.dim{color:var(--text-tertiary, #9aa1ab)}.sp2-geo-status{font-size:11px;color:var(--text-tertiary, #9aa1ab);margin-left:auto}.sp2-geo-status.failed{color:#b03a2e}.sp2-geo-status~.sp2-geo-btn{margin-left:8px}.sp2-geo-derive{margin-top:9px;width:100%;font-size:12px;padding:7px;border-radius:8px;cursor:pointer;border:1px dashed var(--primary, #2f5fd0);background:#2f5fd00a;color:var(--primary, #2f5fd0);font-weight:600}.sp2-geo-derive:hover{background:#2f5fd017;border-style:solid}.sp2-stock{border-left:3px solid #8a63c9}.sp2-stock-lib{font-size:10.5px;padding:2px 8px;border-radius:5px;background:#8a63c91a;color:#6b4aa3;font-family:var(--font-mono, monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sp2-stock-makefrom{font-size:12px;color:var(--text-secondary, #5c6370);padding:6px 9px;margin-bottom:8px;background:var(--surface-muted, #f2f3f5);border:1px solid var(--hair, #e2e4e8);border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp2-stock-bbox{display:flex;align-items:center;gap:8px;padding:5px 0;min-width:0;flex-wrap:wrap}.sp2-stock-l{flex:none;width:104px;font-family:var(--font-mono, monospace);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary, #9aa1ab)}.sp2-stock-src{font-size:10px;padding:1px 7px;border-radius:10px;white-space:nowrap}.sp2-stock-src.auto{background:#22a06b1a;color:#1a7f4e}.sp2-stock-src.manual{background:#e5a50a1f;color:#8a6d00}.sp2-stock-bboxedit{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:4px 0}.sp2-stock-bboxfield{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary, #9aa1ab)}.sp2-stock-bboxfield input{width:64px;font-size:12px;padding:4px 7px;border:1px solid var(--border, #d5d8dd);border-radius:7px;background:var(--card, #fff);color:inherit}.sp2-stock-bboxfield.wide input{width:76px}.sp2-stock-unit{font-size:11px;color:var(--text-tertiary, #9aa1ab)}.sp2-stock-presets{display:flex;gap:5px}.sp2-stock-preset{font-size:11px;padding:3px 10px;border-radius:20px;cursor:pointer;border:1px solid var(--border, #d5d8dd);background:none;color:var(--text-secondary, #5c6370)}.sp2-stock-preset.is-active{border-color:#8a63c9;background:#8a63c914;color:#6b4aa3;font-weight:600}.sp2-stock-opts{display:flex;flex-direction:column;gap:5px;margin-top:7px}.sp2-stock-opt{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-size:12px;padding:6px 10px;border-radius:9px;cursor:pointer;border:1px solid var(--border, #d5d8dd);background:var(--card, #fff);color:inherit}.sp2-stock-opt:hover{border-color:#8a63c9}.sp2-stock-opt.is-selected{border-color:#8a63c9;background:#8a63c912;box-shadow:inset 2px 0 #8a63c9}.sp2-stock-opt-name{font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.sp2-stock-opt-dims{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-secondary, #5c6370);white-space:nowrap}.sp2-stock-tag{font-style:normal;font-weight:600;font-size:9.5px;padding:1px 7px;border-radius:10px;background:var(--surface-muted, #f2f3f5);color:var(--text-tertiary, #9aa1ab);white-space:nowrap}.sp2-stock-tag.hot{background:#8a63c91f;color:#6b4aa3}.sp2-stock-confirm-row{display:flex;gap:7px;margin-top:9px}.sp2-stock-confirm{flex:1;font-size:12.5px}.sp2-stock-saved{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;min-width:0}.sp2-stock-saved-dims{font-family:var(--font-mono, monospace);font-size:11.5px;color:var(--text-secondary, #5c6370)}.sp2-stock-adjust{margin-top:4px}.sp2-stock-adjust>summary{cursor:pointer;font-size:11px;color:var(--text-tertiary, #9aa1ab);list-style:none}.sp2-stock-adjust>summary:before{content:"▸ "}.sp2-stock-adjust[open]>summary:before{content:"▾ "}.sp2-stock-optlist{display:flex;flex-direction:column;gap:6px;margin-top:7px}.sp2-stock-optcard{border:1px solid var(--border, #e2e5ea);border-radius:8px;padding:7px 9px;cursor:pointer;background:var(--card, #fff);transition:border-color .12s,box-shadow .12s}.sp2-stock-optcard:hover{border-color:#8a63c9}.sp2-stock-optcard.is-selected{border-color:#8a63c9;background:#8a63c912;box-shadow:inset 2px 0 #8a63c9}.sp2-stock-optcard.is-candidate{border-style:dashed}.sp2-stock-optcard-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.sp2-stock-optstar{border:none;background:none;cursor:pointer;font-size:15px;line-height:1;color:var(--text-tertiary, #9aa1ab);padding:0}.sp2-stock-optstar:hover:not(:disabled){color:#c99a1e}.sp2-stock-optstar.is-primary{color:#d9a417;cursor:default}.sp2-stock-optform{font-weight:600;font-size:12.5px}.sp2-stock-optdims{font-family:var(--font-mono, monospace);font-size:11.5px;color:var(--text-secondary, #5c6370);white-space:nowrap}.sp2-stock-nodims{color:var(--text-tertiary, #9aa1ab);font-style:italic}.sp2-stock-optsrc{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:20px}.sp2-stock-optsrc.src-drawing{background:#8a63c921;color:#6b4aa3}.sp2-stock-optsrc.src-suggested{background:#78829121;color:#5c6370}.sp2-stock-optsrc.src-manual{background:#2f5fd01f;color:#2f5fd0}.sp2-stock-optchip{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:20px;background:#e5a50a1f;color:#8a6d00}.sp2-stock-optactions{display:flex;align-items:center;gap:5px;margin-left:auto}.sp2-stock-optquote{font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;cursor:pointer;border:1px solid rgba(138,99,201,.4);background:#8a63c90f;color:#6b4aa3;white-space:nowrap}.sp2-stock-optquote:hover{background:#8a63c924}.sp2-stock-optrfqs{font-size:11px;color:var(--text-tertiary, #9aa1ab);margin-top:5px;padding-left:23px}.sp2-stock-addopt{align-self:flex-start;margin-top:2px;font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:7px;cursor:pointer;border:1px dashed rgba(138,99,201,.5);background:none;color:#6b4aa3}.sp2-stock-addopt:hover{background:#8a63c912;border-style:solid}.sp2-requote{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;cursor:pointer;border:1px solid rgba(34,160,107,.4);background:#22a06b14;color:#1a7f4e;white-space:nowrap}.sp2-requote:hover{background:#22a06b26}.ph-scrim{position:fixed;inset:0;z-index:1000;background:#0f111573;display:flex;align-items:center;justify-content:center;padding:24px}.ph-panel{background:var(--card, #fff);border-radius:14px;padding:16px 18px;width:min(640px,100%);max-height:80vh;overflow:auto;box-shadow:0 18px 50px #00000040}.ph-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ph-head h3{margin:0;font-size:15px}.ph-head .mono{font-family:var(--font-mono, monospace);color:var(--text-secondary, #5c6370);font-size:13px}.ph-x{margin-left:auto;border:none;background:none;cursor:pointer;font-size:13px;opacity:.6}.ph-x:hover{opacity:1}.ph-rev-callout{font-size:12px;padding:8px 11px;border-radius:8px;margin-bottom:10px;background:#e5a50a1a;color:#8a6d00;border:1px solid rgba(229,165,10,.3)}.ph-empty{font-size:12.5px;color:var(--text-tertiary, #9aa1ab);padding:10px 0}.ph-table{width:100%;border-collapse:collapse;font-size:12.5px}.ph-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary, #9aa1ab);padding:4px 8px;border-bottom:1px solid var(--divider, #eceef1)}.ph-table td{padding:7px 8px;border-bottom:1px solid var(--divider, #eceef1)}.ph-table tr:last-child td{border-bottom:none}.ph-table tr.is-current{background:#2f5fd00d}.ph-table .mono{font-family:var(--font-mono, monospace)}.ph-you{font-style:normal;font-size:10px;color:var(--primary, #2f5fd0);margin-left:5px}.ph-table a{color:var(--primary, #2f5fd0);text-decoration:none}.ph-table a:hover{text-decoration:underline}.sp2-carry{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:9px 13px;border-radius:10px;font-size:12.5px;background:#22a06b12;border:1px solid rgba(34,160,107,.25);color:var(--text-primary, #1d1f24)}.sp2-carry>span{flex:1;min-width:0}.sp2-carry-go{font-size:12px;padding:5px 13px;white-space:nowrap}.sp2-carry-more{border:none;background:none;cursor:pointer;font-size:11.5px;font-weight:600;color:#1a7f4e;white-space:nowrap;padding:2px 6px}.sp2-carry-more:hover{text-decoration:underline}.sp2-carry-x{border:none;background:none;cursor:pointer;opacity:.5;font-size:11px}.sp2-carry-x:hover{opacity:1}.ph-pull{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:14px;cursor:pointer;border:1px solid rgba(34,160,107,.4);background:#22a06b12;color:#1a7f4e;white-space:nowrap}.ph-pull:hover{background:#22a06b24}.ph-pull:disabled{opacity:.6;cursor:default}.triage-page{max-width:1040px;margin:0 auto}.tri-empty{padding:60px 0;text-align:center;color:var(--text-secondary)}.tri-hello{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.tri-hello h1{font-size:26px;font-weight:600;color:var(--text);margin:0}.tri-sub{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-top:4px}.tri-bell{font-size:12px}.tri-stats{display:flex;gap:28px}.tri-stat{text-align:right}.tri-stat-l{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-family:monospace}.tri-stat-v{font-size:20px;font-weight:600;color:var(--text);margin-top:2px}.tri-funnel{margin-bottom:26px}.tri-segs{display:flex;gap:4px;margin-bottom:9px}.tri-seg{flex:1;height:8px;border-radius:3px;background:var(--surface-muted);border:1px solid var(--border);transition:background .15s,border-color .15s}.tri-seg.bid{background:var(--success, #3f7d4e);border-color:var(--success, #3f7d4e)}.tri-seg.out{background:var(--warning, #bf6a23);border-color:var(--warning, #bf6a23)}.tri-seg.pass{background:var(--text-tertiary);border-color:var(--text-tertiary)}.tri-tally{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--text-secondary)}.tri-pill{display:inline-flex;align-items:center;gap:6px}.tri-pill i{width:9px;height:9px;border-radius:2px;display:inline-block}.tri-pill.bid i{background:var(--success, #3f7d4e)}.tri-pill.out i{background:var(--warning, #bf6a23)}.tri-pill.pass i{background:var(--text-tertiary)}.tri-left{margin-left:auto;font-weight:600;color:var(--text)}.tcard{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;animation:tslide .18s ease}@keyframes tslide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid var(--border)}.tc-jobno{font-family:monospace;font-size:11px;letter-spacing:.04em;color:var(--text-tertiary)}.tc-head-ai{display:inline-flex;align-items:center;gap:12px}.ai-tag{display:inline-flex;align-items:center;gap:6px;font-family:monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);border:1px solid var(--primary);border-radius:20px;padding:2px 9px;background:var(--primary-light)}.conf{display:inline-flex;align-items:center;gap:8px}.conf .lab{font-family:monospace;font-size:10px;letter-spacing:.04em;color:var(--text-secondary)}.conf .dots{display:inline-flex;gap:3px}.conf .dots i{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--text-tertiary)}.conf .pct{font-family:monospace;font-size:12px;font-weight:600}.conf.high .dots i.on{background:var(--success, #3f7d4e);border-color:var(--success, #3f7d4e)}.conf.high .pct{color:var(--success, #3f7d4e)}.conf.med .dots i.on{background:var(--warning, #bf6a23);border-color:var(--warning, #bf6a23)}.conf.med .pct{color:var(--warning, #bf6a23)}.conf.low .dots i.on{background:#9a3636;border-color:#9a3636}.conf.low .pct{color:#9a3636}.tc-info-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tc-est{font-size:18px;font-weight:600;color:var(--text);white-space:nowrap}.tc-est-l{font-size:10px;font-weight:400;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-left:4px}.tc-body{display:flex;gap:18px;padding:18px;align-items:stretch}.tc-thumb{width:220px;flex:none;display:flex;flex-direction:column;gap:9px}.tc-thumb-box{height:190px;border:1px solid var(--border);border-radius:8px;display:grid;place-items:center;font-size:48px;color:var(--text-tertiary);background:repeating-linear-gradient(45deg,var(--surface-muted) 0 9px,transparent 9px 18px)}.tc-files{display:flex;gap:7px;flex-wrap:wrap}.tc-chip{font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary);text-transform:capitalize}.tc-info{flex:1;min-width:0;display:flex;flex-direction:column}.tc-cust{font-size:20px;font-weight:600;color:var(--text)}.tc-part{font-size:14px;color:var(--text);margin-top:2px}.tc-part .pn{font-family:monospace;font-size:12px;color:var(--text-secondary)}.tc-facts{display:grid;grid-template-columns:repeat(4,auto);margin:16px 0;border:1px solid var(--divider);border-radius:8px;overflow:hidden;width:fit-content}.tc-fact{padding:8px 18px 9px;border-right:1px solid var(--divider)}.tc-fact:last-child{border-right:none}.tc-fact .l{font-family:monospace;font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.tc-fact .v{font-size:14px;margin-top:2px;white-space:nowrap;color:var(--text)}.tc-fact .v.warn{color:var(--warning, #bf6a23);font-weight:600}.tc-ops{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tc-ops-l{font-family:monospace;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin-right:3px}.tc-op{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--primary);color:var(--primary);background:var(--primary-light)}.tc-risk{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:9px 12px;border-radius:8px;font-size:13px;color:var(--text);background:#bf6a2314;border:1px solid var(--warning, #bf6a23)}.tc-risk-tag{font-family:monospace;font-size:9px;letter-spacing:.05em;padding:2px 7px;border-radius:4px;background:var(--warning, #bf6a23);color:#fff;flex:none}.tc-expand{display:inline-flex;align-items:center;gap:7px;margin-top:auto;align-self:flex-start;background:none;border:none;cursor:pointer;color:var(--primary);font-size:13px;padding:4px 0}.tc-expand kbd{font-family:monospace;font-size:11px;border:1px solid var(--border);border-radius:4px;padding:1px 5px}.tdecide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.dbtn{display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;padding:17px 16px;border-radius:11px;border:1.5px solid var(--border);background:var(--surface);font-size:17px;font-weight:600;color:var(--text);transition:all .12s}.dbtn:disabled{opacity:.5;cursor:default}.dbtn .di{font-size:18px}.dbtn .key{font-family:monospace;font-size:11px;border:1px solid var(--text-tertiary);color:var(--text-tertiary);border-radius:5px;padding:2px 8px;font-weight:400}.dbtn:not(:disabled):hover{transform:translateY(-2px)}.dbtn.pass:not(:disabled):hover{border-color:#9a3636;color:#9a3636;background:#9a36360d}.dbtn.pass:not(:disabled):hover .key{border-color:#9a3636;color:#9a3636}.dbtn.out:not(:disabled):hover{border-color:var(--warning, #bf6a23);color:var(--warning, #bf6a23);background:#bf6a230d}.dbtn.out:not(:disabled):hover .key{border-color:var(--warning, #bf6a23);color:var(--warning, #bf6a23)}.dbtn.bid{border-color:var(--success, #3f7d4e);color:#2c6b3d}.dbtn.bid .key{border-color:#3f7d4e;color:#3f7d4e}.dbtn.bid:not(:disabled):hover{background:var(--success, #3f7d4e);color:#fff}.dbtn.bid:not(:disabled):hover .key{border-color:#fff;color:#fff}.tdecide-foot{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:12px;font-size:12px;color:var(--text-tertiary)}.tdecide-foot kbd{font-family:monospace;font-size:11px;border:1px solid var(--border);border-radius:4px;padding:1px 5px}.tp-undo{border:none;background:none;cursor:pointer;color:var(--text-tertiary);font-size:11px;text-decoration:underline}.tri-zero{text-align:center;padding:70px 0}.tri-zero-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:var(--success, #3f7d4e);color:#fff;font-size:28px;display:grid;place-items:center}.tri-zero h2{font-size:22px;font-weight:600;color:var(--text);margin:0 0 6px}.tri-zero p{color:var(--text-secondary);margin-bottom:16px}.tc-thumb-box.has-img{font-size:0;overflow:hidden;padding:0;display:block}.tc-thumb-box.has-img>*{width:100%;height:100%}.tc-thumb-box.has-img img,.tc-thumb-box.has-img canvas{width:100%;height:100%;object-fit:cover;display:block}.work-page{padding:24px;max-width:720px;margin:0 auto}.work-header h1{margin:0 0 6px;font-size:1.75rem;color:var(--text-primary)}.work-sub{margin:0 0 18px;color:var(--text-secondary);font-size:14px}.work-empty{padding:40px;text-align:center;color:var(--text-tertiary)}.work-count{font-size:12.5px;color:var(--text-tertiary);margin-bottom:12px}.work-list{display:flex;flex-direction:column;gap:10px}.work-item{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px 18px;border:1px solid var(--border);border-left-width:3px;border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .12s,transform .05s,box-shadow .12s}.work-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.work-item.sev-action{border-left-color:var(--accent-2, #bf6a23)}.work-item.sev-attention{border-left-color:var(--primary)}.work-item.sev-info{border-left-color:var(--text-tertiary)}.work-icon{font-size:20px;flex:none;width:24px;text-align:center}.work-body{display:flex;flex-direction:column;gap:2px;flex:1}.work-label{font-size:15px;font-weight:700;color:var(--text-primary)}.work-detail{font-size:12.5px;color:var(--text-secondary)}.work-count-badge{flex:none;min-width:30px;height:30px;padding:0 9px;border-radius:15px;background:var(--surface-muted);color:var(--text-primary);font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center}.sev-action .work-count-badge{background:var(--warning-bg);color:var(--warning)}.work-arrow{color:var(--text-tertiary);flex:none}.work-zero{text-align:center;padding:70px 20px}.work-zero-icon{width:56px;height:56px;line-height:56px;margin:0 auto 16px;border-radius:50%;background:var(--success-bg);color:var(--success);font-size:26px;font-weight:800}.work-zero h2{margin:0 0 6px;color:var(--text-primary)}.work-zero p{margin:0;color:var(--text-secondary)}.pipe-page{max-width:1500px;margin:0 auto}.pipe-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.pipe-header h1{margin:0;font-size:1.7rem;color:var(--text)}.pipe-sub{margin:4px 0 0;color:var(--text-secondary);font-size:14px}.pipe-empty{padding:40px;text-align:center;color:var(--text-tertiary)}.pipe-board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:10px}.pipe-col{flex:1;min-width:220px;display:flex;flex-direction:column;gap:10px}.pipe-col-head{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.pipe-col-label{font-size:14px;font-weight:600;color:var(--text)}.pipe-col-n{font-family:monospace;font-size:11px;background:var(--text);color:var(--surface);border-radius:999px;padding:1px 8px}.pipe-col-sub{font-size:11px;color:var(--text-tertiary);text-align:center;margin-top:-4px}.pipe-col-body{display:flex;flex-direction:column;gap:10px}.pipe-col-empty{text-align:center;color:var(--text-tertiary);padding:12px 0}.ppart-thumb{width:34px;height:34px;flex:none;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;color:var(--text-tertiary);font-size:18px;background:repeating-linear-gradient(45deg,var(--surface-muted) 0 6px,transparent 6px 12px)}.ppart-thumb.sm{width:22px;height:22px;font-size:12px}.pchip{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary)}.pchip.warn{border-color:var(--warning, #bf6a23);color:var(--warning, #bf6a23)}.pchip.b{border-color:var(--primary);color:var(--primary)}.pchip.overdue{border-color:var(--error, #c0392b);color:var(--error, #c0392b);font-weight:600}.ppkg{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:10px 11px;cursor:pointer}.ppkg:hover{border-color:var(--primary)}.ppkg-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.ppkg-head b{flex:1 1 auto;min-width:0;font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppkg-id{font-family:monospace;font-size:10.5px;color:var(--text-tertiary);flex:none}.ppkg-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:7px 0}.ppkg-count{display:inline-block}.ppkg-nofiles{font-family:inherit;line-height:inherit;background:transparent;cursor:pointer}.ppkg-nofiles:hover{background:var(--warning-bg, rgba(191, 106, 35, .1))}.ppkg-list{display:flex;flex-direction:column;gap:4px}.ppkg.archived{opacity:.55;background:var(--surface-muted, var(--bg-subtle))}.ppkg.archived:hover{opacity:.8;border-color:var(--primary)}.ppkg-archived-chip{border-color:var(--border);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:10px}.ppkg-menu{position:relative;flex:none;align-self:center}.ppkg-menu-btn{display:grid;place-items:center;width:22px;height:22px;padding:0;border:none;border-radius:5px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color .15s ease,background .15s ease}.ppkg-menu-btn:hover{color:var(--text);background:var(--surface-muted, var(--bg-subtle))}.ppkg-menu-popover{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:150px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column}.ppkg-menu-item{padding:7px 10px;border:none;border-radius:6px;background:transparent;color:var(--text);font-size:12.5px;font-family:inherit;text-align:left;white-space:nowrap;cursor:pointer}.ppkg-menu-item:hover:not(:disabled){background:var(--surface-muted, var(--bg-subtle))}.ppkg-menu-item--danger{color:var(--error, #b42318)}.ppkg-menu-item--danger:hover:not(:disabled){background:var(--error-bg, rgba(180, 35, 24, .08))}.ppkg-menu-item:disabled{opacity:.5;cursor:default}.pipe-header .rfq-archive-toggle{height:40px;padding:0 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-secondary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;white-space:nowrap}.pipe-header .rfq-archive-toggle:hover{color:var(--text)}.pipe-header .rfq-archive-toggle.active{background:var(--primary-soft);color:var(--primary);border-color:#c7d2fe}.ppkg-part{display:flex;align-items:center;gap:7px}.ppkg-pn{flex:1;min-width:0;font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppkg-meta{font-family:monospace;font-size:10px;color:var(--text-tertiary);flex:none}.pipe-note{margin-top:14px;font-size:12px;color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.contacts-page{padding:24px;max-width:1200px;margin:0 auto}.contacts-header h1{margin:0 0 6px;font-size:1.75rem;color:var(--text-primary)}.contacts-sub{margin:0 0 18px;color:var(--text-secondary);font-size:14px}.contacts-empty{padding:40px;text-align:center;color:var(--text-tertiary)}.contacts-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.contacts-chips{display:flex;gap:6px}.contacts-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text-secondary);font-size:13px;cursor:pointer}.contacts-chip.on{background:var(--primary-soft);border-color:var(--primary);color:var(--text-primary);font-weight:600}.contacts-chip-n{font-size:11px;color:var(--text-tertiary)}.contacts-search{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:13.5px;min-width:220px}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.contact-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .12s,box-shadow .12s}.contact-card:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-sm)}.contact-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary)}.contact-x{position:absolute;top:8px;right:8px;width:22px;height:22px;line-height:1;display:none;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);font-size:12px;cursor:pointer}.contact-card:hover .contact-x,.contact-x:focus-visible{display:inline-flex}.contact-x:hover{background:var(--danger-bg, rgba(220, 60, 60, .12));color:var(--danger, #d33)}.contact-card-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-right:24px}.contact-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:5px}.contact-kind-customer{background:var(--primary-soft);color:var(--primary)}.contact-kind-vendor{background:var(--warning-bg);color:var(--warning)}.contact-kind-person{background:var(--success-bg);color:var(--success)}.contact-shares{font-size:12px;color:var(--text-tertiary);margin-top:4px}.contact-sub{font-size:12px;color:var(--text-tertiary)}.contact-name{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:3px}.contact-email{font-size:12.5px;color:var(--text-secondary)}.contact-location{font-size:12px;color:var(--text-tertiary);margin-top:2px}.contact-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.contacts-header-actions{display:flex;gap:10px}.cd-page{max-width:820px;margin:0 auto;padding:8px 4px 48px}.cd-topbar{margin-bottom:14px}.cd-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary);text-decoration:none;transition:color .12s}.cd-back:hover{color:var(--primary)}.cd-back-arrow{font-size:15px;line-height:1}.cd-head{padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:22px}.cd-kind{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:5px;margin-bottom:10px}.cd-kind-customer{background:var(--primary-soft);color:var(--primary)}.cd-kind-vendor{background:var(--warning-bg);color:var(--warning)}.cd-kind-person{background:var(--success-bg);color:var(--success)}.cd-name{margin:0;font-size:1.6rem;color:var(--text-primary)}.cd-sub{font-size:13px;color:var(--text-tertiary);margin-top:4px}.cd-contactline{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}.cd-email,.cd-phone,.cd-location{font-size:13px;color:var(--text-secondary)}.cd-email{text-decoration:none}.cd-email:hover{color:var(--primary);text-decoration:underline}.cd-section{margin-bottom:26px}.cd-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 12px}.cd-section-hint{font-size:12px;color:var(--text-tertiary);margin:-6px 0 12px}.cd-quiet{color:var(--text-tertiary);font-size:13px;padding:4px 0}.cd-people{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cd-person{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.cd-person-name{font-size:14px;font-weight:600;color:var(--text-primary)}.cd-primary{margin-left:8px;padding:1px 7px;border-radius:20px;background:var(--primary-soft);color:var(--primary);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cd-person-title{font-size:12px;color:var(--text-tertiary)}.cd-person-email{font-size:12.5px;color:var(--text-secondary);text-decoration:none}.cd-person-email:hover{color:var(--primary);text-decoration:underline}.cd-person-phone{font-size:12.5px;color:var(--text-secondary)}.cd-tags{display:flex;flex-wrap:wrap;gap:6px}.cd-tag{padding:3px 10px;border-radius:20px;background:var(--surface-muted);color:var(--text-secondary);font-size:12px;font-weight:500}.cd-tag-cert{background:var(--primary-soft);color:var(--primary);font-weight:600}.cd-intel-row{font-size:13px;color:var(--text-primary);margin-bottom:4px}.cd-intel-k{display:inline-block;min-width:72px;font-size:11px;color:var(--text-tertiary)}.cd-provenance{font-size:11px;color:var(--text-tertiary);margin-top:8px}.cd-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.cd-stat{display:inline-flex;align-items:baseline;gap:5px;padding:4px 11px;border:1px solid var(--border);border-radius:20px;font-size:11px;font-weight:600;color:var(--text-secondary)}.cd-stat-value{font-size:12.5px;color:var(--text-primary)}.cd-timeline{list-style:none;margin:0;padding:0}.cd-event{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule)}.cd-event:last-child{border-bottom:none}.cd-event-date{flex:0 0 84px;font-size:11.5px;color:var(--text-tertiary)}.cd-type{flex:0 0 68px;text-align:center;padding:1px 8px;border-radius:20px;font-size:10.5px;font-weight:600}.cd-type-rfq{background:var(--primary-soft);color:var(--primary)}.cd-type-po{background:var(--warning-bg);color:var(--warning)}.cd-type-quote{background:var(--success-bg);color:var(--success)}.cd-type-material{background:#1f7a761f;color:#1f7a76}.cd-type-email{background:#6a4ca81f;color:var(--sent)}.cd-type-share{background:var(--surface-muted);color:var(--text-secondary)}[data-theme=dark] .cd-type-material{color:#6fc7c2}[data-theme=dark] .cd-type-email{color:#a88fe0}.cd-event-main{flex:1;min-width:0}.cd-event-verb{font-size:13px;font-weight:600;color:var(--text-primary);margin-right:7px}.cd-event-title{font-size:13px;color:var(--text-secondary);overflow-wrap:anywhere}.cd-event-link{font-size:13px;color:var(--primary);text-decoration:none;overflow-wrap:anywhere;transition:color .12s}.cd-event-link:hover{color:var(--primary-hover);text-decoration:underline}.cd-event-detail{font-size:12px;color:var(--text-tertiary);margin-top:1px}.prt{margin-bottom:18px}.prt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.prt-head h3{margin:0;font-size:15px}.prt-sub{font-size:12px;color:var(--ink-muted, #6b7280)}.prt-gap{font-size:12px;padding:8px 12px;border-radius:9px;margin-bottom:8px;background:#e5a50a1a;color:#8a6d00}.prt-gap a{color:inherit;font-weight:600}.prt-unmatched{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.prt-warnchip{display:inline-block;font-size:11px;padding:4px 10px;border-radius:999px;background:#e5a50a17;color:#8a6d00;border:1px solid rgba(229,165,10,.35)}.prt-empty{font-size:12.5px;color:var(--ink-muted, #6b7280);padding:10px 0}.prt-inline{border:none;background:none;color:var(--accent, #2f5fd0);cursor:pointer;font-size:12.5px;padding:0;text-decoration:underline}.prt-sourcing{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:8px}.prt-src-label{font-family:var(--font-mono, monospace);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft, #9aa1ab)}.prt-src-item{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:4px 10px;border:1px solid var(--hair, #eceef1);border-radius:999px;color:var(--ink, #1d1f24);text-decoration:none;background:var(--card, #fff);transition:border-color .12s}.prt-src-item:hover{border-color:var(--accent, #2f5fd0)}.prt-src-sw{width:8px;height:8px;border-radius:2px;flex:none}.prt-src-sw.mat{background:#4a82c0}.prt-src-sw.osp{background:#7a51cc}.prt-src-pill{font-family:var(--font-mono, monospace);font-size:9px;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:20px;background:#2f5fd01a;color:var(--accent, #2f5fd0)}.prt-src-pill.awarded{background:#22a06b1f;color:#1c7a54}.prt-src-n{font-size:10px;color:var(--ink-muted, #6b7280)}.prt-src-qtywarn{font-size:10.5px;font-weight:600;padding:1px 8px;border-radius:20px;background:var(--warning-bg, #fdf3ee);color:var(--warning-text, #8a4a16)}.prt-cost{margin-top:8px;font-family:var(--font-mono, monospace);font-size:11px;color:var(--ink-muted, #6b7280)}.prt-cost b{color:var(--ink, #1d1f24)}.prt-cost-missing{color:#8a6d00}.prt-routing{border:1px solid var(--line, #d5d8dd);border-radius:10px;background:var(--card, #fff);padding:11px 13px;margin-top:8px;cursor:pointer;transition:all .14s}.prt-routing:hover{border-color:var(--accent, #2f5fd0)}.prt-routing.sel{border-color:var(--accent, #2f5fd0);box-shadow:0 0 0 1px var(--accent, #2f5fd0);background:linear-gradient(180deg,rgba(47,95,208,.05),transparent 80%),var(--card, #fff);cursor:default}.prt-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.prt-radio{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink-soft, #9aa1ab);flex:none}.prt-routing.sel .prt-radio{border-color:var(--accent, #2f5fd0);background:radial-gradient(circle,var(--accent, #2f5fd0) 0 38%,transparent 42%)}.prt-name{font-size:12.5px}.prt-tag{font-family:var(--font-mono, monospace);font-size:9px;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:20px;background:var(--surface-muted, #f2f3f5);color:var(--ink-muted, #6b7280)}.prt-routing.sel .prt-tag{background:#2f5fd01f;color:var(--accent, #2f5fd0)}.prt-acts{margin-left:auto}.prt-x{border:none;background:none;color:var(--ink-soft, #9aa1ab);cursor:pointer;font-size:11px}.prt-x:hover{color:#b03a2e}.prt-steps{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:9px}.prt-stepwrap{display:inline-flex;align-items:center;gap:4px}.prt-step{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;border:1px solid var(--hair, #eceef1);border-radius:8px;padding:5px 9px}.prt-step.home{box-shadow:inset 3px 0 #22a06b}.prt-step.out{box-shadow:inset 3px 0 #e5a50a}.prt-step.unk{box-shadow:inset 3px 0 #9aa1ab}.prt-step.gap{border-color:#e5a50a;background:#e5a50a0f}.prt-seq{font-family:var(--font-mono, monospace);font-size:9px;color:var(--ink-soft, #9aa1ab)}.prt-op{font-weight:600}.prt-mach{color:var(--ink-muted, #6b7280)}.prt-mach-sel{font-size:11px;padding:2px 5px;border-radius:6px;border:1px solid var(--hair, #eceef1);background:var(--surface-muted, #f7f8f9);color:var(--ink, #1d1f24)}.prt-setup{font-size:9.5px;color:var(--ink-soft, #9aa1ab)}.prt-quotes{border:none;background:none;cursor:pointer;padding:0 2px;font-size:10px;font-weight:600;color:var(--accent, #2f5fd0);white-space:nowrap;opacity:.75;transition:opacity .12s}.prt-quotes:hover{opacity:1;text-decoration:underline}.prt-arrow{color:var(--ink-soft, #9aa1ab);font-size:11px}.prt-why{margin-top:8px;font-size:11px;color:var(--ink-muted, #6b7280)}.prt-warn{margin-top:5px;font-size:11px;color:#8a6d00;background:#e5a50a17;padding:4px 9px;border-radius:7px}.prt-lead{font-family:var(--font-mono, monospace);font-size:10.5px;color:var(--ink-muted, #6b7280)}.prt-routing.sel .prt-lead{color:var(--accent, #2f5fd0);font-weight:700}.prt-gantt{margin-top:11px;cursor:default}.prt-gantt-head{display:flex}.prt-gwk{font-family:var(--font-mono, monospace);font-size:9px;color:var(--ink-soft, #9aa1ab);border-left:1px solid var(--hair, #eceef1);padding:2px 0 2px 4px}.prt-gantt-track{position:relative;height:26px;border:1px solid var(--hair, #eceef1);border-radius:7px;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),var(--hair, #eceef1) calc(20% - 1px) 20%);overflow:hidden}.prt-gseg{position:absolute;top:3px;bottom:3px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono, monospace);font-size:9px;color:#fff;white-space:nowrap;overflow:hidden;padding:0 3px}.prt-gseg.g-mat{background:linear-gradient(90deg,#3a6ea5,#4a82c0)}.prt-gseg.go{cursor:pointer;transition:filter .12s}.prt-gseg.go:hover{filter:brightness(1.12)}.prt-gseg.g-prog{background:linear-gradient(90deg,#b8762b,#d18a2f)}.prt-gseg.g-mach{background:linear-gradient(90deg,#2c4dc4,#3a5fdc)}.prt-gantt-track.lanes{height:38px}.prt-gseg.l-top{bottom:53%}.prt-gseg.l-bot{top:53%}.prt-gseg.g-osp{background:linear-gradient(90deg,#9a6ad0,#7a51cc)}.prt-gseg.g-insp{background:linear-gradient(90deg,#2a9d6f,#1c9a61)}.prt-gantt-foot{display:flex;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap}.prt-glegend{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--ink-muted, #6b7280)}.prt-glegend .sw{width:10px;height:10px;border-radius:3px;display:inline-block}.prt-glegend .sw.g-mat{background:#4a82c0}.prt-glegend .sw.g-prog{background:#d18a2f}.prt-glegend .sw.g-mach{background:#3a5fdc}.prt-glegend .sw.g-osp{background:#7a51cc}.prt-glegend .sw.g-insp{background:#1c9a61}.prt-gtotal{margin-left:auto;font-family:var(--font-mono, monospace);font-size:11px}.prt-gsched{font-size:11px;font-weight:600;color:var(--accent, #2f5fd0);text-decoration:none;white-space:nowrap}.prt-gsched:hover{text-decoration:underline}.rb-loading{padding:24px;color:var(--text-tertiary);font-size:13px}.rb-cta{border:1px solid var(--border);border-radius:12px;background:var(--card);padding:24px 22px;max-width:640px}.rb-cta-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:8px}.rb-cta-h{margin:0 0 8px;font-size:17px;font-weight:600}.rb-cta-h .mono{font-family:var(--font-mono)}.rb-cta-p{margin:0 0 16px;color:var(--text-secondary);font-size:13px;max-width:52ch}.rb-cta-btn{font-size:14px}.rb{display:flex;flex-direction:column;gap:12px}.rb-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px}.rb-head-l{display:flex;flex-direction:column;gap:2px}.rb-title{margin:0;font-size:15px;font-weight:600}.rb-released{font-size:12px;color:var(--text-tertiary)}.rb-rollup{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.rb-chip{font-size:11px;color:var(--text-secondary);background:var(--surface-muted);border:1px solid var(--hair);border-radius:999px;padding:3px 9px}.rb-chip b{color:var(--text);font-weight:600}.rb-reseed{font-size:12px;color:var(--text-secondary);background:var(--card);border:1px solid var(--border);border-radius:8px;padding:4px 10px;cursor:pointer}.rb-reseed:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.rb-reseed:disabled{opacity:.5;cursor:default}.rb-sec{border:1px solid var(--border);border-radius:12px;background:var(--card);padding:12px 13px}.rb-sec-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.rb-sec-head h4{margin:0;font-size:14px;font-weight:600}.rb-sec-n{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono)}.rb-empty{font-size:12px;color:var(--text-tertiary);padding:4px 0 8px}.rb-rows{display:flex;flex-direction:column;gap:4px}.rb-row{display:grid;grid-template-columns:auto minmax(0,1fr) 150px 140px auto;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--hair);border-radius:8px;background:var(--card)}.rb-row:hover{border-color:var(--border)}.rb-row.st-blocked{border-left:3px solid var(--warning)}.rb-status{display:flex;align-items:center;gap:5px}.rb-status-sel{font-size:12px;border-radius:7px;padding:3px 6px;border:1px solid var(--border);cursor:pointer;font-weight:600}.rb-status-sel.st-todo{color:var(--text-secondary)}.rb-status-sel.st-in_progress{color:var(--info);border-color:var(--info)}.rb-status-sel.st-blocked{color:var(--warning-text);border-color:var(--warning)}.rb-status-sel.st-done{color:var(--won);border-color:var(--won)}.rb-auto{font-size:10px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-tertiary);text-transform:uppercase}button.rb-auto-reset{background:none;border:none;cursor:pointer;padding:0;text-transform:none}button.rb-auto-reset:hover:not(:disabled){color:var(--accent)}button.rb-auto-reset:disabled{opacity:.5;cursor:default}.rb-main{display:flex;align-items:baseline;gap:8px;min-width:0;flex-wrap:wrap}.rb-title-text{font-size:13px;color:var(--text);cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-title-edit{font-size:13px;padding:2px 6px;border-radius:6px;min-width:200px;width:100%;max-width:360px}.rb-ref{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono);white-space:nowrap}.rb-vendor{font-size:11px;color:var(--text-secondary)}.rb-assignee,.rb-due{font-size:12px;padding:3px 6px;border-radius:7px;border:1px solid var(--border);max-width:100%}.rb-assignee{cursor:pointer}.rb-del{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:6px;opacity:0;transition:opacity .12s,color .12s}.rb-row:hover .rb-del{opacity:1}.rb-del:hover:not(:disabled){color:var(--warning-text)}.rb-del:disabled{opacity:0}.rb-add{display:flex;gap:6px;margin-top:8px}.rb-add input{flex:1;font-size:12px;padding:5px 9px;border-radius:7px;border:1px solid var(--hair)}.rb-add input:focus{border-color:var(--border);outline:none}.rb-add-btn{font-size:15px;line-height:1;width:30px;border-radius:7px;border:1px solid var(--border);background:var(--card);color:var(--text-secondary);cursor:pointer}.rb-add-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.rb-add-btn:disabled{opacity:.4;cursor:default}@media(max-width:720px){.rb-row{grid-template-columns:auto minmax(0,1fr) auto;row-gap:6px}.rb-assignee{grid-column:2 / 3}.rb-due{grid-column:2 / 4}}.cockpit-page{padding:24px;max-width:900px;margin:0 auto}.ck-header h1{margin:0 0 6px;font-size:1.75rem;color:var(--text-primary)}.ck-sub{margin:0 0 18px;max-width:760px;color:var(--text-secondary);font-size:14px;line-height:1.5}.ck-empty{padding:40px;color:var(--text-tertiary);text-align:center;font-size:14px}.ck-controls{display:flex;align-items:flex-end;gap:14px;margin-bottom:18px;flex-wrap:wrap}.ck-pick{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);flex:1;min-width:240px}.ck-pick select{padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-primary);font-size:13.5px;font-weight:400;text-transform:none;letter-spacing:0}.ck-detail-link{color:var(--primary);font-size:13px;padding-bottom:9px}.ck-rollup{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.ck-stat{flex:1;min-width:110px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}.ck-stat-n{font-size:22px;font-weight:800;color:var(--text-primary)}.ck-stat-n.disp-home-t{color:var(--success)}.ck-stat-n.disp-out-t{color:var(--warning)}.ck-stat-l{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.ck-proposals{display:flex;flex-direction:column;gap:12px}.ck-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;transition:opacity .15s}.ck-card.ck-rejected{opacity:.55}.ck-card.ck-accepted{border-left:3px solid var(--success)}.ck-card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.ck-disp{font-size:10.5px;font-weight:700;letter-spacing:.03em;padding:2px 8px;border-radius:5px}.ck-disp.disp-home{background:var(--success-bg);color:var(--success-text)}.ck-disp.disp-out{background:var(--warning-bg);color:var(--warning)}.ck-disp.disp-unknown{background:var(--surface-muted);color:var(--text-tertiary)}.ck-title{font-size:15px;font-weight:700;color:var(--text-primary)}.ck-conf{margin-left:auto;font-size:12px;font-weight:700;color:var(--text-tertiary)}.ck-badge{font-size:10.5px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:5px}.ck-badge-accepted{background:var(--success-bg);color:var(--success-text)}.ck-badge-rejected{background:var(--error-bg);color:var(--error-text)}.ck-detail{font-size:13.5px;color:var(--text-secondary);margin-bottom:8px}.ck-vendors{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.ck-evidence{font-size:12.5px;color:var(--text-secondary);line-height:1.5;background:var(--surface-muted);border-radius:8px;padding:9px 12px;margin-bottom:12px}.ck-evidence-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--primary);margin-right:8px}.ck-card-actions{display:flex;gap:8px}.ck-accept,.ck-reject,.ck-reset{padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface)}.ck-accept{border-color:var(--success);color:var(--success)}.ck-accept:hover:not(:disabled){background:var(--success-bg)}.ck-reject{border-color:var(--border);color:var(--text-secondary)}.ck-reject:hover:not(:disabled){border-color:var(--error);color:var(--error)}.ck-reset{color:var(--text-secondary)}.ck-accept:disabled,.ck-reject:disabled,.ck-reset:disabled{opacity:.5;cursor:default}.ck-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:12px;background:var(--surface);padding:12px 16px;margin-bottom:14px}.ck-banner-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap}.ck-banner-tag{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);flex:none}.ck-banner-text{font-size:13px;color:var(--text-secondary)}.ck-accept-all{flex:none;white-space:nowrap}.ck-conf-dots{display:inline-flex;gap:3px;align-items:center}.ck-dot{width:7px;height:7px;border-radius:50%;background:var(--surface-muted);border:1px solid var(--border)}.ck-dot.won{background:var(--success);border-color:transparent}.ck-dot.b{background:var(--primary);border-color:transparent}.ck-dot.warn{background:var(--warning);border-color:transparent}.osp-page{padding:24px;max-width:1400px;margin:0 auto}.osp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.osp-header h1{margin:0 0 6px;font-size:1.75rem;color:var(--text-primary)}.osp-sub{margin:0;max-width:720px;color:var(--text-secondary);font-size:14px;line-height:1.5}.osp-empty{padding:40px;color:var(--text-tertiary);text-align:center}.osp-board{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}.osp-col{background:var(--surface-muted);border-radius:12px;padding:8px;min-height:120px}.osp-col-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:6px 8px 10px}.osp-col-n{font-weight:700;color:var(--text-secondary)}.osp-col-body{display:flex;flex-direction:column;gap:8px}.osp-col-empty{text-align:center;color:var(--text-tertiary);font-size:12px;padding:8px}.osp-card{background:var(--surface);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease}.osp-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.osp-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.osp-po-num{font-size:11px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-tertiary);letter-spacing:.03em}.osp-amount{font-size:11px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.osp-op{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.osp-vendor{font-size:12px;color:var(--text-secondary)}.osp-rfq{font-size:11px;color:var(--text-tertiary);margin-top:4px}.osp-card-actions{display:flex;align-items:center;gap:6px;margin-top:8px}.osp-advance{flex:1;padding:5px 8px;min-height:26px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;transition:background .12s ease}.osp-advance:hover:not(:disabled){background:var(--primary-light)}.osp-cancel{border:1px solid transparent;background:transparent;border-radius:6px;min-width:26px;min-height:26px;cursor:pointer;color:var(--text-tertiary);font-size:12px;transition:background .12s ease,color .12s ease}.osp-cancel:hover:not(:disabled){color:var(--error);background:var(--error-bg)}.osp-cancelled{margin-top:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.osp-cancelled-label{font-size:12px;color:var(--text-tertiary)}.osp-modal{background:var(--surface);border-radius:14px;width:100%;max-width:480px;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0,0,0,.25));overflow:hidden}.osp-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--rule)}.osp-modal-x{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:28px;height:28px;cursor:pointer;color:var(--text-secondary);transition:background .12s ease,color .12s ease,border-color .12s ease}.osp-modal-x:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.osp-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.osp-field{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--text-secondary)}.osp-field input,.osp-field select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13.5px;font-weight:400;transition:border-color .12s ease,box-shadow .12s ease}.osp-field input:focus,.osp-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.osp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.osp-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--rule)}@media(max-width:1100px){.osp-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.osp-board{grid-template-columns:1fr}}.osp-header-actions{display:flex;align-items:center;gap:10px}.osp-mkt-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted, var(--surface))}.osp-mkt-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.osp-mkt-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:12px;color:var(--text);cursor:pointer;transition:border-color .12s ease,color .12s ease}.osp-mkt-chip:hover{border-color:var(--primary)}.osp-mkt-status{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.osp-mkt-status.s-open{color:var(--primary)}.osp-mkt-status.s-awarded{color:var(--success)}.osp-mkt-status.s-cancelled,.osp-mkt-status.s-closed{color:var(--text-tertiary)}.osp-mkt-quotes{font-size:11.5px;color:var(--text-tertiary)}.osp-due{font-size:12px;color:var(--text-tertiary);margin-top:4px}.osp-due.late{color:var(--error);font-weight:600}.osp-card.late{border-left:3px solid var(--error)}.osp-card.focused{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light),var(--shadow-md)}.osp-delete{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-tertiary);font-size:12px;padding:2px 8px;min-height:26px;cursor:pointer;transition:background .12s ease,color .12s ease}.osp-delete:hover:not(:disabled){color:var(--error);background:var(--error-bg)}.osp-delete:disabled{opacity:.5;cursor:default}.osp-board-empty{border:1px dashed var(--border);border-radius:12px;padding:42px 24px;text-align:center;color:var(--text-tertiary);font-size:13.5px;max-width:560px;margin:24px auto}.osp-board-empty p{margin:0 0 10px}.osp-board-empty b{color:var(--text)}.osp-field-hint{font-size:11.5px;color:var(--warning-text, var(--text-tertiary));margin-top:3px}.sreq-new-link{text-decoration:none;display:inline-block}.sreq-table-wrap{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;overflow-x:auto}.sreq-table{width:100%;border-collapse:collapse;font-size:.875rem}.sreq-table th{text-align:left;padding:12px 16px;font-size:10.5px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--bg-subtle);white-space:nowrap}.sreq-table td{padding:12px 16px;border-bottom:1px solid var(--divider);color:var(--text-secondary)}.sreq-table tbody tr{cursor:pointer;transition:background .12s ease}.sreq-table tbody tr:hover{background:var(--surface-muted)}.sreq-table tbody tr:last-child td{border-bottom:none}.sreq-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sreq-number{font-family:var(--font-mono);font-weight:600;color:var(--text);white-space:nowrap}.sreq-title{color:var(--text);font-weight:500;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sreq-kind{margin-left:8px}.sreq-pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600;white-space:nowrap}.sreq-pill.review{background:var(--primary-light);color:var(--primary)}.sreq-pill.received{background:var(--success-bg);color:var(--success-text)}.sreq-pill.none{background:var(--surface-muted);color:var(--text-tertiary)}.sreq-overdue{color:var(--error);font-weight:600}.sreq-row-overdue{box-shadow:inset 3px 0 0 var(--error)}.sreq-table tbody tr:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.mkt-page{padding:24px;max-width:1400px;margin:0 auto}.mkt-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.mkt-header h1{margin:0;font-size:1.75rem;color:var(--text)}.mkt-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:.875rem}.mkt-part-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:20px}.mkt-part-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}.mkt-part-head b{font-size:1.05rem;color:var(--text)}.mkt-part-rev{font-size:.8rem;color:var(--text-tertiary);font-family:var(--font-mono)}.mkt-part-meta{font-size:.85rem;color:var(--text-secondary)}.mkt-req-caps{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mkt-req-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.mkt-cap-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 12px;background:var(--primary-light);color:var(--primary-active);border-radius:999px;font-size:.8rem;font-weight:500}.mkt-chip-x{background:none;border:none;color:var(--primary-active);font-size:1rem;cursor:pointer;padding:0;line-height:1;opacity:.7;transition:opacity .12s}.mkt-chip-x:hover{opacity:1}.mkt-cap-add{padding:4px 8px;border:1px dashed var(--border);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:border-color .12s,color .12s}.mkt-cap-add:hover{border-color:var(--primary);color:var(--primary)}.mkt-filters{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:20px}.mkt-filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.mkt-input{height:34px;padding:0 12px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;background:var(--surface);color:var(--text);box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.mkt-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.mkt-input-search{flex:2;min-width:160px}.mkt-dims{display:flex;align-items:center;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.mkt-dims:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.mkt-dims-label{padding:0 10px;font-size:11.5px;color:var(--text-tertiary);white-space:nowrap}.mkt-dims input{width:56px;height:100%;padding:0 8px;border:none;border-left:1px solid var(--hair);border-radius:0;font-size:13px;font-variant-numeric:tabular-nums;background:transparent;color:var(--text);box-sizing:border-box;transition:background .12s}.mkt-dims input:focus{outline:none;background:var(--bg-subtle)}.mkt-cap-filter{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px;border-top:1px solid var(--hair);padding-top:10px}.mkt-cap-filter .checkbox-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:7px;font-size:.82rem;color:var(--text);cursor:pointer;transition:background .12s}.mkt-cap-filter .checkbox-item:hover{background:var(--bg-subtle)}.mkt-cap-filter .checkbox-item input{accent-color:var(--primary)}.mkt-section-title{margin:24px 0 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.mkt-empty-note{color:var(--text-tertiary);font-size:.875rem;font-style:italic}.mkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.mkt-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}.mkt-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.mkt-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);background:var(--primary-soft)}.mkt-card-head{display:flex;align-items:flex-start;gap:10px}.mkt-card-check{margin-top:2px}.mkt-card-check input{cursor:pointer;accent-color:var(--primary)}.mkt-card-title{flex:1;min-width:0}.mkt-card-title h3{margin:0;font-size:1rem;color:var(--text)}.mkt-card-org{font-size:.78rem;color:var(--text-tertiary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mkt-platform-badge{padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600;white-space:nowrap;background:var(--primary-light);color:var(--primary)}.mkt-platform-badge.email{background:var(--warning-bg);color:var(--warning-text)}.mkt-match-flags{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 4px}.mkt-match-flag{padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600;white-space:nowrap;background:var(--warning-bg);color:var(--warning-text);cursor:help}.mkt-match-flag.family{background:var(--primary-light);color:var(--primary)}.mkt-card.disabled{cursor:not-allowed;opacity:.6}.mkt-card.disabled:hover{transform:none;box-shadow:none}.mkt-card-noemail{color:var(--warning-text);white-space:normal}.mkt-card-sendto{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary)}.mkt-card-sendto select{flex:1;min-width:0;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.78rem}.mkt-card-desc{margin:0;font-size:.83rem;color:var(--text-secondary);line-height:1.45}.mkt-card .tag-list{display:flex;flex-wrap:wrap;gap:6px}.mkt-card .tag{padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600}.mkt-card .tag.capability{background:var(--surface-muted);color:var(--text-secondary)}.mkt-card .tag.capability.hit{background:var(--success-bg);color:var(--success-text);font-weight:600}.mkt-card .tag.cert{background:var(--surface-muted);color:var(--text-secondary)}.mkt-card-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:auto;font-size:.78rem;color:var(--text-tertiary)}.mkt-match-count{color:var(--success-text);font-weight:600}.mkt-modal-recipients{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.mkt-recip-list{display:flex;flex-direction:column;gap:8px}.mkt-recip-row{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface)}.mkt-recip-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mkt-recip-name{font-weight:600;color:var(--text);flex:1;min-width:120px}.mkt-recip-modes{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.mkt-recip-mode{background:none;border:none;padding:5px 12px;font-size:.78rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}.mkt-recip-mode+.mkt-recip-mode{border-left:1px solid var(--border)}.mkt-recip-mode.on{background:var(--primary-light);color:var(--primary-active);font-weight:600}.mkt-recip-mode:disabled{opacity:.4;cursor:not-allowed}.mkt-recip-quote{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.mkt-recip-quote label{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.mkt-recip-quote input{width:110px}.mkt-recip-ref{flex:1}.mkt-recip-ref input{width:100%;min-width:140px}.mkt-itar-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.6px;background:var(--error-bg);color:var(--error-text);border:1px solid var(--error)}.mkt-itar-note{margin:8px 0 10px;font-size:.8rem;color:var(--error-text)}.mkt-lines{width:100%;border-collapse:collapse;margin-bottom:8px}.mkt-lines th{text-align:left;font-size:.68rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:0 6px 4px 0}.mkt-lines td{padding:2px 6px 2px 0;vertical-align:middle}.mkt-lines tbody tr{transition:background .12s}.mkt-lines tbody tr:hover{background:var(--bg-subtle)}.mkt-lines input{width:100%;padding:7px 8px;border:1px solid var(--border);border-radius:8px;font-size:.85rem;background:transparent;color:var(--text);box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.mkt-lines input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.mkt-lines-qty{width:80px}.mkt-line-x{color:var(--text-tertiary);transition:color .12s}.mkt-line-x:hover{color:var(--error)}.mkt-add-line{padding:5px 12px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s}.mkt-add-line:hover{border-color:var(--primary);color:var(--primary)}.mkt-matreq{display:flex;flex-direction:column;gap:10px}.mkt-matreq-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mkt-matreq-material{flex:1;min-width:160px}.mkt-matreq-checks{display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap}.mkt-matreq-k{flex:none;width:92px;font-size:.68rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.mkt-matreq-checks .checkbox-inline{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:.82rem;color:var(--text);cursor:pointer}.mkt-matreq-checks .checkbox-inline input{accent-color:var(--primary)}.mkt-kind-chip{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600;white-space:nowrap;background:var(--surface-muted);color:var(--text-secondary)}.modal-content.mkt-request-modal input,.modal-content.mkt-request-modal select,.modal-content.mkt-request-modal textarea{border-radius:8px;transition:border-color .12s,box-shadow .12s}.modal-content.mkt-request-modal input:focus,.modal-content.mkt-request-modal select:focus,.modal-content.mkt-request-modal textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.modal-content.mkt-request-modal .modal-body>.form-row{border-top:1px solid var(--hair);padding-top:14px}.mkt-drawings-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 12px;background:var(--bg-subtle);border-radius:8px}.mkt-drawings-row .checkbox-inline{margin:0}.mkt-drawings-hint{font-size:.78rem;color:var(--text-tertiary)}.mkt-override-nda{color:var(--warning-text)}.mkt-status{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600;white-space:nowrap;background:var(--surface-muted);color:var(--text-secondary)}.mkt-status.open,.mkt-status.pending{background:var(--primary-light);color:var(--primary)}.mkt-status.viewed{background:var(--accent-subtle);color:var(--primary-active)}.mkt-status.quoted{background:var(--success-bg);color:var(--success-text)}.mkt-status.awarded{background:var(--success);color:#fff}.mkt-status.declined,.mkt-status.cancelled{background:var(--error-bg);color:var(--error-text)}.mkt-status.dismissed,.mkt-status.closed,.mkt-status.draft{background:var(--surface-muted);color:var(--text-tertiary)}.fsh-share{margin-bottom:12px}.fsh-share-title{background:none;border:none;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;flex:1}.fsh-members{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.fsh-members li{display:flex;align-items:center;gap:8px;font-size:13px}.fsh-files{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--border, #e2e2e2);display:flex;flex-direction:column;gap:6px}.fsh-files li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.fsh-add-files{margin-top:8px}.mkt-part-clear{margin-left:auto;background:none;border:1px solid var(--border);border-radius:7px;padding:2px 10px;font-size:12px;cursor:pointer;color:var(--text-secondary);transition:border-color .12s,color .12s}.mkt-part-clear:hover{border-color:var(--primary);color:var(--primary)}.mkt-contacts-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.mkt-quick-vendor-btn{background:none;border:1px solid var(--border);border-radius:999px;padding:3px 12px;font-size:12px;cursor:pointer;color:var(--text-secondary);transition:border-color .12s ease,color .12s ease}.mkt-quick-vendor-btn:hover{border-color:var(--primary);color:var(--primary)}.minc{display:grid;grid-template-columns:minmax(300px,1fr) 2fr;gap:14px;padding:20px 24px;height:calc(100vh - 64px);max-width:1600px;margin:0 auto;box-sizing:border-box}.minc-state{padding:28px;text-align:center;color:var(--text-tertiary);font-size:13px}.minc-list,.minc-detail{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}.minc-list-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--hair);flex:none}.minc-list-head b{font-size:14.5px;font-weight:600;color:var(--text)}.minc-list-body{flex:1;overflow-y:auto}.minc-item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:12px 14px;border:none;border-bottom:1px solid var(--hair);background:transparent;cursor:pointer;transition:background-color .12s ease}.minc-item:hover{background:var(--surface-muted)}.minc-item.sel{background:var(--primary-soft);box-shadow:3px 0 0 var(--primary) inset}.minc-item.unseen .minc-item-buyer{font-weight:650}.minc-item.unseen .minc-item-buyer:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--primary);margin-right:7px;vertical-align:middle}.minc-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.minc-item-buyer{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minc-item-title{font-size:13px;color:var(--text-secondary)}.minc-item-meta{display:flex;gap:10px;font-size:12px;color:var(--text-tertiary);flex-wrap:wrap}.minc-item-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.minc-detail-empty{margin:auto}.minc-detail-scroll{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.minc-detail-head{border-bottom:1px solid var(--hair);padding-bottom:12px}.minc-detail-title{font-size:18px;font-weight:650;color:var(--text);margin-bottom:4px}.minc-detail-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.minc-facts{display:flex;gap:24px;flex-wrap:wrap}.minc-facts>div{display:flex;flex-direction:column;gap:2px}.minc-k{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.minc-v{font-size:13px;color:var(--text);font-variant-numeric:tabular-nums}.minc-desc{font-size:13px;color:var(--text-secondary);line-height:1.55;background:var(--surface-muted);border-radius:10px;padding:12px 14px;white-space:pre-wrap}.minc-specs{border-top:1px solid var(--hair);padding:16px 0}.minc-quote{background:var(--primary-soft);border:1px solid var(--primary-light);border-radius:12px;padding:14px 16px}.minc-specs-head{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.minc-specs-grid{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:10px}.minc-specs-grid>div{display:flex;flex-direction:column;gap:2px}.minc-spec-items{display:flex;flex-direction:column;gap:4px}.minc-spec-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:7px;font-size:13px;transition:background-color .12s ease}.minc-spec-item:hover{background:var(--surface-muted)}.minc-kind{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-muted);color:var(--text-secondary);flex:none}.minc-kind.operation{background:var(--primary-light);color:var(--primary)}.minc-kind.finish{background:var(--warning-bg);color:var(--warning-text)}.minc-kind.material{background:var(--success-bg);color:var(--success-text)}.minc-spec-value{color:var(--text);flex:1;min-width:0}.minc-spec-std{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);flex:none}.minc-items{width:100%;border-collapse:collapse;font-size:13px}.minc-items th{text-align:left;padding:0 8px 6px 0;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--hair)}.minc-items td{padding:6px 8px 6px 0;border-bottom:1px solid var(--hair);color:var(--text-secondary);font-variant-numeric:tabular-nums}.minc-items tbody tr:last-child td{border-bottom:none}.minc-item-pn{font-family:var(--font-mono);color:var(--text)}.minc-files{display:flex;flex-direction:column;gap:4px}.minc-file{display:flex;align-items:center;gap:9px;padding:7px 10px;border:none;border-radius:7px;transition:background-color .12s ease}.minc-file:hover{background:var(--surface-muted)}.minc-file-icon{flex:none;font-size:12px;color:var(--text-tertiary)}.minc-file-name{flex:1;min-width:0;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minc-file-type{font-size:10.5px;color:var(--text-tertiary);text-transform:uppercase;flex:none}.minc-file-dl{padding:4px 10px;font-size:11.5px}.minc-detail-error{color:var(--error-text)}.minc-quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:10px}.minc-quote label{display:block;font-size:11.5px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.minc-quote input,.minc-quote textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--surface);color:var(--text);box-sizing:border-box;transition:border-color .13s ease,box-shadow .13s ease}.minc-quote input:focus,.minc-quote textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.minc-quote-notes{margin-bottom:10px}.minc-quote-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.minc-decline-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.minc-decline-box input{width:220px}.minc-btn{padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);white-space:nowrap;transition:background-color .13s ease,border-color .13s ease,color .13s ease,box-shadow .13s ease}.minc-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.minc-btn:disabled{opacity:.5;cursor:not-allowed}.minc-btn.pri{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.minc-btn.pri:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:var(--text-inverse)}.minc-btn.danger:hover:not(:disabled){border-color:var(--error);color:var(--error)}.minc-btn.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.minc-declined-note{margin:0;font-size:13px;color:var(--error-text)}.minc-awarded-note{margin:0;font-size:13px;color:var(--success-text);font-weight:600}.minc-conv-panel{margin-top:12px}@media(max-width:1000px){.minc{grid-template-columns:1fr;height:auto}}.minc-new-badge{padding:2px 9px;border-radius:999px;background:var(--primary);color:var(--text-inverse);font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums}.minc-kind-chip{display:inline-block;padding:2px 9px;border-radius:20px;background:var(--surface-muted);color:var(--text-secondary);font-size:10.5px;font-weight:600;white-space:nowrap}.mch{display:grid;grid-template-columns:minmax(300px,1fr) 2fr;gap:14px;padding:20px 24px;height:calc(100vh - 64px);max-width:1600px;margin:0 auto;box-sizing:border-box}.mch-state{padding:28px;text-align:center;color:var(--text-tertiary);font-size:13px}.mch-list,.mch-thread{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}.mch-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--hair);flex:none}.mch-list-head b{font-size:14.5px;font-weight:600;color:var(--text)}.mch-search{flex:1;min-width:0;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:12.5px;transition:border-color .13s ease,box-shadow .13s ease}.mch-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.mch-list-body{flex:1;overflow-y:auto}.mch-item{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:11px 14px;border:none;border-bottom:1px solid var(--hair);background:transparent;cursor:pointer;transition:background-color .12s ease}.mch-item:hover{background:var(--surface-muted)}.mch-item.sel{background:var(--primary-soft);box-shadow:3px 0 0 var(--primary) inset}.mch-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mch-item-subject{font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mch-item-time{font-size:11px;color:var(--text-tertiary);flex:none;font-variant-numeric:tabular-nums}.mch-item-token{font-family:var(--font-mono);color:var(--primary);font-weight:600}.mch-thread-scroll{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px;overflow:hidden}.mch-thread-scroll>.mconv{flex:1;min-height:0}.mch .mconv-messages{max-height:none;flex:1}.mch-thread-empty{margin:auto}@media(max-width:1000px){.mch{grid-template-columns:1fr;height:auto}}.mch-item.unread .mch-item-subject{font-weight:650}.mch-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--primary);margin-right:6px;vertical-align:middle}.mch-item-sub{display:block;font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oshub{padding:24px;display:flex;flex-direction:column;min-height:calc(100vh - 64px)}.oshub-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.oshub-header h1{margin:0 0 4px;font-size:19px;font-weight:600}.oshub-sub{margin:0;font-size:12.5px;color:var(--text-tertiary)}.oshub-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.oshub-stat{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:12.5px;color:var(--text-secondary);cursor:pointer;transition:border-color .12s ease,color .12s ease}.oshub-stat:hover{border-color:var(--primary);color:var(--primary)}.oshub-stat b{font-size:13px}.oshub-stat.hot{background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 30%,transparent);color:var(--primary)}.oshub-stat.late{background:var(--error-bg);border-color:color-mix(in srgb,var(--error) 30%,transparent);color:var(--error-text, var(--error))}.oshub-tabs{display:flex;gap:2px;margin-top:18px;border-bottom:1px solid var(--border)}.oshub-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:8px 8px 0 0;font-size:13.5px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.oshub-tab:hover{color:var(--text);background:var(--surface-muted)}.oshub-tab.on{color:var(--primary);border-bottom-color:var(--primary)}.oshub-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--primary);color:var(--text-inverse, #fff);font-size:11px;font-weight:700;line-height:18px;text-align:center}.oshub-body{flex:1;min-height:0;padding-top:16px}.oshub .mkt-page,.oshub .osp-page{padding:0}.oshub .mch,.oshub .minc{height:calc(100vh - 250px)}.osp-header-embedded,.mkt-header-embedded{justify-content:flex-end}.std-hub-page{max-width:1500px;margin:0 auto}.std-top{display:flex;align-items:center;gap:16px;margin-bottom:18px}.std-h1{font-size:24px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.std-search-wrap{flex:1;display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.std-search-icon{color:var(--text-tertiary);font-size:14px}.std-search-wrap .std-search{flex:1;border:none;background:none;outline:none;font-size:14px;color:var(--text)}.std-top-count{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.std-hub{display:grid;grid-template-columns:220px minmax(280px,1fr) minmax(360px,1.4fr);gap:16px;align-items:start}.flt-lbl{font-size:13px}.std-sub{font-size:11px;color:var(--text-tertiary)}.std-usedon{margin-left:auto;font-size:10.5px;color:var(--text-tertiary);white-space:nowrap}.sd-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.sd-doc-btn{font-size:12.5px;font-weight:500;padding:6px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);cursor:pointer}.sd-doc-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sd-doc-btn:disabled{opacity:.6;cursor:default}.sd-doc-replace{font-size:12px;padding:6px 10px;border:1px solid var(--border);border-radius:7px;background:none;color:var(--text-secondary);cursor:pointer}.sd-usedon-btn{font-size:12px;color:var(--text-secondary);padding:6px 10px;border:1px solid var(--border);border-radius:7px}.sd-usedparts{display:flex;flex-direction:column;gap:4px}.sd-usedpart{font-size:13px;color:var(--primary);cursor:pointer;text-decoration:none}.sd-usedpart:hover{text-decoration:underline}.sd-usedpart .mono{font-family:monospace;font-size:11px;color:var(--text-tertiary)}.sd-summary-callout{border:1px solid var(--primary);border-left-width:3px;border-radius:8px;background:var(--primary-light);padding:10px 12px}.sd-summary-tag{font-family:monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin-bottom:5px}.sd-summary-callout .sd-summary{color:var(--text)}.sd-vendors-title{margin-top:12px}.std-loading,.std-empty,.sd-empty{padding:40px;color:var(--text-tertiary);font-size:14px}.std-filters{display:flex;flex-direction:column;gap:20px;position:sticky;top:16px}.flt-grp{display:flex;flex-direction:column;gap:2px}.flt-grp-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:6px}.flt{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:7px;font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.flt:hover{background:var(--surface-muted)}.flt.on{background:var(--primary-soft);color:var(--text-primary);font-weight:600}.flt .cnt{margin-left:auto;font-size:11px;color:var(--text-tertiary)}.dotc{width:9px;height:9px;border-radius:50%;flex:none}.body-badge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:5px;background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border)}.body-AMS{background:#2f5fd01f;color:#2f5fd0;border-color:#2f5fd038}.body-ASTM{background:#3f7d4e1f;color:#3f7d4e;border-color:#3f7d4e38}.body-MIL{background:#bf6a231f;color:#bf6a23;border-color:#bf6a2338}.body-ASME{background:#6a4ca81f;color:#6a4ca8;border-color:#6a4ca838}.body-NAS{background:#3f7d4e1f;color:#3f7d4e;border-color:#3f7d4e38}.body-ISO{background:#6a4ca81f;color:#6a4ca8;border-color:#6a4ca838}.body-Customer{background:#2f5fd01f;color:#2f5fd0;border-color:#2f5fd038}[data-theme=dark] .body-AMS,[data-theme=dark] .body-Customer{color:#7ea0e8}[data-theme=dark] .body-ASTM,[data-theme=dark] .body-NAS{color:#74c98c}[data-theme=dark] .body-MIL{color:#e0a05a}[data-theme=dark] .body-ASME,[data-theme=dark] .body-ISO{color:#a98fe0}.cat-chip,.chip{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:20px;background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap}.chip.b{background:var(--primary-soft);color:var(--primary);border-color:transparent}.chip.won{background:var(--success-bg);color:var(--success-text);border-color:transparent}.chip.warn{background:var(--warning-bg);color:var(--warning-text);border-color:transparent}.std-list{display:flex;flex-direction:column;gap:8px}.std-list-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.std-search{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:13.5px}.std-count{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.std-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface);cursor:pointer;transition:border-color .12s,box-shadow .12s}.std-card:hover{border-color:var(--rule-strong)}.std-card.sel{border-color:var(--primary);box-shadow:var(--shadow-sm)}.std-card .r1{display:flex;align-items:center;gap:8px}.std-num{font-weight:700;font-size:13.5px;color:var(--text-primary)}.std-card .r2{font-size:13.5px;color:var(--text-secondary);line-height:1.35}.std-card .r3{display:flex;flex-wrap:wrap;gap:5px}.std-detail{border:1px solid var(--border);border-radius:14px;background:var(--surface);position:sticky;top:16px;overflow:hidden}.sd-head{padding:20px 22px 16px;border-bottom:1px solid var(--rule)}.sd-num-row{display:flex;align-items:center;gap:9px}.sd-num{font-size:18px;font-weight:800;color:var(--text-primary)}.sd-title{font-size:17px;font-weight:600;margin:8px 0;color:var(--text-primary)}.sd-meta{display:flex;flex-wrap:wrap;gap:6px}.sd-body{padding:18px 22px 24px;display:flex;flex-direction:column;gap:20px}.sd-sec-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px}.sd-summary,.sd-applies{font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.sd-callouts{display:flex;flex-direction:column;gap:7px}.sd-callout{display:flex;gap:8px;font-size:13.5px;color:var(--text-secondary);line-height:1.45}.sd-callout .b{color:var(--primary);flex:none}.sd-ops{display:flex;flex-wrap:wrap;gap:6px}.sd-op-list{display:flex;flex-direction:column;gap:7px}.op-imp{display:flex;align-items:center;gap:9px}.op-sub{font-size:12px}.disp{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.03em;padding:2px 8px;border-radius:5px}.disp-home{background:var(--success-bg);color:var(--success-text)}.disp-out{background:var(--warning-bg);color:var(--warning-text)}.disp-unknown{background:var(--surface-muted);color:var(--text-tertiary)}.sd-vendors{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.std-add-btn{padding:8px 14px;white-space:nowrap}.std-list-sub{display:flex;margin-bottom:4px}.sd-delete{margin-left:auto}.std-modal{background:var(--surface);border-radius:14px;width:100%;max-width:560px;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0, 0, 0, .25));overflow:hidden}.std-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--rule)}.std-modal-head h2{margin:0;font-size:17px;color:var(--text-primary)}.std-modal-x{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:28px;height:28px;cursor:pointer;color:var(--text-secondary)}.std-modal-body{padding:18px 22px;overflow-y:auto}.std-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--rule)}.std-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.std-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.std-field label{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.std-field label .dim{font-weight:400;color:var(--text-tertiary)}.std-field input,.std-field select,.std-field textarea{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:13.5px;font-family:inherit}.std-field textarea{resize:vertical}@media(max-width:1024px){.std-hub{grid-template-columns:1fr}.std-filters,.std-detail{position:static}}.sd-parse-note{font-weight:400;font-size:11px;color:var(--primary)}.sd-tags{display:flex;flex-wrap:wrap;gap:6px}.sd-tag{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--primary-soft, rgba(80,90,200,.1));color:var(--primary);border:1px solid var(--primary)}.sd-attrs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px}.sd-attr{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:4px 0;border-bottom:1px solid var(--border)}.sd-attr-k{color:var(--text-secondary);text-transform:capitalize}.sd-attr-v{font-weight:600;text-align:right}.sd-sections{display:flex;flex-direction:column;gap:10px}.sd-section{border:1px solid var(--border);border-radius:8px;padding:9px 11px}.sd-section-h{font-weight:600;font-size:13px;margin-bottom:3px}.sd-section-b{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.std-cat-manage{margin-left:6px;border:none;background:transparent;cursor:pointer;color:var(--text-tertiary);font-size:12px}.std-cat-manage:hover{color:var(--primary)}.cat-chip .dotc{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}.std-cat-list{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto;margin-bottom:12px}.std-cat-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--border)}.std-cat-row input[type=color]{width:30px;height:26px;border:1px solid var(--border);border-radius:6px;padding:0;background:none;cursor:pointer}.std-cat-row input[type=color]:disabled{cursor:not-allowed;opacity:.6}.std-cat-label{flex:1;font-size:13px}.std-cat-default{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.std-cat-add{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.std-cat-add input[type=color]{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;padding:0;background:none;cursor:pointer}.std-cat-add input[type=text],.std-cat-add input:not([type=color]){flex:1;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-primary);font-size:13px}.ho-page{padding:24px;max-width:980px;margin:0 auto}.ho-header h1{margin:0 0 6px;font-size:1.75rem;color:var(--text-primary)}.ho-sub{margin:0 0 16px;max-width:760px;color:var(--text-secondary);font-size:14px;line-height:1.5}.ho-empty{padding:40px;text-align:center;color:var(--text-tertiary)}.ho-controls{margin-bottom:18px}.ho-pick{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);max-width:480px}.ho-pick select{padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-primary);font-size:13.5px;font-weight:400;text-transform:none;letter-spacing:0}.ho-section-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin:22px 0 10px;display:flex;align-items:center;gap:10px}.ho-banner{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--success);border-radius:12px;padding:16px 20px;margin-bottom:4px}.ho-banner-cust{font-size:12px;color:var(--text-tertiary)}.ho-banner-title{font-size:18px;font-weight:700;color:var(--text-primary)}.ho-banner-stats{display:flex;align-items:center;gap:22px}.ho-banner-stats>div{display:flex;flex-direction:column;align-items:center;gap:2px}.ho-stat-n{font-size:20px;font-weight:800;color:var(--text-primary)}.ho-stat-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.ho-status{font-size:11px;font-weight:700;text-transform:capitalize;padding:2px 9px;border-radius:20px;background:var(--surface-muted);color:var(--text-secondary)}.ho-status-won{background:var(--success-bg);color:var(--success-text)}.ho-ready-chip{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px}.ho-ready-chip.ok{background:var(--success-bg);color:var(--success-text)}.ho-ready-chip.warn{background:var(--warning-bg);color:var(--warning)}.ho-checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ho-check{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:13.5px}.ho-check-mark{width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;font-size:12px;font-weight:700;flex:none}.ho-check.ok .ho-check-mark{background:var(--success-bg);color:var(--success)}.ho-check.warn .ho-check-mark{background:var(--warning-bg);color:var(--warning)}.ho-check-label{font-weight:600;color:var(--text-primary)}.ho-check-detail{margin-left:auto;font-size:12px;color:var(--text-tertiary)}.ho-boundary{display:flex;align-items:stretch;gap:14px;margin:16px 0}.ho-col{flex:1;border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--surface)}.ho-col.stays{border-top:3px solid var(--text-tertiary)}.ho-col.goes{border-top:3px solid var(--primary)}.ho-col-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:8px}.ho-col-item{font-size:13px;color:var(--text-secondary);padding:3px 0}.ho-arrow{align-self:center;font-size:22px;color:var(--text-tertiary)}.ho-module{border:1px solid var(--border);border-radius:12px;background:var(--surface);margin-bottom:10px;overflow:hidden}.ho-module-name{font-size:13px;font-weight:700;color:var(--text-primary);padding:11px 16px;border-bottom:1px solid var(--rule)}.ho-count{font-weight:400;color:var(--text-tertiary)}.ho-table{width:100%;border-collapse:collapse}.ho-table td{padding:7px 16px;border-bottom:1px solid var(--hair);font-size:13px;color:var(--text-secondary)}.ho-table tr:last-child td{border-bottom:none}.ho-src{color:var(--text-tertiary);font-family:var(--font-mono);font-size:11.5px}.ho-arrow-cell{color:var(--text-tertiary);width:20px}.ho-tgt{font-weight:600;color:var(--text-primary);font-family:var(--font-mono);font-size:12px}.ho-val{color:var(--text-secondary)}.ho-val.num{text-align:right}.ho-none{padding:14px 16px;color:var(--text-tertiary);font-size:13px}.ho-none a{color:var(--primary)}.ho-actions{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}.ho-last-event{font-size:12px;color:var(--text-tertiary)}@media(max-width:720px){.ho-checklist,.ho-boundary{grid-template-columns:1fr;flex-direction:column}.ho-arrow{transform:rotate(90deg)}}.dist-page{padding:24px;max-width:1000px;margin:0 auto}.dist-header h1{margin:0 0 6px;font-size:1.75rem;color:var(--text-primary)}.dist-sub{margin:0 0 18px;max-width:760px;color:var(--text-secondary);font-size:14px;line-height:1.5}.dist-empty{padding:30px;text-align:center;color:var(--text-tertiary)}.dist-create{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:24px}.dist-create-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.dist-field{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.dist-field-wide{grid-column:span 4}.dist-field input,.dist-field select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:13.5px;font-weight:400;text-transform:none;letter-spacing:0}.dist-profile-note{font-size:12.5px;color:var(--warning);margin-bottom:12px}.dist-links-title{font-size:1.1rem;margin:0 0 12px;color:var(--text-primary)}.dist-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.dist-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);padding:10px 14px;border-bottom:1px solid var(--rule)}.dist-table td{padding:11px 14px;border-bottom:1px solid var(--hair);font-size:13.5px;color:var(--text-secondary)}.dist-table tr.inactive{opacity:.55}.dist-table tr:last-child td{border-bottom:none}.dist-rfq{font-weight:700;color:var(--text-primary)}.dist-status{font-size:11px;font-weight:700;text-transform:capitalize;padding:2px 9px;border-radius:20px}.dist-status-active{background:var(--success-bg);color:var(--success-text)}.dist-status-expired{background:var(--surface-muted);color:var(--text-secondary)}.dist-status-revoked{background:var(--error-bg);color:var(--error-text)}.dist-actions{display:flex;gap:6px}.dist-link-btn{padding:4px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-secondary);font-size:12px;cursor:pointer}.dist-link-btn:hover{border-color:var(--primary);color:var(--primary)}.dist-link-btn.danger:hover{border-color:var(--error);color:var(--error)}@media(max-width:760px){.dist-create-grid{grid-template-columns:1fr 1fr}.dist-field-wide{grid-column:span 2}}.nda-page{padding:24px;max-width:1000px;margin:0 auto}.nda-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.nda-header h1{margin:0 0 6px;font-size:1.75rem;color:var(--text-primary)}.nda-sub{margin:0;max-width:720px;color:var(--text-secondary);font-size:14px;line-height:1.5}.nda-empty{padding:30px;text-align:center;color:var(--text-tertiary)}.nda-tiles{display:flex;gap:12px;margin-bottom:20px}.nda-tile{flex:1;border:1px solid var(--border);border-radius:12px;padding:14px 18px;background:var(--surface);display:flex;flex-direction:column;gap:3px}.nda-tile-n{font-size:24px;font-weight:800}.nda-tile-l{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.nda-tile.ok{border-left:3px solid var(--success)}.nda-tile.ok .nda-tile-n{color:var(--success)}.nda-tile.warn{border-left:3px solid var(--warning)}.nda-tile.warn .nda-tile-n{color:var(--warning)}.nda-tile.alert{border-left:3px solid var(--error)}.nda-tile.alert .nda-tile-n{color:var(--error)}.nda-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.nda-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);padding:10px 14px;border-bottom:1px solid var(--rule)}.nda-table td{padding:11px 14px;border-bottom:1px solid var(--hair);font-size:13.5px;color:var(--text-secondary)}.nda-table tr:last-child td{border-bottom:none}.nda-vendor{font-weight:700;color:var(--text-primary)}.nda-method{font-size:12.5px}.nda-validity{font-size:12px;color:var(--text-tertiary)}.nda-status{font-size:11px;font-weight:700;text-transform:capitalize;padding:2px 9px;border-radius:20px}.nda-status-signed{background:var(--success-bg);color:var(--success-text)}.nda-status-awaiting,.nda-status-draft{background:var(--warning-bg);color:var(--warning)}.nda-status-expired,.nda-status-declined,.nda-status-revoked{background:var(--error-bg);color:var(--error-text)}.nda-actions{display:flex;gap:6px;flex-wrap:wrap}.nda-btn{padding:4px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-secondary);font-size:12px;cursor:pointer}.nda-btn.ok:hover{border-color:var(--success);color:var(--success)}.nda-btn.danger:hover{border-color:var(--error);color:var(--error)}.nda-btn:hover{border-color:var(--primary);color:var(--primary)}.nda-modal{background:var(--surface);border-radius:14px;width:100%;max-width:440px;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0,0,0,.25));overflow:hidden}.nda-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--rule)}.nda-modal-x{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:28px;height:28px;cursor:pointer;color:var(--text-secondary)}.nda-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.nda-field{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--text-secondary)}.nda-field input,.nda-field select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:13.5px;font-weight:400}.nda-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nda-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--rule)}.portal-shell{min-height:100vh;background:var(--paper, #f3f1ea);color:var(--ink, #1d1f24)}.portal-topbar{display:flex;align-items:center;gap:12px;padding:14px 24px;background:var(--surface, #fff);border-bottom:1px solid var(--line, #cdd0d6)}.portal-brand{font-weight:800;font-size:18px;letter-spacing:-.01em;color:var(--accent, #2f5fd0)}.portal-tag{font-size:12px;color:var(--ink-3, #9a9ea7)}.portal-body{max-width:760px;margin:0 auto;padding:32px 24px 80px}.portal-msg{padding:60px;text-align:center;color:var(--ink-3, #9a9ea7)}.portal-error{text-align:center;padding:80px 24px}.portal-error-icon{font-size:40px;margin-bottom:12px}.portal-error h2{margin:0 0 6px}.portal-error p{color:var(--ink-2, #5f636c)}.portal-head{margin-bottom:22px}.portal-rfq{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink-3, #9a9ea7)}.portal-head h1{margin:4px 0 10px;font-size:26px}.portal-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-2, #5f636c)}.portal-meta b{color:var(--ink, #1d1f24)}.portal-expires{color:var(--accent-2, #bf6a23)}.portal-card{background:var(--card, #fff);border:1px solid var(--line, #cdd0d6);border-radius:14px;padding:18px 20px;margin-bottom:16px}.portal-card-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3, #9a9ea7);margin-bottom:12px}.portal-table{width:100%;border-collapse:collapse}.portal-table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3, #9a9ea7);padding:8px 10px;border-bottom:2px solid var(--ink, #1d1f24)}.portal-table td{padding:10px;border-bottom:1px solid var(--hair, #e4e6ea);font-size:13.5px}.portal-table td.num,.portal-table th.num{text-align:right}.portal-part{font-weight:600}.portal-desc{font-weight:400;color:var(--ink-2, #5f636c)}.portal-files{display:flex;flex-direction:column;gap:6px}.portal-file{font-size:13.5px;color:var(--ink-2, #5f636c)}.portal-files-note{margin-top:10px;font-size:12px;color:var(--ink-3, #9a9ea7)}.portal-foot{margin-top:24px;font-size:12.5px;color:var(--ink-3, #9a9ea7);line-height:1.5;border-top:1px solid var(--hair, #e4e6ea);padding-top:16px}.quotes-page{padding:24px;max-width:1100px;margin:0 auto}.quotes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.quotes-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.q-empty{padding:40px;color:var(--text-tertiary);font-size:14px;text-align:center}.quotes-kpis{display:flex;gap:12px;margin-bottom:16px}.q-kpi{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:3px}.q-kpi-n{font-size:22px;font-weight:800;color:var(--text-primary)}.q-kpi-l{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.quotes-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.q-chips{display:flex;gap:6px;flex-wrap:wrap}.q-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text-secondary);font-size:13px;cursor:pointer}.q-chip.on{background:var(--primary-soft);border-color:var(--primary);color:var(--text-primary);font-weight:600}.q-chip-n{font-size:11px;color:var(--text-tertiary)}.q-search{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:13.5px;min-width:200px}.quotes-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.quotes-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);padding:10px 14px;border-bottom:1px solid var(--rule)}.quotes-table td{padding:12px 14px;border-bottom:1px solid var(--hair);font-size:13.5px;color:var(--text-secondary)}.quotes-table tbody tr{cursor:pointer}.quotes-table tbody tr:hover{background:var(--surface-muted)}.quotes-table tbody tr:last-child td{border-bottom:none}.q-num{font-weight:700;color:var(--text-primary)}.num{text-align:right}.dim{color:var(--text-tertiary)}.q-status{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 9px;border-radius:20px;text-transform:capitalize}.q-status-draft{background:var(--surface-muted);color:var(--text-secondary)}.q-status-sent{background:#6a4ca81f;color:var(--sent, #6a4ca8)}.q-status-won{background:var(--success-bg);color:var(--success-text)}.q-status-lost{background:var(--error-bg);color:var(--error-text)}.qd-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.qd-back{color:var(--primary);font-size:13px}.qd-head{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:14px}.qd-title-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}.qd-number{font-size:18px;font-weight:800;color:var(--text-primary);white-space:nowrap}.qd-title{flex:1;font-size:16px;font-weight:600;padding:6px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-primary)}.qd-title:not(:disabled):hover,.qd-title:focus{border-color:var(--border);background:var(--surface-muted);outline:none}.qd-meta{display:flex;gap:16px;flex-wrap:wrap}.qd-meta label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.qd-meta input,.qd-meta select{padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:13.5px;font-weight:400;text-transform:none;letter-spacing:0}.qd-locked-note{background:var(--warning-bg);border:1px solid var(--warning);color:var(--warning-text);border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:13px}.qd-link{background:none;border:none;color:var(--primary);cursor:pointer;font:inherit;text-decoration:underline;padding:0}.qd-lines{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:12px}.qd-lines th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);padding:9px 12px;border-bottom:1px solid var(--rule)}.qd-lines td{padding:6px 12px;border-bottom:1px solid var(--hair)}.qd-cell{width:100%;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary);font-size:13px}.qd-cell:not(:disabled):hover,.qd-cell:focus{border-color:var(--border);background:var(--surface-muted);outline:none}.qd-cell.num{text-align:right}.qd-ext{font-weight:600;color:var(--text-primary);white-space:nowrap}.qd-row-del{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:13px}.qd-row-del:hover{color:var(--error)}.qd-total-row td{border-bottom:none;padding-top:12px}.qd-total-l{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.qd-total{font-size:18px;font-weight:800;color:var(--text-primary)}.qd-add-line{margin-bottom:18px}.qd-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media(max-width:720px){.quotes-kpis{flex-direction:column}.quotes-controls{flex-direction:column;align-items:stretch}}.cq-page{max-width:1280px}.cq-state,.cq-empty{padding:40px;color:var(--ink-muted);text-align:center}.cq-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.cq-head h1{margin:0 0 3px;font-size:22px;font-weight:700;letter-spacing:-.01em}.cq-sub{margin:0;font-size:13px;color:var(--ink-muted);max-width:720px}.cq-tag{flex:none;font-size:11px;padding:4px 11px;border-radius:20px;background:#2f5fd01a;color:var(--accent);white-space:nowrap}.cq-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:11px 15px;margin-bottom:14px}.cq-bar-id{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.cq-ava{width:34px;height:34px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:13px;font-weight:600}.cq-bar-name{display:flex;align-items:center;gap:8px}.cq-bar-name b{font-size:15px}.cq-bar-chip{font-size:10.5px;padding:2px 8px;border-radius:20px;background:var(--surface-muted);color:var(--ink-muted);border:1px solid var(--hair)}.cq-bar-meta{font-size:11.5px;color:var(--ink-muted);margin-top:1px}.cq-bar-controls{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:wrap}.cq-seg{display:inline-flex;padding:2px;border-radius:8px;background:var(--surface-muted);border:1px solid var(--hair)}.cq-seg button{padding:5px 12px;border:none;background:none;font-size:12px;border-radius:6px;color:var(--ink-muted);cursor:pointer}.cq-seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #00000014}.cq-revsel{display:inline-flex;gap:2px;padding:2px;border-radius:8px;background:var(--surface-muted);border:1px solid var(--hair)}.cq-rev{padding:5px 10px;border:none;background:none;font-size:12px;border-radius:6px;color:var(--ink-muted);cursor:pointer}.cq-rev.on{background:var(--accent);color:#fff}.cq-status{font-size:10.5px;padding:3px 9px;border-radius:20px;text-transform:capitalize;background:var(--warning-bg);color:var(--warning-text)}.cq-status.sent{background:#2f5fd01a;color:var(--accent)}.cq-status.won{background:var(--success-bg);color:var(--success-text)}.cq-status.lost{background:var(--surface-muted);color:var(--ink-muted)}.cq-body{display:grid;grid-template-columns:minmax(0,1fr) 298px;gap:16px;align-items:start}.cq-doc{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}.cq-letterhead{padding:18px 20px 12px;border-bottom:1px solid var(--hair)}.cq-seller-name{font-size:16px}.cq-seller-lines{font-size:11px;color:var(--ink-muted);margin-top:3px}.cq-seller-add{display:inline-block;margin-top:4px;font-size:12px;color:var(--accent);text-decoration:none}.cq-seller-add:hover{text-decoration:underline}.cq-doc-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid var(--line)}.cq-k{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;color:var(--ink-soft)}.cq-qno{font-size:20px;display:block;margin:1px 0}.cq-doc-sub{font-size:11.5px;color:var(--ink-muted)}.cq-billto{text-align:right;min-width:220px}.cq-billto-h{display:flex;align-items:center;justify-content:flex-end;gap:8px}.cq-bill-edit{border:none;background:none;color:var(--accent);font-size:11px;cursor:pointer;padding:0}.cq-bill-edit:hover{text-decoration:underline}.cq-billto-b{font-size:13px;margin-top:2px;line-height:1.5}.cq-bill-form{display:flex;flex-direction:column;gap:5px;margin-top:6px;align-items:stretch;text-align:left}.cq-bill-form input{font-size:12px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);width:220px}.cq-bill-actions{display:flex;justify-content:flex-end;gap:6px}.cq-bill-actions button{font-size:12px;padding:5px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--line);background:var(--surface-muted);color:var(--ink)}.cq-bill-actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.cq-bill-actions button:disabled{opacity:.6;cursor:default}.cq-metastrip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:13px 20px;border-bottom:1px solid var(--hair);background:var(--surface-muted)}.cq-meta-v{font-size:12.5px;margin-top:2px}.cq-lines{padding:6px 14px 12px}.cq-line{padding:14px 6px;border-bottom:1px solid var(--hair);display:grid;grid-template-columns:22px 76px minmax(0,1fr) 132px;gap:12px;align-items:start}.cq-line:last-child{border-bottom:none}.cq-num{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);padding-top:3px}.cq-line-thumb{width:76px;height:76px;flex:none;display:grid;place-items:center}.cq-line-ph{width:76px;height:76px;display:grid;place-items:center;border-radius:12px;background:var(--surface-muted);color:var(--accent);font-size:30px}.cq-line-main{flex:1;min-width:0}.cq-line-top{display:flex;justify-content:space-between;gap:10px}.cq-line-main,.cq-line-id{min-width:0}.cq-line-pn{display:flex;align-items:center;gap:7px}.cq-line-pn .mono{font-family:var(--font-mono);font-size:12.5px;white-space:nowrap}.cq-line-pn span{font-size:14px}.cq-line-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.cq-chip{font-size:11px;padding:3px 9px;border-radius:20px;background:var(--surface-muted);color:var(--ink);border:1px solid var(--hair)}.cq-chip.mat{background:#2f5fd01a;color:var(--accent);border-color:transparent;font-family:var(--font-mono)}.cq-chip.b{background:#2f5fd01a;color:var(--accent);border-color:transparent}.cq-line-ext{text-align:right;display:flex;flex-direction:column;align-items:flex-end;padding-top:2px}.cq-line-ext .mono{font-family:var(--font-mono);font-size:15px}.cq-line-ext span{font-size:10.5px;color:var(--ink-soft)}.cq-line-cost{color:var(--ink-muted)!important;margin-top:2px}.cq-breaks{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.cq-bk{display:inline-flex;align-items:baseline;gap:6px;border:1px solid var(--hair);border-radius:20px;padding:4px 11px}.cq-bk.soon{border-color:var(--accent);background:#2f5fd00a}.cq-bk .mono{font-family:var(--font-mono)}.cq-bk>span:first-child{font-size:11px;color:var(--ink-muted)}.cq-bk b{font-size:13px}.cq-bk-d{font-size:10px;color:var(--ink-soft)}.cq-setprice{align-self:flex-start;font-size:11.5px;padding:5px 11px;border-radius:20px;cursor:pointer;border:1px dashed var(--line);background:none;color:var(--ink-muted)}.cq-setprice:hover{border-color:var(--accent);color:var(--accent)}.cq-setprice.empty{border-style:solid;border-color:var(--accent);color:var(--accent);font-weight:600}.cq-priceform{margin-top:9px;padding:11px 12px;border:1px solid var(--accent);border-radius:10px;background:#2f5fd008;display:flex;flex-direction:column;gap:9px}.cq-pf-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.cq-pf-row label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;color:var(--ink-soft)}.cq-pf-row input,.cq-pf-bk input{font-size:12.5px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);font-family:var(--font-mono)}.cq-pf-row label input{width:110px}.cq-pf-ext{font-size:12px;color:var(--ink-muted);padding-bottom:6px}.cq-pf-breaks{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cq-pf-l{font-family:var(--font-mono);font-size:9px;letter-spacing:.05em;color:var(--ink-soft)}.cq-pf-bk{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-muted)}.cq-pf-bk input{width:74px}.cq-pf-x{border:none;background:none;color:var(--ink-soft);cursor:pointer;font-size:11px;padding:2px}.cq-pf-x:hover{color:var(--danger-text, #c0392b)}.cq-pf-addbk{font-size:11px;padding:4px 10px;border-radius:20px;cursor:pointer;border:1px dashed var(--line);background:none;color:var(--ink-muted)}.cq-pf-addbk:hover{border-color:var(--accent);color:var(--accent)}.cq-pf-actions{display:flex;justify-content:flex-end;gap:7px}.cq-pf-actions button{font-size:12px;padding:6px 14px;border-radius:7px;cursor:pointer;border:1px solid var(--line);background:var(--surface-muted);color:var(--ink)}.cq-pf-actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.cq-pf-actions button:disabled{opacity:.6;cursor:default}.cq-note{margin-top:9px;font-size:12px;color:var(--ink-muted)}.cq-note-l{font-family:var(--font-mono);font-size:9px;letter-spacing:.05em;color:var(--ink-soft);margin-right:5px}.cq-foot{display:flex;flex-wrap:wrap;border-top:1px solid var(--line)}.cq-terms{flex:1.3;min-width:260px;padding:16px 20px;border-right:1px solid var(--hair)}.cq-terms p{font-size:12px;line-height:1.55;color:var(--ink-muted);margin:8px 0 0}.cq-terms-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.cq-totals{flex:1;min-width:230px;padding:16px 20px}.cq-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:13px}.cq-total-row .mono{font-family:var(--font-mono)}.cq-total-sep{height:1.5px;background:var(--line);margin:9px 0}.cq-total-grand{display:flex;justify-content:space-between;align-items:center}.cq-total-grand b{font-size:16px}.cq-grand-n{font-size:20px!important;color:var(--accent)}.cq-total-cost{font-size:11px;color:var(--ink-muted);margin-top:6px}.cq-total-cost b{color:var(--success-text)}.cq-rail{display:flex;flex-direction:column;gap:13px}.cq-card{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px 14px}.cq-card-h{font-size:15px}.cq-card-hrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.cq-locked{font-size:11px;color:var(--ink-soft)}.cq-card-note{font-size:11px;color:var(--ink-muted);margin-top:8px}.cq-presel{display:flex;justify-content:space-between;align-items:center;margin-top:9px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;font-size:13px}.cq-caret{color:var(--ink-soft)}.cq-revrow{display:flex;gap:9px;padding:8px 0}.cq-rdot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--line);flex:none;margin-top:4px}.cq-rdot.on{background:var(--accent);border-color:var(--accent)}.cq-revrow-t{display:flex;align-items:center;gap:7px}.cq-revrow-t b{font-size:13px}.cq-revrow-s{font-size:11px;color:var(--ink-muted);margin-top:2px}.cq-margin-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;color:var(--ink-muted)}.cq-margin-row .mono{font-family:var(--font-mono);font-size:13px;color:var(--ink)}.cq-margin-pct{font-size:15px;color:var(--success-text)}.cq-margin-bar{height:10px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface-muted);margin:11px 0 6px}.cq-margin-bar div{height:100%;background:var(--success-text)}.cq-actions{display:flex;flex-direction:column;gap:8px}.cq-btn{width:100%;padding:9px;border-radius:8px;font-size:13px;cursor:pointer;background:var(--card);color:var(--ink);border:1px solid var(--line)}.cq-btn:hover{border-color:var(--accent)}.cq-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.cq-btn.cq-btn-ghost{padding:6px;font-size:12px;color:var(--ink-muted);border-color:transparent;background:none}.cq-btn.cq-btn-ghost:hover{color:var(--ink);border-color:transparent;text-decoration:underline}.cq-btn:disabled{opacity:.6;cursor:default}@media(max-width:960px){.cq-body{grid-template-columns:1fr}.cq-metastrip{grid-template-columns:repeat(3,1fr)}}@media print{@page{margin:14mm}html,body{height:auto!important;overflow:visible!important;background:#fff!important}.topbar,.sidebar{display:none!important}.app-layout,.app-body,.main-content{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}.cq-page{max-width:none!important}.cq-head,.cq-bar,.cq-rail{display:none!important}.cq-body{display:block!important}#cq-print{border:none!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}#cq-print .cq-line-cost,#cq-print .cq-total-cost,#cq-print .cq-editctl{display:none!important}#cq-print .cq-line,#cq-print .cq-foot{break-inside:avoid}#cq-print .cq-metastrip,#cq-print .cq-bk.soon,#cq-print .cq-chip.mat,#cq-print .cq-grand-n{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(max-width:700px){.cq-line{grid-template-columns:22px 56px minmax(0,1fr)}.cq-line-ext{grid-column:2 / -1;flex-direction:row;align-items:baseline;gap:8px;justify-content:flex-end}}.cq-qty-warn{align-self:flex-start;margin-top:6px;font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:20px;background:var(--warning-bg, #fdf3ee);color:var(--warning-text, #8a4a16)}.ncm{width:min(460px,94vw);background:var(--surface);border-radius:14px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.ncm-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--hair, var(--border))}.ncm-head h2{margin:0;font-size:15px;font-weight:700}.ncm-x{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:15px}.ncm-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.ncm-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--text-secondary);flex:1}.ncm-field input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--surface);color:var(--text);font-weight:400;transition:border-color .12s ease,box-shadow .12s ease}.ncm-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ncm-opt{font-weight:400;color:var(--text-tertiary);font-size:11px}.ncm-sub{margin-top:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.ncm-row{display:flex;gap:10px}.ncm-foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--hair, var(--border))}.customers-page .page-header p{color:var(--text-secondary);margin-top:4px}.customers-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}.customers-list-card,.contacts-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.customers-list-header{display:grid;gap:10px;margin-bottom:12px}.customers-list-header h2{font-size:16px}.customers-list-header input{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px}.customers-list{display:grid;gap:8px;max-height:72vh;overflow:auto}.customer-list-item{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;padding:10px;text-align:left;cursor:pointer;transition:all .15s ease}.customer-list-item:hover{background:var(--surface-muted);border-color:var(--border)}.customer-list-item.active{background:var(--primary-soft);border-color:var(--accent-muted)}.customer-list-name{font-weight:600;margin-bottom:3px}.customer-list-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.contacts-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.contacts-header h2{font-size:18px}.contacts-header p{color:var(--text-secondary);font-size:13px}.contacts-actions{display:flex;align-items:center;gap:12px}.contacts-list{display:grid;gap:10px}.contact-row{border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;justify-content:space-between;gap:14px}.contact-row.inactive{background:var(--bg-subtle);opacity:.88}.contact-name-line{display:flex;align-items:center;gap:8px;margin-bottom:4px}.contact-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--text-secondary)}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge.primary{background:var(--success-bg);color:var(--success-text)}.badge.inactive{background:var(--surface-muted);color:var(--text-secondary)}.contact-modal{max-width:520px}.modal-checkbox{display:flex;align-items:center;gap:8px;font-size:14px}.modal-checkbox input{width:auto}@media(max-width:1100px){.customers-layout{grid-template-columns:1fr}.customers-list{max-height:300px}}@media(max-width:760px){.contacts-header{flex-direction:column}.contacts-actions{width:100%;justify-content:space-between}.contact-row{flex-direction:column}}.cust-profile{margin:0 0 18px;border:1px solid var(--line, #d5d8dd);border-radius:10px;background:var(--card, #fff);padding:14px 16px}.cust-profile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cust-profile-head h3{margin:0;font-size:15px}.cp-actions{display:flex;gap:8px}.cp-view{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;font-size:13px}.cp-col>div{margin-bottom:2px}.cp-t{font-family:var(--font-mono, monospace);font-size:9.5px;letter-spacing:.06em;color:var(--ink-soft, #9aa1ab);margin-bottom:6px}.cp-kv{color:var(--ink-muted, #6b7280)}.cp-empty{font-size:12px;color:var(--ink-soft, #9aa1ab);font-style:italic}.cp-edit{display:flex;flex-direction:column;gap:14px}.cp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 12px;margin-top:6px}.cp-grid label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--ink-muted, #6b7280)}.cp-grid label.wide{grid-column:span 2}.cp-grid input{padding:7px 9px;border:1px solid var(--line, #d5d8dd);border-radius:7px;font-size:13px;background:var(--card, #fff);color:inherit}.cp-same{margin:6px 0 2px;font-size:13px}@media(max-width:860px){.cp-view{grid-template-columns:1fr}.cp-grid{grid-template-columns:repeat(2,1fr)}}.shop-schedule-page{padding:24px;height:100%;display:flex;flex-direction:column}.schedule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-left h1{margin:0 0 8px;font-size:24px}.schedule-stats{display:flex;gap:16px}.schedule-stats .stat{color:var(--text-secondary);font-size:14px}.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.date-nav{display:flex;gap:4px}.date-nav button{padding:6px 12px;border:1px solid var(--border);background:var(--surface);border-radius:4px;cursor:pointer;font-size:14px}.date-nav button:hover{background:var(--surface-muted)}.date-nav .today-btn{padding:6px 16px;font-weight:500}.days-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}.schedule-container{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;position:relative}.schedule-dates-header{display:flex;border-bottom:2px solid var(--border);background:var(--bg-subtle);position:sticky;top:0;z-index:10}.machine-label-spacer{width:150px;min-width:150px;padding:12px 16px;font-weight:600;font-size:12px;text-transform:uppercase;color:var(--text-secondary);border-right:1px solid var(--border)}.dates-row{display:flex;flex:1}.date-cell{flex:1;text-align:center;padding:8px 4px;border-right:1px solid var(--border);font-size:11px}.date-cell:last-child{border-right:none}.date-cell .day-name{display:block;color:var(--text-secondary);font-size:10px}.date-cell .day-num{display:block;font-weight:600;font-size:12px;color:var(--text)}.date-cell.today{background:var(--primary-light)}.date-cell.today .day-num{color:var(--primary)}.date-cell.weekend{background:var(--surface-muted)}.date-cell.weekend .day-name,.date-cell.weekend .day-num{color:var(--text-tertiary)}.schedule-body{overflow-y:auto;max-height:calc(100vh - 280px)}.machine-row{display:flex;border-bottom:1px solid var(--border);min-height:48px}.machine-row:last-child{border-bottom:none}.machine-label{width:150px;min-width:150px;padding:12px 16px;border-right:1px solid var(--border);background:var(--surface-muted);display:flex;flex-direction:column;justify-content:center}.machine-label .machine-name{font-weight:600;font-size:13px;color:var(--text)}.machine-label .machine-type{font-size:11px;color:var(--text-secondary);text-transform:capitalize}.machine-timeline{flex:1;position:relative;display:flex;cursor:pointer;min-height:48px}.machine-timeline:hover{background:var(--bg-subtle)}.day-cell{border-right:1px solid var(--surface-muted)}.day-cell:last-child{border-right:none}.day-cell.today{background:#5e9b6e0d}.day-cell.weekend{background:var(--surface-muted)}.schedule-block{position:absolute;top:4px;height:calc(100% - 8px);border-radius:4px;display:flex;align-items:center;padding:0 8px;cursor:pointer;overflow:hidden;transition:opacity .15s,transform .1s;z-index:1}.schedule-block:hover{opacity:.9;transform:scaleY(1.05);z-index:2}.schedule-block.selected{box-shadow:0 0 0 2px var(--text);z-index:3}.schedule-block .block-label{font-size:11px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-block.maintenance{background:var(--warning)}.schedule-block.reserved{background:var(--primary);background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,255,255,.1) 5px,rgba(255,255,255,.1) 10px)}.schedule-block.unavailable{background:var(--text-secondary);background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.1) 5px,rgba(0,0,0,.1) 10px)}.today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--error);z-index:5;pointer-events:none}.today-line:before{content:"";position:absolute;top:0;left:-4px;width:10px;height:10px;background:var(--error);border-radius:50%}.block-details-panel{position:fixed;right:24px;bottom:24px;width:320px;background:var(--surface);border-radius:12px;box-shadow:0 10px 40px #0003;z-index:100;overflow:hidden}.block-details-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.block-details-panel .panel-header h3{margin:0;font-size:16px}.block-details-panel .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);line-height:1;padding:0}.block-details-panel .panel-body{padding:16px}.block-details-panel .detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--surface-muted)}.block-details-panel .detail-row:last-child{border-bottom:none}.block-details-panel .detail-row .label{font-size:13px;color:var(--text-secondary)}.block-details-panel .detail-row a{color:var(--primary);font-weight:500}.block-details-panel .status-badge{font-size:11px;padding:2px 8px;border-radius:12px;color:#fff;font-weight:500}.block-details-panel .block-type-badge{font-size:11px;padding:2px 8px;border-radius:12px;color:#fff;font-weight:500;text-transform:capitalize}.block-details-panel .panel-footer{display:flex;gap:8px;padding:16px;border-top:1px solid var(--border);background:var(--bg-subtle)}.block-details-panel .panel-footer button{flex:1}.modal-content{background:var(--surface);border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:24px}.modal-body .form-row{margin-bottom:16px}.modal-body .form-row label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--text)}.modal-body .form-row input,.modal-body .form-row select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}.modal-body .form-row input[type=color]{height:40px;padding:4px}.modal-body .form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.modal-body .form-row-2col label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--text)}.modal-body .form-row-2col input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-subtle)}.btn-primary{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;font-size:14px}.btn-primary:disabled{background:var(--accent-muted);cursor:not-allowed}.btn-secondary{padding:10px 20px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;font-weight:500;cursor:pointer;font-size:14px;text-decoration:none;display:inline-flex;align-items:center}.btn-secondary:hover{background:var(--surface-muted)}.empty-state{padding:48px;text-align:center;color:var(--text-secondary)}.empty-state p{margin-bottom:16px}.loading{padding:48px;text-align:center;color:var(--text-secondary)}.quick-add-job-modal{max-width:520px}.modal-hint{color:var(--text-secondary);font-size:13px;margin:0 0 16px}.form-section-header{font-weight:600;font-size:13px;text-transform:uppercase;color:var(--text-secondary);margin:20px 0 12px;padding-top:16px;border-top:1px solid var(--border)}.schedule-block.moveable{cursor:grab}.schedule-block.moveable:active{cursor:grabbing}.schedule-block.dragging{opacity:.5;transform:scale(.95)}.machine-timeline.drag-over{background:#5e9b6e14;box-shadow:inset 0 0 0 2px var(--primary)}.machine-timeline.drag-over:after{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--primary);pointer-events:none;z-index:10}.schedule-block.waiting-material{border:2px dashed rgba(255,255,255,.5)}.material-indicator{position:absolute;top:2px;right:4px;font-size:10px;font-weight:700;width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000004d;color:#fff}.material-indicator.not_ordered{background:var(--error)}.material-indicator.ordered{background:var(--warning)}.material-indicator.partial{background:var(--primary)}.material-eta-marker{position:absolute;top:-20px;transform:translate(-50%);font-size:14px;z-index:5;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-3px)}}.schedule-legend{display:flex;gap:16px;padding:8px 16px;background:var(--bg-subtle);border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:6px}.legend-color{width:12px;height:12px;border-radius:2px}.legend-color.job{background:var(--primary)}.legend-color.maintenance{background:var(--warning)}.legend-color.reserved{background:var(--primary)}.legend-color.unavailable{background:var(--text-secondary)}.material-quotes-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-left h1{margin:0 0 4px;font-size:24px;font-weight:600;color:var(--text-primary)}.header-left .subtitle{margin:0;color:var(--text-secondary);font-size:14px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s}.btn-secondary{background:var(--surface-muted);color:var(--text-secondary)}.btn-sm{padding:4px 10px;font-size:12px}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center;cursor:pointer;transition:all .2s}.stat-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #2563eb1a}.stat-card.active{border-color:var(--primary);background:var(--primary-soft)}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary)}.stat-label{font-size:13px;color:var(--text-secondary);margin-top:4px}.filters-bar{display:flex;gap:16px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search-box{flex:1;min-width:250px}.search-box input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:6px;font-size:14px}.search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:14px;color:var(--text-secondary);white-space:nowrap}.filter-group select{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--surface);cursor:pointer}.loading-state,.empty-state{text-align:center;padding:60px 20px;background:var(--surface-muted);border-radius:12px}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;color:var(--text-primary)}.empty-state p{margin:0 0 20px;color:var(--text-secondary)}.requests-table{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.requests-table table{width:100%;border-collapse:collapse}.requests-table th{text-align:left;padding:12px 16px;background:var(--surface-muted);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.requests-table td{padding:14px 16px;border-bottom:1px solid var(--surface-muted);font-size:14px;color:var(--text-secondary)}.requests-table tbody tr{cursor:pointer;transition:background .15s}.requests-table tbody tr:hover{background:var(--surface-muted)}.requests-table tbody tr:last-child td{border-bottom:none}.request-number strong{color:var(--primary);font-family:SF Mono,Monaco,monospace}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.items-count,.vendors-count{font-family:SF Mono,Monaco,monospace;font-size:13px}.quoted-indicator{color:var(--success)}.linked-to a{color:var(--primary);text-decoration:none}.linked-to a:hover{text-decoration:underline}.text-muted{color:var(--text-tertiary)}.actions-cell{display:flex;gap:8px}.pagination-info{margin-top:16px;text-align:center;color:var(--text-secondary);font-size:14px}.expiry-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-left:6px;vertical-align:middle}.stat-card-warning{border-color:var(--warning)}.stat-card-warning .stat-value{color:var(--warning-text)}.stat-card-warning.active{background:var(--warning-bg);border-color:var(--warning)}.stat-card-expired{border-color:var(--error)}.stat-card-expired .stat-value{color:var(--error)}.stat-card-expired.active{background:var(--error-bg);border-color:var(--error)}@media(max-width:1024px){.requests-table{overflow-x:auto}.requests-table table{min-width:900px}}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.filters-bar{flex-direction:column;align-items:stretch}.search-box{width:100%}.stats-cards{grid-template-columns:repeat(2,1fr)}}.material-quote-detail{padding:24px;max-width:1200px;margin:0 auto}.material-quote-detail.loading,.material-quote-detail.error{text-align:center;padding:60px 20px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.detail-header h1{margin:0 0 8px;font-size:28px;font-weight:700;font-family:SF Mono,Monaco,monospace}.header-actions{display:flex;gap:12px}.btn-sm{padding:6px 12px;font-size:12px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:32px}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px}.info-card h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-grid{display:flex;flex-direction:column;gap:10px}.info-row{display:flex;justify-content:space-between;font-size:14px}.info-label{color:var(--text-secondary)}.info-row a{color:var(--primary);text-decoration:none}.info-row a:hover{text-decoration:underline}.overdue{color:var(--error);font-weight:600}.section{margin-bottom:32px}.section h2{margin:0 0 16px;font-size:18px;font-weight:600}.email-settings-note{margin:0 0 16px;padding:10px 12px;border:1px solid var(--border);background:var(--bg-subtle);border-radius:8px;font-size:13px;color:var(--text)}.note-subtext{margin-top:4px;color:var(--text-secondary)}.note-subtext code{font-family:SF Mono,Monaco,monospace;font-size:12px;color:var(--text)}.items-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.items-table th{text-align:left;padding:12px 16px;background:var(--bg-subtle);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border)}.items-table td{padding:12px 16px;border-bottom:1px solid var(--surface-muted);font-size:14px}.items-table tbody tr:last-child td{border-bottom:none}.material-col{max-width:200px}.mono{font-family:SF Mono,Monaco,monospace;font-size:13px}.items-table a{color:var(--primary);text-decoration:none}.items-table a:hover{text-decoration:underline}.empty-vendors{background:var(--bg-subtle);border-radius:8px;padding:32px;text-align:center}.empty-vendors p{margin:0 0 20px;color:var(--text-secondary)}.suggested-vendors h4{margin:0 0 12px;font-size:14px;color:var(--text)}.vendor-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.vendor-chip{padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:20px;font-size:14px;cursor:pointer;transition:all .2s}.vendor-chip:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.vendor-chip .match-score{color:var(--text-secondary);font-size:12px;margin-left:4px}.vendors-list{display:flex;flex-direction:column;gap:12px}.vendor-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.vendor-card.selected{border-color:var(--success);background:var(--success-bg)}.vendor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.vendor-name{display:flex;align-items:center;gap:8px}.vendor-name strong{font-size:16px}.vendor-code{color:var(--text-secondary);font-size:13px}.winner-badge{background:var(--success);color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}.thread-status{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;text-transform:capitalize}.vendor-details{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.detail-item{font-size:13px;color:var(--text-secondary)}.detail-item .label{color:var(--text-tertiary)}.detail-item.quote-info strong{color:var(--success);font-size:16px}.vendor-actions{display:flex;gap:8px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface);border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal.modal-lg{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:18px}.close-btn{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-subtle)}.suggested-section,.all-vendors-section{margin-bottom:20px}.suggested-section h4,.all-vendors-section h4{margin:0 0 12px;font-size:13px;color:var(--text-secondary);text-transform:uppercase}.vendor-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.vendor-option{padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.vendor-option:hover{background:var(--surface-muted)}.vendor-option-name{font-weight:500;margin-bottom:2px}.vendor-option-name .code{color:var(--text-secondary);font-weight:400;margin-left:6px}.vendor-option-info{font-size:12px;color:var(--text-secondary)}.quote-header-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.field-row input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}.field-row input:focus{outline:none;border-color:var(--primary)}.modal-body h4{margin:0 0 12px;font-size:14px;font-weight:600}.quote-entry-table{width:100%;border-collapse:collapse;font-size:13px}.quote-entry-table th{text-align:left;padding:8px 10px;background:var(--bg-subtle);border-bottom:1px solid var(--border);font-weight:600;font-size:11px;text-transform:uppercase;color:var(--text-secondary)}.quote-entry-table td{padding:8px 10px;border-bottom:1px solid var(--surface-muted);vertical-align:middle}.quote-entry-table input[type=number],.quote-entry-table input[type=text]{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px}.quote-entry-table input[type=checkbox]{width:16px;height:16px}.expiry-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-left:8px;vertical-align:middle}.expiry-expired{background:var(--error-bg);color:var(--error)}.expiry-warning{background:var(--warning-bg);color:var(--warning-text)}@media(max-width:768px){.detail-header{flex-direction:column;gap:16px}.info-cards,.quote-header-fields{grid-template-columns:1fr}.modal.modal-lg{max-width:95%}}.new-material-quote{padding:24px;max-width:900px;margin:0 auto}.page-header{margin-bottom:24px}.back-link{display:inline-block;margin-bottom:8px;color:var(--primary);text-decoration:none;font-size:14px}.page-header h1{margin:0 0 8px;font-size:24px;font-weight:700}.context-info{margin:0;color:var(--text-secondary);font-size:14px}.mode-selector{display:flex;gap:8px;margin-bottom:24px;background:var(--surface-muted);padding:4px;border-radius:8px}.mode-btn{flex:1;padding:10px 16px;border:none;background:transparent;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.mode-btn.active{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.mode-btn:hover:not(.active){color:var(--text-primary)}.section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px}.section h2{margin:0 0 16px;font-size:16px;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{margin:0}.no-parts{color:var(--text-secondary);font-style:italic}.parts-list{display:flex;flex-direction:column;gap:8px}.rfq-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:12px}.rfq-picker-card{text-align:left;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.rfq-picker-card:hover{border-color:var(--primary);background:var(--surface-muted)}.rfq-picker-card.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px #5e9b6e26}.rfq-picker-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:6px}.rfq-picker-head span{color:var(--text-secondary)}.rfq-picker-title{font-weight:600;font-size:13px;color:var(--text);margin-bottom:4px}.rfq-picker-customer{font-size:12px;color:var(--text-secondary)}.rfq-preview-row{display:flex;gap:6px;margin-top:8px;min-height:48px}.rfq-preview-placeholder{width:48px;height:48px;border-radius:6px;background:var(--surface-muted);display:flex;align-items:center;justify-content:center;font-size:18px}.part-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.part-item:hover{border-color:var(--primary);background:var(--bg-subtle)}.part-item.selected{border-color:var(--primary);background:var(--primary-soft)}.part-item input[type=checkbox]{width:18px;height:18px}.part-thumb{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.part-thumb-placeholder{width:56px;height:56px;border-radius:6px;background:var(--surface-muted);display:flex;align-items:center;justify-content:center;font-size:20px}.part-info{display:flex;flex-direction:column;gap:2px}.part-number{font-weight:600;font-family:SF Mono,Monaco,monospace}.part-name{font-size:13px;color:var(--text-secondary)}.part-material{font-size:12px;color:var(--primary)}.manual-items{display:flex;flex-direction:column;gap:16px}.manual-item{border:1px solid var(--border);border-radius:8px;padding:16px}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.item-number{font-weight:600;color:var(--text-secondary);font-size:13px}.remove-btn{background:none;border:none;color:var(--error);font-size:13px;cursor:pointer}.remove-btn:hover{text-decoration:underline}.item-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dimensions-row{grid-column:span 2}.dim-inputs{display:flex;align-items:center;gap:8px;margin-top:6px}.dim-inputs input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}.dim-inputs span{color:var(--text-secondary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-row{display:flex;flex-direction:column;gap:6px}.field-row.full-width{grid-column:span 2}.field-row.small{max-width:100px}.field-row label{font-size:13px;font-weight:500;color:var(--text)}.field-row input[type=text],.field-row input[type=number],.field-row input[type=date],.field-row select,.field-row textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:border-color .2s}.field-row input:focus,.field-row select:focus,.field-row textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5e9b6e1a}.field-help{font-size:12px;color:var(--text-tertiary)}.part-search-input{max-width:220px}.checkbox-row{flex-direction:row;align-items:center}.checkbox-row label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-row input[type=checkbox]{width:16px;height:16px}.error-message{background:var(--error-bg);border:1px solid var(--error);color:var(--error);padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.field-row.full-width{grid-column:span 1}.item-fields{grid-template-columns:1fr}.dimensions-row{grid-column:span 1}.dim-inputs{flex-wrap:wrap}.dim-inputs input{min-width:80px}}.quote-comparison{padding:24px;max-width:1600px;margin:0 auto}.quote-comparison.loading,.quote-comparison.error{text-align:center;padding:60px 20px}.comparison-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.back-link{display:block;margin-bottom:8px;color:var(--primary);text-decoration:none;font-size:14px}.back-link:hover{text-decoration:underline}.comparison-header h1{margin:0 0 4px;font-size:24px;font-weight:700}.subtitle{margin:0;color:var(--text-secondary);font-size:14px}.selected-banner{display:flex;align-items:center;gap:12px;background:var(--success-bg);border:1px solid var(--success);border-radius:8px;padding:12px 20px}.winner-icon{font-size:24px}.winner-total{font-weight:700;font-size:18px;color:var(--success)}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface-muted);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn:disabled{opacity:.5;cursor:not-allowed}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px;text-align:center}.summary-card.highlight{border-color:var(--success);background:var(--success-bg)}.summary-value{font-size:28px;font-weight:700;color:var(--text-primary);font-family:SF Mono,Monaco,monospace}.summary-card.highlight .summary-value{color:var(--success)}.summary-label{font-size:13px;color:var(--text-secondary);margin-top:4px}.comparison-table-wrapper{overflow-x:auto;margin-bottom:24px;border:1px solid var(--border);border-radius:8px}.comparison-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:14px}.comparison-table th{padding:12px 16px;text-align:left;font-weight:600;background:var(--bg-subtle);border-bottom:1px solid var(--border);white-space:nowrap}.item-header{width:60px;text-align:center}.material-header{min-width:180px}.dims-header{min-width:120px}.qty-header{width:60px;text-align:center}.vendor-header{text-align:center;min-width:180px;border-left:2px solid var(--border)}.vendor-header.selected{background:var(--success-bg)}.vendor-name{display:flex;align-items:center;justify-content:center;gap:6px;font-size:15px}.check-icon{color:var(--success);font-weight:700}.vendor-total{margin-top:4px;font-size:13px;color:var(--success);font-weight:600}.vendor-total .lead-time{color:var(--text-secondary);font-weight:400;margin-left:4px}.subheader-row th{font-size:11px;text-transform:uppercase;color:var(--text-secondary);font-weight:600;padding:8px 12px;background:var(--surface-muted)}.price-header{text-align:right;border-left:2px solid var(--border)}.stock-header{text-align:center;width:70px}.comparison-table td{padding:12px 16px;border-bottom:1px solid var(--surface-muted);vertical-align:middle}.comparison-table tbody tr:hover{background:var(--surface-muted)}.line-number{text-align:center;color:var(--text-secondary);font-weight:500}.material-cell{font-weight:500}.dims-cell.mono{font-family:SF Mono,Monaco,monospace;font-size:13px}.qty-cell{text-align:center}.price-cell{text-align:right;border-left:2px solid var(--surface-muted)}.price-cell .price{font-weight:600;font-family:SF Mono,Monaco,monospace}.price-cell .unit-price{display:block;font-size:11px;color:var(--text-secondary)}.price-cell.best-value{background:var(--success-bg)}.price-cell.best-value .price{color:var(--success)}.price-cell.worst-value{background:var(--error-bg)}.price-cell.worst-value .price{color:var(--error)}.price-cell.no-quote .no-quote{color:var(--text-tertiary)}.stock-cell{text-align:center}.in-stock{color:var(--success);font-size:12px;font-weight:500}.out-stock{color:var(--warning);font-size:12px;font-weight:500}.unknown{color:var(--text-tertiary)}.totals-row{background:var(--bg-subtle);font-weight:600}.totals-row td{padding:16px;border-top:2px solid var(--border)}.totals-label{text-align:right;color:var(--text-secondary);text-transform:uppercase;font-size:12px;letter-spacing:.5px}.total-cell{text-align:center;border-left:2px solid var(--border)}.vendor-total-block{display:flex;flex-direction:column;align-items:center;gap:6px}.total-amount{font-size:18px;font-family:SF Mono,Monaco,monospace;color:var(--text-primary)}.total-lead{font-size:12px;color:var(--text-secondary);font-weight:400}.vendor-total-block .btn{margin-top:4px}.selected-badge{background:var(--success);color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600}.no-quote{color:var(--text-tertiary)}.comparison-actions{display:flex;justify-content:flex-end;gap:12px}@media print{.comparison-header,.comparison-actions{display:none}.quote-comparison{padding:0}.comparison-table-wrapper{overflow:visible;border:none}.comparison-table{font-size:10px}.comparison-table th,.comparison-table td{padding:6px 8px}.vendor-total-block .btn{display:none}}@media(max-width:768px){.comparison-header{flex-direction:column;gap:16px}.summary-cards{grid-template-columns:1fr}.selected-banner{width:100%;justify-content:center}}.srd-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.srd-back{display:inline-block;font-size:12.5px;color:var(--text-tertiary);text-decoration:none;margin-bottom:6px;transition:color .12s}.srd-back:hover{color:var(--primary)}.srd-head-left h1{margin:0 0 6px;font-size:19px;font-weight:600;color:var(--text)}.srd-head-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.srd-number{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.srd-part-link{font-size:12.5px;color:var(--primary);text-decoration:none;transition:color .12s}.srd-part-link:hover{text-decoration:underline}.srd-summary{display:flex;gap:28px;flex-wrap:wrap;background:transparent;border-bottom:1px solid var(--hair);padding:4px 2px 16px;margin-bottom:4px}.srd-summary-item{display:flex;flex-direction:column;gap:3px}.srd-summary-item.wide{flex-basis:100%}.srd-k{font-size:10.5px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.srd-v{font-size:13.5px;color:var(--text);font-variant-numeric:tabular-nums}.srd-table-wrap{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;overflow-x:auto}.srd-table{width:100%;border-collapse:collapse;font-size:13.5px}.srd-table th{text-align:left;padding:10px 14px;font-size:10.5px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--bg-subtle);white-space:nowrap}.srd-table th.srd-th-num{text-align:right}.srd-table td{padding:10px 14px;border-bottom:1px solid var(--divider);color:var(--text-secondary);vertical-align:middle}.srd-table tbody tr:last-child td{border-bottom:none}.srd-table tr.awarded-row{background:var(--success-bg)}.srd-vendor{color:var(--text);font-weight:600;white-space:nowrap}.srd-vendor-email{display:block;font-size:11.5px;color:var(--text-tertiary);font-weight:400;font-variant-numeric:tabular-nums}.srd-via{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:20px;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:1px;background:var(--primary-light);color:var(--primary)}.srd-via.email{background:var(--warning-bg);color:var(--warning-text)}.srd-note-icon{display:inline-block;margin-left:6px;font-size:12px;font-weight:400;color:var(--text-tertiary);cursor:help}.srd-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.srd-price{text-align:right;font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.srd-actions{white-space:nowrap;text-align:right}.srd-btn{height:26px;padding:0 10px;margin-left:6px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.srd-btn:hover{background:var(--surface-muted);color:var(--text)}.srd-btn.on{background:var(--primary-soft);color:var(--primary)}.srd-btn.award{background:var(--primary);border-color:var(--primary);color:#fff}.srd-btn.award:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.srd-conversation{margin-top:20px;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:16px 20px}.srd-conversation-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.srd-conversation-head h3{margin:0;font-size:14.5px;font-weight:600;color:var(--text)}.srd-best{display:inline-block;margin-right:7px;padding:2px 9px;border-radius:20px;background:var(--success-bg);color:var(--success-text, var(--success));font-size:10.5px;font-weight:600;white-space:nowrap}.srd-best.fast{background:var(--primary-light);color:var(--primary)}.srd-expired{color:var(--error)}.srd-expired-tag{display:inline-block;margin-right:7px;padding:2px 9px;border-radius:20px;background:var(--error-bg);color:var(--error-text, var(--error));font-size:10.5px;font-weight:600}.srd-empty-row{text-align:center;color:var(--text-tertiary);padding:24px 0!important}.srd-awarded-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 16px;border-radius:12px;background:var(--success-bg);color:var(--success-text, var(--text));font-size:13.5px}.srd-btn.award:disabled{opacity:.45;cursor:default;background:var(--primary);border-color:var(--primary)}.srd-form-hint{font-size:12px;color:var(--text-tertiary);margin:6px 0 0}.srd-paste{margin-bottom:14px;padding:10px 12px;border-radius:12px;background:var(--bg-subtle, var(--surface-muted));display:flex;flex-direction:column;gap:7px}.srd-paste label{font-size:12px;font-weight:600;color:var(--text-secondary)}.srd-paste textarea{font-size:12.5px}.srd-paste button{align-self:flex-end}.srd-quote-modal input,.srd-quote-modal select,.srd-quote-modal textarea{border-radius:8px;transition:border-color .12s,box-shadow .12s}.srd-quote-modal input:focus,.srd-quote-modal select:focus,.srd-quote-modal textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.srd-qty-warn{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:14px;padding:9px 14px;border:1px solid var(--warning, #bf6a23);border-radius:8px;background:var(--warning-bg, #fdf3ee);color:var(--warning-text, #8a4a16);font-size:12.5px}.srd-qty-chip{margin-left:8px;font-size:10.5px;font-weight:600;padding:1px 8px;border-radius:20px;background:var(--warning-bg, #fdf3ee);color:var(--warning-text, #8a4a16)}.mprof{max-width:1000px}.mprof .form-section{background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:18px 20px}.mprof .form-section h3{margin:0 0 14px;padding-bottom:0;border-bottom:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.mprof input:not([type=checkbox]),.mprof textarea{border-radius:8px;transition:border-color .13s ease,box-shadow .13s ease}.mprof input:not([type=checkbox]):focus,.mprof textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.mprof-listed{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:18px 20px;margin-bottom:20px}.mprof-listed .checkbox-inline b{color:var(--text)}.mprof-listed-hint{font-size:12px;color:var(--text-tertiary)}.mprof-dims{display:flex;align-items:center;gap:8px}.mprof-dims span{color:var(--text-tertiary)}.mprof-chips{display:flex;flex-wrap:wrap;gap:8px}.mprof-chip{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:12.5px;line-height:1.2;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.mprof-chip:hover{border-color:var(--primary);color:var(--primary)}.mprof-chip.on{background:var(--primary-light);border-color:var(--primary);color:var(--primary);font-weight:600}.mprof-chip:focus-within{box-shadow:0 0 0 3px var(--primary-soft)}.mprof-chip-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mprof-suggest{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:10px 14px;border-radius:12px;background:var(--primary-light);color:var(--primary);font-size:12.5px}.mprof-suggest-actions{display:flex;gap:8px;flex:none}.mprof-save-dirty{box-shadow:0 0 0 3px var(--primary-light)}.vinv{display:flex;align-items:flex-start;justify-content:center;padding:60px 24px}.vinv-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:36px;max-width:520px;width:100%;text-align:center}.vinv-icon{width:52px;height:52px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary-light);color:var(--primary);font-size:22px;font-weight:700}.vinv-icon.ok{background:var(--success-bg);color:var(--success-text)}.vinv-icon.warn{background:var(--warning-bg);color:var(--warning-text)}.vinv-compare{margin:16px 0;border:1px solid var(--border);border-radius:10px;overflow:hidden;text-align:left}.vinv-compare-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 14px;font-size:.85rem}.vinv-compare-row+.vinv-compare-row{border-top:1px solid var(--border)}.vinv-compare-key{color:var(--text-tertiary);flex:none}.vinv-compare-val{font-weight:600;word-break:break-all;text-align:right}.vinv-compare-val.ok{color:var(--success-text, var(--text))}.vinv-compare-val.bad{color:var(--error-text, var(--text))}.vinv-card h1{margin:0 0 12px;font-size:1.4rem;color:var(--text)}.vinv-card p{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary);line-height:1.55}.vinv-note{font-size:.8rem;color:var(--text-tertiary)}.vinv-error{margin:12px 0;padding:10px 14px;border-radius:8px;background:var(--error-bg);color:var(--error-text);font-size:.85rem}.vinv-actions{display:flex;justify-content:center;gap:12px;margin-top:20px;flex-wrap:wrap}.vinv-link{text-decoration:none;display:inline-block}.fsh-cards{display:flex;flex-direction:column;gap:12px}.fsh-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 18px;transition:box-shadow .15s ease}.fsh-card:hover{box-shadow:0 2px 8px #0000000f}.fsh-card-head{display:flex;align-items:center;gap:12px}.fsh-folder{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--primary-light);color:var(--primary);font-size:18px}.fsh-card-main{flex:1;min-width:0;background:none;border:none;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px;color:inherit;font:inherit}.fsh-card-title{font-weight:600;font-size:14.5px;color:var(--text)}.fsh-card-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--text-tertiary)}.fsh-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;background:var(--bg-subtle, var(--surface-muted));border:1px solid var(--border);font-size:11.5px;color:var(--text-secondary);white-space:nowrap}.fsh-chip.warn{background:var(--warning-bg);border-color:transparent;color:var(--warning-text)}.fsh-head-actions{display:flex;align-items:center;gap:8px;flex:none}.fsh-caret-ind{color:var(--text-tertiary);font-size:11px;width:14px;text-align:center}.fsh-members-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0 52px}.fsh-member{display:inline-flex;align-items:center;gap:6px;padding:2px 6px 2px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:12px;color:var(--text-secondary)}.fsh-member .dot{width:7px;height:7px;border-radius:50%;background:var(--text-tertiary)}.fsh-member.active .dot{background:var(--success)}.fsh-member.pending .dot{background:var(--warning)}.fsh-member.revoked{opacity:.55;text-decoration:line-through}.fsh-member.revoked .dot{background:var(--error)}.fsh-member-hint{font-size:10.5px;padding:1px 6px;border-radius:999px;background:var(--warning-bg);color:var(--warning-text);white-space:nowrap;cursor:help}.fsh-member-x{background:none;border:none;cursor:pointer;padding:0 2px;color:var(--text-tertiary);font-size:13px;line-height:1}.fsh-member-x:hover{color:var(--error)}.fsh-files-panel{margin:12px 0 0 52px;border-top:1px solid var(--divider, var(--border));padding-top:10px}.fsh-file-row{display:flex;align-items:center;gap:10px;padding:5px 6px;border-radius:7px;font-size:13px}.fsh-file-row:hover{background:var(--bg-subtle, var(--surface-muted))}.fsh-file-glyph{flex:none;width:18px;text-align:center;color:var(--text-tertiary)}.fsh-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.fsh-file-size{flex:none;font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.fsh-file-dl{background:none;border:1px solid var(--border);border-radius:6px;padding:2px 10px;font-size:12px;cursor:pointer;color:var(--text-secondary)}.fsh-file-dl:hover{border-color:var(--primary);color:var(--primary)}.fsh-drop{margin-top:8px;padding:10px;border:1.5px dashed var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;color:var(--text-tertiary);cursor:pointer;transition:border-color .15s ease,background .15s ease}.fsh-drop:hover,.fsh-drop.over{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.fsh-empty{border:1px dashed var(--border);border-radius:12px;padding:48px 24px;text-align:center;color:var(--text-tertiary);font-size:13.5px}.fsh-empty .fsh-folder{margin:0 auto 12px}.fsh-modal-overlay{position:fixed;inset:0;z-index:200;background:#0f141973;display:flex;align-items:center;justify-content:center;padding:24px}.fsh-modal{width:min(980px,96vw);height:min(660px,90vh);background:var(--surface);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 50px #00000040}.fsh-modal-head{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.fsh-modal-head h2{margin:0;font-size:16px}.fsh-modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-tertiary)}.fsh-modal-body{flex:1;display:flex;min-height:0}.fsh-side{width:300px;flex:none;border-right:1px solid var(--border);padding:16px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.fsh-field{display:flex;flex-direction:column;gap:5px}.fsh-field>label{font-size:12px;font-weight:600;color:var(--text-secondary)}.fsh-field input,.fsh-field select{padding:7px 10px;border:1px solid var(--border);border-radius:7px;font-size:13px;background:var(--surface);color:var(--text)}.fsh-hint{font-size:11.5px;color:var(--text-tertiary)}.fsh-emails{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:6px 8px;border:1px solid var(--border);border-radius:7px;cursor:text;min-height:60px;align-content:flex-start}.fsh-emails:focus-within{border-color:var(--primary)}.fsh-email-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 5px 2px 9px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:12px;max-width:100%}.fsh-email-chip span{overflow:hidden;text-overflow:ellipsis}.fsh-email-chip button{background:none;border:none;cursor:pointer;color:inherit;padding:0 2px;font-size:12px;line-height:1}.fsh-emails input{flex:1;min-width:120px;border:none;outline:none;padding:3px 2px;font-size:13px;background:transparent;color:var(--text)}.fsh-recipients{position:relative}.fsh-suggest{position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000024;overflow:hidden;margin-top:2px}.fsh-suggest-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 10px;background:none;border:none;cursor:pointer;text-align:left;font-size:12.5px}.fsh-suggest-item:hover{background:var(--bg-subtle, var(--surface-muted))}.fsh-suggest-main{display:flex;flex-direction:column;min-width:0}.fsh-suggest-name{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsh-suggest-email{color:var(--text-tertiary);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsh-suggest-kind{flex:none;font-size:11px;color:var(--text-tertiary);text-transform:capitalize;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsh-explorer{flex:1;min-width:0;display:flex;flex-direction:column}.fsh-explorer-bar{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center}.fsh-search{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:7px;font-size:13px;background:var(--surface);color:var(--text)}.fsh-tree{flex:1;overflow-y:auto;padding:8px 10px}.fsh-tree.over{outline:2px dashed var(--primary);outline-offset:-6px;border-radius:10px}.fsh-node-row{display:flex;align-items:center;gap:7px;padding:4px 8px;border-radius:7px;font-size:13px;cursor:default;-webkit-user-select:none;user-select:none}.fsh-node-row:hover{background:var(--bg-subtle, var(--surface-muted))}.fsh-node-row.folder{cursor:pointer}.fsh-caret{flex:none;width:16px;text-align:center;color:var(--text-tertiary);font-size:10px;transition:transform .12s ease}.fsh-caret.open{transform:rotate(90deg)}.fsh-cb{flex:none;accent-color:var(--primary);cursor:pointer}.fsh-node-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.fsh-node-label .sub{color:var(--text-tertiary);font-size:12px}.fsh-node-count{flex:none;font-size:11.5px;color:var(--text-tertiary)}.fsh-indent-1{margin-left:20px}.fsh-indent-2{margin-left:40px}.fsh-tree-section{margin:10px 6px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.fsh-local-file{color:var(--success-text, var(--text))}.fsh-tree-empty{padding:32px 16px;text-align:center;color:var(--text-tertiary);font-size:13px}.fsh-modal-foot{border-top:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;gap:10px}.fsh-foot-summary{flex:1;font-size:13px;color:var(--text-secondary)}.fsh-file-from{flex:none;font-size:11px;color:var(--primary);background:var(--primary-light);padding:1px 7px;border-radius:999px}.fsh-toggle-label{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text);cursor:pointer}.fsh-toggle-label input{accent-color:var(--primary)}.fsh-member-up{background:none;border:none;cursor:pointer;padding:0 2px;color:var(--text-tertiary);font-size:12px;line-height:1;opacity:.5;transition:color .12s ease,opacity .12s ease}.fsh-member-up.on{color:var(--primary);opacity:1}.fsh-member-up:hover{opacity:1}.admin-users{padding:24px;max-width:1200px;margin:0 auto}.admin-users h1{margin:0 0 8px;font-size:24px;font-weight:600}.admin-users .subtitle{color:var(--text-secondary);margin:0 0 24px}.admin-users .error{color:var(--error);padding:16px;background:var(--error-bg);border-radius:8px}.users-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.users-table th,.users-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.users-table th{background:var(--bg-subtle);font-weight:600;font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.users-table td{font-size:14px}.users-table tbody tr:hover{background:var(--bg-subtle)}.role-select{padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--surface);cursor:pointer}.role-select:hover{border-color:var(--border)}.role-select:disabled{opacity:.6;cursor:wait}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.active{background:var(--success-bg);color:var(--success-text)}.status-badge.inactive{background:var(--error-bg);color:var(--error-text)}.role-descriptions{margin-top:32px;padding:20px;background:var(--bg-subtle);border-radius:8px}.role-descriptions h3{margin:0 0 12px;font-size:16px;font-weight:600}.role-descriptions ul{margin:0;padding-left:20px}.role-descriptions li{margin-bottom:8px;font-size:14px;color:var(--text-secondary)}.role-descriptions strong{color:var(--text)}.org-settings{max-width:900px;margin:0 auto;padding:24px}.org-settings-subtitle{margin:0;font-size:14px;color:var(--text-secondary);font-family:monospace}.org-setting-row{display:flex;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.org-setting-row:last-child{border-bottom:none}.org-setting-row label{width:120px;flex-shrink:0;font-size:14px;color:var(--text-secondary);font-weight:500}.org-setting-row span{color:var(--text);font-size:14px}.org-setting-input-group{display:flex;gap:8px;flex:1}.org-setting-input-group input{flex:1;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px}.org-setting-input-group input:focus{outline:none;border-color:var(--primary)}.org-setting-input-group input:disabled{opacity:.5;cursor:not-allowed}.org-plan-badge{background:var(--primary-light);color:var(--primary-active);padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.org-invite-form{display:flex;gap:12px;flex-wrap:wrap}.org-invite-form input[type=email]{flex:1;min-width:200px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px}.org-invite-form select{padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px;cursor:pointer}.org-invite-form input:focus,.org-invite-form select:focus{outline:none;border-color:var(--primary)}.org-members-table{overflow-x:auto}.org-members-table table{width:100%;border-collapse:collapse;font-size:14px}.org-members-table th{text-align:left;padding:8px 12px;color:var(--text-tertiary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.org-members-table td{padding:12px;color:var(--text);border-bottom:1px solid var(--border)}.org-members-table tr:last-child td{border-bottom:none}.org-members-table tr.org-current-user-row td{background:var(--primary-soft)}.org-member-name{font-weight:500}.org-you-badge{margin-left:6px;font-size:11px;background:var(--surface-muted);color:var(--text-secondary);padding:2px 6px;border-radius:3px}.org-role-tag{background:var(--surface-muted);color:var(--text-secondary);padding:3px 8px;border-radius:4px;font-size:12px;text-transform:capitalize;white-space:nowrap}.org-role-select{padding:4px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:13px;cursor:pointer}.org-member-actions{display:flex;gap:8px;white-space:nowrap}.org-invite-link-cell{display:flex;align-items:center;gap:8px;min-width:260px}.org-invite-link-cell input{flex:1;min-width:160px;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:12px}.org-invite-link-cell input:focus{outline:none;border-color:var(--primary)}.org-muted-text{color:var(--text-secondary);font-size:13px}.org-section-hint{color:var(--text-secondary);font-size:13px;margin:-4px 0 14px}.org-company-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:14px}.org-company-field{display:flex;flex-direction:column;gap:5px}.org-company-field.wide{grid-column:1 / -1}.org-company-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.org-company-field input{padding:8px 10px;border:1px solid var(--border);border-radius:7px;font-size:13px;background:var(--surface);color:var(--text)}.org-company-field input:disabled{opacity:.6}@media(max-width:640px){.org-company-grid{grid-template-columns:1fr}}.org-build-footer{margin-top:8px;padding:4px 2px;font-size:11px;color:var(--text-secondary);opacity:.7;text-align:right;font-variant-numeric:tabular-nums}.contact-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.contact-modal{background:var(--surface, #fff);border-radius:12px;padding:2rem;width:100%;max-width:520px;box-shadow:0 24px 64px #0000002e;position:relative}.contact-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text-secondary, var(--text-secondary));padding:.25rem .5rem;border-radius:4px}.contact-modal-close:hover{background:var(--surface-secondary, var(--surface-muted))}.contact-modal h2{font-size:1.25rem;font-weight:600;margin:0 0 .4rem}.contact-modal-sub{color:var(--text-secondary, var(--text-secondary));font-size:.9rem;margin:0 0 1.5rem}.contact-form{display:flex;flex-direction:column;gap:1rem}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:480px){.contact-form-row{grid-template-columns:1fr}}.contact-field{display:flex;flex-direction:column;gap:.3rem}.contact-field label{font-size:.875rem;font-weight:500;color:var(--text, var(--text))}.optional{font-weight:400;color:var(--text-secondary, var(--text-tertiary))}.contact-field input,.contact-field textarea{padding:.5rem .75rem;border:1px solid var(--border, var(--border));border-radius:6px;font-size:.875rem;font-family:inherit;color:var(--text, var(--text));background:var(--surface, #fff);resize:vertical}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:var(--primary, var(--primary));box-shadow:0 0 0 2px #5e9b6e26}.contact-error{font-size:.875rem;color:var(--error);margin:0}.contact-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.contact-form-actions .btn,.contact-modal-done .btn{padding:.55rem 1.4rem;font-size:.875rem}.contact-modal-done{text-align:center;padding:1.5rem 0}.contact-done-icon{width:52px;height:52px;border-radius:50%;background:var(--success-bg);color:var(--success);font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.contact-modal-done h2{margin-bottom:.5rem}.contact-modal-done p{color:var(--text-secondary, var(--text-secondary));margin-bottom:1.5rem}.billing-page{max-width:720px;margin:0 auto;padding:24px}.billing-subtitle{margin:0;font-size:14px;color:var(--text-secondary)}.billing-facts{display:flex;flex-direction:column;gap:12px;margin:0 0 20px}.billing-fact{display:flex;align-items:center;gap:16px}.billing-fact-label{width:120px;flex-shrink:0;font-size:14px;color:var(--text-secondary)}.billing-fact-value{font-size:14px;color:var(--text)}.billing-plan-name{text-transform:capitalize;font-weight:500}.billing-status-active{background:var(--success-bg);color:var(--success-text)}.billing-status-trialing{background:var(--warning-bg);color:var(--warning-text)}.billing-status-past-due{background:var(--error-bg);color:var(--error-text)}.billing-status-canceled{background:var(--surface-muted);color:var(--text-secondary)}.billing-status-warning{background:var(--warning-bg);color:var(--warning-text)}.billing-status-none{background:var(--surface-muted);color:var(--text-secondary)}.billing-actions{display:flex;gap:12px}.billing-note{margin:0;font-size:13px;color:var(--text-tertiary)}.billing-feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.billing-feature-list li{font-size:14px;color:var(--text-secondary);padding-left:20px;position:relative}.billing-feature-list li:before{content:"✓";position:absolute;left:0;color:var(--success);font-size:13px}.billing-enterprise-body{color:var(--text-secondary);font-size:14px;margin:0 0 20px;line-height:1.6}@media(max-width:600px){.billing-page{padding:16px}.billing-fact{flex-direction:column;align-items:flex-start;gap:4px}.billing-fact-label{width:auto}}.integrations-page{max-width:800px;margin:0 auto;padding:2rem}.integrations-page .integrations-subtitle{color:var(--text-secondary);font-size:.875rem;margin:0}.integrations-page .header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.integrations-page .integrations-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1.5rem}.integrations-page .integrations-banner.success{background:var(--success-bg);border:1px solid var(--success);color:var(--success-text)}.integrations-page .integrations-banner.error{background:var(--error-bg);border:1px solid var(--error);color:var(--error-text)}.integrations-page .banner-close{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;line-height:1;opacity:.7;padding:0}.integrations-page .banner-close:hover{opacity:1}.integrations-page .section-title{display:flex;align-items:center;gap:.5rem}.integrations-page .ms-icon{font-size:1.1rem}.integrations-page .integrations-loading,.integrations-page .integrations-empty{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.integrations-page .empty-icon{font-size:2.5rem;margin-bottom:.5rem}.integrations-page .integrations-empty p{margin:.25rem 0}.integrations-page .empty-hint{font-size:.85rem;color:var(--text-tertiary)}.integrations-page .connections-list{display:flex;flex-direction:column;gap:.75rem}.integrations-page .connection-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;transition:border-color .15s}.integrations-page .connection-card.inactive{opacity:.65}.integrations-page .connection-main{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.integrations-page .connection-identity{display:flex;align-items:center;gap:.75rem}.integrations-page .connection-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;flex-shrink:0}.integrations-page .connection-email{font-size:.925rem;font-weight:500;color:var(--text)}.integrations-page .connection-name{font-size:.8rem;color:var(--text-secondary)}.integrations-page .connection-status-row{display:flex;align-items:center;gap:.5rem}.integrations-page .status-badge{font-size:.75rem;font-weight:500;padding:.2rem .6rem;border-radius:999px}.integrations-page .status-badge.active{background:var(--success-bg);color:var(--success-text)}.integrations-page .status-badge.warning{background:var(--warning-bg);color:var(--warning-text)}.integrations-page .status-badge.inactive{background:var(--surface-muted);color:var(--text-tertiary)}.integrations-page .connection-meta{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem;font-size:.8125rem;border-top:1px solid var(--border);padding-top:.75rem;margin-bottom:.5rem}.integrations-page .meta-row{display:contents}.integrations-page .meta-label{color:var(--text-secondary);align-self:center}.integrations-page .meta-value{color:var(--text);align-self:center}.integrations-page .error-row .meta-label,.integrations-page .error-text{color:var(--error-text);grid-column:span 2}.integrations-page .error-row{display:flex;gap:.5rem;grid-column:span 2}.integrations-page .folder-value,.integrations-page .folder-edit{display:flex;align-items:center;gap:.4rem}.integrations-page .folder-input{background:var(--surface);border:1px solid var(--primary);border-radius:4px;color:var(--text);font-size:.8125rem;padding:.15rem .4rem;width:140px}.integrations-page .folder-input:focus{outline:none}.integrations-page .connection-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:.6rem;margin-top:.25rem}.integrations-page .how-it-works{display:flex;flex-direction:column;gap:1rem}.integrations-page .step{display:flex;gap:1rem;align-items:flex-start}.integrations-page .step-num{width:28px;height:28px;border-radius:50%;background:var(--primary);color:var(--text-inverse);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}.integrations-page .step strong{display:block;font-size:.9rem;color:var(--text);margin-bottom:.2rem}.integrations-page .step p{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.5}@media(max-width:600px){.integrations-page .page-header{flex-direction:column;align-items:flex-start}.integrations-page .header-actions{width:100%;flex-direction:column}.integrations-page .header-actions button{width:100%}.integrations-page .connection-main{flex-direction:column;align-items:flex-start}.integrations-page .connection-meta{grid-template-columns:1fr}}.create-org-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.create-org-container{width:100%;max-width:480px;padding:2rem}.create-org-header{text-align:center;margin-bottom:2rem}.create-org-header .logo-icon{font-size:2.5rem;color:var(--primary);display:block;margin-bottom:.75rem}.create-org-header h1{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 .5rem}.create-org-header p{color:var(--text-secondary);margin:0;font-size:.95rem}.create-org-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem}.form-group{margin-bottom:1.25rem}.form-group label{display:flex;align-items:baseline;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.slug-hint{font-size:.75rem;color:var(--text-secondary);font-weight:400}.form-group input{width:100%;padding:.625rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem;box-sizing:border-box;transition:border-color .15s}.slug-input-wrapper{position:relative}.slug-preview{margin:.4rem 0 0;font-size:.8rem;color:var(--text-secondary)}.slug-preview strong{color:var(--primary)}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-primary{flex:1;padding:.625rem 1.25rem;background:var(--primary);border:none;border-radius:8px;color:var(--text-inverse);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-secondary{padding:.625rem 1.25rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:.95rem;cursor:pointer;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--text-tertiary);color:var(--text)}.accept-invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.accept-invite-container{width:100%;max-width:460px;padding:2rem}.loading-text{text-align:center;color:var(--text-secondary)}.invite-error-state{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2.5rem 2rem}.error-icon{font-size:2.5rem;margin-bottom:1rem;color:var(--error)}.invite-error-state h2{color:var(--text);margin:0 0 .75rem}.invite-error-state p{color:var(--text-secondary);margin:0 0 1.5rem}.invite-header{text-align:center;margin-bottom:2rem}.invite-header .logo-icon{font-size:2.5rem;color:var(--primary);display:block;margin-bottom:.75rem}.invite-header h1{font-size:1.6rem;font-weight:700;color:var(--text);margin:0 0 .75rem}.invite-header p{color:var(--text-secondary);margin:0 0 .5rem;font-size:.95rem}.invite-header strong{color:var(--text)}.role-badge{background:var(--primary-light);color:var(--primary);padding:.15rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500;text-transform:capitalize}.invite-email{font-size:.8rem!important;color:var(--text-secondary)!important}.accept-invite-page .invite-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;display:block;width:100%;box-sizing:border-box}.accept-invite-page .invite-form .form-group{margin-bottom:1.25rem;width:100%}.accept-invite-page .invite-form .form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.accept-invite-page .invite-form .form-group.checkbox label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.accept-invite-page .invite-form .form-group input[type=text],.accept-invite-page .invite-form .form-group input[type=password]{width:100%;padding:.625rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem;box-sizing:border-box;transition:border-color .15s}.already-logged-in{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.25rem;padding:.75rem 1rem;background:var(--primary-soft);border-radius:8px;border:1px solid var(--accent-subtle)}.already-logged-in strong{color:var(--text)}.btn-primary{padding:.625rem 1.25rem;background:var(--primary);border:none;border-radius:8px;color:var(--text-inverse);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s;display:inline-block;text-decoration:none;text-align:center}.btn-primary.full-width{width:100%;display:block;box-sizing:border-box}.btn-primary:hover:not(:disabled){background:var(--primary)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.signin-link{text-align:center;margin-top:1rem;font-size:.875rem;color:var(--text-secondary)}.signin-link a{color:var(--primary);text-decoration:none}.signin-link a:hover{text-decoration:underline}.error-message{background:var(--error-bg);border:1px solid var(--error);color:var(--error-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.auth-flow-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.auth-flow-container{width:100%;max-width:420px;padding:2rem;text-align:center}.auth-flow-logo{font-size:2.5rem;color:var(--primary);display:block;margin-bottom:1rem}.auth-flow-icon{font-size:2.5rem;margin-bottom:1rem}.auth-flow-icon.success{color:var(--success)}.auth-flow-icon.error{color:var(--error)}.auth-flow-container h1{font-size:1.5rem;font-weight:700;color:var(--text);margin:0 0 .75rem}.auth-flow-sub{color:var(--text-secondary);font-size:.95rem;margin:0 0 1.5rem;line-height:1.6}.auth-flow-btn{display:inline-block;padding:.625rem 1.5rem;background:var(--primary);color:var(--text-inverse);border:none;border-radius:8px;font-size:.95rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s;margin-top:.5rem}.auth-flow-btn:hover:not(:disabled){background:var(--primary)}.auth-flow-btn:disabled{opacity:.6;cursor:not-allowed}.auth-flow-error{background:var(--error-bg);border:1px solid var(--error);color:var(--error-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem;text-align:left}.auth-flow-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;text-align:left;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group:last-of-type{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.4rem}.form-group input{width:100%;padding:.6rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary)}.auth-flow-back{margin-top:1rem;font-size:.875rem}.auth-flow-back a{color:var(--primary);text-decoration:none}.auth-flow-back a:hover{text-decoration:underline}.lp{--font-display: "Geist", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans: "Geist", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--m-bg: #0B0A08;--m-bg-alt: #100E0C;--m-surface: #16130F;--m-surface-2: #1E1913;--m-text: #F4F1EC;--m-text-soft: #B4ADA3;--m-text-mute: #837B71;--m-border: #272019;--m-border-strong: #362D24;--m-accent: #6E93E8;--m-accent-hover: #88A6EF;--m-accent-solid: #4670DA;--m-accent-solid-hover: #5A82E6;--m-accent-quiet: color-mix(in oklab, var(--m-accent) 14%, transparent);--m-on-accent: #ffffff;--m-shadow-sm: none;--m-shadow-md: none;--m-shadow-lg: none;--m-shadow-xl: none;--m-ring: 0 0 0 1px var(--m-border);--info: var(--m-text-soft);--warning: var(--m-text-mute);--warning-text: var(--m-text-mute);--m-brand: var(--m-accent);--m-brand-2: var(--m-accent-hover);--m-brand-deep: var(--m-accent);--m-brand-text: var(--m-accent);--m-brand-soft: var(--m-accent-quiet);--paper: var(--m-surface);--paper-deep: var(--m-surface-2);--ink: var(--m-text);--ink-soft: var(--m-text-soft);--ink-muted: var(--m-text-mute);--rule: var(--m-border);--rule-strong: var(--m-border-strong);background:var(--m-bg);color:var(--m-text);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:clip}[data-theme=light] .lp{--m-bg: #FBFAF7;--m-bg-alt: #F4F1EA;--m-surface: #FFFFFF;--m-surface-2: #F6F3ED;--m-text: #1B1714;--m-text-soft: #55504A;--m-text-mute: #8A847B;--m-border: #E8E3D9;--m-border-strong: #D6D0C4;--m-accent: #2F5FD0;--m-accent-hover: #21408F;--m-accent-solid: #2F5FD0;--m-accent-solid-hover: #21408F;--m-on-accent: #ffffff}.lp ::selection{background:var(--m-accent);color:var(--m-on-accent)}.lp a:focus-visible,.lp button:focus-visible,.lp .lp-btn:focus-visible,.lp .lp-textlink:focus-visible,.lp .lp-nav-link:focus-visible{outline:2px solid var(--m-accent);outline-offset:2px;border-radius:8px}.lp-container{max-width:1200px;margin:0 auto;padding:0 32px;position:relative}@media(max-width:768px){.lp-container{padding:0 20px}}.lp-section{padding:112px 0;position:relative}@media(max-width:768px){.lp-section{padding:72px 0}}.lp-h1{font-family:var(--font-display);font-weight:600;font-size:clamp(40px,5.6vw,68px);line-height:1.04;letter-spacing:-.03em;color:var(--m-text);margin:0}.lp-h2{font-family:var(--font-display);font-weight:600;font-size:clamp(30px,3.8vw,46px);line-height:1.08;letter-spacing:-.025em;color:var(--m-text);margin:0}.lp-h3{font-family:var(--font-display);font-weight:600;font-size:clamp(23px,2.6vw,32px);line-height:1.15;letter-spacing:-.02em;color:var(--m-text);margin:0 0 18px}.lp-grad-text{background:none;-webkit-text-fill-color:currentColor;color:var(--m-text)}.lp-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--m-text-soft);max-width:54ch;margin:0}.lp-body-lg{font-size:17px;line-height:1.65;color:var(--m-text-soft);max-width:52ch;margin:0}.lp-eyebrow{display:inline-block;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--m-text-mute);margin-bottom:18px}.lp-section-head{max-width:62ch;margin-bottom:64px}.lp-section-head-center{margin-left:auto;margin-right:auto;text-align:center}.lp-section-sub{font-size:18px;line-height:1.6;color:var(--m-text-soft);margin:20px 0 0;max-width:60ch}.lp-section-head-center .lp-section-sub{margin-left:auto;margin-right:auto}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;padding:0 20px;font-family:var(--font-sans);font-size:15px;font-weight:500;letter-spacing:-.01em;text-decoration:none;border-radius:10px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .15s ease,background .2s ease,border-color .2s ease,color .2s ease}.lp-btn-sm{height:38px;padding:0 16px;font-size:14px;border-radius:9px}.lp-btn-lg{height:52px;padding:0 26px;font-size:16px;border-radius:12px}.lp-btn-block{width:100%}.lp-btn-primary{background:var(--m-accent-solid);color:var(--m-on-accent)}.lp-btn-primary:hover{transform:translateY(-1px);background:var(--m-accent-solid-hover);color:var(--m-on-accent)}.lp-btn-ghost,.lp-btn-outline{background:transparent;color:var(--m-text);border-color:var(--m-border-strong)}.lp-btn-ghost:hover,.lp-btn-outline:hover{border-color:var(--m-accent);color:var(--m-accent)}.lp-btn-arrow{transition:transform .2s ease;font-size:1.05em}.lp-btn:hover .lp-btn-arrow{transform:translate(3px)}.lp-cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.lp-cta-row-center{justify-content:center}.lp-textlink{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:15px;font-weight:500;color:var(--m-accent);text-decoration:none;transition:gap .2s ease}.lp-textlink:hover{gap:12px;text-decoration:none;color:var(--m-accent-hover)}.lp-ico{width:15px;height:15px;flex-shrink:0;color:var(--m-accent)}.lp-nav{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--m-border);background:var(--m-bg)}.lp-nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px}.lp-wordmark{display:inline-flex;align-items:center;text-decoration:none}.lp-wordmark-img{height:26px;width:auto;display:block}.lp-footer .lp-wordmark-img{height:24px}.lp-nav-links{display:flex;align-items:center;gap:6px}.lp-nav-link{font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--m-text-soft);background:none;border:none;padding:8px 12px;cursor:pointer;text-decoration:none;border-radius:8px;transition:color .15s ease,background .15s ease}.lp-nav-link:hover{color:var(--m-text);background:var(--m-bg-alt)}.lp-theme-toggle{font-family:var(--font-sans)}.lp-nav-links .lp-btn{margin-left:6px}@media(max-width:560px){.lp-nav-link:not(.lp-theme-toggle){display:none}.lp-nav-links .lp-theme-toggle{display:inline-flex}}.lp-hero{position:relative;padding:92px 0 104px;overflow:hidden;border-bottom:1px solid var(--m-border)}@media(max-width:768px){.lp-hero{padding:56px 0 68px}}.lp-hero-glow{position:absolute;top:-320px;left:50%;transform:translate(-50%);width:1100px;height:760px;pointer-events:none;background:radial-gradient(closest-side,color-mix(in oklab,var(--m-accent) 10%,transparent),transparent 70%);z-index:0}.lp-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:64px;align-items:center}@media(max-width:1024px){.lp-hero-grid{grid-template-columns:1fr;gap:48px}}.lp-hero-left{animation:lp-rise .6s ease both}.lp-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--m-text-soft);background:var(--m-surface);border:1px solid var(--m-border);padding:7px 14px;border-radius:999px;margin-bottom:26px}.lp-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--m-accent);box-shadow:0 0 0 4px var(--m-accent-quiet)}.lp-hero-left .lp-h1{margin-bottom:24px}.lp-hero-left .lp-lead,.lp-hero-left .lp-cta-row{margin-bottom:34px}.lp-hero-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px}.lp-hero-trust li{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--m-text-soft)}.lp-hero-right{position:relative;animation:lp-rise .7s ease .08s both}.lp-window{position:relative;background:var(--m-surface);border:1px solid var(--m-border);border-radius:12px;overflow:hidden}.lp-window-bar{display:flex;align-items:center;gap:7px;height:38px;padding:0 16px;border-bottom:1px solid var(--m-border);background:var(--m-bg-alt)}.lp-window-dot{width:10px;height:10px;border-radius:50%;background:var(--m-border-strong)}.lp-window-title{margin-left:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--m-text-mute)}.lp-window-body{padding:22px;background:var(--m-bg-alt)}@keyframes lp-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.lp-trust-strip{padding:44px 0;border-bottom:1px solid var(--m-border);background:var(--m-bg)}.lp-trust-caption{text-align:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--m-text-mute);margin:0 0 22px}.lp-logo-cloud{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px 44px}.lp-logo-cloud li{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--m-text-mute);transition:color .2s ease}.lp-logo-cloud li:hover{color:var(--m-text-soft)}.lp-showcase{background:var(--m-bg)}.lp-pillar{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:64px;align-items:center;padding:60px 0}.lp-pillar+.lp-pillar{border-top:1px solid var(--m-border)}.lp-pillar-left .lp-pillar-text{order:2}.lp-pillar-left .lp-pillar-figure{order:1}.lp-pillar-meta{display:flex;align-items:center;gap:14px;margin-bottom:22px}.lp-pillar-step{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--m-surface);color:var(--m-text);font-family:var(--font-display);font-weight:600;font-size:16px;border:1px solid var(--m-border)}.lp-pillar-label{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--m-text-mute)}.lp-pillar-figure{position:relative}.lp-figure-frame{background:var(--m-surface);border:1px solid var(--m-border);border-radius:12px;padding:20px}@media(max-width:1024px){.lp-pillar{grid-template-columns:1fr;gap:36px;padding:48px 0}.lp-pillar-left .lp-pillar-text,.lp-pillar-left .lp-pillar-figure{order:initial}}.lp-benefits{background:var(--m-bg-alt);border-top:1px solid var(--m-border);border-bottom:1px solid var(--m-border)}.lp-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}@media(max-width:980px){.lp-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.lp-benefit-grid{grid-template-columns:1fr}}.lp-benefit-card{background:var(--m-surface);border:1px solid var(--m-border);border-radius:12px;padding:28px 24px;transition:border-color .2s ease,background .2s ease}.lp-benefit-card:hover{border-color:var(--m-border-strong);background:var(--m-surface-2)}.lp-benefit-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--m-surface-2);color:var(--m-text);border:1px solid var(--m-border);margin-bottom:18px}.lp-benefit-icon svg{width:24px;height:24px}.lp-benefit-card h3{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--m-text);margin:0 0 10px}.lp-benefit-card p{font-size:14.5px;line-height:1.6;color:var(--m-text-soft);margin:0}.lp-proof{background:var(--m-bg)}.lp-quote{max-width:60ch;margin:0 auto 56px;text-align:center}.lp-quote blockquote{font-family:var(--font-display);font-size:clamp(22px,2.8vw,32px);line-height:1.32;letter-spacing:-.02em;font-weight:500;color:var(--m-text);margin:0 0 22px}.lp-quote figcaption{display:flex;flex-direction:column;gap:3px;align-items:center}.lp-quote-author{font-size:15px;font-weight:600;color:var(--m-text)}.lp-quote-role{font-size:13px;color:var(--m-text-mute)}.lp-proof-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media(max-width:860px){.lp-proof-list{grid-template-columns:1fr}}.lp-proof-list li{background:var(--m-surface);border:1px solid var(--m-border);border-radius:12px;padding:26px 24px}.lp-proof-ico{width:26px;height:26px;color:var(--m-text-soft);margin-bottom:16px}.lp-proof-list h3{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.015em;color:var(--m-text);margin:0 0 8px}.lp-proof-list p{font-size:14.5px;line-height:1.6;color:var(--m-text-soft);margin:0}.lp-pricing-preview{background:var(--m-bg-alt);border-top:1px solid var(--m-border)}.lp-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:860px;margin:0 auto}@media(max-width:720px){.lp-plan-grid{grid-template-columns:1fr}}.lp-plan{position:relative;background:var(--m-surface);border:1px solid var(--m-border);border-radius:12px;padding:30px 28px;display:flex;flex-direction:column}.lp-plan-featured{border-color:var(--m-accent)}.lp-plan-badge{position:absolute;top:-12px;left:28px;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:0;color:var(--m-accent);background:var(--m-surface);padding:4px 12px;border:1px solid var(--m-accent);border-radius:999px}.lp-plan-name{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:0;color:var(--m-text-soft);margin-bottom:14px}.lp-plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.lp-plan-amount{font-family:var(--font-display);font-size:40px;font-weight:600;letter-spacing:-.03em;color:var(--m-text)}.lp-plan-period{font-size:14px;color:var(--m-text-mute)}.lp-plan-desc{font-size:14.5px;line-height:1.6;color:var(--m-text-soft);margin:0 0 20px}.lp-plan-features{list-style:none;margin:0 0 24px;padding:0;flex:1;display:flex;flex-direction:column;gap:11px}.lp-plan-features li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.45;color:var(--m-text-soft)}.lp-plan-features .lp-ico{margin-top:2px}.lp-pricing-more{text-align:center;margin-top:32px}.lp-cta-band{padding:112px 0;background:var(--m-bg)}.lp-cta-band-inner{position:relative;overflow:hidden;text-align:center;padding:72px 40px;border-radius:16px;background:var(--m-surface);border:1px solid var(--m-border)}.lp-cta-band-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px 320px at 50% -20%,var(--m-accent-quiet),transparent 70%)}.lp-cta-band-title{position:relative;font-family:var(--font-display);font-size:clamp(28px,3.6vw,44px);font-weight:600;letter-spacing:-.025em;line-height:1.1;color:var(--m-text);margin:0 0 16px}.lp-cta-band-sub{position:relative;font-size:18px;line-height:1.55;color:var(--m-text-soft);margin:0 auto 32px;max-width:52ch}.lp-cta-band .lp-cta-row{position:relative}@media(max-width:640px){.lp-cta-band-inner{padding:52px 24px}}.lp-footer{border-top:1px solid var(--m-border);padding:48px 0;background:var(--m-bg-alt)}.lp-footer-inner{display:grid;grid-template-columns:1fr auto;gap:28px 40px;align-items:center}.lp-footer-brand{display:flex;flex-direction:column;gap:10px}.lp-footer-tag{margin:0;font-size:13px;color:var(--m-text-mute)}.lp-footer-links{display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end}.lp-footer-links a,.lp-footer-linkbtn{font-family:var(--font-sans);font-size:14px;color:var(--m-text-soft);text-decoration:none;background:none;border:none;padding:0;cursor:pointer;transition:color .15s ease}.lp-footer-links a:hover,.lp-footer-linkbtn:hover{color:var(--m-text)}.lp-footer-legal{grid-column:1 / -1;margin:0;padding-top:24px;border-top:1px solid var(--m-border);font-size:13px;color:var(--m-text-mute)}@media(max-width:720px){.lp-footer-inner{grid-template-columns:1fr}.lp-footer-links{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.lp *,.lp *:before,.lp *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hf{position:relative;display:grid;grid-template-rows:auto auto auto;gap:16px;color:var(--ink)}.hf-tag{position:absolute;top:-30px;right:0;background:var(--m-accent-quiet);border:1px solid var(--m-accent);color:var(--m-accent);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;padding:4px 10px;border-radius:6px}.hf-mono{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-muted)}.hf-email,.hf-rfq{background:var(--paper-deep);border:1px solid var(--rule);border-radius:10px;padding:16px 18px;position:relative}.hf-email-head{display:flex;gap:12px;font-size:12.5px;color:var(--ink-soft);padding:3px 0;align-items:baseline}.hf-email-head .hf-mono{min-width:44px}.hf-email-body{padding:10px 0 12px;border-top:1px dashed var(--rule);margin-top:10px;font-size:13px;line-height:1.55;color:var(--ink-soft)}.hf-email-body p{margin:0}.hf-email-attachments{display:flex;flex-wrap:wrap;gap:6px;padding-top:10px;border-top:1px dashed var(--rule)}.hf-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);padding:4px 8px;background:var(--paper);border:1px solid var(--rule);border-radius:6px}.hf-pill-dot{width:6px;height:6px;border-radius:2px;background:var(--m-accent);display:inline-block}.hf-arrow{width:100%;height:18px;color:var(--m-accent);justify-self:center;opacity:.7}.hf-rfq-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--rule)}.hf-rfq-due{font-family:var(--font-mono);font-size:11px;color:var(--m-accent);letter-spacing:.04em}.hf-line-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.hf-line-items li{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--rule);font-size:13px}.hf-line-items li:last-child{border-bottom:none}.hf-pn{font-family:var(--font-mono);font-size:12.5px;color:var(--ink);letter-spacing:.02em}.hf-qty{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-soft);letter-spacing:.04em}.hf-files{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted);letter-spacing:.04em}.hf-step,.hf-dwg,.hf-doc{display:inline-block;width:10px;height:12px;position:relative;margin-right:2px}.hf-step:before,.hf-dwg:before,.hf-doc:before{content:"";position:absolute;inset:0;border:1px solid var(--ink-soft)}.hf-step:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 46%,var(--m-accent) 46% 54%,transparent 54%)}.hf-dwg:after{content:"";position:absolute;top:3px;left:2px;right:2px;height:1px;background:var(--ink-soft);box-shadow:0 3px 0 var(--ink-soft),0 6px 0 var(--ink-soft)}.hf-doc:after{content:"";position:absolute;inset:2px;background:repeating-linear-gradient(0deg,transparent 0 2px,var(--ink-muted) 2px 3px)}.hf-rfq-foot{display:flex;justify-content:space-between;align-items:baseline;padding-top:10px;margin-top:6px;border-top:1px solid var(--rule)}.hf-rfq-foot .hf-mono:first-child{color:var(--m-accent);letter-spacing:.1em}.hf-conf{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted);letter-spacing:.04em}.cf{border-radius:8px}.cf-head,.cf-foot{display:flex;justify-content:space-between;padding:8px 0}.cf-head{border-bottom:1px solid var(--rule);margin-bottom:8px}.cf-foot{border-top:1px solid var(--rule);margin-top:8px}.cf-foot .hf-mono:first-child{color:var(--m-accent)}.cf-foot .hf-mono:last-child{color:var(--ink-muted)}.cf-rows{list-style:none;margin:0;padding:0}.cf-row{display:grid;grid-template-columns:64px 1fr 1.4fr 44px;gap:14px;align-items:center;padding:10px 8px;border-bottom:1px dashed var(--rule);font-size:12.5px;position:relative;border-radius:6px;transition:background .2s ease}.cf-row:last-child{border-bottom:none}.cf-row.is-active{background:var(--m-accent-quiet)}.cf-row.is-active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:var(--m-accent)}.cf-row.is-queue{background:color-mix(in oklab,var(--m-text-mute) 12%,transparent)}.cf-row.is-queue:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:var(--m-text-mute)}.cf-tag{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;padding:3px 6px;text-align:center;border:1px solid currentColor;color:var(--ink-muted);border-radius:5px}.cf-tag-rfq{color:var(--m-accent)}.cf-tag-po,.cf-tag-qc{color:var(--ink-soft)}.cf-tag-noise{color:var(--ink-muted);opacity:.6}.cf-from{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-subj{font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-conf{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);text-align:right}.cf-row.is-active .cf-conf{color:var(--m-accent)}.cf-row.is-queue .cf-conf{color:var(--ink-soft)}@media(max-width:560px){.cf-row{grid-template-columns:56px 1fr 44px}.cf-subj{display:none}}.of{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}.of-col{min-width:0}.of-col-head{display:block;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--rule)}.of-files{display:flex;flex-direction:column;gap:6px}.of-file{font-family:var(--font-mono);font-size:11px;padding:6px 8px;background:var(--paper-deep);border:1px solid var(--rule);color:var(--ink-soft);border-left:2px solid currentColor;border-radius:5px}.of-file-step{border-left-color:var(--m-accent);color:var(--ink)}.of-file-dwg{border-left-color:var(--ink-muted);color:var(--ink)}.of-file-doc{border-left-color:var(--ink-muted);color:var(--ink-soft)}.of-arrow{width:56px;height:14px;color:var(--m-accent);opacity:.7}.of-groups{display:flex;flex-direction:column;gap:10px}.of-group{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center;padding:8px 10px;background:var(--paper-deep);border:1px solid var(--rule);border-radius:6px}.of-group-meta{border-style:dashed}.of-pn{font-family:var(--font-mono);font-size:11.5px;color:var(--ink);letter-spacing:.02em}.of-pn-meta{color:var(--ink-muted)}.of-grp-file{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;color:var(--ink-muted);letter-spacing:.02em}@media(max-width:640px){.of{grid-template-columns:1fr}.of-arrow{transform:rotate(90deg);width:14px;height:56px;justify-self:center}}.sf{border-radius:8px}.sf-head{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--rule)}.sf-head h4{margin:4px 0 0;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.02em}.sf-status{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--m-accent);background:var(--m-accent-quiet);padding:5px 10px;border:1px solid var(--m-accent);border-radius:6px}.sf-table{width:100%;border-collapse:collapse;font-size:12.5px}.sf-table th{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--ink-muted);text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--rule);font-weight:500}.sf-table td{padding:10px 10px 10px 0;border-bottom:1px dashed var(--rule);color:var(--ink-soft)}.sf-table tr:last-child td{border-bottom:none}.sf-pn{font-family:var(--font-mono)!important;color:var(--ink)!important}.sf-input{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);background:var(--paper-deep);border:1px dashed var(--rule-strong);padding:2px 6px;border-radius:4px}.sf-files-cell{display:flex;gap:4px;align-items:center}.sf-foot{display:flex;gap:18px;justify-content:space-between;align-items:center;padding-top:14px;margin-top:6px;border-top:1px solid var(--rule);flex-wrap:wrap}.sf-foot-accent{color:var(--m-accent)!important;letter-spacing:.06em}@media(max-width:640px){.sf-table th:nth-child(4),.sf-table td:nth-child(4),.sf-table th:nth-child(5),.sf-table td:nth-child(5){display:none}}.pricing-hero{position:relative;padding:96px 0 68px;overflow:hidden;border-bottom:1px solid var(--m-border)}.pricing-hero-glow{position:absolute;top:-300px;left:50%;transform:translate(-50%);width:900px;height:620px;pointer-events:none;background:radial-gradient(closest-side,color-mix(in oklab,var(--m-accent) 10%,transparent),transparent 70%);z-index:0}.pricing-hero .lp-container{position:relative;z-index:1}.pricing-header{text-align:center;max-width:60ch;margin:0 auto 48px}.pricing-lead{margin:18px auto 0}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:880px;margin:0 auto}@media(max-width:760px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{position:relative;background:var(--m-surface);border:1px solid var(--m-border);border-radius:12px;padding:34px 30px;display:flex;flex-direction:column}.pricing-card-pro{border-color:var(--m-accent)}.pricing-flag{position:absolute;top:-13px;left:30px;font-size:12px;font-weight:600;letter-spacing:0;color:var(--m-accent);background:var(--m-surface);padding:5px 13px;border:1px solid var(--m-accent);border-radius:999px}.pricing-card-header{margin-bottom:22px}.plan-label{display:inline-block;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:0;color:var(--m-text-soft);margin-bottom:16px}.pricing-amount{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.price-number{font-family:var(--font-display);font-size:46px;font-weight:600;letter-spacing:-.035em;color:var(--m-text)}.price-period{font-size:15px;color:var(--m-text-mute)}.plan-description{font-size:15px;color:var(--m-text-soft);line-height:1.6;margin:0}.pricing-features{list-style:none;padding:0;margin:0 0 26px;flex:1;display:flex;flex-direction:column;gap:12px}.pricing-features li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.45;color:var(--m-text-soft)}.pricing-features .lp-ico{margin-top:2px}.pricing-note{text-align:center;font-size:13px;color:var(--m-text-mute);margin:14px 0 0}.pricing-faq-section{padding:96px 0 104px;background:var(--m-bg-alt);border-top:1px solid var(--m-border)}.pricing-faq h2{font-family:var(--font-display);font-size:clamp(26px,3vw,34px);font-weight:600;letter-spacing:-.02em;color:var(--m-text);margin:0 0 36px;text-align:center}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:0 auto}@media(max-width:720px){.faq-grid{grid-template-columns:1fr}}.faq-item{background:var(--m-surface);border:1px solid var(--m-border);border-radius:12px;padding:24px}.faq-item h3{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--m-text);margin:0 0 8px}.faq-item p{font-size:14.5px;color:var(--m-text-soft);line-height:1.6;margin:0}.pricing-cta-final{text-align:center;margin:72px auto 0;max-width:52ch}.pricing-cta-final h2{font-family:var(--font-display);font-size:clamp(24px,2.8vw,32px);font-weight:600;letter-spacing:-.02em;color:var(--m-text);margin:0 0 12px}.pricing-cta-final p{font-size:17px;color:var(--m-text-soft);margin:0 0 24px}.legal-page{min-height:100vh;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1a1a1a)}.legal-nav{padding:1rem 2rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.legal-home-link{color:var(--accent, #2563eb);text-decoration:none;font-size:.9rem}.legal-home-link:hover{text-decoration:underline}.legal-content{max-width:800px;margin:0 auto;padding:3rem 2rem 6rem;font-size:.95rem;line-height:1.7}.legal-content h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.legal-content h2{font-size:1.25rem;font-weight:600;margin-top:2.5rem;margin-bottom:.75rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.legal-content h3{font-size:1.05rem;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem}.legal-content p{margin:.75rem 0}.legal-content ul{margin:.75rem 0 .75rem 1.5rem;padding:0}.legal-content li{margin:.4rem 0}.legal-content hr{border:none;border-top:1px solid var(--border-color, #e5e7eb);margin:2rem 0}.legal-content a{color:var(--accent, #2563eb);text-decoration:underline}.legal-content strong{font-weight:600}@media(max-width:600px){.legal-content{padding:2rem 1.25rem 4rem}}.offf-modal{max-width:760px;width:100%}.offf-error{margin:12px 0;padding:10px 12px;border-radius:8px;background:var(--error-bg, rgba(200, 60, 60, .08));color:var(--error);font-size:13px}.offf-table{width:100%;border-collapse:collapse;margin:16px 0 8px;font-size:13px}.offf-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-weight:600;font-size:12px}.offf-table td{padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}.offf-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text)}.offf-desc{margin-top:3px;color:var(--text-secondary);font-size:12px;line-height:1.4;max-width:34ch}.offf-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.offf-badge.on{background:var(--success-bg, rgba(94, 155, 110, .14));color:var(--success)}.offf-badge.off{background:var(--surface-alt, rgba(120, 130, 125, .12));color:var(--text-tertiary)}.offf-choices{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.offf-choice{background:none;border:none;padding:5px 11px;font-size:12px;cursor:pointer;color:var(--text-secondary);border-right:1px solid var(--border);transition:background .12s ease,color .12s ease}.offf-choice:last-child{border-right:none}.offf-choice:hover:not(:disabled){background:var(--surface-alt, rgba(120, 130, 125, .08))}.offf-choice:disabled{opacity:.5;cursor:default}.offf-choice.active{background:var(--primary);color:#fff;font-weight:600}.offf-pinned{margin-left:8px;font-size:11px;color:var(--warning);text-transform:uppercase;letter-spacing:.03em}.superadmin-page{padding:2rem;max-width:1400px;margin:0 auto}.superadmin-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.superadmin-header h1{font-size:1.5rem;font-weight:600;margin:0 0 .25rem}.superadmin-subtitle{color:var(--text-secondary, var(--text-secondary));font-size:.875rem;margin:0}.superadmin-stats{display:flex;gap:1.5rem;align-items:center;font-size:.875rem;color:var(--text-secondary, var(--text-secondary));padding-top:.25rem}.superadmin-stats span{white-space:nowrap}.superadmin-tabs{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border, var(--border));padding-bottom:0}.tab-btn{padding:.5rem 1.1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.875rem;font-weight:500;color:var(--text-secondary, var(--text-secondary));cursor:pointer;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text, var(--text))}.tab-btn.active{color:var(--primary, var(--primary));border-bottom-color:var(--primary, var(--primary))}.contacts-panel{margin-bottom:2rem}.contact-message-cell{max-width:340px;font-size:.8rem;color:var(--text-secondary, var(--text));line-height:1.4}.msg-toggle{background:none;border:none;color:var(--primary, var(--primary));font-size:.75rem;cursor:pointer;padding:0 .25rem;text-decoration:underline}.superadmin-filters{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.filter-input{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--border, var(--border));border-radius:6px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, var(--text))}.filter-input:focus{outline:none;border-color:var(--primary, var(--primary));box-shadow:0 0 0 2px #5e9b6e26}.filter-select{padding:.5rem .75rem;border:1px solid var(--border, var(--border));border-radius:6px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, var(--text));cursor:pointer}.filter-select:focus{outline:none;border-color:var(--primary, var(--primary))}.superadmin-loading{text-align:center;padding:3rem;color:var(--text-secondary, var(--text-secondary))}.superadmin-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--surface, #fff);border:1px solid var(--border, var(--border));border-radius:8px;overflow:hidden}.superadmin-table thead{background:var(--surface-secondary, var(--bg-subtle))}.superadmin-table th{text-align:left;padding:.75rem 1rem;font-weight:600;color:var(--text-secondary, var(--text));border-bottom:1px solid var(--border, var(--border));white-space:nowrap}.superadmin-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border, var(--surface-muted));vertical-align:middle}.superadmin-table tbody tr:last-child td{border-bottom:none}.superadmin-table tbody tr:hover{background:var(--surface-hover, var(--bg-subtle))}.row-inactive{opacity:.55}.org-name{font-weight:500;color:var(--text, var(--text))}.org-slug{font-size:.75rem;color:var(--text-secondary, var(--text-secondary));margin-top:.15rem;font-family:monospace}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;white-space:nowrap}.status-active{background:var(--success-bg);color:var(--success-text)}.status-inactive{background:var(--surface-muted);color:var(--text-secondary)}.status-warn{background:#fef9c3;color:#854d0e}.status-expired{background:var(--error-bg);color:var(--error-text)}.status-manual{background:#ede9fe;color:#5b21b6}.action-cell{display:flex;gap:.5rem;align-items:center}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface, #fff);border-radius:10px;padding:2rem;width:100%;max-width:480px;box-shadow:0 20px 60px #0003}.modal h2{font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.modal-slug{font-size:.8rem;color:var(--text-secondary, var(--text-secondary));font-family:monospace;margin-bottom:1.5rem}.form-group{margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text, var(--text))}.form-group select,.form-group input[type=date]{padding:.5rem .75rem;border:1px solid var(--border, var(--border));border-radius:6px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, var(--text))}.form-group select:focus,.form-group input[type=date]:focus{outline:none;border-color:var(--primary, var(--primary));box-shadow:0 0 0 2px #5e9b6e26}.form-group-inline{flex-direction:row;align-items:center}.form-group-inline label{display:flex;align-items:center;gap:.4rem;cursor:pointer}.field-hint{font-size:.75rem;color:var(--text-secondary, var(--text-secondary));margin-top:.1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.75rem}.superadmin-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.modal-hint{font-size:.8125rem;color:var(--text-secondary);margin:-.25rem 0 1rem}.guide-panel{max-width:860px;display:flex;flex-direction:column;gap:2.5rem;padding:1.5rem 0}.guide-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.75rem 2rem}.guide-section h2{margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:var(--text);padding-bottom:.75rem;border-bottom:1px solid var(--border)}.guide-section h3{margin:1.25rem 0 .4rem;font-size:.9rem;font-weight:600;color:var(--text)}.guide-section p,.guide-section li{font-size:.875rem;color:var(--text-secondary);line-height:1.65}.guide-section ul,.guide-section ol{margin:.25rem 0 0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.3rem}.guide-section li strong{color:var(--text)}.guide-section code{font-family:Menlo,Consolas,monospace;font-size:.8rem;background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:.1rem .35rem;color:var(--text)}.guide-section .superadmin-table{margin-top:.75rem}.guide-section .superadmin-table td code{background:none;border:none;padding:0;font-size:.8rem}.llm-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.llm-card{border:1px solid var(--border-color, #e2e2e2);border-radius:8px;padding:.9rem 1rem;background:var(--card-bg, #fff)}.llm-card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6;margin-bottom:.35rem}.llm-card-value{font-size:1.4rem;font-weight:600}.llm-section-title{margin:1.5rem 0 .6rem;font-size:1rem}.llm-detail-table{width:100%;border-collapse:collapse;font-size:.85rem}.llm-detail-table th,.llm-detail-table td{text-align:left;padding:.3rem .6rem;border-bottom:1px solid var(--border-color, var(--border));vertical-align:top}.llm-detail-table .llm-disagree{background:#dc26260f}.llm-filters{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.llm-filter-label{font-size:.8rem;opacity:.7}.llm-filters select{padding:.4rem .6rem;border:1px solid var(--border-color, var(--border));border-radius:6px}.llm-search{flex:1;min-width:200px;padding:.45rem .7rem;border:1px solid var(--border-color, var(--border));border-radius:6px}.llm-accordion{margin-top:2rem;border-top:1px solid var(--border-color, #e2e2e2);padding-top:.75rem}.llm-accordion-toggle{background:none;border:none;cursor:pointer;font-size:.9rem;font-weight:600;opacity:.75;padding:.25rem 0}.llm-accordion-toggle:hover{opacity:1}.llm-accordion-body{margin-top:.5rem}.subscribe-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-brand);padding:24px}.subscribe-container{background:var(--surface);border-radius:16px;padding:48px 40px;width:100%;max-width:460px;box-shadow:var(--shadow-xl);text-align:center}.subscribe-logo{height:36px;width:auto;display:block;margin:0 auto 32px}.subscribe-container h1{font-size:24px;font-weight:700;color:var(--text);margin-bottom:8px}.subscribe-sub{color:var(--text-secondary);margin-bottom:28px;font-size:15px}.subscribe-error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error);border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:20px;text-align:left}.subscribe-notice{background:var(--warning-bg);color:var(--warning-text);border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:20px;text-align:left}.subscribe-plan-card{border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px;text-align:left}.plan-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.plan-name{font-size:18px;font-weight:700;color:var(--text)}.plan-price{font-size:13px;color:var(--text-secondary)}.plan-features{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:8px}.plan-features li{font-size:14px;color:var(--text-secondary);padding-left:20px;position:relative}.plan-features li:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:600}.btn-subscribe{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.btn-subscribe:hover:not(:disabled){background:var(--primary-hover)}.btn-subscribe:disabled{opacity:.6;cursor:not-allowed}.subscribe-enterprise{margin-bottom:24px;padding-top:4px}.subscribe-enterprise p{font-size:13px;color:var(--text-secondary);margin-bottom:6px}.subscribe-logout{font-size:13px;color:var(--text-tertiary)}.subscribe-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(360deg)}}.uptray{position:fixed;right:18px;bottom:18px;z-index:1200;width:320px;max-height:50vh;overflow:auto;background:var(--card, #fff);border:1px solid var(--line, #d5d8dd);border-radius:12px;box-shadow:0 12px 36px #0000002e;padding:10px 12px 12px}.uptray-batch+.uptray-batch{margin-top:12px;padding-top:10px;border-top:1px solid var(--line, #d5d8dd)}.uptray-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;margin-bottom:8px;color:var(--ink, #1d1f24)}.uptray-head>span:first-child{flex:1;min-width:0}.uptray-dismiss{flex:none;border:0;background:none;cursor:pointer;padding:2px 4px;font-size:11px;line-height:1;color:var(--ink-soft, #9aa1ab);border-radius:4px}.uptray-dismiss:hover{color:var(--ink, #1d1f24);background:var(--surface-muted, #f2f3f5)}.uptray-meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:10.5px;color:var(--ink-muted, #6b7280);font-variant-numeric:tabular-nums}.uptray-meta>span:first-child{flex:1;min-width:0}.uptray-rate{flex:none}.uptray-err{display:flex;align-items:center;gap:8px;margin-top:4px}.uptray-err .uptray-note{flex:1;min-width:0;margin-top:0;color:#b03a2e}.uptray-retry{flex:none;border:1px solid var(--line, #d5d8dd);background:var(--card, #fff);border-radius:6px;padding:2px 8px;font-size:10.5px;font-weight:600;cursor:pointer;color:var(--ink, #1d1f24)}.uptray-retry:hover{background:var(--surface-muted, #f2f3f5)}.uptray-item{padding:6px 0}.uptray-item+.uptray-item{border-top:1px solid var(--hair, #eceef1)}.uptray-row{display:flex;align-items:center;gap:8px}.uptray-ico{width:16px;flex:none;text-align:center;font-size:11px;color:var(--ink-muted, #6b7280)}.uptray-item.done .uptray-ico{color:#1a7f4e}.uptray-item.error .uptray-ico{color:#b03a2e}.uptray-label{flex:1;min-width:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uptray-pct{flex:none;font-size:10.5px;color:var(--ink-soft, #9aa1ab);font-variant-numeric:tabular-nums}.uptray-bar{height:4px;border-radius:3px;background:var(--surface-muted, #f2f3f5);margin-top:5px;overflow:hidden}.uptray-fill{height:100%;border-radius:3px;background:var(--accent, #2f5fd0);transition:width .2s ease}.uptray-fill.processing{background:#e5a50a;animation:uptray-pulse 1.2s ease-in-out infinite}.uptray-fill.done{background:#22a06b}.uptray-fill.error{background:#c0392b}.uptray-note{font-size:10.5px;color:var(--ink-muted, #6b7280);margin-top:4px}.uptray-spin{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--hair, #eceef1);border-top-color:#e5a50a;animation:uptray-rot .8s linear infinite}@keyframes uptray-rot{to{transform:rotate(360deg)}}@keyframes uptray-pulse{50%{opacity:.55}}.cmdk-scrim{position:fixed;inset:0;background:#0f151273;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:2000}.cmdk{width:100%;max-width:580px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-xl, 0 24px 70px rgba(0, 0, 0, .3));overflow:hidden;display:flex;flex-direction:column;max-height:70vh}.cmdk-input{width:100%;padding:16px 18px;border:none;border-bottom:1px solid var(--rule);background:transparent;color:var(--text-primary);font-size:15px;outline:none}.cmdk-results{overflow-y:auto;padding:6px}.cmdk-empty{padding:24px;text-align:center;color:var(--text-tertiary);font-size:13.5px}.cmdk-group{margin-bottom:4px}.cmdk-group-label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);padding:8px 12px 4px}.cmdk-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;border-radius:8px;background:transparent;cursor:pointer;text-align:left;color:var(--text-primary);font-size:13.5px}.cmdk-item.active{background:var(--primary-soft)}.cmdk-icon{flex:none;width:18px;text-align:center;font-size:13px;color:var(--text-tertiary)}.cmdk-label{font-weight:600;white-space:nowrap}.cmdk-sub{color:var(--text-tertiary);font-size:12.5px;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}.cmdk-footer{border-top:1px solid var(--rule);padding:8px 14px;font-size:11.5px;color:var(--text-tertiary)}.cmdk-footer kbd{font-family:var(--font-mono);font-size:10.5px;padding:1px 5px;border:1px solid var(--border);border-radius:4px;margin:0 1px}.nbell{position:relative}.nbell-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.nbell-btn:hover{border-color:var(--primary)}.nbell-icon{font-size:15px;line-height:1}.nbell-badge{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:var(--error);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.nbell-backdrop{position:fixed;inset:0;z-index:95}.nbell-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);z-index:96;display:flex;flex-direction:column;overflow:hidden}.nbell-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);flex:none}.nbell-panel-head b{font-size:13.5px;color:var(--text)}.nbell-markall{border:none;background:none;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;padding:0}.nbell-markall:hover{text-decoration:underline}.nbell-list{overflow-y:auto}.nbell-empty{padding:24px;text-align:center;color:var(--text-tertiary);font-size:12.5px}.nbell-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 14px;border:none;border-bottom:1px solid var(--hair);background:transparent;cursor:pointer}.nbell-item:last-child{border-bottom:none}.nbell-item:hover{background:var(--surface-muted)}.nbell-item.unread{background:var(--primary-soft)}.nbell-item.unread:hover{background:var(--primary-light)}.nbell-item-title{font-size:13px;font-weight:600;color:var(--text)}.nbell-item.unread .nbell-item-title{font-weight:700}.nbell-item-body{font-size:12px;color:var(--text-secondary);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nbell-item-time{font-size:11px;color:var(--text-tertiary)}.qar{width:min(560px,94vw);max-height:90vh;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.qar-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--hair, var(--border))}.qar-head h2{margin:0;font-size:15px;font-weight:700}.qar-x{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:15px}.qar-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.qar-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--text-secondary);flex:1;min-width:0}.qar-field input,.qar-field select,.qar-field textarea{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;background:var(--surface);color:var(--text);font-weight:400;transition:border-color .12s ease,box-shadow .12s ease}.qar-field textarea{resize:vertical}.qar-field input:focus,.qar-field select:focus,.qar-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.qar-row{display:flex;gap:10px}.qar-due{flex:0 0 150px}.qar-hint{margin:-4px 0 0;font-size:11px;color:var(--text-tertiary)}.qar-drop{padding:14px;border:1px dashed var(--border);border-radius:8px;background:var(--surface);color:var(--text-tertiary);font-size:12px;font-family:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.qar-drop:hover,.qar-drop.is-over{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.qar-file-input{display:none}.qar-files{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.qar-files li{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;background:var(--surface-muted);font-size:12px;font-weight:400;color:var(--text)}.qar-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qar-file-x{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:12px;line-height:1}.qar-foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--hair, var(--border))}@media(max-width:480px){.qar-row{flex-direction:column}.qar-due{flex:1}.qar-foot{flex-wrap:wrap}}.erm{width:min(460px,94vw);background:var(--surface);border-radius:14px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.erm-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--hair, var(--border))}.erm-head h2{margin:0;font-size:15px;font-weight:700}.erm-x{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:15px}.erm-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.erm-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--text-secondary);flex:1}.erm-field input,.erm-field textarea{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--surface);color:var(--text);font-weight:400;font-family:inherit;resize:vertical;transition:border-color .12s ease,box-shadow .12s ease}.erm-field input:focus,.erm-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.erm-row{display:flex;gap:10px}.erm-due{flex:0 0 150px}.erm-foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--hair, var(--border))}.project-layout{margin:-24px -32px 0}.project-stage{padding:24px 32px}.crumb{background:var(--surface);border-bottom:1px solid var(--border)}.crumb-trail{display:flex;align-items:center;gap:8px;padding:9px 22px;font-size:12.5px;color:var(--text-secondary);flex-wrap:wrap}.crumb-trail .seg{cursor:pointer;white-space:nowrap;color:var(--text-secondary)}.crumb-trail a.seg:hover{color:var(--primary);text-decoration:underline}.crumb-trail .seg.cur{color:var(--text);font-weight:600;cursor:default}.crumb-trail .sep{color:var(--text-tertiary)}.projbar{display:flex;align-items:center;gap:12px;padding:9px 22px;border-top:1px solid var(--divider);background:var(--surface);flex-wrap:wrap}.pb-title{display:flex;align-items:center;gap:8px}.pb-title b{font-size:14px;font-weight:600;color:var(--text)}.pb-num{font-size:11px;color:var(--text-tertiary);font-family:monospace}.pb-edit{background:none;border:none;padding:2px 5px;border-radius:6px;font-size:12px;color:var(--text-tertiary);cursor:pointer;line-height:1;transition:all .12s}.pb-edit:hover{color:var(--primary);background:var(--primary-soft)}.pb-archive{background:none;border:1px solid var(--border);padding:3px 10px;border-radius:6px;font-size:11px;color:var(--text-secondary);cursor:pointer;line-height:1.4;transition:all .12s}.pb-archive:hover:not(:disabled){color:var(--text);background:var(--surface-muted);border-color:var(--text-tertiary)}.pb-archive:disabled{opacity:.55;cursor:default}.projbar .chip.archived{border-color:var(--text-tertiary);color:var(--text-tertiary);background:var(--bg-subtle)}.pb-scope{font-size:8.5px;letter-spacing:.08em;padding:2px 7px;border-radius:4px;border:1px solid var(--text-tertiary);color:var(--text-secondary);background:var(--bg-subtle);flex:none;font-family:monospace}.subtabs{display:flex;gap:4px;margin-left:6px;flex-wrap:wrap}.subtab-div{width:1px;height:18px;background:var(--divider);margin:0 4px;align-self:center;flex:none}.subtab{font-size:12.5px;padding:5px 11px;border-radius:7px;border:1px solid transparent;background:none;color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-decoration:none;transition:all .12s}.subtab:hover{background:var(--surface-muted);color:var(--text);text-decoration:none}.subtab.active{background:var(--primary-light);color:var(--primary);border-color:var(--primary);font-weight:600}.projbar .chip{font-size:11px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary);flex:none}.projbar .chip.warn{border-color:var(--warning, #b5532a);color:var(--warning, #b5532a)}.pb-scope.part{border-color:var(--primary);color:var(--primary);background:var(--primary-soft, rgba(47,95,208,.08))}.pb-of{font-size:12px;color:var(--primary);text-decoration:none;margin-left:2px}.pb-of:hover{text-decoration:underline}.subtab.dim{opacity:.55}.legal-gate-overlay{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:1.5rem}.legal-gate-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:520px;box-shadow:0 8px 32px #0000001f}.legal-gate-header h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--text)}.legal-gate-subtitle{margin:0 0 1.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.legal-gate-docs{display:flex;flex-direction:column;gap:1.25rem;margin:1.5rem 0}.legal-gate-doc{padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px}.legal-gate-summary{margin:0 0 .75rem;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.legal-gate-checkbox{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.9rem;color:var(--text);line-height:1.4}.legal-gate-checkbox input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--primary);width:16px;height:16px;cursor:pointer}.legal-gate-checkbox a{color:var(--primary);text-decoration:none}.legal-gate-checkbox a:hover{text-decoration:underline}.legal-gate-error{color:var(--error, var(--error));font-size:.85rem;margin:0 0 1rem}.legal-gate-btn{width:100%;padding:.75rem;background:var(--primary);color:var(--text-inverse);border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.legal-gate-btn:hover:not(:disabled){background:var(--primary-hover)}.legal-gate-btn:disabled{opacity:.45;cursor:not-allowed}.legal-banner{position:sticky;top:0;z-index:100;background:var(--primary);color:var(--text-inverse);padding:.6rem 1rem}.legal-banner-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}.legal-banner-text{font-size:.875rem;line-height:1.4}.legal-banner-text a{color:inherit;font-weight:600;text-decoration:underline}.legal-banner-dismiss{background:#fff3;color:inherit;border:1px solid rgba(255,255,255,.4);border-radius:4px;padding:.25rem .75rem;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.legal-banner-dismiss:hover:not(:disabled){background:#ffffff4d}.legal-banner-dismiss:disabled{opacity:.6;cursor:default}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-subtle);color:var(--text);line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;gap:16px;height:52px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;transition:background .2s,border-color .2s}.brand{display:flex;align-items:center}.brand-logo{height:24px;width:auto;display:block}.topbar-search{display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;min-width:180px;flex:0 1 420px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;color:var(--text-tertiary);font-size:13px;cursor:pointer;transition:all .15s}.topbar-search:hover{background:var(--surface-muted);color:var(--text-secondary)}.topbar-search-text{flex:1;text-align:left}.topbar-search-kbd{font-size:11px;border:1px solid var(--border);border-radius:4px;padding:1px 5px}.who{margin-left:auto}.who-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:13px;padding:4px 6px;border-radius:8px;transition:background .15s}.who-btn:hover{background:var(--surface-muted)}.who-name{white-space:nowrap}.ava{width:28px;height:28px;border-radius:50%;background:var(--gradient-brand);color:var(--text-inverse);display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}.app-body{display:flex;flex:1;min-height:0}.sidebar{width:220px;flex:none;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:52px;height:calc(100vh - 52px);padding:16px;transition:background .2s,border-color .2s}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:8px 0 20px}.sidebar-logo-img{height:28px;width:auto;display:block}.logo-icon{width:32px;height:32px;background:var(--gradient-brand);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-inverse);font-size:18px}.logo-text{font-weight:600;font-size:16px;color:var(--text)}.user-profile{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-subtle);border-radius:10px;margin-bottom:8px}.avatar{width:36px;height:36px;background:var(--gradient-brand);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-inverse);font-weight:600;font-size:14px}.user-details{flex:1;min-width:0}.user-name{display:block;font-weight:500;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{display:block;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:10px}.region-badge{font-size:12px;color:var(--text-secondary);padding:8px 12px;margin-bottom:16px}.nav-links{list-style:none;padding:0;margin:0}.nav-links.secondary{margin-top:20px;padding-top:20px;border-top:1px solid var(--divider)}.nav-links li{display:flex;align-items:center}.nav-links li a,.nav-links li .nav-link-btn{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-secondary);border-radius:8px;transition:all .15s;font-size:14px;font-weight:500;flex:1;min-width:0}.nav-links li .nav-link-btn{background:none;border:none;font-family:inherit;text-align:left;cursor:pointer}.nav-links li a:hover,.nav-links li .nav-link-btn:hover{background:var(--surface-muted);color:var(--text);text-decoration:none}.nav-links li a.active,.nav-links li .nav-link-btn.active{background:var(--primary-light);color:var(--primary);text-decoration:none}.nav-icon{font-size:16px;width:20px;text-align:center}.nav-group{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);padding:16px 12px 6px}.sidebar-quick-add{width:100%;margin-bottom:12px;padding:10px 12px;border-radius:8px;justify-content:flex-start;gap:12px;font-weight:600}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;margin:0 -4px;padding:0 4px}.sidebar-bottom{margin-top:auto;padding-top:16px;border-top:1px solid var(--divider)}.sidebar-bottom .nav-links li a{color:var(--text-tertiary);font-weight:400}.logout-btn{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:none;border:none;color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:14px;text-align:left;margin-top:8px;transition:all .15s}.logout-btn:hover{background:var(--error-bg);color:var(--error)}.theme-toggle-btn{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:none;border:none;color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:14px;text-align:left;transition:all .15s}.theme-toggle-btn:hover{background:var(--surface-muted);color:var(--text)}.main-content{flex:1;min-width:0;padding:24px 32px;min-height:calc(100vh - 52px);background:var(--bg-subtle);overflow-x:clip;transition:background .2s}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.page-header h1{font-size:28px;font-weight:600;margin-bottom:5px;color:var(--text)}.back-link{font-size:14px;color:var(--text-secondary);display:block;margin-bottom:10px}.btn{padding:10px 20px;border-radius:6px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-primary{background:var(--primary);color:var(--text-inverse)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--error);color:#fff;border:1px solid var(--error)}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-ghost{background:none;border:1px solid transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.btn-sm{padding:6px 12px;font-size:13px}.btn:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--surface);border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.card h2,.card h3{margin-bottom:15px;font-size:16px;font-weight:600;color:var(--text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:var(--surface);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.stat-value{font-size:32px;font-weight:700;margin-bottom:5px}.stat-label{font-size:13px;color:var(--text-secondary)}.stat-card.new .stat-value{color:var(--primary)}.stat-card.progress .stat-value{color:var(--warning)}.stat-card.ready .stat-value{color:var(--success)}.stat-card.sent .stat-value{color:var(--info)}.stat-card.overdue .stat-value{color:var(--error)}.stat-card.due-soon .stat-value{color:var(--warning)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--divider)}th{font-weight:600;color:var(--text-secondary);font-size:13px;text-transform:uppercase}tbody tr:hover{background:var(--primary-soft)}.title-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-code{background:var(--surface-muted);padding:2px 6px;border-radius:3px;font-size:11px;font-weight:600;margin-right:8px;color:var(--text-secondary)}.source-cell{text-transform:capitalize}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.status-new{background:var(--primary-light);color:var(--primary-active)}.status-progress{background:var(--warning-bg);color:var(--warning-text)}.status-ready,.status-won{background:var(--success-bg);color:var(--success-text)}.status-closed{background:var(--surface-muted);color:var(--text-secondary)}td.overdue{color:var(--error);font-weight:500}.filters{margin-bottom:20px}.status-filters{display:flex;gap:8px;flex-wrap:wrap}.due-date-filter{margin-top:10px;display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:13px;color:var(--text)}.due-date-clear{border:none;background:transparent;color:var(--primary);cursor:pointer;font-weight:600;font-size:12px;padding:0}.due-date-clear:hover{text-decoration:underline}.filter-btn{padding:8px 16px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:20px;cursor:pointer;font-size:13px;transition:all .2s}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px}.pagination button{padding:8px 16px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:4px;cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-brand)}.login-container{background:var(--surface);border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:var(--shadow-xl)}.login-header{text-align:center;margin-bottom:30px}.login-header h1{margin-bottom:10px;color:var(--text)}.login-form h2{margin-bottom:20px;text-align:center;color:var(--text)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5e9b6e1f}.form-group.checkbox label{display:flex;align-items:flex-start;gap:10px;font-weight:400}.form-group.checkbox input{width:auto;margin-top:3px;accent-color:var(--primary)}.submit-btn{width:100%;padding:12px;background:var(--primary);color:var(--text-inverse);border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:16px;transition:background .2s}.submit-btn:hover{background:var(--primary-hover)}.submit-btn:disabled{opacity:.6}.toggle-mode{text-align:center;margin-top:20px;color:var(--text-secondary)}.toggle-mode button{background:none;border:none;color:var(--primary);cursor:pointer;font-weight:500;margin-left:5px}.error-message{background:var(--error-bg);color:var(--error-text);padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px;border:1px solid var(--error)}.success-message{background:var(--success-bg);color:var(--success-text);padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px}.login-logo{font-size:2.5rem;color:var(--primary);display:block;margin-bottom:.5rem}.auth-logo-img{height:36px;width:auto;display:block;margin:0 auto .75rem}.account-type-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.type-btn{flex:1;padding:8px;background:transparent;border:none;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:background .15s,color .15s}.type-btn.active{background:var(--primary);color:var(--text-inverse)}.slug-input-group{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface);transition:border-color .15s,box-shadow .15s}.slug-input-group:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.slug-input-group input{flex:1;border:none!important;outline:none!important;box-shadow:none!important;background:transparent;padding:10px 12px;font-size:14px;color:var(--text);min-width:0}.slug-suffix{display:flex;align-items:center;padding:0 12px;background:var(--bg-subtle);border-left:1px solid var(--border);color:var(--text-secondary);font-size:14px;white-space:nowrap;-webkit-user-select:none;user-select:none}.slug-preview{margin-top:4px;font-size:12px;color:var(--text-secondary);font-family:monospace}.login-footer-links{display:flex;justify-content:center;gap:1rem;margin-top:16px;flex-wrap:wrap}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:13px;padding:0}.link-btn:hover{text-decoration:underline}.org-dropdown{position:absolute;top:calc(100% + 8px);right:0;left:auto;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.org-dropdown-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:8px 12px 4px}.org-dropdown-loading{padding:8px 12px;font-size:13px;color:var(--text-tertiary)}.org-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:transparent;border:none;text-align:left;cursor:pointer;font-size:13px;color:var(--text);transition:background .1s}.org-dropdown-item:hover{background:var(--surface-muted)}.org-dropdown-logout:hover{background:var(--error-bg);color:var(--error)}.org-dropdown-item.active{background:var(--primary-soft);color:var(--primary)}.org-dropdown-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-current-dot{color:var(--primary);font-size:12px;margin-left:6px}.org-dropdown-divider{height:1px;background:var(--divider);margin:4px 0}.org-dropdown-create{color:var(--primary)!important;font-weight:500}.org-name-badge{font-size:.7rem;background:var(--primary-light);color:var(--primary);padding:2px 6px;border-radius:4px;font-weight:500}.rfq-detail .rfq-title{color:var(--text-secondary);font-size:16px}.rfq-content{display:grid;grid-template-columns:1fr 300px;gap:20px}.status-select{padding:10px;font-size:14px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);min-width:200px}.details-list{display:grid;grid-template-columns:auto 1fr;gap:10px}.details-list dt{color:var(--text-secondary);font-size:13px}.details-list dd{font-weight:500;color:var(--text)}.attachments-list{list-style:none}.attachment-item{padding:10px 0;border-bottom:1px solid var(--divider)}.attachment-item:last-child{border-bottom:none}.file-meta{display:block;font-size:12px;color:var(--text-secondary);margin-top:4px}.itar-tag{background:var(--error-bg);color:var(--error);padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;margin-left:8px}.itar-badge.itar-controlled{background:var(--error);color:#fff}.itar-badge.itar-pending{background:var(--warning);color:#fff}.itar-badge.itar-unclassified{background:var(--success);color:#fff}.parts-files-section{margin-bottom:16px}.section-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.source-link{display:block;padding:10px;background:var(--surface-muted);border-radius:6px;text-align:center;color:var(--text-secondary)}.rfq-form{max-width:800px}.form-section{background:var(--surface);border-radius:8px;padding:25px;margin-bottom:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.form-section h2{margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--divider);font-size:16px;color:var(--text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.input-with-action{display:flex;gap:10px}.input-with-action input{flex:1}.help-text{font-size:12px;color:var(--text-secondary);margin-top:6px}.selected-files{background:var(--bg-subtle);padding:15px;border-radius:6px;margin-top:15px}.selected-files ul{list-style:none;margin-top:10px}.selected-files li{padding:5px 0;font-size:13px;color:var(--text)}.form-actions{display:flex;gap:15px;justify-content:flex-end;padding-top:20px}.modal-overlay{position:fixed;inset:0;background:#0f151299;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface);border-radius:12px;padding:30px;width:100%;max-width:400px;box-shadow:var(--shadow-xl);border:1px solid var(--border)}.modal h3{margin-bottom:20px;color:var(--text)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.loading,.no-data{text-align:center;padding:40px;color:var(--text-secondary)}.error{text-align:center;padding:40px;color:var(--error)}.zip-pending-banner{background:var(--warning-bg);border:1px solid var(--warning);border-radius:8px;padding:16px;margin-bottom:16px}.zip-pending-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;color:var(--warning-text)}.zip-pending-icon{font-size:16px}.zip-pending-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(230,162,60,.3)}.zip-pending-row:first-of-type{border-top:none}.zip-pending-file{display:flex;align-items:center;gap:8px;min-width:0}.zip-pending-filename{font-size:13px;font-weight:500;color:var(--warning-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zip-pending-size{font-size:12px;color:var(--warning);white-space:nowrap}.zip-pending-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.zip-pending-actions input{width:180px;padding:6px 10px;font-size:13px;border:1px solid var(--warning);border-radius:6px;background:var(--surface);color:var(--text)}.zip-pending-actions input:focus{outline:none;border-color:var(--warning);box-shadow:0 0 0 3px #e6a23c1f}.zip-pending-error{margin-top:8px;padding:8px 12px;background:var(--error-bg);border:1px solid var(--error);border-radius:6px;color:var(--error-text);font-size:13px}@media(max-width:1024px){.rfq-content{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{width:60px}.sidebar-header h1,.nav-links li a span,.nav-links li .nav-link-btn span,.user-info{display:none}.main-content{margin-left:0}.form-row{grid-template-columns:1fr}}
