@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAaEABMAAAAADFgAAAYdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJpBmA/U1RBVIE4AFwvbBEICoJ8gkMLFAAwhCoBNgIkAyIEIAWGUAdiDAcbvgpRVHJOI/viwCYyfSFrJjFIG8raYpYj9+IeSF0s6zD+Lk/4OGrZHhHV+wvt2ffuWPwlA51lIICIosSVmyOKEs5Uzlx3NKeXIgn1ssCydUybDV0IHga+SszIyfrQe9bLTFNxjayzgs76hNsDoSYtRe32fiJ4gxBjrP8L+w//zzHjv7Yqyr9o2vOBDXhCo2jMtr4uwAK/gV1U0PxAq/EAD+yW9EoKOL1KLw8rHrFgCSgRTQRzBzpeXVhweEDlyfY8gIoOa2CQJzrTAHIIoitTMVV2dyFwpJ2iAEQTpSkhPitxD3YwuZHEagTcAhyKAcBmUyPdhTovJThOw6HYiaF2M/J7erdi2OUutor6ES6Ac88AvfZvKpb6fJoArohb524042j6Jij36NI7P8Pb7s721naN9gcTtcjXQP4l+8BKEzFVGMxxoHqlq8Ul4LGneFJBDFaOdKpLPcg8P14YSDwIcn75hdlyJLTBlZ4voL6tT46yC/njunXqpJ0/bSvmrH1o3kRlwZ+j0DBogkF3KbDRVBlbOc+fY5HVXwPoT9hfekPnyZMaEmenYLMSg5npqegFOsgXsBv1IoF9aIVfSCNHkk6+gIzILsiYuhWQCfUtZEpbkRntQxBZgw7MwFbMcRvwJrAnBlDqs7isLtL7pO84Xru1i7ah7tckH1Wreqq6K9u0amxU1bcff/s2Y1ni3rh2I8zHzqkm3PGvv3mzC6NDBz/UcOBIg+nm88rxN8MbdtypvHUL5o1c2zG0urYpRmW+VHZdiba6GXN/3v0B3i3nt4RBsbfAu8ftLqRcTIlZ4VYheFTAS5nXLS65VZrbuW3daF2Ze1ChyGXWZN6u9nUuH1LfyTERifZXEpIueMe28vF8FOoTnsONzw+1djo9P71lZGx1vM8mH/BhvSa2HDsRZ1+Ul+RmpnPOIaEuwWnZZdkgQWAAyCDDZ1wk+0sh7wseAAwA6UlHxbftCgYAAwKAgwIAEA7ACfHIRbV7J6dwF/ZzcRRmAjXUYKAGWAlDCCFmKnH+LJEQfHKEmVrfmKwSEab36AcubXQBoDYJV/aRV+funFD8wAXLSLYbwr9+DR+h/qZIKCfeqRG5ghHpdY0zcV2nuz5iJMhAFjaTDwOcoyKGG9JHrCfdp4cC+kCvUrxc7+bliIMiHj95sPIbUeWZEP/HLnN2tlr9EBeRiktHuWvErx98fRz1MuEvHO3FDRgtsSzL/P0hsDLK2n5/uHMOjvTst0HD6t+80ZN798j7j//kjqHxIOZDFPR/FxurFD6/HxGbB799RPHLx5F89MoBOub9jVuOWtmPH3o9H3r26DIuff+LqPLwff/xryDRmiAYmjxiK0GwS9XU+k8QpUrHsCTs4qH89Fv44ubWbQmOE51M7J8Pt8+h+NKt3zZpa2L9zZqcRlyEc4MaNGdfjQCxgIygn78ne4yAzcLWA3zAJ6RRGbijvHr1W+XN8ywrG0EoZSySb0/A9KsllI7Q/Pq8hLu76tfTy5cF4X8bQxTtYp2vr6/+1oI4AhgAlNYFryt62VaX9ktO6VsAeDLeWx6fff4vdV1ts7N6+gw9GCsQnqPB0QUttB9nEc7Aaf4XM0NQ90VJ+HV1rG04znGCmXcpPCA9+nxdMPgPlT7Dz83NMfZuMJaNeRqbc+tjd2QER/b0B44d7nv5Rif7VC8svYkx9SKWwb3YzN2M3cY8jSNLl+PYZqfjxNTxOLXVCmfmduDc0ty1kLbjeiGfIrDFJXWPTTMD5TKupR8cpZgJeXTofId8NoUj6E8XfAc2k4WPdbCberDYAp8Q7L5dUo8wE8cs9QINZYvwXKzvBS4v/n+fQZkGrrFysKEIuFBgjQpxiHH1XA+ZBI+C+oAoxhYKECc42rGOc8L4mYhsiThGfFjOcKmFubPpDgwnY1918Fwo8ouenDJxvGP96HFWJ28hiOy251oKjkcbGz2POMme8CTMThx6wqOPsFtPI6j6HhDyDTxFQYnL88FcXGAGHl3ZuueRbEuxbK6Hc84ZDvRrREtLzyjj8Xkd/uShR1b0sYd8Nh8/c8znxCnadxQcf2nFVWIyw1g+4StXav9j75s+CQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary-50:#f9f4f7;--color-primary-100:#f2e7ee;--color-primary-200:#e4cddb;--color-primary-300:#cea8be;--color-primary-400:#b27e9c;--color-primary-500:#96607c;--color-primary-600:#7c4a66;--color-primary-700:#63394f;--color-primary-800:#532f42;--color-primary-900:#452737;--color-primary-950:#2a1520;--color-secondary-50:#f6f8f0;--color-secondary-100:#ebf0de;--color-secondary-200:#d8e1c1;--color-secondary-300:#bccb9a;--color-secondary-400:#9eae74;--color-secondary-500:#80905a;--color-secondary-600:#65724a;--color-secondary-700:#59663f;--color-secondary-800:#464f31;--color-secondary-900:#3a422a;--color-secondary-950:#1e2315;--color-neutral-0:#fff;--color-neutral-50:#fafafa;--color-neutral-100:#f4f4f5;--color-neutral-200:#e4e4e7;--color-neutral-300:#d4d4d8;--color-neutral-400:#a1a1aa;--color-neutral-500:#71717a;--color-neutral-600:#52525b;--color-neutral-700:#3f3f46;--color-neutral-800:#27272a;--color-neutral-850:#1f1f23;--color-neutral-900:#18181b;--color-neutral-925:#121214;--color-neutral-950:#09090b;--color-success-50:#ecfdf5;--color-success-100:#d1fae5;--color-success-500:#10b981;--color-success-600:#059669;--color-success-700:#047857;--color-warning-50:#fffbeb;--color-warning-100:#fef3c7;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#b45309;--color-error-50:#fef2f2;--color-error-100:#fee2e2;--color-error-500:#ef4444;--color-error-600:#dc2626;--color-error-700:#b91c1c;--color-info-50:#eff6ff;--color-info-100:#dbeafe;--color-info-500:#3b82f6;--color-info-600:#2563eb;--color-info-700:#1d4ed8;--font-sans:"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Geist Variable", var(--font-sans);--font-mono:"JetBrains Mono Variable", "SF Mono", "Fira Code", ui-monospace, monospace;--text-xs:clamp(.6875rem, .65rem + .1vw, .75rem);--text-sm:clamp(.8125rem, .78rem + .15vw, .875rem);--text-base:clamp(.9375rem, .9rem + .2vw, 1rem);--text-lg:clamp(1.0625rem, 1rem + .25vw, 1.125rem);--text-xl:clamp(1.1875rem, 1.1rem + .4vw, 1.25rem);--text-2xl:clamp(1.375rem, 1.25rem + .6vw, 1.5rem);--text-3xl:clamp(1.625rem, 1.4rem + 1vw, 1.875rem);--text-4xl:clamp(2rem, 1.7rem + 1.5vw, 2.25rem);--text-5xl:clamp(2.5rem, 2rem + 2.5vw, 3rem);--text-6xl:clamp(3rem, 2.4rem + 3vw, 3.75rem);--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-none:1;--leading-tight:1.2;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:1.75;--tracking-tighter:-.03em;--tracking-tight:-.015em;--tracking-normal:0;--tracking-wide:.015em;--tracking-wider:.03em;--space-0:0;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-3-5:14px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-none:0;--radius-sm:4px;--radius-default:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--radius:var(--radius-default);--icon-xs:12px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-xl:32px;--icon-2xl:48px;--icon-stroke-light:1.25px;--icon-stroke-default:1.5px;--icon-stroke-bold:2px;--duration-instant:50ms;--duration-fast:.1s;--duration-normal:.2s;--duration-slow:.3s;--duration-slower:.4s;--duration-slowest:.5s;--ease-default:cubic-bezier(.4, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-spring:cubic-bezier(.175, .885, .32, 1.275);--transition-colors:color var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);--transition-opacity:opacity var(--duration-normal) var(--ease-default);--transition-transform:transform var(--duration-normal) var(--ease-out);--transition-shadow:box-shadow var(--duration-normal) var(--ease-default);--transition-all:all var(--duration-normal) var(--ease-default);--transition-fast:var(--duration-fast) var(--ease-default);--transition-normal:var(--duration-normal) var(--ease-default);--transition-slow:var(--duration-slow) var(--ease-default);--gradient-brand:linear-gradient(135deg, var(--color-primary-500), var(--color-secondary-500));--gradient-brand-subtle:linear-gradient(135deg, #96607c33, #80905a33);--gradient-glow:radial-gradient(ellipse at center, #96607c26 0%, transparent 70%);--gradient-shimmer:linear-gradient(90deg, transparent, #ffffff0d, transparent);--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}[data-theme=dark],:root{--bg-primary:var(--color-neutral-925);--bg-secondary:var(--color-neutral-850);--bg-tertiary:var(--color-neutral-800);--bg-elevated:var(--color-neutral-700);--bg-overlay:#000000d9;--fg-primary:var(--color-neutral-50);--fg-secondary:var(--color-neutral-300);--fg-tertiary:var(--color-neutral-400);--fg-muted:var(--color-neutral-500);--fg-disabled:var(--color-neutral-600);--brand-chroma:#80905a;--border-default:var(--color-neutral-800);--border-subtle:#ffffff14;--border-emphasis:var(--color-neutral-700);--border-focus:var(--color-primary-500);--interactive-hover:#ffffff14;--interactive-active:#ffffff1f;--interactive-selected:#96607c26;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 4px #0006;--shadow-md:0 4px 8px #0006, 0 2px 4px #0000004d;--shadow-lg:0 8px 16px #0006, 0 4px 8px #0000004d;--shadow-xl:0 16px 32px #00000080, 0 8px 16px #0006;--shadow-2xl:0 24px 48px #0009, 0 12px 24px #0006;--shadow-glow-sm:0 0 12px #96607c4d;--shadow-glow-md:0 0 24px #96607c66;--shadow-glow-lg:0 0 48px #96607c80;--gradient-fade-up:linear-gradient(to top, var(--bg-primary), transparent);--gradient-fade-down:linear-gradient(to bottom, var(--bg-primary), transparent);--gradient-vignette:radial-gradient(ellipse at center, transparent 0%, #0006 100%);--background:var(--bg-primary);--foreground:var(--fg-primary);--card:var(--bg-secondary);--card-foreground:var(--fg-primary);--popover:var(--bg-elevated);--popover-foreground:var(--fg-primary);--primary:var(--color-primary-500);--primary-foreground:var(--color-neutral-0);--secondary:var(--bg-tertiary);--secondary-foreground:var(--fg-primary);--muted:var(--bg-tertiary);--muted-foreground:var(--fg-muted);--accent:var(--interactive-hover);--accent-foreground:var(--fg-primary);--destructive:var(--color-error-500);--destructive-foreground:var(--color-neutral-0);--success:var(--color-success-500);--success-foreground:var(--color-neutral-0);--warning:var(--color-warning-500);--warning-foreground:var(--color-neutral-900);--info:var(--color-info-500);--info-foreground:var(--color-neutral-0);--border:var(--border-default);--input:var(--border-default);--ring:var(--color-primary-500);--shadow:var(--shadow-md)}[data-theme=light]{--bg-primary:var(--color-neutral-100);--bg-secondary:var(--color-neutral-0);--bg-tertiary:var(--color-neutral-50);--bg-elevated:var(--color-neutral-0);--bg-overlay:#00000080;--fg-primary:var(--color-neutral-900);--fg-secondary:var(--color-neutral-700);--fg-tertiary:var(--color-neutral-600);--fg-muted:var(--color-neutral-500);--fg-disabled:var(--color-neutral-400);--brand-chroma:#65724a;--border-default:var(--color-neutral-200);--border-subtle:#0000000f;--border-emphasis:var(--color-neutral-300);--border-focus:var(--color-primary-500);--interactive-hover:#0000000a;--interactive-active:#00000014;--interactive-selected:#96607c1a;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 8px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 8px 16px #0000001a, 0 4px 8px #0000000f;--shadow-xl:0 16px 32px #0000001f, 0 8px 16px #00000014;--shadow-2xl:0 24px 48px #00000026, 0 12px 24px #0000001a;--shadow-glow-sm:0 0 12px #96607c26;--shadow-glow-md:0 0 24px #96607c33;--shadow-glow-lg:0 0 48px #96607c40;--gradient-fade-up:linear-gradient(to top, var(--bg-primary), transparent);--gradient-fade-down:linear-gradient(to bottom, var(--bg-primary), transparent);--gradient-vignette:radial-gradient(ellipse at center, transparent 0%, #0000001a 100%);--background:var(--bg-primary);--foreground:var(--fg-primary);--card:var(--bg-elevated);--card-foreground:var(--fg-primary);--popover:var(--bg-elevated);--popover-foreground:var(--fg-primary);--primary:var(--color-primary-600);--primary-foreground:var(--color-neutral-0);--secondary:var(--bg-secondary);--secondary-foreground:var(--fg-primary);--muted:var(--bg-tertiary);--muted-foreground:var(--fg-muted);--accent:var(--interactive-hover);--accent-foreground:var(--fg-primary);--destructive:var(--color-error-600);--destructive-foreground:var(--color-neutral-0);--success:var(--color-success-600);--success-foreground:var(--color-neutral-0);--warning:var(--color-warning-600);--warning-foreground:var(--color-neutral-900);--info:var(--color-info-600);--info-foreground:var(--color-neutral-0);--color-info-bg:#0f172a;--color-info-border:var(--color-info-600);--color-info-text:#e0f2fe;--color-info-icon:#60a5fa;--border:var(--border-default);--input:var(--border-default);--ring:var(--color-primary-500);--shadow:var(--shadow-md)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-reduce-motion=true]{--duration-instant:0s;--duration-fast:0s;--duration-normal:0s;--duration-slow:0s;--duration-slower:0s;--duration-slowest:0s}@media (pointer:coarse){.touch-target{min-width:48px;min-height:48px}}:root{--ios-blue:#007aff;--ios-purple:#af52de;--ios-pink:#ff2d55;--ios-red:#ff3b30;--ios-orange:#ff9500;--ios-yellow:#fc0;--ios-green:#34c759;--ios-teal:#5ac8fa;--ios-indigo:#5856d6;--ios-gray-1:#8e8e93;--ios-gray-2:#636366;--ios-gray-3:#48484a;--ios-gray-4:#3a3a3c;--ios-gray-5:#2c2c2e;--ios-gray-6:#1c1c1e;--glass-bg:#1c1c1eb8;--glass-bg-elevated:#2c2c2ed1;--glass-bg-light:#ffffffb8;--glass-blur:20px;--glass-blur-heavy:40px;--glass-border:#ffffff1a;--glass-border-light:#ffffff2e;--glass-saturate:saturate(180%);--ios-spring:cubic-bezier(.34, 1.56, .64, 1);--ios-spring-heavy:cubic-bezier(.68, -.55, .265, 1.55);--ios-ease:cubic-bezier(.25, .1, .25, 1);--ios-ease-out:cubic-bezier(.33, 1, .68, 1);--ios-ease-in-out:cubic-bezier(.65, 0, .35, 1);--ios-radius-sm:10px;--ios-radius-md:14px;--ios-radius-lg:20px;--ios-radius-xl:28px;--ios-radius-2xl:38px;--ios-radius-card:16px;--ios-radius-modal:14px;--ios-radius-sheet:12px;--ios-touch-min:44px;--ios-touch-comfortable:52px;--ios-touch-large:56px;--ios-shadow-sm:0 2px 8px #00000026;--ios-shadow-md:0 4px 16px #0003;--ios-shadow-lg:0 8px 32px #00000040;--ios-shadow-card:0 2px 12px #0003, 0 0 1px #0000001a;--ios-gradient-card:linear-gradient(135deg, #ffffff14 0%, #ffffff05 100%);--ios-gradient-button:linear-gradient(180deg, #ffffff1f 0%, #fff0 100%)}[data-theme=light]{--glass-bg:#ffffffb8;--glass-bg-elevated:#ffffffd9;--glass-border:#0000000f;--glass-border-light:#0000001a;--ios-gradient-card:linear-gradient(135deg, #ffffffe6 0%, #ffffffb3 100%)}@media (width<=768px){:root{--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--border-subtle:#ffffff1f;--space-touch:52px;--space-page-x:16px;--space-section:24px;--leading-normal:1.5;--leading-relaxed:1.6}[data-theme=light]{--border-subtle:#00000014}}@media (width<=375px){:root{--text-xs:.625rem;--text-sm:.75rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.375rem;--text-3xl:1.5rem;--space-page-x:12px}}@media (color-gamut:p3){[data-theme=dark][data-oled=true]{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-tertiary:#141414;--glass-bg:#000000b8}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes icon-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes ios-pop-in{0%{opacity:0;transform:scale(.92)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes ios-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes ios-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes ios-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ios-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes ios-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.98)}}@keyframes ios-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ios-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ios-segment-slide{0%{transform:translateX(var(--segment-from,0))}to{transform:translateX(var(--segment-to,0))}}@keyframes ios-list-item-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){:root{--text-xs:.8rem;--text-sm:.9rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.375rem;--text-3xl:1.5rem;--text-4xl:1.75rem;--text-5xl:2rem;--leading-normal:1.6}}@supports (padding:max(0px)){:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;tab-size:4;font-size:100%}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--fg-primary);background-color:var(--bg-primary);min-height:100vh;margin:0;padding:0;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--fg-primary)}h1{font-size:var(--text-5xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tighter)}h2{font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight)}h3{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight)}h4{font-family:var(--font-sans);font-size:var(--text-2xl);line-height:var(--leading-snug)}h5{font-family:var(--font-sans);font-size:var(--text-xl);line-height:var(--leading-normal)}h6{font-family:var(--font-sans);font-size:var(--text-lg);line-height:var(--leading-normal)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}small{font-size:var(--text-sm)}strong,b{font-weight:var(--font-semibold)}a{color:var(--color-primary-400);transition:var(--transition-colors);text-decoration:none}a:hover{color:var(--color-primary-300);text-decoration:underline}a:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}[data-theme=light] a{color:var(--color-primary-600)}[data-theme=light] a:hover{color:var(--color-primary-700)}ul,ol{padding-left:var(--space-6);margin-bottom:var(--space-4)}li{margin-bottom:var(--space-1)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}code{background-color:var(--bg-tertiary);padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-sm);color:var(--color-primary-400)}pre{background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-default);padding:var(--space-4);overflow-x:auto}pre code{color:inherit;background:0 0;border-radius:0;padding:0}img,picture,video,canvas{max-width:100%;display:block}svg{flex-shrink:0;display:block}svg:not([width]):not([class]){max-width:100%}svg[fill=none],svg[fill=none] path,svg[fill=none] circle,svg[fill=none] rect,svg[fill=none] line,svg[fill=none] polyline{fill:none}img{height:auto}table{border-collapse:collapse;border-spacing:0;width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}input:disabled,button:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}::selection{background-color:var(--color-primary-500);color:var(--color-neutral-0)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-neutral-700);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-600)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--color-neutral-300)}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}*{scrollbar-width:thin;scrollbar-color:var(--color-neutral-700) var(--bg-secondary)}[data-theme=light] *{scrollbar-color:var(--color-neutral-300) var(--bg-secondary)}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.heading-1{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter)}.heading-2{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.heading-3{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.heading-4{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.heading-5{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-normal)}.body-large{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-relaxed)}.body-default{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal)}.body-small{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal)}.caption{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-normal);letter-spacing:var(--tracking-wide)}.overline{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:var(--leading-normal);letter-spacing:var(--tracking-wider);text-transform:uppercase}.timecode{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-medium);font-variant-numeric:tabular-nums}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--fg-primary)}.text-secondary{color:var(--fg-secondary)}.text-tertiary{color:var(--fg-tertiary)}.text-muted{color:var(--fg-muted)}.text-accent{color:var(--color-primary-500)}.text-success{color:var(--color-success-500)}.text-warning{color:var(--color-warning-500)}.text-error{color:var(--color-error-500)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.ml-0{margin-left:0}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.mr-0{margin-right:0}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.hidden{display:none!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.d-flex{display:flex}.d-none{display:none}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.mx-auto{margin-left:auto;margin-right:auto}.whitespace-nowrap{white-space:nowrap}.text-xs{font-size:.8125rem}.text-sm{font-size:.875rem}.opacity-50{opacity:.5}.auth-logo-icon{border-radius:16px;width:72px;height:72px}.auth-logo-wide{border-radius:12px;width:auto;max-width:120px;height:auto;max-height:72px}.verify-code-input{letter-spacing:.5em;font-size:1.5rem}.invite-success-icon{margin:0 auto}.invite-success-title{margin-top:.75rem;font-weight:600}.invite-link-row{align-items:center;gap:.5rem;display:flex}.empty-state-icon{opacity:.5;width:48px;height:48px;margin:0 auto 1rem}.spinner-sm-center{width:28px;height:28px;margin:0 auto .5rem}.dropdown-arrow-sm{width:12px;height:12px;margin-left:2px}.load-more-cell{text-align:center;padding:1rem}.load-more-container{text-align:center;grid-column:1/-1;padding:1.5rem 0}.resolution-message{margin-bottom:1rem}.resolution-hint{font-size:var(--text-sm);color:var(--fg-muted)}.toast-icon-error{color:var(--color-error-500,#ef4444);flex-shrink:0}.toast-icon-warning{color:var(--color-warning-500,#f59e0b);flex-shrink:0}.toast-icon-success{color:var(--color-success-500,#10b981);flex-shrink:0}.toast-icon-info{color:var(--color-info-500,#3b82f6);flex-shrink:0}.toast-message{flex:1}.toast-dismiss{color:var(--fg-muted,#a1a1aa);cursor:pointer;background:0 0;border:none;margin:-.25rem;padding:.25rem;display:flex}@media (width<=640px){#create-user-btn span,#invite-user-btn span{display:none}}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.visible{visibility:visible}.invisible{visibility:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.touch-target{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.icon{transition:color var(--duration-fast) var(--ease-default), transform var(--duration-fast) var(--ease-default), opacity var(--duration-fast) var(--ease-default)}.icon-interactive:hover{color:var(--color-primary-500);transform:scale(1.05)}.icon-loading{animation:1s linear infinite icon-spin}.icon-pulse{animation:2s ease-in-out infinite icon-pulse}.icon-xs{width:var(--icon-xs);height:var(--icon-xs)}.icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.icon-md{width:var(--icon-md);height:var(--icon-md)}.icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.icon-xl{width:var(--icon-xl);height:var(--icon-xl)}.icon-2xl{width:var(--icon-2xl);height:var(--icon-2xl)}.animate-transform{will-change:transform;transform:translateZ(0)}.glass-effect{-webkit-backdrop-filter:blur(12px);background:var(--bg-secondary)}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.glass-effect{background:#18181bcc}[data-theme=light] .glass-effect{background:#fffc}}.lazy-section{content-visibility:auto;contain-intrinsic-size:0 500px}.skip-nav{z-index:10000;background:var(--color-primary-500);color:#fff;border-radius:0 0 var(--radius-default) 0;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:0}.skip-nav:focus{top:0}.auth-container{min-height:100vh;padding:var(--space-4);background-color:var(--bg-primary);background-image:var(--gradient-glow);justify-content:center;align-items:center;display:flex}.auth-card{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-2xl);padding:var(--space-8)}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-logo{width:56px;height:56px;margin:0 auto var(--space-4)}.auth-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--fg-primary);margin-bottom:var(--space-2);letter-spacing:var(--tracking-tight)}.auth-subtitle{font-size:var(--text-sm);color:var(--fg-muted)}.auth-title-brand{font-family:"Hanken Grotesk Variable", var(--font-sans)}.auth-subtitle:empty{display:none}.auth-footer{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.auth-footer p{font-size:var(--text-sm);color:var(--fg-muted)}.auth-footer a{color:var(--color-primary-400);font-weight:var(--font-medium)}[data-theme=light] .auth-footer a{color:var(--color-primary-600)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;border-radius:var(--ios-radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .2s var(--ios-ease), border-color .2s var(--ios-ease), transform .2s var(--ios-spring), box-shadow .2s var(--ios-ease);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-full{width:100%}.btn-primary{background-color:var(--color-primary-600);color:#fff;box-shadow:0 2px 8px #7c3aed4d}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-500);box-shadow:0 4px 16px #96607c66}.btn-primary:active:not(:disabled){background-color:var(--color-primary-700);transform:scale(.98);box-shadow:0 1px 4px #6d28d940}.btn-secondary{background-color:var(--bg-elevated);color:var(--fg-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background-color:var(--interactive-hover);border-color:var(--border-emphasis)}.btn-secondary:active:not(:disabled){background-color:var(--interactive-active);transform:scale(.97)}.btn-outline{color:var(--fg-primary);border-color:var(--border-default);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--interactive-hover);border-color:var(--border-emphasis)}.btn-ghost{color:var(--fg-secondary);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--interactive-hover);color:var(--fg-primary)}.btn-tonal{color:var(--color-primary-400);background-color:#96607c26}.btn-tonal:hover:not(:disabled){background-color:#96607c40}[data-theme=light] .btn-tonal{color:var(--color-primary-600);background-color:#96607c1a}.btn-destructive{background-color:var(--color-error-600);color:#fff}.btn-destructive:hover:not(:disabled){background-color:var(--color-error-700)}.btn-success{background-color:var(--color-success-600);color:#fff}.btn-success:hover:not(:disabled){background-color:var(--color-success-700)}.btn-sm{padding:var(--space-1-5) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3-5) var(--space-6);font-size:var(--text-base)}.btn-icon{padding:var(--space-2);aspect-ratio:1}.btn-icon.btn-sm{padding:var(--space-1-5)}.btn-icon.btn-lg{padding:var(--space-3)}.btn-loading{position:relative;color:#0000!important}.btn-loading:after{content:"";border-radius:var(--radius-full);border:2px solid;border-top-color:#0000;width:16px;height:16px;animation:.8s linear infinite spin;position:absolute}.btn-primary.btn-loading:after{border-color:#fff #ffffff4d #ffffff4d}.form-group{margin-bottom:var(--space-5)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg-primary);margin-bottom:var(--space-2);display:block}.form-input{width:100%;padding:var(--space-2-5) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--fg-primary);background-color:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-default);transition:var(--transition-colors), var(--transition-shadow)}.form-input::placeholder{color:var(--fg-muted)}.form-input:hover{border-color:var(--border-emphasis)}.form-input:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 3px #96607c26}.form-input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-tertiary)}.form-input.error,.form-input-error{border-color:var(--color-error-500)}.form-input.error:focus,.form-input-error:focus{box-shadow:0 0 0 3px #ef444426}.form-input.success,.form-input-success{border-color:var(--color-success-500)}.form-input.success:focus,.form-input-success:focus{box-shadow:0 0 0 3px #10b98126}.form-hint{font-size:var(--text-xs);color:var(--fg-muted);margin-top:var(--space-1-5)}.form-error{font-size:var(--text-xs);color:var(--color-error-500);margin-top:var(--space-1-5)}.password-wrapper{position:relative}.password-wrapper .form-input{padding-right:var(--space-10)}.password-toggle{right:var(--space-3);padding:var(--space-1);cursor:pointer;color:var(--fg-muted);transition:color var(--duration-fast) var(--ease-default);background:0 0;border:none;position:absolute;top:50%;transform:translateY(-50%)}.password-toggle:hover{color:var(--fg-primary)}.password-toggle svg{width:20px;height:20px}.form-textarea{width:100%;min-height:100px;padding:var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--fg-primary);background-color:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-default);resize:vertical;transition:var(--transition-colors), var(--transition-shadow)}.form-textarea:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 3px #96607c26}.form-select{width:100%;padding:var(--space-2-5) var(--space-3);padding-right:var(--space-10);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--fg-primary);background-color:var(--bg-elevated);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='%2371717A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;border:1px solid var(--border-default);border-radius:var(--radius-default);appearance:none;cursor:pointer;transition:var(--transition-colors), var(--transition-shadow)}.form-select:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 3px #96607c26}.form-checkbox-group{align-items:flex-start;gap:var(--space-2-5);display:flex}.form-checkbox{width:18px;height:18px;accent-color:var(--color-primary-500);cursor:pointer;margin-top:2px}.form-checkbox-label{font-size:var(--text-sm);color:var(--fg-primary);cursor:pointer}.form-radio-group{gap:var(--space-3);flex-direction:column;display:flex}.form-radio-item{align-items:center;gap:var(--space-2-5);display:flex}.form-radio{width:18px;height:18px;accent-color:var(--color-primary-500);cursor:pointer}.form-radio-label{font-size:var(--text-sm);color:var(--fg-primary);cursor:pointer}.form-switch{width:44px;height:24px;position:relative}.form-switch input{opacity:0;width:0;height:0}.form-switch-track{cursor:pointer;background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-full);transition:background-color .25s var(--ios-ease), border-color .25s var(--ios-ease);position:absolute;inset:0}.form-switch-thumb{content:"";background-color:var(--fg-primary);border-radius:var(--radius-full);width:18px;height:18px;transition:transform .3s var(--ios-spring);position:absolute;bottom:2px;left:2px;box-shadow:0 2px 4px #0003}.form-switch input:checked+.form-switch-track{background-color:var(--ios-green,#30d158);border-color:var(--ios-green,#30d158)}.form-switch input:checked+.form-switch-track .form-switch-thumb{background-color:#fff;transform:translate(20px)}.form-switch-track:active .form-switch-thumb{transform:scale(1.1)}.form-switch input:checked+.form-switch-track:active .form-switch-thumb{transform:translate(20px)scale(1.1)}.form-switch input:focus+.form-switch-track{box-shadow:0 0 0 3px #96607c26}.oauth-divider{align-items:center;gap:var(--space-4);margin:var(--space-6) 0;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background-color:var(--border-default);flex:1;height:1px}.oauth-divider span{font-size:var(--text-xs);color:var(--fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.oauth-section .oauth-divider.feature-enabled~.oauth-divider.feature-enabled{display:none!important}.oauth-section [data-feature]+[data-feature]{margin-top:var(--space-3)}.btn-google{background-color:var(--bg-elevated);color:var(--fg-primary);border:1px solid var(--border-default)}.btn-google:hover:not(:disabled){background-color:var(--interactive-hover);border-color:var(--border-emphasis)}.btn-google svg{width:18px;height:18px}[data-feature=ec_microsoft_oauth]{display:none!important}.btn-microsoft{background-color:var(--bg-elevated);color:var(--fg-primary);border:1px solid var(--border-default)}.btn-microsoft:hover:not(:disabled){background-color:var(--interactive-hover);border-color:var(--border-emphasis)}.btn-microsoft svg{width:20px;height:20px}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4);display:flex}.alert-icon{flex-shrink:0;width:20px;height:20px}.alert-content{flex:1}.alert-title{font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.alert-error{background-color:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-100)}[data-theme=dark] .alert-error{color:var(--color-error-500);background-color:#ef44441a;border-color:#ef444433}.alert-success{background-color:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-100)}[data-theme=dark] .alert-success{color:var(--color-success-500);background-color:#10b9811a;border-color:#10b98133}.alert-warning{background-color:var(--color-warning-50);color:var(--color-warning-700);border:1px solid var(--color-warning-100)}[data-theme=dark] .alert-warning{color:var(--color-warning-500);background-color:#f59e0b1a;border-color:#f59e0b33}.alert-info{background-color:var(--color-info-50);color:var(--color-info-700);border:1px solid var(--color-info-100)}[data-theme=dark] .alert-info{color:var(--color-info-500);background-color:#3b82f61a;border-color:#3b82f633}.otp-container{justify-content:center;gap:var(--space-3);margin:var(--space-6) 0;display:flex}.otp-input{text-align:center;width:52px;height:64px;font-family:var(--font-mono);font-size:1.5rem;font-weight:var(--font-bold);border:2px solid var(--border-default);border-radius:var(--ios-radius-md);background-color:var(--bg-elevated);color:var(--fg-primary);transition:border-color .2s var(--ios-ease), box-shadow .2s var(--ios-ease), transform .15s var(--ios-spring);-webkit-appearance:none}.otp-input:focus{border-color:var(--color-primary-500);outline:none;transform:scale(1.02);box-shadow:0 0 0 4px #96607c33}.otp-input.filled{border-color:var(--color-primary-500);background-color:var(--interactive-selected)}@media (width<=400px){.otp-container{gap:var(--space-2)}.otp-input{border-radius:var(--ios-radius-sm);width:44px;height:56px;font-size:1.25rem}}@media (width<=360px){.otp-container{gap:6px}.otp-input{width:40px;height:52px;font-size:1.125rem}}.tooltip{padding:var(--space-1-5) var(--space-2-5);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--fg-primary);background-color:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);z-index:50;position:absolute;transform:translateY(4px)}.tooltip.visible{opacity:1;transform:translateY(0)}.tooltip-arrow{background-color:var(--bg-elevated);border-left:1px solid var(--border-default);border-top:1px solid var(--border-default);width:8px;height:8px;position:absolute}.tooltip-top .tooltip-arrow{bottom:-5px;left:50%;transform:translate(-50%)rotate(-135deg)}.tooltip-bottom .tooltip-arrow{top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.toast-container{bottom:var(--space-6);right:var(--space-6);gap:var(--space-3);z-index:100;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:300px;max-width:420px;animation:slide-up var(--duration-normal) var(--ease-out);display:flex}.toast-success{border-left:3px solid var(--color-success-500)}.toast-error{border-left:3px solid var(--color-error-500)}.toast-warning{border-left:3px solid var(--color-warning-500)}.toast-info{border-left:3px solid var(--color-info-500)}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-content{flex:1}.toast-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--fg-primary);margin-bottom:var(--space-1)}.toast-message{font-size:var(--text-sm);color:var(--fg-secondary)}.toast-close{padding:var(--space-1);color:var(--fg-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-default);background:0 0;border:none;flex-shrink:0}.toast-close:hover{color:var(--fg-primary)}.spinner{border:2px solid var(--border-default);border-top-color:var(--color-primary-500);border-radius:var(--radius-full);width:24px;height:24px;animation:.8s linear infinite spin}.spinner-sm{width:16px;height:16px}.spinner-lg{border-width:3px;width:32px;height:32px}.loading-container{min-height:100vh;padding:var(--space-6);flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-spinner{border:3px solid var(--border-default);border-top-color:var(--color-primary-500);border-radius:var(--radius-full);width:48px;height:48px;animation:.8s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 0%, var(--bg-elevated) 50%, var(--bg-tertiary) 100%);border-radius:var(--radius-default);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:80%}.skeleton-avatar{border-radius:var(--radius-full);width:40px;height:40px}.skeleton-card{height:200px}.avatar{border-radius:var(--radius-full);background:var(--gradient-brand);color:#fff;font-weight:var(--font-semibold);justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar-md{width:40px;height:40px;font-size:var(--text-sm)}.avatar-lg{width:48px;height:48px;font-size:var(--text-base)}.avatar-xl{width:64px;height:64px;font-size:var(--text-lg)}.avatar img{object-fit:cover;width:100%;height:100%}.dropdown{display:inline-block;position:relative}.dropdown-menu{min-width:180px;padding:var(--space-2);background-color:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), visibility var(--duration-fast);z-index:50;position:absolute;top:100%;right:0;transform:translateY(-4px)}.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(var(--space-1))}.dropdown-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--fg-secondary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:var(--transition-colors);background:0 0;border:none;display:flex}.dropdown-item.destructive{color:var(--color-error-500)}.dropdown-item.destructive:hover{background-color:#ef44441a}.dropdown-divider{height:1px;margin:var(--space-2) 0;background-color:var(--border-subtle)}@media (pointer:coarse){.btn{min-height:var(--ios-touch-comfortable,52px);padding:var(--space-3) var(--space-5);border-radius:var(--ios-radius-md)}.btn-sm{min-height:var(--ios-touch-min,44px);border-radius:var(--ios-radius-sm)}.btn-lg{min-height:var(--ios-touch-large,56px);border-radius:var(--ios-radius-lg)}.btn-icon{min-width:var(--ios-touch-comfortable,52px);min-height:var(--ios-touch-comfortable,52px);border-radius:var(--ios-radius-md)}.btn-icon.btn-sm{min-width:var(--ios-touch-min,44px);min-height:var(--ios-touch-min,44px)}.form-input,.form-textarea,.form-select{min-height:var(--ios-touch-comfortable,52px);padding:var(--space-3) var(--space-4);border-radius:var(--ios-radius-md);font-size:16px}.password-toggle{width:var(--ios-touch-min,44px);height:var(--ios-touch-min,44px);right:4px}.dropdown-item{padding:var(--space-4) var(--space-4);min-height:var(--ios-touch-comfortable,52px);border-radius:var(--ios-radius-sm)}.form-checkbox,.form-radio{width:22px;height:22px}.form-switch{width:51px;height:31px}.form-switch-thumb{width:27px;height:27px;bottom:2px;left:2px}.form-switch input:checked+.form-switch-track .form-switch-thumb{transform:translate(20px)}}@media (width<=768px){.auth-card{padding:var(--space-6);border-radius:var(--ios-radius-xl);max-width:100%;margin:0 var(--space-4)}.auth-container{padding:var(--space-4);padding-top:calc(var(--space-4) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));padding-left:calc(var(--space-4) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-4) + env(safe-area-inset-right,0px))}.toast-container{bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));right:calc(var(--space-4) + env(safe-area-inset-right,0px));left:calc(var(--space-4) + env(safe-area-inset-left,0px))}.toast{min-width:100%;max-width:100%}}@media (width<=640px){.auth-card{padding:var(--space-5);border-radius:var(--ios-radius-lg);margin:0}.auth-header{margin-bottom:var(--space-6)}.form-group{margin-bottom:var(--space-4)}}.segmented-control{background:var(--bg-tertiary);border-radius:var(--ios-radius-md,14px);-webkit-tap-highlight-color:transparent;align-items:center;gap:2px;padding:2px;display:inline-flex;position:relative}.segmented-control:before{content:"";background:var(--bg-secondary);border-radius:calc(var(--ios-radius-md,14px) - 2px);width:calc(50% - 2px);height:calc(100% - 4px);transition:transform .25s var(--ios-spring,cubic-bezier(.34, 1.56, .64, 1));z-index:0;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026,0 0 0 .5px #0000000d}.segmented-control[data-active="1"]:before{transform:translate(100%)}.segmented-control:has(.segment:nth-child(2).active):before{transform:translate(100%)}.segmented-control.segments-3:before{width:calc(33.333% - 1.333px)}.segmented-control.segments-3[data-active="1"]:before{transform:translate(100%)}.segmented-control.segments-3:has(.segment:nth-child(2).active):before{transform:translate(100%)}.segmented-control.segments-3[data-active="2"]:before{transform:translate(200%)}.segmented-control.segments-3:has(.segment:nth-child(3).active):before{transform:translate(200%)}.segment{z-index:1;justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);min-height:32px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg-muted);border-radius:calc(var(--ios-radius-md,14px) - 2px);cursor:pointer;transition:color .2s var(--ios-ease), transform .15s var(--ios-spring);-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;display:flex;position:relative}.segment:hover:not(.active){color:var(--fg-secondary)}.segment.active{color:var(--fg-primary);font-weight:var(--font-semibold)}.segment:active:not(.active){transform:scale(.97)}.segment svg{flex-shrink:0;width:16px;height:16px}[data-theme=light] .segmented-control{background:#0000000f}[data-theme=light] .segmented-control:before{background:#fff;box-shadow:0 1px 3px #0000001a,0 0 0 .5px #0000000d}@media (pointer:coarse){.segment{min-height:36px;padding:var(--space-2) var(--space-3)}}[data-feature]:not(.feature-enabled),[data-feature-hide].feature-hide-active{display:none!important}.sidebar-footer:not(.loaded){opacity:0}.sidebar-footer.loaded{opacity:1;transition:opacity .15s}.cookie-banner{bottom:var(--space-6);right:var(--space-6);background-color:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-2xl);padding:var(--space-5);z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s,transform .3s,visibility .3s;position:fixed;transform:translateY(20px)}.cookie-banner.visible{opacity:1;visibility:visible;transform:translateY(0)}.cookie-banner-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.cookie-banner-title{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg-primary);margin:0;display:flex}.cookie-banner-icon{width:20px;height:20px;color:var(--color-primary-400)}.cookie-banner-close{padding:var(--space-1);color:var(--fg-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-colors);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.cookie-banner-close:hover{background-color:var(--interactive-hover);color:var(--fg-primary)}.cookie-banner-content{font-size:var(--text-sm);color:var(--fg-secondary);margin-bottom:var(--space-4);line-height:1.5}.cookie-banner-content p{margin:0}.cookie-banner-actions{gap:var(--space-3);display:flex}@media (width<=640px){.cookie-banner{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;max-width:100%;bottom:0;left:0;right:0}.cookie-banner-actions{flex-direction:column}.cookie-banner-actions .btn{justify-content:center;width:100%}}.auth-split{background-color:var(--bg-primary);background-image:var(--gradient-glow);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.invitation-page{min-height:100vh;padding:var(--space-6);background-image:var(--gradient-glow);justify-content:center;align-items:center;display:flex}.invitation-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl,1rem);padding:var(--space-8);text-align:center;width:100%;max-width:420px}.invitation-logo{margin-bottom:var(--space-6);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.invitation-logo .logo-chroma{color:var(--brand-chroma)}.invitation-icon{margin:0 auto var(--space-4)}.invitation-title{margin-bottom:var(--space-2);font-size:1.25rem;font-weight:600}.invitation-message{color:var(--fg-muted);margin-bottom:var(--space-6);font-size:.875rem;line-height:1.6}#invitation-register .form-group{text-align:left}#invitation-register .invitation-email-display{color:var(--fg-primary);font-weight:500}.error-container{background-color:var(--bg-primary);background-image:var(--gradient-glow);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.error-card{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-2xl);padding:var(--space-12);text-align:center;animation:fade-in-up .4s var(--ease-out) forwards}.error-code{font-family:var(--font-display);font-size:clamp(4rem,12vw,6rem);font-weight:var(--font-bold);line-height:var(--leading-none);letter-spacing:var(--tracking-tighter);background:var(--gradient-brand);-webkit-text-fill-color:transparent;margin-bottom:var(--space-6);-webkit-user-select:none;user-select:none;-webkit-background-clip:text;background-clip:text}.error-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--fg-primary);margin-bottom:var(--space-4);letter-spacing:var(--tracking-tight)}.error-description{font-size:var(--text-base);color:var(--fg-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-8);max-width:360px;margin-left:auto;margin-right:auto}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.error-card{animation:none}}@media (width<=640px){.error-card{padding:var(--space-8)}.error-code{margin-bottom:var(--space-5);font-size:clamp(3rem,15vw,4rem)}.error-title{font-size:var(--text-2xl)}.error-description{font-size:var(--text-sm);margin-bottom:var(--space-6)}}[data-offline=true] .btn-primary:not(#session-expired-login-btn),[data-offline=true] .btn-danger,[data-offline=true] [data-action=delete],[data-offline=true] [data-action=rename],[data-offline=true] [data-action=assign]{opacity:.5;pointer-events:none;cursor:not-allowed}.info-banner{background:var(--color-info-bg);border-left:4px solid var(--color-info-border);color:var(--color-info-text);border-radius:4px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:14px;line-height:1.5;display:flex}.info-banner svg{color:var(--color-info-icon);flex-shrink:0;width:20px;height:20px}.info-banner span{flex:1;font-weight:500}.info-banner button{color:var(--color-info-text);cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:background-color .2s}.info-banner button:hover:not(:disabled){background:#fff3}.info-banner button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.info-banner button:disabled{opacity:.5;cursor:not-allowed}.info-banner .btn-dismiss{background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.info-banner .btn-dismiss:hover:not(:disabled){background:#ffffff1a}@media (width<=480px){.info-banner{flex-wrap:wrap}.info-banner span{width:100%;margin-bottom:8px}.info-banner .btn-refresh{flex:1;min-width:100px}.info-banner .btn-dismiss{position:absolute;top:12px;right:12px}}.modal-overlay{-webkit-backdrop-filter:blur(8px);padding:var(--space-4);z-index:100;opacity:0;visibility:hidden;transition:opacity var(--duration-slow) var(--ease-default), visibility var(--duration-slow) var(--ease-default);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.visible{opacity:1;visibility:visible}.modal-overlay.visible:hover{-webkit-backdrop-filter:blur(12px)}.modal{width:100%;max-width:480px;padding:var(--space-6);background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px)saturate(180%);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl), 0 0 0 1px #ffffff0d inset, var(--shadow-glow-sm);opacity:0;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out), box-shadow var(--duration-normal) var(--ease-default);margin:auto;position:relative;transform:translateY(20px)scale(.96)}.modal-overlay.visible .modal{opacity:1;transform:translateY(0)scale(1)}.modal:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;opacity:0;transition:opacity var(--duration-normal) var(--ease-default);pointer-events:none;background:linear-gradient(135deg,#96607c4d 0%,#0000 40%,#80905a4d 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.modal:hover:before{opacity:1}.modal:hover{box-shadow:var(--shadow-2xl), 0 0 0 1px #ffffff14 inset, var(--shadow-glow-md)}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.modal-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--fg-primary);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);flex:1;margin:0}.modal-close{background:var(--interactive-hover);border-radius:var(--radius-default);cursor:pointer;width:36px;height:36px;color:var(--fg-muted);transition:background-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default), transform var(--duration-fast) var(--ease-default);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--interactive-active);color:var(--fg-primary);transform:scale(1.05)}.modal-close:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.modal-close:active{transform:scale(.95)}.modal-close svg{width:20px;height:20px}.modal-body{margin-bottom:var(--space-6)}.modal-body p{font-size:var(--text-sm);color:var(--fg-secondary);line-height:var(--leading-relaxed)}.modal-body p+p{margin-top:var(--space-3)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);display:flex;background:0 0!important}.modal-footer .btn{min-width:110px}.modal-footer .btn-primary{border:none}.modal-footer .btn-primary:hover:not(:disabled){transform:translateY(-1px)}.modal-footer .btn-outline{border-color:var(--border-default);color:var(--fg-primary);background:0 0!important}.modal-footer .btn-outline:hover:not(:disabled){border-color:var(--border-emphasis);background:var(--interactive-hover)!important}.modal-warning{align-items:center;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-4);border:1px solid #ef444440;border-left:3px solid var(--color-error-500);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-error-500);font-weight:var(--font-medium);background:#ef444414;display:flex}.modal-warning svg{flex-shrink:0;width:18px;height:18px}.modal-form{max-width:480px}.modal-confirm{text-align:center;max-width:400px;padding:var(--space-8)}.modal-confirm .modal-header{margin-bottom:var(--space-4);justify-content:center}.modal-confirm .modal-title{text-align:center}.modal-confirm .modal-close{top:var(--space-4);right:var(--space-4);position:absolute}.modal-confirm .modal-body{margin-bottom:var(--space-5)}.modal-confirm .modal-footer{margin-top:var(--space-4);border-top:none;justify-content:center;padding-top:0;background:0 0!important}.modal-confirm-icon{width:64px;height:64px;margin:0 auto var(--space-4);border-radius:var(--radius-full);justify-content:center;align-items:center;animation:2s ease-in-out infinite modal-icon-pulse;display:flex}@keyframes modal-icon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.95;transform:scale(1.02)}}.modal-confirm-icon.destructive{background:#ef44441f}.modal-confirm-icon.destructive svg{width:32px;height:32px;color:var(--color-error-500)}.modal-confirm-icon.warning{background:#f59e0b1f}.modal-confirm-icon.warning svg{width:32px;height:32px;color:var(--color-warning-500)}.modal-confirm-icon.info{background:#3b82f61f}.modal-confirm-icon.info svg{width:32px;height:32px;color:var(--color-info-500)}.modal-confirm-icon.success{background:#10b9811f}.modal-confirm-icon.success svg{width:32px;height:32px;color:var(--color-success-500)}.modal-confirm.destructive{box-shadow:var(--shadow-2xl), 0 0 60px #ef444426}.modal-alert{text-align:center;max-width:440px}.modal-alert .modal-header{justify-content:center}.modal-alert .modal-close{top:var(--space-4);right:var(--space-4);position:absolute}.modal-alert .modal-footer{justify-content:center}.modal-media{background:var(--color-neutral-900);max-width:1000px;padding:0;overflow:hidden}.modal-media .modal-header{padding:var(--space-4) var(--space-5);background:#00000080;margin-bottom:0}.modal-media .modal-body{margin-bottom:0}.modal-media .modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid #ffffff1a}@keyframes modal-fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay.visible .modal-header{animation:modal-fade-in-up .3s var(--ease-out) 50ms both}.modal-overlay.visible .modal-body{animation:modal-fade-in-up .3s var(--ease-out) .1s both}.modal-overlay.visible .modal-footer{animation:modal-fade-in-up .3s var(--ease-out) .15s both}.modal-overlay.visible .modal-body .form-group:first-child{animation:modal-fade-in-up .3s var(--ease-out) .1s both}.modal-overlay.visible .modal-body .form-group:nth-child(2){animation:modal-fade-in-up .3s var(--ease-out) .15s both}.modal-overlay.visible .modal-body .form-group:nth-child(3){animation:modal-fade-in-up .3s var(--ease-out) .2s both}.modal-logout{text-align:center;max-width:380px;padding:var(--space-8)}.modal-logout .modal-close{top:var(--space-4);right:var(--space-4);position:absolute}.modal-logout-icon{width:56px;height:56px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background:#3b82f61f;justify-content:center;align-items:center;display:flex}.modal-logout-icon svg{width:28px;height:28px;color:var(--color-info-500)}.modal-logout-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--fg-primary);margin-bottom:var(--space-2)}.modal-logout-description{font-size:var(--text-sm);color:var(--fg-secondary);margin-bottom:var(--space-5)}.modal-logout .modal-footer{margin-top:var(--space-4);border-top:none;justify-content:center;padding-top:0;background:0 0!important}.modal-loading .modal-body{padding:var(--space-8) 0;flex-direction:column;justify-content:center;align-items:center;display:flex}.modal-loading .spinner{margin-bottom:var(--space-4)}.modal-footer .btn.loading{pointer-events:none;position:relative;color:#0000!important}.modal-footer .btn.loading:after{content:"";border-radius:var(--radius-full);border:2px solid;border-top-color:#0000;width:16px;height:16px;animation:.8s linear infinite spin;position:absolute}.modal-footer .btn-primary.loading:after,.modal-footer .btn-destructive.loading:after{border-color:#fff #ffffff4d #ffffff4d}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal{padding:var(--space-5);padding-top:var(--space-6);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));border-radius:var(--ios-radius-lg,24px) var(--ios-radius-lg,24px) 0 0;background:var(--glass-bg,#1c1c1ed9);max-width:100%;-webkit-backdrop-filter:var(--glass-saturate,saturate(180%)) blur(var(--glass-blur,20px));border:none;border-top:1px solid var(--glass-border,#ffffff1a);transition:transform .5s var(--ios-spring,cubic-bezier(.34, 1.56, .64, 1));margin:0;transform:translateY(100%)}.modal-overlay.visible .modal{transform:translateY(0)}.modal:after{content:"";background:#ffffff4d;border-radius:3px;width:36px;height:5px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.modal:before{display:none}.modal-confirm,.modal-logout{padding:var(--space-6);padding-top:var(--space-7);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px))}.modal-footer{gap:var(--space-3);margin-top:var(--space-5);flex-direction:column}.modal-footer .btn{width:100%;min-height:var(--ios-touch-comfortable,52px);border-radius:var(--ios-radius-md,14px);font-size:var(--text-base);font-weight:var(--font-semibold)}.modal-confirm-icon{width:56px;height:56px}.modal-confirm-icon svg{width:28px;height:28px}.modal-title{font-size:var(--text-xl);font-weight:var(--font-bold)}.modal-close{border-radius:var(--radius-full);background:#ffffff1a;width:32px;height:32px}.modal-close:active{transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.modal,.modal-header,.modal-body,.modal-footer,.modal-confirm-icon{transition:opacity var(--duration-fast)!important;animation:none!important}.modal-overlay.visible .modal{transform:none}}[data-theme=light] .modal-overlay{background:#00000080}[data-theme=light] .modal{box-shadow:var(--shadow-2xl), 0 0 0 1px #0000000d inset}[data-theme=light] .modal:hover{box-shadow:var(--shadow-2xl), 0 0 0 1px #00000014 inset, var(--shadow-glow-md)}[data-theme=light] .modal:before{background:linear-gradient(135deg,#96607c33 0%,#0000 40%,#80905a33 100%)}[data-theme=light] .modal-warning{background:#ef44440f;border-color:#ef444433}.session-expired-overlay{-webkit-backdrop-filter:blur(8px);padding:var(--space-4);z-index:9999;background:#000c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.session-expired-modal{background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px)saturate(180%);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-2xl), 0 0 60px #ef444426;animation:session-expired-appear .3s var(--ease-out) both;margin:auto;padding:0;position:relative}@keyframes session-expired-appear{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.session-expired-header{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-error-500);display:flex}.session-expired-header svg{flex-shrink:0}.session-expired-body{text-align:center;padding:var(--space-4) var(--space-6)}.session-expired-icon{margin:0 auto var(--space-4)}.session-expired-icon svg{color:var(--color-error-500)}.session-expired-message{font-size:var(--text-sm);color:var(--fg-secondary);margin:0 0 var(--space-2) 0}.session-expired-submessage{font-size:var(--text-xs);color:var(--fg-muted);margin:0}.session-expired-footer{padding:var(--space-4) var(--space-6) var(--space-6)}.session-expired-footer .btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;display:flex}[data-theme=light] .session-expired-overlay{background:#0009}[data-theme=light] .session-expired-modal{box-shadow:var(--shadow-2xl), 0 0 40px #ef44441a}@media (width<=640px){.session-expired-overlay{align-items:flex-end;padding:0}.session-expired-modal{border-radius:var(--ios-radius-lg,24px) var(--ios-radius-lg,24px) 0 0;background:var(--glass-bg,#1c1c1ed9);max-width:100%;-webkit-backdrop-filter:var(--glass-saturate,saturate(180%)) blur(var(--glass-blur,20px));border:none;border-top:1px solid var(--glass-border,#ffffff1a);animation:ios-slide-up .5s var(--ios-spring,cubic-bezier(.34, 1.56, .64, 1)) both}@keyframes ios-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.session-expired-modal:before{content:"";background:#ffffff4d;border-radius:3px;width:36px;height:5px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.session-expired-header{padding-top:var(--space-6)}.session-expired-footer{padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px))}.session-expired-footer .btn{min-height:var(--ios-touch-comfortable,52px);border-radius:var(--ios-radius-md,14px);font-size:var(--text-base);font-weight:var(--font-semibold)}}@media (prefers-reduced-motion:reduce){.session-expired-modal{animation:none!important}}.cache-fallback-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-warning-500);color:#000;font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);margin-bottom:var(--space-4);display:flex}.cache-fallback-banner svg{flex-shrink:0}[data-theme=light] .cache-fallback-banner{background:var(--color-warning-100,#fef3c7);color:var(--color-warning-900,#78350f)}.session-expired-unsaved{margin-top:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);text-align:left}.session-expired-unsaved-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-warning-500);margin-bottom:var(--space-2);align-items:center;gap:var(--space-1);display:flex}.session-expired-unsaved-preview{font-size:var(--text-xs);color:var(--fg-secondary);white-space:pre-wrap;word-break:break-word;max-height:80px;margin-bottom:var(--space-2);font-family:var(--font-mono);overflow-y:auto}.session-expired-copy-btn{justify-content:center;align-items:center;gap:var(--space-1);width:100%;padding:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--fg-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;display:flex}.session-expired-copy-btn:hover{background:var(--bg-hover)}.session-expired-copy-btn.copied{color:var(--color-success-500);border-color:var(--color-success-500)}.whats-new-modal{max-width:520px}.whats-new-banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-5);border-radius:var(--radius-lg);background:linear-gradient(135deg,#96607c2e 0%,#80905a1f 100%);border:1px solid #96607c59;display:flex}.whats-new-banner-icon{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-primary-300);background:#96607c33;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.whats-new-banner-icon svg{width:20px;height:20px}.whats-new-banner-title{font-family:var(--font-display,inherit);font-size:var(--text-lg,1.125rem);background:linear-gradient(90deg, var(--color-primary-300) 0%, var(--color-secondary-300) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.whats-new-banner-text{font-size:var(--text-sm,.875rem);color:var(--fg-secondary,#a1a1aa);margin-top:2px;line-height:1.5}.whats-new-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.whats-new-item{align-items:flex-start;gap:var(--space-3);display:flex}.whats-new-item-icon{border-radius:var(--radius-md);width:32px;height:32px;color:var(--fg-secondary,#a1a1aa);background:var(--bg-tertiary,#ffffff0d);border:1px solid var(--border-subtle,#ffffff14);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.whats-new-item-icon svg{width:16px;height:16px}.whats-new-item-title{font-size:var(--text-sm,.875rem);color:var(--fg-primary,#fafafa);font-weight:600}.whats-new-item-text{font-size:var(--text-sm,.875rem);color:var(--fg-secondary,#a1a1aa);margin-top:2px;line-height:1.5}.whats-new-footer{justify-content:flex-end}.whats-new-banner,.whats-new-item{text-align:left}.whats-new-date{margin-top:calc(-1 * var(--space-2,8px));margin-bottom:var(--space-4);font-size:var(--text-xs,.75rem);color:var(--fg-tertiary,#71717a);text-align:center;letter-spacing:.02em;text-transform:uppercase}.whats-new-gift{border-radius:var(--radius-md,8px);width:32px;height:32px;color:var(--fg-secondary,#a1a1aa);cursor:pointer;transition:background var(--duration-fast,.15s) ease, color var(--duration-fast,.15s) ease;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex;position:relative}.whats-new-gift:hover{background:var(--bg-tertiary,#ffffff0f);color:var(--fg-primary,#fafafa)}.whats-new-gift svg{width:18px;height:18px}.whats-new-gift-dot{width:8px;height:8px;box-shadow:0 0 0 2px var(--bg-secondary,#18181b);background:#ef4444;border-radius:50%;position:absolute;top:3px;right:3px}.dashboard{min-height:100vh;display:flex}.dashboard-sidebar{background:var(--glass-bg);width:260px;-webkit-backdrop-filter:var(--glass-saturate) blur(var(--glass-blur));border-right:1px solid var(--glass-border);z-index:40;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-header{height:64px;padding:0 var(--space-4);background:var(--glass-bg-elevated,#1c1c1e99);-webkit-backdrop-filter:var(--glass-saturate) blur(12px);border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;display:flex}.sidebar-menu-btn{border-radius:var(--radius-default);width:32px;height:32px;color:var(--fg-muted);cursor:pointer;transition:var(--transition-colors);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-menu-btn:hover{background-color:var(--interactive-hover);color:var(--fg-primary)}.dashboard-sidebar{transition:width .2s}.dashboard-main{transition:margin-left .2s}.dashboard.sidebar-collapsed .dashboard-sidebar{width:64px}.dashboard.sidebar-collapsed .dashboard-main{margin-left:64px}.dashboard.sidebar-collapsed .sidebar-logo span,.dashboard.sidebar-collapsed .nav-section-title,.dashboard.sidebar-collapsed .nav-link span,.dashboard.sidebar-collapsed .user-info,.dashboard.sidebar-collapsed .sidebar-action-btn span{display:none}.dashboard.sidebar-collapsed .sidebar-header{justify-content:center;padding:0}.dashboard.sidebar-collapsed .sidebar-logo{display:none}.dashboard.sidebar-collapsed .sidebar-menu-btn{margin:0}.dashboard.sidebar-collapsed .sidebar-nav{padding:var(--space-2)}.dashboard.sidebar-collapsed .nav-section{padding:var(--space-1)}.dashboard.sidebar-collapsed .nav-link{padding:var(--space-2);justify-content:center}.dashboard.sidebar-collapsed .sidebar-footer{padding:var(--space-2);margin:var(--space-2)}.dashboard.sidebar-collapsed .user-info{justify-content:center}.dashboard.sidebar-collapsed .sidebar-footer-actions{flex-direction:column}.dashboard.sidebar-collapsed .sidebar-action-btn{padding:var(--space-2);justify-content:center}.sidebar-logo{align-items:center;gap:var(--space-3);font-family:"Hanken Grotesk Variable", var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--fg-primary);text-decoration:none;display:flex}.sidebar-logo:hover{text-decoration:none}.sidebar-logo svg{width:32px;height:32px}.sidebar-logo img{border-radius:6px;width:auto;height:32px}.logo-chroma{color:var(--brand-chroma)}.sidebar-nav{padding:var(--space-6) var(--space-3) var(--space-3) var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.nav-section{padding:var(--space-2);background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex:1;margin-bottom:0}.nav-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1)}.nav-link{align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg-secondary);border-radius:var(--radius-default);transition:background-color .2s var(--ios-ease), color .2s var(--ios-ease), transform .2s var(--ios-spring);-webkit-tap-highlight-color:transparent;text-decoration:none;display:flex}.nav-link:hover{background-color:var(--interactive-hover);color:var(--fg-primary);text-decoration:none}.nav-link:active{transform:scale(.97)}.nav-link.active{background-color:var(--interactive-selected);color:var(--color-primary-400)}[data-theme=light] .nav-link.active{color:var(--color-primary-600)}.nav-link svg{width:var(--icon-md);height:var(--icon-md);flex-shrink:0}.nav-link-badge{padding:var(--space-0-5) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);background-color:var(--color-primary-500);color:#fff;border-radius:var(--radius-full);margin-left:auto}.sidebar-footer{padding:var(--space-3);margin:var(--space-3);background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-top:0}.sidebar-footer-actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.sidebar-footer-actions .btn{flex:1;justify-content:center}.sidebar-action-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--fg-secondary);background-color:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-default);cursor:pointer;transition:background-color .2s var(--ios-ease), color .2s var(--ios-ease), border-color .2s var(--ios-ease), transform .2s var(--ios-spring);-webkit-tap-highlight-color:transparent;flex:1;display:flex}.sidebar-action-btn:hover{background-color:var(--interactive-hover);color:var(--fg-primary);border-color:var(--border-emphasis)}.sidebar-action-btn:active{transform:scale(.95)}.sidebar-action-btn svg{width:16px;height:16px}.user-info{align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-default);display:flex}.user-avatar{border-radius:var(--radius-full);background:var(--gradient-brand);color:#fff;width:36px;height:36px;font-size:var(--text-sm);font-weight:var(--font-semibold);justify-content:center;align-items:center;display:flex}.user-details{flex:1;min-width:0}.user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-email{font-size:var(--text-xs);color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-main{background-color:var(--bg-primary);flex-direction:column;flex:1;min-height:100vh;margin-left:260px;display:flex}.dashboard-header{height:64px;padding:0 var(--space-6);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-saturate) blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);z-index:30;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.navbar{height:64px;padding:0 var(--space-6);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);z-index:30;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.dashboard-title{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--fg-primary);display:flex}.dashboard-title svg{width:24px;height:24px;color:var(--color-primary-400)}[data-theme=light] .dashboard-title svg{color:var(--color-primary-600)}.dashboard-actions{align-items:center;gap:var(--space-3);display:flex}.dashboard-content{padding:var(--space-6);flex-direction:column;flex:1;display:flex}.card{background:var(--ios-gradient-card);background-color:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--ios-radius-lg);box-shadow:var(--ios-shadow-card);transition:box-shadow .25s var(--ios-ease), transform .25s var(--ios-spring), border-color .25s var(--ios-ease);overflow:hidden}.card-elevated{background:var(--glass-bg-elevated);-webkit-backdrop-filter:var(--glass-saturate) blur(12px);box-shadow:var(--ios-shadow-md)}.card-interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}.card-interactive:hover{box-shadow:var(--ios-shadow-lg), 0 0 0 1px #96607c1a;border-color:#96607c4d}.card-interactive:active{box-shadow:var(--ios-shadow-sm);transform:scale(.98)}.stat-card.accent-primary{border-left:3px solid var(--color-primary-500)}.stat-card.accent-success{border-left:3px solid var(--ios-green,#30d158)}.stat-card.accent-warning{border-left:3px solid var(--ios-yellow,#ffd60a)}.stat-card.accent-error{border-left:3px solid var(--ios-red,#ff453a)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.card-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg-primary)}.card-description{font-size:var(--text-sm);color:var(--fg-secondary);margin-top:var(--space-1)}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background-color:var(--bg-tertiary)}.stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.stats-grid-3{grid-template-columns:repeat(3,1fr)}.stats-grid-2{grid-template-columns:repeat(2,1fr)}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.stats-grid{grid-template-columns:1fr}}.stat-card{padding:var(--space-5);animation:ios-list-item-enter .4s var(--ios-spring) backwards}.stats-grid .stat-card:first-child{animation-delay:50ms}.stats-grid .stat-card:nth-child(2){animation-delay:.1s}.stats-grid .stat-card:nth-child(3){animation-delay:.15s}.stats-grid .stat-card:nth-child(4){animation-delay:.2s}.stat-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.stat-label{font-size:var(--text-sm);color:var(--fg-muted);font-weight:var(--font-medium)}.stat-icon{width:var(--icon-md);height:var(--icon-md);color:var(--fg-muted)}.stat-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--fg-primary);line-height:1}.stat-change{font-size:var(--text-xs);margin-top:var(--space-2);align-items:center;gap:var(--space-1);display:flex}.stat-change.positive{color:var(--color-success-500)}.stat-change.negative{color:var(--color-error-500)}.table-container{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:var(--font-medium);color:var(--fg-muted);background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-default);white-space:nowrap}.table td{padding:var(--space-3) var(--space-4);color:var(--fg-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background-color:var(--interactive-hover)}.table-empty{text-align:center;padding:var(--space-12) var(--space-4);color:var(--fg-muted)}.table:has(.table-empty) thead{display:none}.table-empty svg{width:var(--icon-2xl);height:var(--icon-2xl);margin:0 auto var(--space-4);opacity:.5}.badge{padding:var(--space-1) var(--space-2-5);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);white-space:nowrap;align-items:center;display:inline-flex}.badge-default{background-color:var(--bg-tertiary);color:var(--fg-secondary)}.badge-success{color:var(--color-success-500);background-color:#10b98126}.badge-error{color:var(--color-error-500);background-color:#ef444426}.badge-warning{color:var(--color-warning-500);background-color:#f59e0b26}.badge-info{color:var(--color-info-500);background-color:#3b82f626}.badge-primary{color:var(--color-primary-400);background-color:#96607c26}[data-theme=light] .badge-primary{color:var(--color-primary-600)}.progress{background-color:var(--bg-tertiary);border-radius:var(--radius-full);height:8px;position:relative;overflow:hidden}.progress-bar{background:var(--gradient-brand);border-radius:var(--radius-full);transform-origin:0;width:100%;height:100%;transition:transform .3s var(--ios-ease,cubic-bezier(.25, .1, .25, 1));will-change:transform;position:relative;transform:scaleX(0)}.progress-bar:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);animation:1.5s ease-in-out infinite progress-shimmer;position:absolute;inset:0}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-bar.success{background:var(--color-success-500)}.progress-bar.warning{background:var(--color-warning-500)}.progress-bar.danger{background:var(--color-error-500)}.progress-lg{height:12px}.progress-sm{height:4px}.progress.indeterminate .progress-bar{background:linear-gradient(90deg, var(--color-primary-500), var(--color-secondary-500), var(--color-primary-500));background-size:200% 100%;animation:2s ease-in-out infinite indeterminate-gradient;transform:scaleX(1)}@keyframes indeterminate-gradient{0%,to{background-position:0%}50%{background-position:100%}}.tabs{border-bottom:1px solid var(--border-default);margin-bottom:var(--space-6)}.tabs-list{gap:0;display:flex}.tab-button{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg-muted);cursor:pointer;transition:var(--transition-colors);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.tab-button:hover{color:var(--fg-primary)}.tab-button.active{color:var(--color-primary-400);border-bottom-color:var(--color-primary-500)}[data-theme=light] .tab-button.active{color:var(--color-primary-600)}.tab-panel{display:none}.tab-panel.active{display:block}.modal-overlay{background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-4);z-index:100;opacity:0;visibility:hidden;transition:var(--transition-opacity);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.open,.modal-overlay.visible{opacity:1;visibility:visible}.modal{width:100%;max-width:480px;max-height:calc(100vh - var(--space-8));background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);transition:var(--transition-transform);overflow:hidden;transform:scale(.95)translateY(10px)}.modal-overlay.open .modal,.modal-overlay.visible .modal{opacity:1;transform:scale(1)translateY(0)}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.modal-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--fg-primary)}.modal-close{padding:var(--space-1);color:var(--fg-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-colors);background:0 0;border:none}.modal-close:hover{color:var(--fg-primary);background-color:var(--interactive-hover)}.modal-body{padding:var(--space-5);overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background-color:var(--bg-tertiary);display:flex}.modal-sm{max-width:360px}.modal-lg{max-width:640px}.modal-xl{max-width:800px}.modal-full{max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8))}.code-block{background-color:var(--color-neutral-925);border-radius:var(--radius-default);overflow:hidden}.code-header{padding:var(--space-2) var(--space-4);background-color:var(--color-neutral-850);justify-content:space-between;align-items:center;display:flex}.code-lang{font-size:var(--text-xs);color:var(--fg-muted);font-weight:var(--font-medium)}.code-copy{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--fg-muted);border:1px solid var(--color-neutral-700);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-colors);background:0 0}.code-copy:hover{background-color:var(--color-neutral-800);color:var(--fg-primary)}.code-content{padding:var(--space-4);overflow-x:auto}.code-content pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-neutral-100);margin:0}.code-content code{background:0 0;padding:0;font-family:inherit}.api-key-display{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-default);font-family:var(--font-mono);font-size:var(--text-sm);display:flex}.api-key-value{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.api-key-masked{color:var(--fg-muted)}.empty-state{padding:var(--space-12) var(--space-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{width:var(--icon-2xl);height:var(--icon-2xl);margin-bottom:var(--space-4);color:var(--fg-muted);opacity:.5}.empty-state svg{width:var(--icon-2xl);height:var(--icon-2xl);margin:0 auto var(--space-6);color:var(--fg-muted);opacity:.5}.empty-state-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--fg-primary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-sm);color:var(--fg-secondary);max-width:320px}.empty-state-action{margin-top:var(--space-6)}.theme-toggle{border:1px solid var(--border-default);border-radius:var(--radius-default);cursor:pointer;width:40px;height:40px;color:var(--fg-secondary);transition:var(--transition-colors);background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{background-color:var(--interactive-hover);color:var(--fg-primary);border-color:var(--border-emphasis)}.theme-toggle svg{width:var(--icon-md);height:var(--icon-md)}.mobile-menu-btn{border:1px solid var(--border-default);border-radius:var(--radius-default);cursor:pointer;width:40px;height:40px;color:var(--fg-secondary);background:0 0;justify-content:center;align-items:center;display:none}.mobile-menu-btn:hover{background-color:var(--interactive-hover);color:var(--fg-primary)}.mobile-menu-btn svg{width:var(--icon-md);height:var(--icon-md)}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:35;opacity:0;transition:opacity .3s var(--ios-ease);background:#00000080;display:none;position:fixed;inset:0}@media (width<=768px){.dashboard-sidebar,.sidebar-overlay,.mobile-menu-btn{display:none!important}.dashboard{overflow-x:hidden}.dashboard-main{width:100%;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));margin-left:0!important}.dashboard.sidebar-collapsed .dashboard-main{margin-left:0!important}.dashboard-content{padding:var(--space-2)}.dashboard-header{padding:0 var(--space-2);padding-top:env(safe-area-inset-top,0px);height:calc(56px + env(safe-area-inset-top,0px))}.dashboard-title{font-size:var(--text-lg)}.stats-grid{gap:var(--space-3);grid-template-columns:1fr 1fr}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}}.mobile-theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--ios-radius-md);width:36px;height:36px;color:var(--fg-secondary);cursor:pointer;transition:background-color .2s var(--ios-ease), transform .2s var(--ios-spring);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;display:none}.mobile-theme-toggle:active{background:var(--interactive-hover);transform:scale(.92)}.mobile-theme-toggle svg{width:20px;height:20px}@media (width<=640px){.dashboard-content{padding:var(--space-2)}.dashboard-header{padding:0 var(--space-2);gap:var(--space-2)}.dashboard-actions{gap:var(--space-2)}.stats-grid{grid-template-columns:1fr}.card{border-radius:var(--ios-radius-md)}.card-header{padding:var(--space-3) var(--space-4)}.card-body,.stat-card{padding:var(--space-4)}}.bottom-nav{height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-saturate) blur(var(--glass-blur));border-top:1px solid var(--glass-border);z-index:40;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{max-width:500px;height:64px;padding:0 var(--space-2);justify-content:space-around;align-items:center;margin:0 auto;display:flex}.bottom-nav-item{padding:var(--space-2);min-width:64px;color:var(--fg-muted);font-size:10px;font-weight:var(--font-medium);cursor:pointer;transition:color .2s var(--ios-ease);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;text-decoration:none;display:flex}.bottom-nav-item svg{width:24px;height:24px;transition:transform .2s var(--ios-spring)}.bottom-nav-item:active svg{transform:scale(.9)}.bottom-nav-item.active{color:var(--color-primary-400)}[data-theme=light] .bottom-nav-item.active{color:var(--color-primary-600)}.bottom-nav-item.active svg{color:var(--color-primary-400)}[data-theme=light] .bottom-nav-item.active svg{color:var(--color-primary-600)}@media (width<=768px){.bottom-nav{display:block}}.more-menu-overlay{-webkit-backdrop-filter:blur(4px);z-index:50;opacity:0;transition:opacity .3s var(--ios-ease);background:#00000080;display:none;position:fixed;inset:0}.more-menu-overlay.open{opacity:1}.more-menu-sheet{background:var(--bg-secondary);border-top-left-radius:var(--ios-radius-xl);border-top-right-radius:var(--ios-radius-xl);padding-bottom:env(safe-area-inset-bottom,0px);transition:transform .35s var(--ios-spring);position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.more-menu-overlay.open .more-menu-sheet{transform:translateY(0)}.more-menu-handle{background:var(--fg-muted);opacity:.3;border-radius:3px;width:36px;height:5px;margin:8px auto 4px}.more-menu-content{padding:var(--space-2) var(--space-4) var(--space-4)}.more-menu-item{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);border-radius:var(--ios-radius-md);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--fg-primary);cursor:pointer;transition:background-color .2s var(--ios-ease);-webkit-tap-highlight-color:transparent;background:0 0;border:none;text-decoration:none;display:flex}.more-menu-item:hover,.more-menu-item:active{background:var(--interactive-hover)}.more-menu-item svg{width:24px;height:24px;color:var(--fg-muted)}.more-menu-user-info{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-2);display:flex}.more-menu-user-info .user-avatar{width:44px;height:44px;font-size:var(--text-base);flex-shrink:0}.more-menu-user-info .user-details{min-width:0}.more-menu-user-info .user-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg-primary)}.more-menu-user-info .user-email{font-size:var(--text-sm);color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}@media (width<=768px){.more-menu-overlay{pointer-events:none;display:block}.more-menu-overlay.open{pointer-events:auto}}@supports (padding:max(0px)){.dashboard-header,.dashboard-content{padding-left:max(var(--space-4), env(safe-area-inset-left));padding-right:max(var(--space-4), env(safe-area-inset-right))}@media (width<=768px){.dashboard-header,.dashboard-content{padding-left:max(var(--space-2), env(safe-area-inset-left));padding-right:max(var(--space-2), env(safe-area-inset-right))}.dashboard-sidebar{padding-top:env(safe-area-inset-top,0px)}.sidebar-header{height:calc(64px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}}}.quota-banner{gap:var(--space-6);padding:var(--space-5);margin-bottom:var(--space-6);grid-template-columns:2fr 1fr;display:grid}.quota-banner[data-status=warning]{border-color:var(--color-warning-500)}.quota-banner[data-status=critical]{border-color:var(--color-error-500)}.quota-main{gap:var(--space-3);flex-direction:column;display:flex}.quota-header{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.quota-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg-primary);margin:0}.quota-reset{font-size:var(--text-sm);color:var(--fg-muted)}.quota-meter{gap:var(--space-2);flex-direction:column;display:flex}.quota-numbers{align-items:baseline;gap:var(--space-2);display:flex}.quota-used{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--fg-primary)}.quota-limit{font-size:var(--text-lg);color:var(--fg-muted)}.quota-percent{font-size:var(--text-sm);color:var(--fg-muted)}.quota-stats{justify-content:center;gap:var(--space-4);padding-left:var(--space-6);border-left:1px solid var(--border-subtle);flex-direction:column;display:flex}.quota-stat{gap:var(--space-1);flex-direction:column;display:flex}.quota-stat-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--fg-primary)}.quota-stat-label{font-size:var(--text-sm);color:var(--fg-muted)}.quota-alert{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-error-500);border-radius:var(--radius-default);font-size:var(--text-sm);color:var(--color-error-500);background-color:#ef44441a;grid-column:1/-1;display:flex}.quota-alert svg{flex-shrink:0;width:20px;height:20px}.quota-alert span{flex:1}@media (width<=768px){.quota-banner{grid-template-columns:1fr}.quota-stats{padding-left:0;padding-top:var(--space-4);border-left:none;border-top:1px solid var(--border-subtle);flex-direction:row}.quota-stat{flex:1}}.badge-source{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.badge-source-portal{color:var(--color-primary-400);background-color:#96607c26}.badge-source-api{color:var(--color-info-500);background-color:#3b82f626}.dashboard-footer{padding:var(--space-6) 0;border-top:1px solid var(--border-subtle);margin-top:auto}.dashboard-footer-content{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.dashboard-footer-links{align-items:center;gap:var(--space-4);display:flex}.dashboard-footer-links a{font-size:var(--text-sm);color:var(--fg-muted);transition:color var(--duration-fast) var(--ease-default);text-decoration:none}.dashboard-footer-links a:hover{color:var(--fg-primary)}.dashboard-footer-copyright{font-size:var(--text-sm);color:var(--fg-muted);align-items:center;gap:.375rem;margin:0 0 0 auto;display:flex}@media (width<=640px){.dashboard-footer-content{text-align:center;flex-direction:column}}.powered-by-link{align-items:center;text-decoration:none;transition:opacity .2s;display:inline-flex}.powered-by-link:hover{opacity:.8}.powered-by-link:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px;border-radius:2px}.powered-by-logo{vertical-align:middle;width:auto;height:14px;max-height:14px;display:inline-block}.login-powered-by{text-align:center;color:var(--fg-muted,#888);flex-direction:column;align-items:center;gap:.375rem;margin-top:1.5rem;font-size:.8125rem;display:flex}.login-powered-by .powered-by-logo{height:33px;max-height:33px}.powered-by-logo--on-light,[data-theme=light] .powered-by-logo--on-dark{display:none}[data-theme=light] .powered-by-logo--on-light{display:inline-block}@media (width<=768px){html,body{overflow-x:hidden}}@media (width<=480px){.dashboard-content{padding:var(--space-2)!important;padding-left:var(--space-2)!important;padding-right:var(--space-2)!important}.dashboard-header{padding-left:var(--space-2)!important;padding-right:var(--space-2)!important}.card{border-radius:var(--radius-md)}.card-body,.card-header{padding:var(--space-3)}.table-container,.table-responsive{margin-left:calc(-1 * var(--space-2));margin-right:calc(-1 * var(--space-2));padding-left:var(--space-2);padding-right:var(--space-2);width:calc(100% + var(--space-4))}}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;padding-bottom:2rem;display:grid;overflow:visible}.project-card{background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;padding:1.5rem;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:visible}.project-card:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-md)}.project-icon{border-radius:var(--radius-default);background-color:#96607c26;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.project-icon svg{width:24px;height:24px;color:var(--color-primary-400)}.project-name{font-size:var(--text-lg);color:var(--fg-primary);margin-bottom:.5rem;font-weight:600}.project-description{font-size:var(--text-sm);color:var(--fg-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem;line-height:1.5;display:-webkit-box;overflow:hidden}.project-stats{border-top:1px solid var(--border-subtle);gap:1.5rem;padding-top:1rem;display:flex}.project-stat{flex-direction:column;gap:.25rem;display:flex}.stat-value{font-size:var(--text-lg);color:var(--fg-primary);font-weight:600}.stat-label{font-size:var(--text-xs);color:var(--fg-muted)}.new-project-card{background-color:var(--bg-secondary);border:2px dashed var(--border-default);border-radius:var(--radius-lg);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:2rem;transition:all .2s;display:flex}.new-project-card:hover{border-color:var(--color-primary-500);background-color:#96607c0d}.new-project-icon{background-color:var(--bg-tertiary);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:1rem;transition:all .2s;display:flex}.new-project-card:hover .new-project-icon{background-color:#96607c26}.new-project-icon svg{width:28px;height:28px;color:var(--fg-muted)}.new-project-card:hover .new-project-icon svg{color:var(--color-primary-400)}.new-project-title{font-size:var(--text-base);color:var(--fg-primary);margin-bottom:.25rem;font-weight:600}.new-project-subtitle{font-size:var(--text-sm);color:var(--fg-muted)}.projects-empty{text-align:center;color:var(--fg-muted);z-index:1;min-height:auto;padding:3rem 2rem;position:relative}.projects-empty .empty-btn{margin-top:1.5rem;display:inline-block}.projects-empty svg{opacity:.4;pointer-events:none;width:64px;height:64px;margin:0 auto 1.5rem;fill:none!important}.projects-empty svg path{fill:none!important}.dashboard-content{position:relative}.projects-empty h3{font-size:var(--text-lg);color:var(--fg-primary);margin-bottom:.5rem;font-weight:600}.projects-header-search{align-items:center;display:flex}.projects-search-input{background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-default);width:240px;color:var(--fg-primary);font-size:var(--text-sm);padding:.5rem .75rem}.projects-search-input::placeholder{color:var(--fg-muted)}.projects-search-input:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 3px #96607c1a}.projects-search-count{font-size:var(--text-xs);color:var(--fg-muted);white-space:nowrap;margin-left:.5rem}.toast{color:#fff;border-radius:var(--radius-default);box-shadow:var(--shadow-lg);z-index:9999;background-color:#10b981;padding:1rem 1.5rem;animation:.3s slideUp;position:fixed;bottom:1.5rem;right:1.5rem}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.project-card-skeleton{background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:1.5rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.6;transform:translateY(-2px)}}.projects-loading-skeleton{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:1.5rem;display:grid}.project-menu{position:absolute;top:1rem;right:1rem}.project-menu-btn{border-radius:var(--radius-default);cursor:pointer;width:32px;height:32px;color:var(--fg-muted);background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.project-menu-btn:hover{background-color:var(--interactive-hover);color:var(--fg-primary)}.project-dropdown{background-color:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-default);min-width:160px;box-shadow:var(--shadow-lg);z-index:1000;opacity:0;visibility:hidden;margin-top:4px;transition:all .15s;position:absolute;top:100%;right:0;transform:translateY(-4px)}.project-dropdown.visible{opacity:1;visibility:visible;transform:translateY(0)}.project-dropdown.dropup{margin-top:0;margin-bottom:4px;top:auto;bottom:100%}.dropdown-item{width:100%;font-size:var(--text-sm);color:var(--fg-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .1s;display:flex}.dropdown-item:first-child{border-radius:var(--radius-default) var(--radius-default) 0 0}.dropdown-item:last-child{border-radius:0 0 var(--radius-default) var(--radius-default)}.dropdown-item:hover{background-color:var(--interactive-hover);color:var(--fg-primary)}.dropdown-item.danger{color:var(--color-error-500)}.dropdown-item.danger:hover{background-color:#ef44441a}.dropdown-item svg{width:16px;height:16px}.dropdown-divider{background-color:var(--border-default);height:1px;margin:.25rem 0}.assignment-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.assignment-row:last-child{border-bottom:none}.assignment-info{flex-direction:column;gap:.125rem;display:flex}.assignment-name{font-size:var(--text-sm);color:var(--fg-primary);font-weight:500}.assignment-email{font-size:var(--text-xs);color:var(--fg-muted)}.btn-sm{font-size:var(--text-xs);padding:.25rem .5rem}.view-toggle{background:var(--bg-tertiary);border-radius:var(--ios-radius-md,14px);-webkit-tap-highlight-color:transparent;align-items:center;gap:2px;padding:2px;display:inline-flex;position:relative}.view-toggle:before{content:"";background:var(--bg-secondary);border-radius:calc(var(--ios-radius-md,14px) - 2px);width:calc(50% - 2px);height:calc(100% - 4px);transition:transform .25s var(--ios-spring,cubic-bezier(.34, 1.56, .64, 1));z-index:0;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026,0 0 0 .5px #0000000d}.view-toggle.list-active:before{transform:translate(100%)}.view-toggle-btn{z-index:1;border-radius:calc(var(--ios-radius-md,14px) - 2px);cursor:pointer;width:36px;height:32px;color:var(--fg-muted);transition:color .2s var(--ios-ease), transform .15s var(--ios-spring);-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.view-toggle-btn:hover:not(.active){color:var(--fg-secondary)}.view-toggle-btn.active{color:var(--fg-primary)}.view-toggle-btn:active:not(.active){transform:scale(.92)}[data-theme=light] .view-toggle{background:#0000000f}[data-theme=light] .view-toggle:before{background:#fff;box-shadow:0 1px 3px #0000001a,0 0 0 .5px #0000000d}.projects-grid.list-view{grid-template-columns:1fr;gap:.5rem}.projects-grid.list-view .project-card{flex-direction:row;align-items:center;gap:1rem;padding:1rem 1.25rem}.projects-grid.list-view .project-icon{width:40px;height:40px;margin-bottom:0}.projects-grid.list-view .project-icon svg{width:20px;height:20px}.projects-grid.list-view .project-name{font-size:var(--text-base);margin-bottom:0}.projects-grid.list-view .project-description{display:none}.projects-grid.list-view .project-stats{border-top:none;flex-shrink:0;gap:2rem;margin-left:auto;padding-top:0}.projects-grid.list-view .project-menu{margin-left:1rem;position:static}.projects-grid.list-view .project-stat{flex-direction:row;align-items:center;gap:.5rem}.projects-grid.list-view .stat-value{font-size:var(--text-sm)}.projects-grid.list-view .stat-label{font-size:var(--text-xs)}.projects-grid.list-view .new-project-card{flex-direction:row;gap:1rem;min-height:auto;padding:1rem 1.25rem}.projects-grid.list-view .new-project-icon{width:40px;height:40px;margin-bottom:0}.projects-grid.list-view .new-project-icon svg{width:20px;height:20px}.projects-grid.list-view .new-project-title{margin-bottom:0}.projects-grid.list-view .new-project-subtitle{display:none}.project-info{flex:1;min-width:0}.projects-grid.list-view .project-info{flex-direction:column;gap:.125rem;display:flex}@media (width<=768px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.dashboard-header{flex-wrap:wrap;gap:.75rem;height:auto;min-height:56px;padding-top:.75rem;padding-bottom:.75rem}.dashboard-title{font-size:var(--text-base);flex-shrink:0}.dashboard-actions{flex-wrap:wrap;gap:.5rem}.projects-search-input{width:160px}}@media (width<=640px){.projects-grid{grid-template-columns:1fr;gap:.75rem;padding-bottom:1rem}.project-card{padding:1rem}.project-icon{width:40px;height:40px;margin-bottom:.75rem}.project-icon svg{width:20px;height:20px}.project-name{font-size:var(--text-base)}.project-stats{gap:1rem;padding-top:.75rem}.projects-grid.list-view .project-stats{display:none}.projects-grid.list-view .project-card{padding:.75rem 1rem}.dashboard-header{padding-top:var(--space-3)}.dashboard-title{font-size:var(--text-lg);flex-shrink:0}.dashboard-actions{gap:var(--space-2)}.projects-header-search,#new-project-btn span{display:none}}@media (width<=400px){.view-toggle{flex-shrink:0}.project-card{padding:.875rem}.project-name{font-size:var(--text-sm)}.project-description{font-size:var(--text-xs)}}.project-header-section{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.project-title{color:var(--fg-primary);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.project-meta{font-size:var(--text-sm);color:var(--fg-muted)}.upload-btn{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.upload-btn svg{width:16px;height:16px}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.progress-container{margin-top:1rem}.progress-bar{background-color:var(--bg-tertiary);border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--color-primary-500), var(--color-secondary-500));transform-origin:0;width:100%;height:100%;transition:transform .3s var(--ios-ease,cubic-bezier(.25, .1, .25, 1));will-change:transform;border-radius:4px;position:relative;transform:scaleX(0)}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}.progress-text{font-size:var(--text-xs);color:var(--fg-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:.5rem;display:flex}.progress-text .progress-label{color:var(--fg-secondary);font-weight:500}.files-section{background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color .2s,box-shadow .2s;overflow:visible}.files-section.drag-active{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #96607c33}.files-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.files-header-actions{align-items:center;gap:.75rem;display:flex}.files-title{font-size:var(--text-base);color:var(--fg-primary);align-items:center;gap:.5rem;font-weight:600;display:flex}.files-count{font-size:var(--text-sm);color:var(--fg-muted);font-weight:400}.search-input.form-input{width:180px;font-size:var(--text-sm);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");background-position:.75rem;background-repeat:no-repeat;padding:.4rem .75rem .4rem 2.25rem!important}.view-toggle{background:var(--bg-tertiary);border-radius:var(--radius);gap:2px;padding:2px;display:flex}.view-toggle-btn{border-radius:calc(var(--radius) - 2px);cursor:pointer;width:32px;height:32px;color:var(--fg-muted);background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.view-toggle-btn:hover{color:var(--fg-primary);background:var(--bg-secondary)}.view-toggle-btn.active{color:var(--fg-primary);background:var(--bg-primary);box-shadow:0 1px 2px #0000001a}.view-toggle-btn svg{width:16px;height:16px}.files-list{margin:0;padding:0;list-style:none;overflow:visible}.files-list.card-view{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:1rem;display:grid}.file-item{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.25rem;display:flex;position:relative}.files-list.card-view .file-item{border:1px solid var(--border-default);border-radius:var(--radius-lg);border-bottom:1px solid var(--border-default);background:var(--bg-primary);flex-direction:column;align-items:stretch;padding:0;overflow:hidden}.files-list.card-view .file-item:last-child{border-bottom:1px solid var(--border-default)}.file-card-thumbnail{background:var(--bg-tertiary);justify-content:center;align-items:center;width:100%;height:120px;display:flex;position:relative;overflow:hidden}.file-card-thumbnail svg{width:32px;height:32px;color:var(--fg-muted);opacity:.5}.file-card-thumbnail .status-overlay{position:absolute;top:.5rem;right:.5rem}.file-card-thumbnail{display:none}.files-list.card-view .file-card-thumbnail{display:flex}.files-list.card-view .file-info{gap:0;padding:.75rem}.files-list.card-view .file-icon{display:none}.files-list.card-view .file-details{min-width:0}.files-list.card-view .file-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;width:100%;padding:.5rem .75rem .75rem}.files-list.card-view .file-actions .status-badge{display:none}.files-list.card-view .file-progress{min-width:100%;max-width:100%;padding:0 .75rem .5rem}.file-item:last-child{border-bottom:none}.file-item:hover{background-color:var(--interactive-hover)}.file-info{flex:1;align-items:center;gap:.875rem;min-width:0;display:flex}.file-icon{border-radius:var(--radius);background-color:#96607c1a;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.file-icon svg{color:#22c55e;width:18px;height:18px}.file-icon.completed{background-color:#22c55e1a}.file-icon.completed svg{color:#22c55e}.file-icon.pending{background-color:#9ca3af1a}.file-icon.pending svg{color:#9ca3af}.file-icon.failed{background-color:#ef44441a}.file-icon.failed svg{color:var(--color-error-500)}.file-icon.processing{background-color:#96607c1a;position:relative}.file-icon.processing:before{content:"";background-color:var(--color-primary-500);filter:blur(6px);opacity:.4;border-radius:50%;animation:1.5s ease-in-out infinite pulse;position:absolute;inset:0}.file-icon.processing svg{z-index:1;color:var(--color-primary-500);animation:1s linear infinite spin;position:relative}.file-icon.uploading{background-color:#3b82f61a}.file-icon.uploading svg{color:#60a5fa;animation:1.5s ease-in-out infinite pulse}.animate-pulse{animation:1.5s ease-in-out infinite pulse}.file-details{min-width:0}.file-name{font-size:var(--text-sm);color:var(--fg-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.file-meta{font-size:var(--text-xs);color:var(--fg-muted);margin-top:.125rem}.file-actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.file-status{border-radius:9999px;padding:.2rem .6rem;font-size:11px;font-weight:500}.file-status.completed{color:#16a34a;background-color:#16a34a1a}.file-status.processing{color:var(--color-primary-500);background-color:#96607c1a}.file-status.pending{background-color:var(--bg-tertiary);color:var(--fg-muted)}.file-status.failed{color:var(--color-error-500);background-color:#ef44441a}.status-badge{border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.status-badge .status-dot{border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.status-badge.uploading{color:#60a5fa;background-color:#3b82f626}.status-badge.uploading .status-dot{background-color:#60a5fa}.status-badge.queued{color:#fbbf24;background-color:#f59e0b26}.status-badge.queued .status-dot{background-color:#fbbf24}.status-badge.processing{color:var(--color-primary-400);background-color:#96607c26}.status-badge.processing .status-dot{background-color:var(--color-primary-400)}.status-badge.completed{color:#4ade80;background-color:#22c55e26}.status-badge.completed .status-dot{background-color:#4ade80;animation:none}.status-badge.failed{color:#f87171;background-color:#ef444426}.status-badge.failed .status-dot{background-color:#f87171;animation:none}.file-error{color:var(--color-error-500);font-size:11px}.file-action-btn.download-output{color:#fff;background:linear-gradient(135deg, var(--color-primary-500), var(--color-secondary-500))}.file-action-btn.download-output:hover{background:linear-gradient(135deg, var(--color-primary-600), var(--color-secondary-600))}.confirm-overlay{border-radius:var(--radius-lg);opacity:0;visibility:hidden;z-index:10;background:#000000bf;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;inset:0}.confirm-overlay.visible{opacity:1;visibility:visible}.confirm-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-2xl);margin:1rem;padding:1.5rem}.confirm-icon{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;display:flex}.confirm-icon.approve{background:#10b98126}.confirm-icon.approve svg{color:#34d399;width:28px;height:28px}.confirm-content{text-align:center;margin-bottom:1.5rem}.confirm-content .desktop-only{display:block}.confirm-content .mobile-only{display:none}.confirm-content p{color:var(--fg-secondary);font-size:var(--text-sm);margin-bottom:.75rem;line-height:1.6}.confirm-content .highlight{color:#34d399;font-weight:600}.confirm-content .note{color:var(--fg-muted);font-size:var(--text-xs)}.confirm-actions{justify-content:center;gap:.75rem;display:flex}.confirm-actions .btn{min-width:100px}.mirage-progress-container{text-align:center;padding:1.5rem}.mirage-progress-bar{background:var(--bg-tertiary);border-radius:4px;height:8px;margin-bottom:1rem;position:relative;overflow:hidden}.mirage-progress-fill{background:linear-gradient(90deg, var(--color-primary-500), var(--color-secondary-500));transform-origin:0;width:100%;height:100%;transition:transform .3s var(--ios-ease,cubic-bezier(.25, .1, .25, 1));will-change:transform;border-radius:4px;position:relative;transform:scaleX(0)}.mirage-progress-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.mirage-progress-label{font-size:var(--text-sm);color:var(--fg-primary);margin-bottom:.25rem;font-weight:600}.mirage-progress-description{font-size:var(--text-xs);color:var(--fg-muted)}.mirage-progress-percent{font-size:var(--text-lg);color:var(--color-primary-400);font-variant-numeric:tabular-nums;font-weight:700}.file-progress{flex:1;min-width:120px;max-width:200px}.file-progress-bar{background-color:var(--bg-tertiary);border-radius:3px;height:6px;margin-bottom:4px;position:relative;overflow:hidden}.file-progress-fill{background:linear-gradient(90deg, var(--color-primary-500), var(--color-secondary-500));transform-origin:0;width:100%;height:100%;transition:transform .3s var(--ios-ease,cubic-bezier(.25, .1, .25, 1));will-change:transform;border-radius:3px;position:relative;overflow:hidden;transform:scaleX(0)}.file-progress-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}.file-progress-bar.indeterminate .file-progress-fill{background:linear-gradient(90deg, var(--color-primary-500), var(--color-secondary-500), var(--color-primary-500));background-size:200% 100%;animation:2s ease-in-out infinite indeterminate-gradient;transform:scaleX(1)}.file-progress-bar.indeterminate .file-progress-fill:after{animation:1.2s ease-in-out infinite shimmer}.file-progress-text{color:var(--fg-muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:11px;display:flex}.file-progress-stage{text-transform:capitalize;align-items:center;gap:4px;font-weight:500;display:flex}.file-progress-stage .stage-spinner{width:12px;height:12px;color:var(--color-primary-500);animation:1s linear infinite spin}.files-empty{text-align:center;color:var(--fg-muted);padding:3rem 2rem}.files-empty svg{opacity:.4;width:40px;height:40px;margin-bottom:.75rem}.files-empty h3{font-size:var(--text-sm);color:var(--fg-primary);margin-bottom:.25rem;font-weight:600}.files-empty p{font-size:var(--text-xs)}.file-action-btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.file-action-btn svg{width:14px;height:14px}.file-action-btn.details{color:#3b82f6}.file-action-btn.details:hover{background-color:#3b82f61a}.file-action-btn.review{color:#22c55e}.file-action-btn.review:hover{background-color:#22c55e1a}.file-action-btn.review:disabled{opacity:.5;cursor:not-allowed}.file-action-btn.download{color:#3b82f6}.file-action-btn.download:hover{background-color:#3b82f61a}.file-action-btn.delete{color:#ef4444}.file-action-btn.delete:hover{background-color:#ef44441a}.file-action-btn.error-details{color:#f59e0b}.file-action-btn.error-details:hover{background-color:#f59e0b1a}.btn-icon{border-radius:var(--radius);cursor:pointer;width:30px;height:30px;color:var(--fg-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.btn-icon:hover{background-color:var(--bg-tertiary);color:var(--fg-primary)}.btn-icon.play:hover{color:var(--color-primary-500);background-color:#96607c1a}.btn-icon.delete:hover{color:var(--color-error-500);background-color:#ef44441a}.btn-icon svg{width:16px;height:16px}.video-source-selector{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181be6;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:8px;display:flex}.source-tab{cursor:pointer;color:#a1a1aa;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.source-tab:hover{color:#fff;background:#ffffff1a}.source-tab.active{color:#fff;background:#3b82f6}.source-tab:disabled{opacity:.4;cursor:not-allowed}.source-tab:disabled:hover{color:#a1a1aa;background:0 0}.source-tab svg{width:16px;height:16px}.download-dropdown{display:inline-block;position:relative}.download-dropdown-menu{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-lg);z-index:50;opacity:0;visibility:hidden;margin-top:4px;transition:all .15s;position:absolute;top:100%;right:0;transform:translateY(-4px)}.download-dropdown.open .download-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.download-dropdown-item{cursor:pointer;width:100%;color:var(--fg-primary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;transition:background .15s;display:flex}.download-dropdown-item:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.download-dropdown-item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.download-dropdown-item:hover{background:var(--interactive-hover)}.download-dropdown-item svg{width:16px;height:16px;color:var(--fg-muted);margin-right:8px}.download-dropdown-label{align-items:center;display:flex}.download-dropdown-label.chroma{color:var(--color-primary-400)}.download-dropdown-label.matte{color:#3b82f6}.download-dropdown-label.cast{color:var(--color-secondary-400)}.download-dropdown-sublabel{color:var(--fg-secondary);font-size:11px}.modal.details-modal{width:95vw;max-width:950px}.details-modal-content{grid-template-columns:1fr 1.2fr;gap:1.5rem;display:grid}@media (width<=640px){.details-modal-content{grid-template-columns:1fr}}.details-section{background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);min-width:0;padding:1.25rem;overflow:hidden}.details-section-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.details-section-header svg{width:18px;height:18px}.details-section-header svg.icon-purple{color:var(--color-primary-400)}.details-section-header svg.icon-blue{color:#3b82f6}.details-section-title{color:var(--fg-primary);font-size:14px;font-weight:600}.details-file-name{color:var(--fg-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:10px;font-size:13px;font-weight:500;overflow:hidden}.details-specs{flex-direction:column;gap:2px;display:flex}.details-row{justify-content:space-between;align-items:center;padding:3px 0;font-size:13px;display:flex}.details-row.execution-time{margin-bottom:12px}.details-label{color:var(--fg-muted)}.details-value{color:var(--fg-primary);text-align:right;font-weight:500}.output-subsection{margin-top:0}.output-subsection.with-border{border-top:1px solid var(--border-default);margin-top:12px;padding-top:12px}.output-subsection-title{color:var(--fg-secondary);margin-bottom:8px;font-size:13px;font-weight:600}.output-available{align-items:center;gap:8px;display:flex}.available-badge{color:#4ade80;font-size:12px;font-weight:500}.no-metadata{color:var(--fg-muted);font-size:12px;font-style:italic}.details-empty{text-align:center;color:var(--fg-muted);flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.details-empty svg{opacity:.5;width:32px;height:32px;margin-bottom:8px}.details-empty p{font-size:13px}.details-modal .modal-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.details-modal .modal-title{font-size:var(--text-lg);color:var(--fg-primary);margin:0;font-weight:600}.details-modal .modal-body{margin-bottom:0;padding:1.5rem}.file-action-btn.view-result{color:#3b82f6}.file-action-btn.view-result:hover{background-color:#3b82f61a}.video-players-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.video-players-container .video-wrapper{flex-direction:column;flex:1;min-width:0;max-width:100%;display:flex}.video-players-container .video-label{text-align:center;flex-shrink:0;margin-bottom:.5rem;display:none}.video-players-container .video-label span{border-radius:9999px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.video-players-container .video-wrapper.original .video-label span{color:#60a5fa;background:#3b82f61a}.video-players-container .video-wrapper.chroma .video-label span{color:#c084fc;background:#96607c1a}.video-players-container .video-inner{background:#000;border-radius:.5rem;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.video-players-container video{width:100%;max-height:65vh}.video-players-container .video-wrapper.chroma{display:none}.video-players-container[data-source=uploaded] .video-wrapper.original{display:flex}.video-players-container[data-source=uploaded] .video-wrapper.chroma,.video-players-container[data-source=chroma] .video-wrapper.original{display:none}.video-players-container[data-source=chroma] .video-wrapper.chroma{display:flex}.video-players-container[data-source=sideBySide]{gap:.75rem;padding:.5rem}.video-players-container[data-source=sideBySide] .video-wrapper.original,.video-players-container[data-source=sideBySide] .video-wrapper.chroma{display:flex}.video-players-container[data-source=sideBySide] .video-label{display:block}.video-players-container[data-source=sideBySide] video{max-height:54vh}@media (width<=1024px){.video-players-container[data-source=sideBySide]{flex-direction:column}.video-players-container[data-source=sideBySide] video{max-height:40vh}}.video-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;opacity:0;visibility:hidden;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;transition:all .3s ease-in-out;display:flex;position:fixed;inset:0}.video-modal-overlay.visible{opacity:1;visibility:visible}.video-modal{-webkit-backdrop-filter:blur(16px)saturate(150%);border-radius:var(--radius-lg);background:#18181beb;border:1px solid #ffffff1a;flex-direction:column;width:100%;max-width:min(80rem,95vw);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.video-modal-header{background:0 0;justify-content:center;align-items:center;padding:.5rem 1rem;display:flex;position:relative}.video-modal-header .video-source-selector{justify-content:center;display:flex}.video-modal-title{display:none}.video-modal-close{border-radius:var(--radius);cursor:pointer;color:#a1a1aa;background:0 0;border:none;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.video-modal-close:hover{color:#fff}.video-modal-body{background-color:#000;flex:1;justify-content:center;align-items:stretch;min-height:300px;padding:0;display:flex;position:relative}.video-controls{-webkit-backdrop-filter:blur(16px);background:#18181bf2;border:1px solid #ffffff1a;border-radius:.75rem;flex-shrink:0;margin:.5rem .75rem;padding:.75rem 1rem}.video-progress{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.video-time{color:#ffffffe6;font-variant-numeric:tabular-nums;min-width:40px;font-size:12px;font-weight:500}.video-time.duration{color:#fff9;text-align:right}.progress-track{cursor:pointer;background:#fff3;border-radius:2px;flex:1;height:4px;position:relative}.progress-track:hover{height:6px}.progress-filled{background:linear-gradient(to right, var(--color-primary-500), var(--color-secondary-500));border-radius:2px;width:0%;height:100%;position:relative}.progress-thumb{opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s;position:absolute;top:50%;right:-6px;transform:translateY(-50%);box-shadow:0 2px 4px #0000004d}.progress-track:hover .progress-thumb{opacity:1}.progress-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.video-buttons{justify-content:space-between;align-items:center;display:flex}.video-buttons-left,.video-buttons-center,.video-buttons-right{align-items:center;gap:.5rem;display:flex}.ctrl-btn{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .15s;display:flex}.ctrl-btn:hover{background:#ffffff40;transform:scale(1.05)}.ctrl-btn svg{width:20px;height:20px}.ctrl-btn.play-btn{background:linear-gradient(135deg, var(--color-primary-500), var(--color-secondary-500));width:56px;height:56px;box-shadow:0 4px 15px #96607c66}.ctrl-btn.play-btn:hover{background:linear-gradient(135deg, var(--color-primary-600), var(--color-secondary-600))}.ctrl-btn.play-btn svg{width:28px;height:28px}.action-btn{cursor:pointer;border:none;border-radius:9999px;align-items:center;gap:.375rem;padding:.625rem 1rem;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.action-btn svg{width:16px;height:16px}.action-btn.accept{color:#34d399;background:#10b98133}.action-btn.accept:hover{background:#10b9814d}.action-btn.accept:disabled{opacity:.5;cursor:not-allowed}.action-btn.cancel{color:#f87171;background:#ef444433}.action-btn.cancel:hover{background:#ef44444d}.animate-spin{animation:1s linear infinite spin}.delete-modal{text-align:center;max-width:360px;padding:2rem}.delete-modal-icon{background:#ef44441a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.25rem;display:flex}.delete-modal-icon svg{color:#f87171;width:32px;height:32px}.delete-modal-content{margin-bottom:1.5rem}.delete-modal-title{font-size:var(--text-lg);color:var(--fg-primary);margin-bottom:.75rem;font-weight:600}.delete-modal-text{font-size:var(--text-sm);color:var(--fg-secondary);margin-bottom:.5rem;line-height:1.5}.delete-modal-text strong{color:var(--fg-primary);word-break:break-all}.delete-modal-warning{font-size:var(--text-xs);color:var(--fg-muted)}.delete-modal-actions{justify-content:center;gap:.75rem;display:flex}.delete-modal-actions .btn{min-width:100px}.delete-modal-actions .btn-destructive{align-items:center;gap:.375rem;display:inline-flex}.delete-modal-actions .btn-destructive svg{width:16px;height:16px}.duplicate-modal{text-align:center;max-width:420px;padding:1.5rem}.duplicate-modal-icon{background:#f59e0b26;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;display:flex}.duplicate-modal-icon svg{color:#fbbf24;width:28px;height:28px}.duplicate-modal-title{font-size:var(--text-lg);color:var(--fg-primary);margin-bottom:.5rem;font-weight:600}.duplicate-modal-subtitle{font-size:var(--text-sm);color:var(--fg-muted);margin-bottom:1rem}.duplicate-file-info{text-align:left;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.duplicate-file-card{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:.75rem}.duplicate-file-card-title{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:11px;font-weight:600}.duplicate-file-card-name{font-size:var(--text-sm);color:var(--fg-primary);word-break:break-all;margin-bottom:.25rem;font-weight:500}.duplicate-file-card-meta{color:var(--fg-muted);font-size:11px}.duplicate-mirage-warning{border-radius:var(--radius-md);text-align:left;background:#ef44441a;border:1px solid #ef44444d;margin-bottom:1rem;padding:.75rem}.duplicate-mirage-warning p{font-size:var(--text-xs);color:#f87171;margin:0}.duplicate-modal-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.duplicate-modal-actions .btn{min-width:90px}.btn-warning{color:#000;background-color:#f59e0b}.btn-warning:hover{background-color:#d97706}@media (width<=640px){.file-item{gap:.625rem;padding:.625rem .75rem}.files-list:not(.card-view) .file-item{flex-direction:row;align-items:center}.file-icon{width:32px;height:32px}.file-icon svg{width:14px;height:14px}.file-info{gap:.625rem}.file-name{font-size:13px}.file-meta{font-size:11px}.files-list.card-view{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.75rem}.file-card-thumbnail{height:80px}.file-card-thumbnail svg{width:24px;height:24px}.files-list.card-view .file-info{padding:.5rem}.files-list.card-view .file-name{font-size:12px}.files-list.card-view .file-meta{font-size:10px}.files-list.card-view .file-actions{padding:.375rem .5rem .5rem}.file-actions{flex-shrink:0}.files-header{flex-direction:column;align-items:stretch;gap:.75rem}.files-header-actions{width:100%}.search-input.form-input{flex:1;width:100%;padding-left:2.25rem!important}.video-modal{max-height:95vh;margin:.5rem;overflow-y:auto}.video-modal-body{flex:none;min-height:150px}.video-players-container video{object-fit:contain;max-height:50vh}.video-controls{flex-shrink:0}.confirm-overlay{-webkit-backdrop-filter:blur(12px);z-index:300;background:#000000eb;border-radius:0;padding:1.5rem;position:fixed;inset:0;overflow-y:auto}.confirm-card{border-radius:20px;width:100%;max-width:340px;max-height:none;margin:auto;padding:1.5rem}.confirm-icon{width:56px;height:56px;margin-bottom:1rem}.confirm-content{margin-bottom:1.25rem}.confirm-content p{font-size:var(--text-sm);margin-bottom:.75rem;line-height:1.6}.confirm-content .note{font-size:var(--text-xs);margin-bottom:0}.confirm-actions{flex-direction:row;justify-content:center;gap:.75rem}.confirm-actions .btn{border-radius:50%;width:52px;height:52px;min-height:auto;padding:0;font-size:0}.confirm-actions .btn svg{width:24px;height:24px;margin:0}#confirm-back:before{content:"✕";font-size:20px}.confirm-content .desktop-only{display:none}.confirm-content .mobile-only{display:block}#external-btn{display:none}.video-controls{margin:.5rem;padding:.75rem}.ctrl-btn{width:36px;height:36px}.video-buttons-center{justify-content:center;gap:1.5rem;width:100%}.action-btn{border-radius:50%;justify-content:center;align-items:center;width:56px;min-width:56px;height:56px;padding:0;display:flex}.action-btn .btn-text{display:none}.action-btn svg{width:24px;height:24px;margin:0}.upload-btn span{display:none}.upload-btn{padding:.5rem .75rem}.file-action-btn{gap:0;min-width:40px;min-height:40px;padding:.5rem}.file-action-btn .btn-label{display:none}.file-action-btn svg{width:16px;height:16px;margin:0}.file-action-btn svg:last-child{display:none}.file-actions{gap:.25rem}.status-badge{flex-shrink:0;padding:.15rem .4rem;font-size:10px}.file-name{white-space:nowrap;text-overflow:ellipsis;max-width:130px;overflow:hidden}.source-tab{gap:0;min-width:44px;padding:.5rem}.source-tab .btn-label{display:none}.source-tab svg{width:18px;height:18px;margin:0}.video-source-selector{gap:.25rem}}[data-theme=light] .video-modal-overlay{background-color:#0000004d}[data-theme=light] .video-modal{background:#fffffff2;border-color:#0000001a;box-shadow:0 25px 50px -12px #00000040}[data-theme=light] .video-modal-close{color:var(--fg-muted)}[data-theme=light] .video-modal-close:hover{color:var(--fg-primary)}[data-theme=light] .video-controls{background:#fafafaf2;border-color:#0000001a}[data-theme=light] .video-time{color:var(--fg-primary)}[data-theme=light] .video-time.duration{color:var(--fg-muted)}[data-theme=light] .progress-track{background:#00000026}[data-theme=light] .video-action-btn{color:var(--fg-secondary);background:#0000000d;border-color:#0000001a}[data-theme=light] .video-action-btn:hover{color:var(--fg-primary);background:#0000001a}[data-theme=light] .confirm-overlay{background:#ffffffe6}[data-theme=light] .confirm-card{background:var(--bg-primary);border-color:var(--border-default);box-shadow:var(--shadow-xl)}[data-theme=light] .video-side-by-side .video-label.original span{color:#2563eb;background:#3b82f61a}[data-theme=light] .video-side-by-side .video-label.chroma span{color:#9333ea;background:#96607c1a}
