@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-cyrillic-ext-400-normal-2InBkf9u.woff2) format("woff2"),url(/assets/noto-serif-cyrillic-ext-400-normal-BijI9M04.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-cyrillic-400-normal-aKKVvgXJ.woff2) format("woff2"),url(/assets/noto-serif-cyrillic-400-normal-CoUCwD1R.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-greek-ext-400-normal-fffGn9To.woff2) format("woff2"),url(/assets/noto-serif-greek-ext-400-normal-8V3SQMVO.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-greek-400-normal-B3ECBf8v.woff2) format("woff2"),url(/assets/noto-serif-greek-400-normal-i7vYTb6g.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-math-400-normal-DimicZOx.woff2) format("woff2"),url(/assets/noto-serif-math-400-normal-B8cPkepj.woff) format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-vietnamese-400-normal-B2Tmka3c.woff2) format("woff2"),url(/assets/noto-serif-vietnamese-400-normal-I93X-UPO.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-latin-ext-400-normal-CMAsOjEZ.woff2) format("woff2"),url(/assets/noto-serif-latin-ext-400-normal-DmIgJaL_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-latin-400-normal-BV_iYGc9.woff2) format("woff2"),url(/assets/noto-serif-latin-400-normal-DT0cwSa_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/noto-serif-cyrillic-ext-400-italic-CcOhcPf-.woff2) format("woff2"),url(/assets/noto-serif-cyrillic-ext-400-italic-D-LbaV5B.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Noto Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/noto-serif-cyrillic-400-italic-CDzK4JVm.woff2) format("woff2"),url(/assets/noto-serif-cyrillic-400-italic-BIYlO7LT.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Noto Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/noto-serif-greek-ext-400-italic-DVVLRCmH.woff2) format("woff2"),url(/assets/noto-serif-greek-ext-400-italic-DNlCm0ib.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Noto Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/noto-serif-greek-400-italic-DskjirT8.woff2) format("woff2"),url(/assets/noto-serif-greek-400-italic-B_0X0bqZ.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Noto Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/noto-serif-math-400-italic-CFj-LmY2.woff2) format("woff2"),url(/assets/noto-serif-math-400-italic-DzBycYOc.woff) format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:"Noto Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/noto-serif-vietnamese-400-italic-CDxynWRG.woff2) format("woff2"),url(/assets/noto-serif-vietnamese-400-italic-V-moQaaN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Noto Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/noto-serif-latin-ext-400-italic-B-NmyO6X.woff2) format("woff2"),url(/assets/noto-serif-latin-ext-400-italic-CvtPMLHG.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Noto Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/noto-serif-latin-400-italic-BefsV4hZ.woff2) format("woff2"),url(/assets/noto-serif-latin-400-italic-B7tOOSSS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-cyrillic-ext-700-normal-DXcv7_v_.woff2) format("woff2"),url(/assets/noto-serif-cyrillic-ext-700-normal-2SbxXn-Q.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-cyrillic-700-normal-B1CJcCkW.woff2) format("woff2"),url(/assets/noto-serif-cyrillic-700-normal-shQtHmBr.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-greek-ext-700-normal-BdVf8m3e.woff2) format("woff2"),url(/assets/noto-serif-greek-ext-700-normal-DHVqdzP4.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-greek-700-normal-Cx5ck3FK.woff2) format("woff2"),url(/assets/noto-serif-greek-700-normal-Coxro6sX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-math-700-normal-DmKVFEfL.woff2) format("woff2"),url(/assets/noto-serif-math-700-normal-DeYfkfSk.woff) format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-vietnamese-700-normal-DmLHmu9q.woff2) format("woff2"),url(/assets/noto-serif-vietnamese-700-normal-BVYKy-KI.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-latin-ext-700-normal-BRvgVta8.woff2) format("woff2"),url(/assets/noto-serif-latin-ext-700-normal-B_G30Asf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Noto Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-latin-700-normal-CIw17UNa.woff2) format("woff2"),url(/assets/noto-serif-latin-700-normal-mX-AlFMT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--btn-action-assign-bg: #EEF2FF;--btn-action-assign-text: #4F46E5;--btn-action-assign-border: #C7D2FE;--btn-action-review-bg: #ECFDF5;--btn-action-review-text: #059669;--btn-action-review-border: #A7F3D0;--btn-action-print-bg: #F5F3FF;--btn-action-print-text: #7C3AED;--btn-action-print-border: #DDD6FE;--btn-action-key-bg: #FFF7ED;--btn-action-key-text: #EA580C;--btn-action-key-border: #FED7AA;--btn-action-report-bg:#EFF6FF;--btn-action-report-text:#2563EB;--btn-action-report-border: #BFDBFE;--btn-action-sheet-bg: #FDF2F8;--btn-action-sheet-text: #DB2777;--btn-action-sheet-border: #FBCFE8;--btn-action-structure-bg: #ECFEFF;--btn-action-structure-text: #0891B2;--btn-action-structure-border: #A5F3FC;--brand-hue: 221;--brand-saturation: 83%;--brand-lightness: 47%;--brand-rgb-components: 37, 99, 235;color-scheme:light;--font-family-sans: "Figtree Variable", sans-serif;--font-family-handwriting: "Kalam", cursive;--ui-text-page: 1.375rem;--ui-text-card: 1.0625rem;--ui-text-body: .9375rem;--ui-text-meta: .8125rem;--ui-text-cap: .75rem;--ui-radius-card: 16px;--ui-radius-control: 12px;--ui-control-h: 44px;--ui-chip-h: 36px;--font-family-serif: "Noto Serif", serif;--font-family-monospace: "JetBrains Mono", monospace;--font-size-root: 16px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--spacing-unit: 1rem;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius: .5rem;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-pill: 9999px;--border-radius-round: 50%;--box-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--box-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .07), 0 1px 2px -1px rgba(0, 0, 0, .04);--box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--box-shadow-md: 0 6px 10px -2px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--box-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-inner: inset 0 1px 2px rgba(0,0,0,.05);--transition: all .2s ease-in-out;--sidebar-width-collapsed: 60px;--exam-header-height: 56px;--animation-ellipsis-duration: 1.4s;--accent-color: hsl(var(--brand-hue), var(--brand-saturation), var(--brand-lightness));--accent-color-hover: hsl(var(--brand-hue), var(--brand-saturation), calc(var(--brand-lightness) - 5%));--accent-color-light: rgba(var(--brand-rgb-components), .1);--accent-color-rgb: var(--brand-rgb-components);--text-primary: #111827;--text-secondary: #4B5563;--text-tertiary: #6B7280;--text-placeholder: #9CA3AF;--text-accent: hsl(var(--brand-hue), var(--brand-saturation), 40%);--text-on-accent: hsl(var(--brand-hue), 20%, 98%);--text-on-primary-button: var(--text-on-accent);--text-subject-header: var(--text-accent);--text-primary-rgb: 17, 24, 39;--background-primary: #F9FAFB;--background-secondary: #FFFFFF;--background-tertiary: #F3F4F6;--background-hover: hsl(var(--brand-hue), 25%, 95%);--background-accent: var(--accent-color-light);--background-overlay: rgba(30, 41, 59, .5);--background-elevation-1: var(--background-secondary);--card-bg: var(--background-secondary);--border-primary: #E5E7EB;--border-secondary: #D1D5DB;--border-light: var(--border-primary);--border-accent: rgba(var(--brand-rgb-components), .3);--border-question: var(--border-accent);--border-primary-rgb: 229, 231, 235;--purple-accent-base: #7C3AED;--purple-accent-rgb: 124, 58, 237;--purple-accent-light: rgba(124, 58, 237, .15);--purple-accent-dark: #6D28D9;--text-on-purple-accent: #FFFFFF;--input-bg: var(--background-secondary);--input-text: var(--text-primary);--input-border: var(--border-secondary);--input-focus-border: var(--accent-color);--input-focus-shadow: 0 0 0 3px rgba(var(--brand-rgb-components), .25);--datetime-picker-indicator-invert: 1;--form-select-arrow-light: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%234B5563%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);--button-primary-bg: var(--accent-color);--button-primary-hover-bg: var(--accent-color-hover);--button-secondary-bg: #E5E7EB;--button-secondary-hover-bg: #D1D5DB;--button-secondary-text: #1F2937;--button-outline-secondary-text: var(--text-secondary);--button-outline-secondary-border: var(--border-secondary);--button-outline-secondary-hover-bg: var(--background-tertiary);--button-outline-secondary-hover-text: var(--text-primary);--button-outline-secondary-hover-border: var(--border-primary);--button-secondary-accent-bg: var(--accent-color-light);--button-secondary-accent-hover-bg: rgba(var(--brand-rgb-components), .15);--button-secondary-accent-text: var(--text-accent);--button-secondary-accent-border: var(--border-accent);--button-danger-bg: #EF4444;--button-danger-hover-bg: #DC2626;--button-warning-bg: #F59E0B;--button-warning-hover-bg: #D97706;--text-on-warning: #1E293B;--button-success-bg: #10B981;--button-success-hover-bg: #059669;--button-info-bg: var(--accent-color);--button-info-hover-bg: var(--accent-color-hover);--text-on-info-button: var(--text-on-accent);--button-disabled-bg: #9CA3AF;--button-disabled-border: #9CA3AF;--button-disabled-opacity: .6;--button-disabled-text: #FFFFFF;--success-color: #16A34A;--success-bg: #DCFCE7;--success-border: #BBF7D0;--danger-color: #DC2626;--danger-bg: #FEE2E2;--danger-border: #FECACA;--warning-color: #F59E0B;--warning-bg: #FEF3C7;--warning-border: #FDE68A;--success-text: #15803D;--danger-text: #B91C1C;--warning-text: #B45309;--info-color: var(--accent-color);--info-bg: var(--accent-color-light);--info-border: var(--border-accent);--scrollbar-thumb: #CBD5E1;--scrollbar-track: #F3F4F6;--scrollbar-thumb-hover: #9CA3AF;--color-coin: #FBBF24;--color-pyq: #2DD4BF;--color-pyq-bg: rgba(45, 212, 191, .1);--color-practice: #A855F7;--color-practice-bg: rgba(168, 85, 247, .1);--color-exam: #EC4899;--color-exam-bg: rgba(236, 72, 153, .1);--color-time: var(--color-exam, #EC4899);--color-dpp: #F472B6;--color-dpp-bg: rgba(244, 114, 182, .1);--color-assignments: #60A5FA;--color-assignments-bg: rgba(96,165,250,.1);--color-ai-tutor: var(--accent-color);--color-ai-tutor-bg: var(--accent-color-light);--chart-color-1: var(--accent-color);--chart-color-2: var(--purple-accent-base);--chart-color-3: var(--success-color);--chart-color-4: var(--warning-color);--chart-color-5: #0EA5E9;--chart-color-6: var(--danger-color);--timer-bg: rgba(var(--brand-rgb-components), .08);--timer-border-color: rgba(var(--brand-rgb-components), .7);--timer-text-color: var(--text-primary);--item-bg-color-raw-blue: 59, 130, 246;--item-bg-color-raw-green: 22, 163, 74;--item-bg-color-raw-yellow: 245, 158, 11;--content-padding-x-desktop: var(--spacing-xl);--content-padding-x-mobile: var(--spacing-md);--view-footer-max-width: 900px;--summary-color-1: #3B82F6;--summary-color-2: #10B981;--summary-color-3: #F59E0B;--summary-color-4: #EF4444;--mock-color: #3B82F6;--live-color: #EF4444;--full-length-color: #F59E0B;--pyq-color: #10B981;--sectional-color: #8B5CF6;--general-badge-color: #6B7280;--text-on-badge: #FFFFFF;--btn-reattempt-bg: var(--background-secondary);--btn-reattempt-text: var(--text-accent);--btn-reattempt-border: var(--text-accent);--palette-bg: var(--background-secondary);--palette-text-primary: var(--text-primary);--palette-text-secondary: var(--text-secondary);--palette-border-color: var(--border-primary);--palette-green-answered-bg: var(--success-bg);--palette-green-answered-border: var(--success-color);--palette-green-answered-text: var(--success-color);--palette-green-answered-hover-bg: rgba(22, 163, 74, .2);--palette-red-not-answered-bg: var(--danger-bg);--palette-red-not-answered-border: var(--danger-color);--palette-red-not-answered-text: var(--danger-color);--palette-red-not-answered-hover-bg: rgba(220, 38, 38, .2);--palette-gray-not-visited-bg: var(--background-tertiary);--palette-gray-not-visited-border: var(--border-secondary);--palette-gray-not-visited-text: var(--text-secondary);--palette-gray-not-visited-hover-bg: var(--background-hover);--palette-blue-current-bg: var(--accent-color);--palette-blue-current-border: var(--accent-color);--palette-blue-current-text: var(--text-on-accent);--palette-blue-current-hover-bg: var(--accent-color-hover);--palette-blue-current-hover-border: var(--accent-color-hover);--palette-purple-marked-bg: var(--purple-accent-base);--palette-purple-marked-border: var(--purple-accent-base);--palette-purple-marked-text: var(--text-on-purple-accent);--palette-purple-marked-hover-bg: var(--purple-accent-dark);--palette-purple-marked-hover-border: var(--purple-accent-dark);--section-color-1: #007AFF;--section-color-2: #34C759;--section-color-3: #FF9500;--section-color-4: #FF3B30;--section-color-5: #AF52DE;--section-color-6: #FF6B22;--section-color-7: #5AC8FA;--section-tab-active-text: #ffffff;--section-tab-hover-opacity: .85;--modal-backdrop-bg: rgba(0, 0, 0, .65);--modal-content-bg: var(--background-secondary);--modal-text: var(--text-primary);--modal-border-color: var(--border-light);--modal-header-border: var(--border-light);--modal-title-text: var(--text-primary);--modal-close-button-color: var(--text-secondary);--modal-close-button-hover-color: var(--accent-color);--modal-body-text: var(--text-secondary);--modal-list-item-border: rgba(var(--border-primary-rgb), .3);--modal-list-item-hover-bg: var(--background-hover);--modal-list-item-label-text: var(--text-primary);--modal-list-item-label-span-text: var(--text-tertiary);--modal-footer-border: var(--border-light);--sparkle-light-color: #ffffff;--sparkle-accent-color: #fef08a;--sidebar-bg: var(--background-secondary);--sidebar-width: 280px;--sidebar-item-hover: var(--background-tertiary);--sidebar-item-active-bg: var(--accent-color-light);--sidebar-item-active-text: var(--accent-color);--sidebar-icon-size: 1.25rem;--avatar-bg: var(--accent-color);--avatar-text: #ffffff;--premium-gradient: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);--premium-text: #ffffff;--context-badge-bg: #e5e7eb;--context-badge-text: #4b5563;--context-badge-border: #d1d5db;--difficulty-easy-bg: #def7ec;--difficulty-easy-text: #059669;--difficulty-medium-bg: #fef3c7;--difficulty-medium-text: #d97706;--difficulty-hard-bg: #fee2e2;--difficulty-hard-text: #dc2626;--timer-icon-color: #4b5563;--timer-bg-light: #f3f4f6;--option-selected-border-color: var(--accent-color);--topic-badge-bg: #e0e7ff;--topic-badge-text: #4338ca}:root.dark-mode{color-scheme:dark;--btn-action-assign-bg: rgba(79, 70, 229, .15);--btn-action-assign-text: #818CF8;--btn-action-assign-border: #4338CA;--btn-action-review-bg: rgba(5, 150, 105, .15);--btn-action-review-text: #34D399;--btn-action-review-border: #065F46;--btn-action-print-bg: rgba(124, 58, 237, .15);--btn-action-print-text: #A78BFA;--btn-action-print-border: #5B21B6;--btn-action-key-bg: rgba(234, 88, 12, .15);--btn-action-key-text: #FB923C;--btn-action-key-border: #9A3412;--btn-action-report-bg: rgba(37, 99, 235, .15);--btn-action-report-text:#60A5FA;--btn-action-report-border: #1E40AF;--btn-action-sheet-bg: rgba(219, 39, 119, .15);--btn-action-sheet-text: #F472B6;--btn-action-sheet-border: #831843;--btn-action-structure-bg: rgba(8, 145, 178, .15);--btn-action-structure-text: #22D3EE;--btn-action-structure-border: #155E75;--accent-color: hsl(var(--brand-hue), var(--brand-saturation), 65%);--accent-color-hover: hsl(var(--brand-hue), var(--brand-saturation), 70%);--accent-color-light: rgba(var(--brand-rgb-components), .2);--text-primary: #FFFFFF;--text-secondary: #CBD5E1;--text-tertiary: #94A3B8;--text-accent: var(--accent-color);--text-on-accent: hsl(var(--brand-hue), 30%, 10%);--background-primary: #0B0F19;--background-secondary: #1E293B;--background-tertiary: #334155;--background-hover: hsl(var(--brand-hue), 15%, 25%);--border-primary: #334155;--border-secondary: #4B5563;--border-accent: rgba(var(--brand-rgb-components), .3);--purple-accent-base: #A78BFA;--purple-accent-light: rgba(167, 139, 250, .2);--purple-accent-dark: #8B5CF6;--text-on-purple-accent: #111827;--background-accent: var(--accent-color-light);--background-elevation-1: #2c3747;--text-primary-rgb: 243, 244, 246;--text-placeholder: #6B7280;--text-subject-header: var(--text-accent);--text-on-primary-button: var(--text-on-accent);--border-light: var(--border-primary);--border-question: var(--border-accent);--border-primary-rgb: 55, 65, 81;--input-bg: var(--background-tertiary);--input-focus-shadow: 0 0 0 3px rgba(var(--brand-rgb-components), .3);--form-select-arrow-light: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%239CA3AF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);--button-primary-bg: var(--accent-color);--button-primary-hover-bg: var(--accent-color-hover);--button-secondary-bg: #374151;--button-secondary-hover-bg: #4B5563;--button-secondary-text: #F3F4F6;--button-secondary-accent-bg: var(--accent-color-light);--button-secondary-accent-hover-bg: rgba(var(--brand-rgb-components), .25);--button-secondary-accent-text: var(--text-accent);--button-secondary-accent-border: var(--border-accent);--button-danger-hover-bg: #F87171;--button-success-hover-bg: #34D399;--button-info-bg: var(--accent-color);--button-info-hover-bg: var(--accent-color-hover);--button-disabled-bg: #4B5563;--button-disabled-border: #4B5563;--button-disabled-text: #9CA3AF;--success-color: #4ADE80;--success-bg: rgba(74, 222, 128, .15);--success-border: #22C55E;--danger-color: #F87171;--danger-bg: rgba(248, 113, 113, .15);--danger-border: #EF4444;--warning-color: #FACC15;--warning-bg: rgba(250, 204, 21, .15);--warning-border: #F59E0B;--success-text: var(--success-color);--danger-text: var(--danger-color);--warning-text: var(--warning-color);--info-color: var(--accent-color);--info-bg: var(--accent-color-light);--info-border: #3B82F6;--box-shadow: 0 4px 6px -1px rgba(0,0,0,.5), 0 2px 4px -1px rgba(0,0,0,.4);--box-shadow-md: 0 6px 10px -2px rgba(0,0,0,.5), 0 4px 6px -2px rgba(0,0,0,.4);--scrollbar-thumb: #4B5563;--scrollbar-track: #1F2937;--scrollbar-thumb-hover: #6B7280;--modal-backdrop-bg: rgba(0, 0, 0, .85);--modal-list-item-border: rgba(var(--border-primary-rgb), .3);--sparkle-light-color: #4B5563;--sparkle-accent-color: #a4800c;--context-badge-bg: #374151;--context-badge-text: #d1d5db;--context-badge-border: #4b5563;--difficulty-easy-bg: #064e3b;--difficulty-easy-text: #6ee7b7;--difficulty-medium-bg: #713f12;--difficulty-medium-text: #fcd34d;--difficulty-hard-bg: #991b1b;--difficulty-hard-text: #fca5a5;--timer-icon-color: #9ca3af;--timer-bg-light: #374151;--option-selected-border-color: var(--accent-color);--topic-badge-bg: #3730a3;--topic-badge-text: #c7d2fe}@media (max-width: 768px){:root{--font-size-root: 15px}}@media (max-width: 480px){:root{--font-size-root: 14.5px}}@keyframes animated-ellipsis-frames{0%{content:"."}33%{content:".."}66%,to{content:"..."}}.animated-ellipsis:after{display:inline-block;text-align:left;width:1.25em;content:".";animation:animated-ellipsis-frames 1.4s infinite;color:var(--text-secondary);vertical-align:bottom}:root{--button-action-assign-bg: #eef2ff;--button-action-assign-border: #c7d2fe;--button-action-assign-text: #4338ca;--button-action-review-bg: #f0fdfa;--button-action-review-border: #99f6e4;--button-action-review-text: #0f766e;--button-action-print-bg: #f5f3ff;--button-action-print-border: #ddd6fe;--button-action-print-text: #6d28d9;--button-action-sheet-bg: #fdf2f8;--button-action-sheet-border: #fbcfe8;--button-action-sheet-text: #be185d;--button-action-report-bg: #fff7ed;--button-action-report-border: #fed7aa;--button-action-report-text: #9a3412}.dark-mode{--button-action-assign-bg: #3730a3;--button-action-assign-border: #4f46e5;--button-action-assign-text: #e0e7ff;--button-action-review-bg: #115e59;--button-action-review-border: #14b8a6;--button-action-review-text: #ccfbf1;--button-action-print-bg: #5b21b6;--button-action-print-border: #7c3aed;--button-action-print-text: #ede9fe;--button-action-sheet-bg: #9d174d;--button-action-sheet-border: #db2777;--button-action-sheet-text: #fce7f3;--button-action-report-bg: #7c2d12;--button-action-report-border: #f97316;--button-action-report-text: #ffedd5}html{box-sizing:border-box;font-size:var(--font-size-root, 16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;color-scheme:light;touch-action:pan-x pan-y;overscroll-behavior-y:none}html.dark-mode{color-scheme:dark}body{font-family:var(--font-family-sans);margin:0;background-color:var(--background-primary);color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal, 1.6);transition:background-color .2s ease-in-out,color .2s ease-in-out;overflow-x:hidden;overscroll-behavior-y:none;-webkit-touch-callout:none}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin:0 0 1rem;font-weight:600;line-height:var(--line-height-tight, 1.3)}h1{font-size:var(--font-size-xl, 1.75rem)}h2{font-size:var(--font-size-lg, 1.375rem)}h3{font-size:var(--font-size-md, 1.125rem)}h4{font-size:var(--font-size-base, 1rem)}h5{font-size:var(--font-size-sm, .9rem)}p{margin:0 0 1rem;font-size:var(--font-size-base);font-weight:inherit}a{color:var(--text-accent);text-decoration:none;transition:var(--transition);font-size:inherit}a:hover{text-decoration:underline}ul,ol{padding-left:0;list-style:none;margin:0}li{margin-bottom:0}canvas{max-width:100%;max-height:100%}.text-center{text-align:center}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.ms-2{margin-left:var(--spacing-sm)}.mx-2{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input,select,textarea,optgroup{font-family:inherit}button{font-family:inherit;cursor:pointer;background:none;border:none;padding:0;color:inherit;font-size:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;text-align:center;cursor:pointer;border:1px solid transparent;min-height:var(--ui-control-h, 44px);padding:0 18px;font-size:var(--ui-text-body, .9375rem);line-height:1.2;border-radius:var(--ui-radius-control, 12px);transition:background-color .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.btn:disabled{background-color:var(--button-disabled-bg)!important;border-color:var(--button-disabled-border)!important;color:var(--button-disabled-text)!important;opacity:var(--button-disabled-opacity)!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.btn-primary{background-color:var(--button-primary-bg);color:var(--text-on-primary-button);border-color:var(--button-primary-bg)}.btn-primary:hover:not(:disabled){background-color:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-bg)}.btn-secondary{background-color:var(--background-tertiary);color:var(--text-primary);border:1px solid transparent}.btn-secondary:hover:not(:disabled){background-color:var(--border-primary);color:var(--text-primary)}.btn-danger{background-color:var(--button-danger-bg);color:var(--text-on-primary-button);border-color:var(--button-danger-bg)}.btn-danger:hover:not(:disabled){background-color:var(--button-danger-hover-bg);border-color:var(--button-danger-hover-bg)}.btn-warning{background-color:var(--button-warning-bg);color:var(--text-on-warning);border-color:var(--button-warning-bg)}.btn-warning:hover:not(:disabled){background-color:var(--button-warning-hover-bg);border-color:var(--button-warning-hover-bg)}.btn-success{background-color:var(--button-success-bg);color:var(--text-on-primary-button);border-color:var(--button-success-bg)}.btn-success:hover:not(:disabled){background-color:var(--button-success-hover-bg);border-color:var(--button-success-hover-bg)}.btn-sm{min-height:36px;padding:0 14px;font-size:.875rem;border-radius:10px}.btn-lg{min-height:48px;padding:0 22px;font-size:var(--ui-text-body, .9375rem)}.btn-xs{padding:.25rem .5rem!important;font-size:var(--font-size-xs, .75rem)!important;line-height:1!important;border-radius:var(--border-radius-sm)!important}.btn-xs svg{width:12px!important;height:12px!important}.btn-secondary-accent{background-color:var(--button-secondary-accent-bg);color:var(--button-secondary-accent-text);border:1px solid var(--button-secondary-accent-border)}.btn-secondary-accent:hover:not(:disabled){background-color:var(--button-secondary-accent-hover-bg)}.btn-full-width{width:100%}.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],textarea{font-size:var(--font-size-sm, .95rem);display:block;width:100%;padding:var(--spacing-sm, .65rem) var(--spacing-md, 1rem);font-weight:400;line-height:1.5;color:var(--input-text);background-color:var(--input-bg);background-clip:padding-box;border:1px solid var(--input-border);appearance:none;-webkit-appearance:none;-moz-appearance:none;border-radius:var(--border-radius-md);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}input[type=datetime-local]{background-color:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border)}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(var(--datetime-picker-indicator-invert))}.form-control::placeholder{color:var(--input-placeholder);opacity:1}.form-control:focus,input[type=datetime-local]:focus{color:var(--input-text);background-color:var(--input-bg);border-color:var(--input-focus-border);outline:0;box-shadow:var(--input-focus-shadow)}.form-control:disabled,input[type=datetime-local]:disabled{background-color:var(--background-tertiary);opacity:.7;cursor:not-allowed;color:var(--text-placeholder)}.form-select{font-size:var(--font-size-base, 1rem);width:100%;padding:.75rem 2.5rem .75rem 1rem;border-radius:var(--border-radius-md);background-color:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--form-select-arrow-light);background-repeat:no-repeat;background-position:right 1rem center;background-size:.65em auto;cursor:pointer;transition:var(--transition)}:root.dark-mode .form-select{background-image:var(--form-select-arrow-dark, var(--form-select-arrow-light))}.form-select:disabled{background-color:var(--background-tertiary);opacity:.7;cursor:not-allowed}.form-select:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);outline:none}.form-select option[disabled]{color:var(--text-secondary)}.alert{font-size:var(--font-size-sm, .9rem);padding:.75rem 1rem;margin-bottom:1.25rem;border:1px solid transparent;border-radius:var(--border-radius-md);text-align:left;display:flex;justify-content:space-between;align-items:center}.alert-danger{color:var(--danger-color);background-color:var(--danger-bg);border-color:var(--danger-border)}.alert-success{color:var(--success-color);background-color:var(--success-bg);border-color:var(--success-border)}.alert-warning{color:var(--warning-color);background-color:var(--warning-bg);border-color:var(--warning-border)}.alert-info{color:var(--info-color);background-color:var(--info-bg);border-color:var(--info-border)}.alert strong{font-weight:600;margin-right:.5rem}.alert-close-button{background:none;border:none;color:inherit;opacity:.7;font-size:1.4rem;font-weight:700;line-height:1;padding:0 .25rem;margin-left:1rem;cursor:pointer}body,.main-content,.sidebar,.chapter-list,.leaderboard-list,.modal,.exam-mode-palette,.exam-mode-question-area,.assign-assessment-modal-content .target-selection-scroll-container,.student-search-results,.selected-targets-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}body::-webkit-scrollbar,.main-content::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.chapter-list::-webkit-scrollbar,.leaderboard-list::-webkit-scrollbar,.modal::-webkit-scrollbar,.exam-mode-palette::-webkit-scrollbar,.exam-mode-question-area::-webkit-scrollbar,.assign-assessment-modal-content .target-selection-scroll-container::-webkit-scrollbar,.student-search-results::-webkit-scrollbar,.selected-targets-list::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar-track,.main-content::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track,.chapter-list::-webkit-scrollbar-track,.leaderboard-list::-webkit-scrollbar-track,.modal::-webkit-scrollbar-track,.exam-mode-palette::-webkit-scrollbar-track,.exam-mode-question-area::-webkit-scrollbar-track,.assign-assessment-modal-content .target-selection-scroll-container::-webkit-scrollbar-track,.student-search-results::-webkit-scrollbar-track,.selected-targets-list::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}body::-webkit-scrollbar-thumb,.main-content::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.chapter-list::-webkit-scrollbar-thumb,.leaderboard-list::-webkit-scrollbar-thumb,.modal::-webkit-scrollbar-thumb,.exam-mode-palette::-webkit-scrollbar-thumb,.exam-mode-question-area::-webkit-scrollbar-thumb,.assign-assessment-modal-content .target-selection-scroll-container::-webkit-scrollbar-thumb,.student-search-results::-webkit-scrollbar-thumb,.selected-targets-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px;border:2px solid var(--scrollbar-track)}body::-webkit-scrollbar-thumb:hover,.main-content::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover,.chapter-list::-webkit-scrollbar-thumb:hover,.leaderboard-list::-webkit-scrollbar-thumb:hover,.modal::-webkit-scrollbar-thumb:hover,.exam-mode-palette::-webkit-scrollbar-thumb:hover,.exam-mode-question-area::-webkit-scrollbar-thumb:hover,.assign-assessment-modal-content .target-selection-scroll-container::-webkit-scrollbar-thumb:hover,.student-search-results::-webkit-scrollbar-thumb:hover,.selected-targets-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.spinner,.loading-spinner{display:none}.spinner.large,.loading-spinner.large{width:50px;height:50px;border-width:4px}.spinner.small,.loading-spinner.small{width:16px;height:16px;border-width:2px;margin:0;display:inline-block;vertical-align:middle}.btn .spinner.small,.btn .loading-spinner.small{border-left-color:currentColor;margin-right:.4rem}.btn.btn-primary .spinner.small,.btn.btn-primary .loading-spinner.small{border-left-color:var(--text-on-primary-button)}.global-error-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:2000;width:auto;max-width:90%;padding:.75rem 1.25rem;border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-lg);display:flex;justify-content:space-between;align-items:center;animation:fadeIn .3s ease-out;color:var(--danger-color);background-color:var(--danger-bg);border:1px solid var(--danger-border)}.global-error-banner span{margin-right:1rem}.global-error-banner.success{color:var(--success-color);background-color:var(--success-bg);border-color:var(--success-border)}@media (max-width: 992px){h1{font-size:var(--font-size-xl, 1.6rem)}h2{font-size:var(--font-size-lg, 1.25rem)}}@media (max-width: 768px){h1{font-size:var(--font-size-h1-mobile, 1.5rem)}h2{font-size:var(--font-size-h2-mobile, 1.2rem)}.btn{padding:.7rem 1.1rem;font-size:var(--font-size-button-mobile, .95rem)}p,.form-control,.form-select,li{font-size:var(--font-size-text-mobile, .9rem)}}@media (max-width: 480px){h1{font-size:var(--font-size-h1-mobile, 1.4rem)}h2{font-size:var(--font-size-h2-mobile, 1.15rem)}.btn{padding:.65rem 1rem;font-size:var(--font-size-button-mobile, .9rem)}p,.form-control,.form-select,li{font-size:var(--font-size-text-mobile, .875rem)}}.rich-text-content,.question-text-p,.question-html,.question-content,.question-passage,.question-assertion,.question-reason,.nta-question-text,.mastery-question-content,.mastery-passage-content,.cq-question,.option-html,.option-text,.option-text-content,.option-label,.opt-content,.cq-opt-text,.explanation-content,.explanation-html-content,.qbp-explanation,.hint-content,.hint-text,.qrm-html-content,.pep-html,.post-content,.card-content-wrapper,.cls-rich,.cls-msg-text,.instructions-body-html,.ea-notes-body,.cs-notes-preview-body{font-family:var(--font-family-serif)}.qs-scroll,.practice-adapted-main,.mastery-main-new{overflow-x:hidden}:is(.qs-scroll,.practice-adapted-main,.mastery-main-new) table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}:is(.qs-scroll,.practice-adapted-main,.mastery-main-new) .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}html,body{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{overflow-x:hidden}:root{--sidebar-width-open: 260px;--sidebar-width-collapsed: 70px;--header-height-main: 60px}.app-body-wrapper{display:flex;flex-grow:1;width:100%;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-width-open);position:fixed;left:0;top:0;bottom:0;background-color:var(--background-secondary);border-right:1px solid var(--border-primary);transition:width .3s ease-in-out,transform .3s ease-in-out;z-index:1000;overflow-x:hidden;display:flex;flex-direction:column}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-toggle-button{position:fixed;top:var(--spacing-md, 1rem);left:var(--spacing-md, 1rem);z-index:1100;background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;box-shadow:var(--box-shadow);transition:left .3s ease-in-out,background-color .2s,color .2s;padding:0}.sidebar-toggle-button:hover{background-color:var(--background-hover);transform:scale(1.05)}.sidebar-toggle-button.hidden{display:none!important}.main-content{flex-grow:1;display:flex;flex-direction:column;transition:margin-left .3s ease-in-out;overflow-y:auto;overflow-x:hidden;position:relative;padding:var(--spacing-lg);margin-left:0}.main-content:not(.main-content--no-padding):not(.main-content--full-width){padding-top:env(safe-area-inset-top,24px)}.main-content--no-padding{padding:0!important}.main-content--full-width{margin-left:0!important;padding:0!important;width:100%!important;max-width:100vw!important}.main-content--app-layout{padding:0!important;overflow:hidden!important;height:100vh;height:100dvh}@media (max-width: 768px){.main-content--app-layout{height:calc(100vh - 60px);height:calc(100dvh - 60px)}}.mobile-header{display:none}@media (min-width: 769px){.main-content--sidebar-open{margin-left:var(--sidebar-width-open)}.main-content--sidebar-closed{margin-left:var(--sidebar-width-collapsed)}.sidebar-toggle-button.sidebar-is-open{left:calc(var(--sidebar-width-open) - 20px)}.sidebar-toggle-button.sidebar-is-closed{left:calc(var(--sidebar-width-collapsed) - 20px)}.sidebar-toggle-button:not(.sidebar-is-open):not(.sidebar-is-closed){left:var(--spacing-md)}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open,.sidebar.sidebar--open{transform:translate(0);box-shadow:var(--shadow-lg)}.sidebar-toggle-button.sidebar-is-open{display:none!important}.main-content{margin-left:0!important;padding:var(--spacing-md)}.sidebar-toggle-button{left:var(--spacing-md);top:calc(var(--spacing-sm) + env(safe-area-inset-top,0px))}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);background-color:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-primary);position:sticky;top:0;z-index:100}html[data-theme=dark] .mobile-header{background-color:#1f2937e6}.mobile-header-left{display:flex;align-items:center;gap:.75rem}.mobile-header-branding img{height:32px;width:auto;object-fit:contain}.mobile-header-profile{display:flex;align-items:center;gap:.5rem;padding:2px 10px 2px 2px;background:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:20px;cursor:pointer;transition:background .2s ease}.mobile-header-avatar{width:28px;height:28px;border-radius:50%;background:var(--primary-color, #f97316);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-meta);font-weight:700}.mobile-header-greeting{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-primary);max-width:85px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-greeting-area{display:none!important}.menu-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md, 8px);color:var(--text-primary);cursor:pointer;font-size:var(--ui-text-card);transition:all .2s ease;flex-shrink:0}.menu-btn:hover{background:var(--background-hover)}.menu-btn svg{width:20px;height:20px}.mobile-logo{font-weight:700;font-size:var(--ui-text-card);color:var(--text-primary)}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-overlay);z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility 0s linear .3s}.sidebar-overlay--visible{opacity:1;visibility:visible;transition-delay:0s}}.app-loading-container,.dashboard-loading-container,.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;width:100%;background-color:var(--background-primary);color:var(--text-primary);text-align:center;padding:var(--spacing-lg)}.dashboard-loading-container,.loading-container{min-height:50vh}.has-global-error:not(.main-content--no-padding):not(.main-content--full-width){padding-bottom:calc(var(--spacing-lg) + 40px)}@media (min-width: 1025px){:root{--console-zoom: .9}.app-container:has(.teacher-sidebar){zoom:var(--console-zoom)}.app-container:has(.teacher-sidebar) .sidebar{height:calc(100vh / var(--console-zoom));height:calc(100dvh / var(--console-zoom))}.app-container:has(.teacher-sidebar) .main-content--app-layout{height:calc(100vh / var(--console-zoom));height:calc(100dvh / var(--console-zoom))}.app-container:has(.student-sidebar){zoom:var(--console-zoom)}.app-container:has(.student-sidebar) .sidebar{height:calc(100vh / var(--console-zoom));height:calc(100dvh / var(--console-zoom))}.app-container:has(.student-sidebar) .main-content--app-layout{height:calc(100vh / var(--console-zoom));height:calc(100dvh / var(--console-zoom))}.admin-layout.admin-layout{zoom:var(--console-zoom);grid-template-rows:calc(100vh / var(--console-zoom));grid-template-rows:calc(100dvh / var(--console-zoom))}.admin-layout .admin-sidebar,.admin-layout .asb{height:calc(100vh / var(--console-zoom));height:calc(100dvh / var(--console-zoom))}}@media (min-width: 769px){.mobile-header.app-header--desktop{display:flex;align-items:center;justify-content:flex-end;padding:12px 24px 0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none;position:static;flex-shrink:0}.app-header--desktop .mobile-header-left{display:none}.app-header--desktop .mobile-header-profile{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;cursor:pointer;background:var(--background-secondary, #fff);border:1px solid var(--border-primary, #e6e9ef);color:var(--text-primary, #1a2231);transition:border-color .15s ease,box-shadow .15s ease}.app-header--desktop .mobile-header-profile:hover{border-color:var(--primary-color, #4f46e5);box-shadow:0 2px 10px #00000014}.app-header--desktop .mobile-header-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;background:var(--primary-color, #4f46e5);flex-shrink:0}.app-header--desktop .mobile-header-greeting{font-size:var(--ui-text-meta);font-weight:600;white-space:nowrap}}.app-container:has(.stb){--tabbar-space: calc(72px + env(safe-area-inset-bottom, 0px)) }.main-content.main-content--student:not(.main-content--full-width){padding-top:max(var(--spacing-lg, 24px),env(safe-area-inset-top,0px))}@media (max-width: 768px){.main-content.main-content--student:not(.main-content--full-width){padding-top:var(--spacing-md, 16px)}}@media (max-width: 768px){.main-content.main-content--has-tabbar{padding-bottom:calc(var(--spacing-md, 1rem) + var(--tabbar-space, 72px))!important}}.App{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;position:relative;background-color:var(--background-primary);overflow-x:hidden}.intro-tour-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;pointer-events:none;animation:introTourFade .18s ease-out}.intro-tour-spotlight{position:fixed;border-radius:12px;border:2.5px solid #8b5cf6;box-shadow:0 0 0 9999px #080a1666;background:transparent;pointer-events:none}.intro-tour-spotlight:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:15px;pointer-events:none;box-shadow:0 0 0 3px #8b5cf652,0 0 26px 6px #8b5cf64d}@media (prefers-reduced-motion: no-preference){.intro-tour-spotlight:after{animation:intro-tour-ring 1.8s ease-in-out infinite}}@keyframes intro-tour-ring{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.015)}}.intro-tour-dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a1666;pointer-events:none}.intro-tour-dim--light{background:#080a1638}.intro-tour-center{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;pointer-events:none}.intro-tour-tooltip.intro-tour-elsewhere{position:relative}.intro-tour-tooltip{position:fixed;z-index:11001;box-sizing:border-box;width:min(340px,calc(100vw - 24px));background:var(--background-secondary, #ffffff);color:var(--text-primary, #111827);border:1px solid var(--border-primary, #e5e7eb);border-radius:14px;box-shadow:0 18px 44px -12px #00000073;padding:14px 16px 12px;pointer-events:auto}@media (prefers-reduced-motion: no-preference){.intro-tour-tooltip{animation:introTourPop .18s cubic-bezier(.2,.9,.3,1.2)}}.intro-tour-tooltip.is-centered{width:min(380px,calc(100vw - 24px));padding:18px 20px 14px}.intro-tour-tooltip:after{content:"";position:absolute;width:11px;height:11px;background:var(--background-secondary, #ffffff);border-left:1px solid var(--border-primary, #e5e7eb);border-top:1px solid var(--border-primary, #e5e7eb)}.intro-tour-arrow-top:after{top:-6px;left:var(--intro-tour-arrow-at, 50%);transform:translate(-50%) rotate(45deg)}.intro-tour-arrow-bottom:after{bottom:-6px;left:var(--intro-tour-arrow-at, 50%);transform:translate(-50%) rotate(225deg)}.intro-tour-arrow-left:after{left:-6px;top:var(--intro-tour-arrow-at, 50%);transform:translateY(-50%) rotate(-45deg)}.intro-tour-arrow-right:after{right:-6px;top:var(--intro-tour-arrow-at, 50%);transform:translateY(-50%) rotate(135deg)}.intro-tour-arrow-none:after{display:none}.intro-tour-tooltip-body{margin-bottom:4px}.intro-tour-step{margin:0 30px 4px 0;font-size:var(--ui-text-cap, .75rem);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#6d28d9}.intro-tour-title{margin:0 30px 6px 0;font-size:var(--ui-text-card, 1.0625rem);font-weight:800;line-height:1.3;color:var(--text-primary, #111827);letter-spacing:-.01em}.intro-tour-tooltip.is-centered .intro-tour-title{font-size:1.15rem}.intro-tour-text{margin:0;font-size:var(--ui-text-body, .9375rem);line-height:1.55;color:var(--text-secondary, #4b5563)}.intro-tour-hide{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:30px;height:30px;padding:0;color:var(--text-tertiary, #6b7280);background:none;border:none;border-radius:8px;cursor:pointer}.intro-tour-hide:hover{color:var(--text-primary, #111827);background:var(--background-tertiary, #f3f4f6)}.intro-tour-hide svg{width:16px;height:16px}.intro-tour-nudge{margin:10px 0 0;padding:8px 10px;font-size:var(--ui-text-meta, .8125rem);line-height:1.45;color:var(--warning-color, #b45309);background:color-mix(in srgb,var(--warning-color, #f59e0b) 12%,transparent);border-left:3px solid var(--warning-color, #f59e0b);border-radius:4px}.intro-tour-waiting{margin:10px 0 0;font-size:var(--ui-text-meta, .8125rem);font-style:italic;color:#6d28d9}.intro-tour-unmute{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;font:inherit;font-size:var(--ui-text-meta, .8125rem);font-weight:700;color:#6d28d9;background:transparent;border:1px solid rgba(109,40,217,.4);border-radius:999px;cursor:pointer}.intro-tour-unmute svg{width:15px;height:15px}.intro-tour-dont-show{display:flex;align-items:center;gap:7px;margin:10px 0 0;font-size:var(--ui-text-meta, .8125rem);color:var(--text-tertiary, #6b7280);-webkit-user-select:none;user-select:none;cursor:pointer}.intro-tour-dont-show input[type=checkbox]{width:14px;height:14px;accent-color:#6d28d9;cursor:pointer}.intro-tour-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}.intro-tour-actions-right{display:inline-flex;gap:6px}.intro-tour-btn{min-height:34px;padding:.4rem .9rem;border:1px solid var(--border-secondary, #d1d5db);border-radius:8px;background:var(--background-secondary, #fff);color:var(--text-primary, #111827);font:inherit;font-size:var(--ui-text-meta, .8125rem);font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.intro-tour-btn:hover{background:var(--background-tertiary, #f3f4f6)}.intro-tour-btn.ghost{border-color:transparent;background:none;color:var(--text-tertiary, #6b7280)}.intro-tour-btn.ghost:hover{color:var(--text-primary, #111827)}.intro-tour-btn.secondary{background:var(--background-secondary, #fff)}.intro-tour-btn.primary{background:#6d28d9;border-color:#6d28d9;color:#fff}.intro-tour-btn.primary:hover{background:#5b21b6}.intro-tour-btn.primary:active{transform:scale(.97)}.intro-tour-btn:focus-visible,.intro-tour-hide:focus-visible,.intro-tour-unmute:focus-visible{outline:2px solid #6d28d9;outline-offset:2px}.intro-tour-langpick{display:flex;gap:8px;margin-top:14px}.intro-tour-langbtn{flex:1;min-height:44px;padding:9px 12px;font:inherit;font-size:var(--ui-text-body, .9375rem);font-weight:700;color:var(--text-primary, #111827);background:var(--background-tertiary, #f3f4f6);border:1px solid var(--border-secondary, #d1d5db);border-radius:10px;cursor:pointer}.intro-tour-langbtn.is-on,.intro-tour-langbtn:hover{color:#fff;background:#6d28d9;border-color:#6d28d9}.intro-tour-langbtn:focus-visible{outline:2px solid #6d28d9;outline-offset:2px}.intro-tour-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11003;display:grid;place-items:center;padding:16px;pointer-events:auto;background:#080a1659}.intro-tour-confirm-box{width:min(420px,100%);box-sizing:border-box;padding:20px 20px 16px;border-radius:16px;background:var(--background-secondary, #fff);color:var(--text-primary, #111827);border:1px solid var(--border-primary, #e5e7eb);box-shadow:0 24px 60px -18px #00000080}.intro-tour-confirm-box h4{margin:0 0 8px;font-size:1.1rem;font-weight:800}.intro-tour-confirm-box p{margin:0;font-size:var(--ui-text-body, .9375rem);line-height:1.55;color:var(--text-secondary, #4b5563)}.intro-tour-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}.intro-tour-confirm-actions .intro-tour-btn{min-height:42px;padding:.5rem 1rem;font-size:var(--ui-text-body, .9375rem)}@keyframes introTourFade{0%{opacity:0}to{opacity:1}}@keyframes introTourPop{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}.intro-tour-bar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:11002;box-sizing:border-box;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:8px 10px 8px 16px;border-radius:999px;color:#fff;background:#4c1d95eb;border:1px solid rgba(196,181,253,.42);box-shadow:0 10px 34px #00000059;-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);font-size:var(--ui-text-meta, .8125rem);pointer-events:auto}.intro-tour-bar.is-top{bottom:auto;top:calc(12px + env(safe-area-inset-top,0px))}.intro-tour-bar-name{font-weight:800;letter-spacing:.01em}.intro-tour-bar-title{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.92}.intro-tour-bar-step{font-size:var(--ui-text-cap, .75rem);opacity:.65;font-variant-numeric:tabular-nums}.intro-tour-bar-hint{font-size:var(--ui-text-cap, .75rem);opacity:.85;font-style:italic;white-space:nowrap}.intro-tour-bar.has-nudge{flex-wrap:wrap;justify-content:center;row-gap:6px;width:min(560px,calc(100vw - 24px));border-radius:18px}.intro-tour-bar-nudge{order:-1;flex:1 0 100%;min-width:0;font-size:var(--ui-text-cap, .75rem);line-height:1.35;text-align:center;color:#fde68a}.intro-tour-bar-langs{display:inline-flex;gap:3px}.intro-tour-bar-lang{padding:4px 8px;font:inherit;font-size:var(--ui-text-cap, .75rem);font-weight:800;line-height:1.2;color:#ffffffbf;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:999px;cursor:pointer}.intro-tour-bar-lang.is-on{color:#2e1065;background:#fff;border-color:#fff}.intro-tour-bar-btn{position:relative;display:inline-flex;align-items:center;gap:4px;padding:6px 14px;font:inherit;font-size:var(--ui-text-cap, .75rem);font-weight:700;white-space:nowrap;color:#fff;background:#ffffff24;border:1px solid rgba(255,255,255,.24);border-radius:999px;cursor:pointer}.intro-tour-bar-btn:hover{background:#ffffff3d}.intro-tour-bar-btn.primary{background:#fff;border-color:#fff;color:#4c1d95;font-weight:800}.intro-tour-bar-btn.primary:hover{background:#f5f3ff}.intro-tour-bar-icon{padding:6px 9px}.intro-tour-bar-icon svg{width:14px;height:14px}.intro-tour-bar-btn:focus-visible,.intro-tour-bar-lang:focus-visible{outline:2px solid #fff;outline-offset:2px}.intro-tour-bar-skip{background:transparent;border-color:#fff3;color:#ffffffd9;font-weight:600}.intro-tour-bar-skip:hover{color:#fff;background:#ffffff24}.intro-tour-wave{display:inline-flex;align-items:flex-end;gap:3px;height:18px}.intro-tour-wave i{display:block;width:3px;height:30%;background:currentColor;border-radius:2px;opacity:.9;transform:scaleY(.35);transform-origin:bottom;transition:transform .2s ease}.intro-tour-wave.is-playing i{animation:intro-tour-wave .9s ease-in-out infinite}.intro-tour-wave i:nth-child(1){animation-delay:0ms;height:40%}.intro-tour-wave i:nth-child(2){animation-delay:.12s;height:75%}.intro-tour-wave i:nth-child(3){animation-delay:.24s;height:55%}.intro-tour-wave i:nth-child(4){animation-delay:.36s;height:90%}.intro-tour-wave i:nth-child(5){animation-delay:.48s;height:45%}@keyframes intro-tour-wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.intro-tour-wave.is-playing i{animation:none;transform:scaleY(.8)}}.intro-tour-badge{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);white-space:nowrap;padding:4px 9px;font-size:var(--ui-text-cap, .75rem);font-weight:800;letter-spacing:.01em;color:#3b2500;background:#fbbf24;border-radius:6px;box-shadow:0 3px 12px #fbbf2480;pointer-events:none}.intro-tour-badge:after{content:"";position:absolute;top:100%;left:50%;margin-left:-4px;border:4px solid transparent;border-top-color:#fbbf24}.intro-tour-bar.is-top .intro-tour-badge{bottom:auto;top:calc(100% + 8px)}.intro-tour-bar.is-top .intro-tour-badge:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#fbbf24}@media (prefers-reduced-motion: no-preference){.intro-tour-badge{animation:intro-tour-badge-in .28s cubic-bezier(.16,1,.3,1)}.intro-tour-bar-btn.is-prompt,.intro-tour-btn.is-prompt{animation:intro-tour-pulse 1.6s ease-in-out infinite}}@keyframes intro-tour-badge-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes intro-tour-pulse{0%,to{box-shadow:0 0 #fff9}50%{box-shadow:0 0 0 7px #fff0}}@media (max-width: 640px){.intro-tour-bar-title{display:none}}@media (max-width: 480px){.intro-tour-bar{gap:7px;padding:7px 8px 7px 12px}.intro-tour-bar-step,.intro-tour-bar-hint{display:none}.intro-tour-bar-skip{border-color:transparent;padding:6px}.intro-tour-bar-lang{padding:4px 6px}.intro-tour-bar-icon{padding:6px 7px}}.env-dot{--env-dot-color: #22c55e;position:relative;display:inline-block;vertical-align:middle;flex-shrink:0;width:18px;height:18px;margin-right:2px}.env-dot:before{content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;border-radius:50%;background:var(--env-dot-color);filter:blur(3px);opacity:.55;transform:translate(-50%,-50%) scale(1);animation:env-dot-pulse 2s ease-in-out infinite}.env-dot:after{content:"";position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:50%;background:var(--env-dot-color);transform:translate(-50%,-50%)}@keyframes env-dot-pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(.85)}50%{opacity:.15;transform:translate(-50%,-50%) scale(1.2)}}@media (prefers-reduced-motion: reduce){.env-dot:before{animation:none;opacity:.45}}.change-password-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--background-overlay, rgba(0, 0, 0, .7));display:flex;justify-content:center;align-items:center;z-index:1055;padding:var(--spacing-md, 16px);opacity:1;visibility:visible;transition:opacity .25s ease-in-out}.change-password-modal-content{background-color:var(--background-secondary);color:var(--text-primary);padding:var(--spacing-lg, 24px);border-radius:var(--border-radius-lg, 8px);box-shadow:var(--shadow-xl);width:100%;max-width:450px;max-height:90vh;display:flex;flex-direction:column;transform:scale(1);opacity:1;transition:transform .25s ease-in-out,opacity .25s ease-in-out}.change-password-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg, 24px);padding-bottom:var(--spacing-md, 16px);border-bottom:1px solid var(--border-primary);flex-shrink:0}.change-password-modal-header h3{margin:0;font-size:var(--ui-text-card);font-weight:600;color:var(--text-primary)}.change-password-modal-header .btn-close-modal{background:none;border:none;color:var(--text-secondary);font-size:1.75rem;cursor:pointer;padding:.1rem;line-height:1;transition:color .2s ease}.change-password-modal-header .btn-close-modal:hover{color:var(--accent-color)}.change-password-modal-body{flex-grow:1;overflow-y:auto}.change-password-modal-body .modal-step-info{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg, 24px);padding-bottom:var(--spacing-sm, 8px);border-bottom:1px dashed var(--border-light);text-align:center}.change-password-modal-body .form-group{margin-bottom:var(--spacing-lg, 1.25rem)}.change-password-modal-body label{display:block;margin-bottom:var(--spacing-sm, 8px);font-size:.9rem;font-weight:500;color:var(--text-secondary-strong, var(--text-secondary))}.change-password-modal-body .form-control{width:100%;padding:var(--input-padding-y, .65rem) var(--input-padding-x, .85rem);font-size:var(--ui-text-body);line-height:1.5;color:var(--input-text);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.change-password-modal-body .form-control:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);outline:none}.change-password-modal-body .form-control::placeholder{color:var(--input-placeholder)}.change-password-modal-body .password-input-wrapper{position:relative;display:flex;align-items:center}.change-password-modal-body .password-input-wrapper .input-icon{position:absolute;left:var(--spacing-sm, 10px);top:50%;transform:translateY(-50%);color:var(--text-placeholder);pointer-events:none;font-size:1.1em;line-height:1}.change-password-modal-body .password-input-wrapper input.form-control{padding-left:calc(var(--spacing-sm, 10px) + 1.1em + var(--spacing-sm, 10px))}.change-password-modal-body .password-input-wrapper .password-toggle-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;line-height:1}.change-password-modal-body .password-input-wrapper .password-toggle-btn:hover{color:var(--text-primary)}.change-password-modal-body .password-toggle-btn svg{width:18px;height:18px}.change-password-modal-body .link-button{background:none;border:none;color:var(--accent-color);text-decoration:underline;cursor:pointer;padding:0;font-size:var(--ui-text-meta)}.change-password-modal-body .link-button:hover{color:var(--accent-color-hover)}.change-password-modal-body .btn-full-width{width:100%;padding-top:var(--btn-padding-y, .75rem);padding-bottom:var(--btn-padding-y, .75rem)}.change-password-modal-body .display-message{padding:var(--spacing-sm, .75rem) var(--spacing-md, 1rem);margin-bottom:var(--spacing-lg, 1.25rem);border-radius:var(--border-radius-sm);font-size:.9rem;display:flex;align-items:center;text-align:left}.change-password-modal-body .display-message.success{background-color:var(--success-bg);color:var(--success-text-strong, var(--success-color));border:1px solid var(--success-border)}.change-password-modal-body .display-message.error{background-color:var(--danger-bg);color:var(--danger-text-strong, var(--danger-color));border:1px solid var(--danger-border)}.change-password-modal-body .display-message svg{margin-right:var(--spacing-sm, .5em);flex-shrink:0;font-size:1.1em}.change-password-modal-content.mdm{max-width:480px}.mdm .mdm-section{border:1px solid var(--border-primary);border-radius:var(--border-radius-md, 8px);padding:14px;margin-bottom:14px;background:var(--background-tertiary)}.mdm .mdm-row{display:flex;align-items:flex-start;gap:12px}.mdm .mdm-icon{flex:0 0 auto;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--background-secondary);color:var(--accent-color);font-size:var(--ui-text-card)}.mdm .mdm-icon.is-wa{color:#25d366}.mdm .mdm-main{flex:1 1 auto;min-width:0}.mdm .mdm-main h4{margin:0 0 2px;font-size:var(--ui-text-body);font-weight:600;color:var(--text-primary)}.mdm .mdm-value{font-size:var(--ui-text-body);color:var(--text-primary);overflow-wrap:anywhere}.mdm .mdm-value em{color:var(--text-secondary)}.mdm .mdm-muted{font-size:var(--ui-text-meta);color:var(--text-secondary);font-weight:400}.mdm .mdm-edit{flex:0 0 auto;padding:.35rem .85rem;font-size:var(--ui-text-meta)}.mdm .mdm-help{margin:10px 0 0;font-size:var(--ui-text-meta);color:var(--text-secondary);line-height:1.45}.mdm .mdm-warn{margin:10px 0 0;padding:8px 10px;font-size:var(--ui-text-meta);line-height:1.45;border-radius:var(--border-radius-sm, 6px);background:var(--warning-bg);color:var(--warning-text, var(--text-primary));border:1px solid var(--warning-border, transparent)}.mdm .mdm-form{margin-top:12px}.mdm .mdm-form .form-group{margin-bottom:12px}.mdm .mdm-code input.form-control{letter-spacing:.3em;font-variant-numeric:tabular-nums}.mdm .mdm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.mdm .mdm-remove{margin-top:8px}.mdm .display-message svg{margin-right:.5em}@media (max-width: 480px){.mdm .mdm-actions .btn{flex:1 1 auto}}.sbm-catcher{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;background:transparent}.sbm-menu{position:fixed;display:flex;flex-direction:column;max-height:calc(100dvh - 16px);overflow-y:auto;border-radius:12px;border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-primary);box-shadow:0 12px 32px #00000038;outline:none;animation:sbm-rise .12s ease-out}@keyframes sbm-rise{0%{transform:translateY(4px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.sbm-menu{animation:none}}.sbm-section{padding:10px 10px 8px;border-bottom:1px solid var(--border-primary)}.sbm-heading{margin:0 2px 6px;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.sbm-contacts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.sbm-contact{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:8px;color:var(--text-secondary);font-size:var(--ui-text-cap);font-weight:600;text-decoration:none}.sbm-contact:hover{background:var(--background-tertiary);color:var(--text-primary)}.sbm-contact-icon{display:inline-flex;font-size:1.05rem}.sbm-contact.is-wa .sbm-contact-icon{color:#25d366}.sbm-contact.is-call .sbm-contact-icon{color:#3b82f6}.sbm-contact.is-mail .sbm-contact-icon{color:var(--accent-color)}.sbm-list{display:flex;flex-direction:column;padding:6px}.sbm-row{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);font-size:var(--ui-text-body);font-weight:500;text-align:left;cursor:pointer}.sbm-row:hover{background:var(--background-tertiary)}.sbm-row-icon{display:inline-flex;flex:none;color:var(--text-secondary);font-size:1rem}.sbm-row-label{min-width:0}.aic-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0f172a8c}.aic-modal{width:100%;max-width:720px;max-height:min(88vh,900px);display:flex;flex-direction:column;overflow:hidden;border-radius:16px;border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-primary);box-shadow:0 24px 64px #0000004d}.aic-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary)}.aic-header h3{margin:0;font-size:var(--ui-text-title, 1.15rem);font-weight:700;color:var(--text-primary)}.aic-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.25rem;height:2.25rem;border-radius:50%;cursor:pointer;border:0;background:var(--background-tertiary);color:var(--text-secondary);font-size:1.1rem}.aic-close:hover{background:var(--background-hover);color:var(--text-primary)}.aic-body{display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1.25rem 1.4rem;overflow-y:auto}.aic-btn{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;padding:.55rem 1rem;border-radius:var(--border-radius-md);border:1px solid var(--accent-color);background:var(--accent-color);color:var(--text-on-accent);font-size:var(--ui-text-meta);font-weight:700;text-decoration:none}.aic-btn:hover{filter:brightness(1.05)}.aic-btn:disabled{opacity:.6;cursor:default}.aic-intro{margin:0;color:var(--text-secondary);font-size:var(--ui-text-body);line-height:1.5}.aic-muted{margin:0;color:var(--text-secondary);font-size:var(--ui-text-meta)}.aic-error{display:flex;align-items:center;gap:.4rem;margin:0;padding:.6rem .75rem;border-radius:var(--border-radius-md);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-color);font-size:var(--ui-text-meta)}.aic-locked{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border-radius:var(--border-radius-md);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--text-primary)}.aic-locked svg{flex:none;margin-top:.15rem;color:var(--warning-color)}.aic-locked p{margin:.25rem 0 0;color:var(--text-secondary);font-size:var(--ui-text-meta)}.aic-access{display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.1rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-primary);background:var(--background-secondary)}.aic-access--waiting{flex-direction:row;align-items:flex-start;gap:.75rem}.aic-access-head{display:flex;gap:.75rem;align-items:flex-start}.aic-access-icon{flex:none;box-sizing:border-box;width:2.1rem;height:2.1rem;padding:.5rem;border-radius:50%;background:var(--background-tertiary);color:var(--accent-color)}.aic-access strong{display:block;color:var(--text-primary);font-size:var(--ui-text-card)}.aic-access p{margin:.25rem 0 0;color:var(--text-secondary);font-size:var(--ui-text-meta);line-height:1.5}.aic-access-label{color:var(--text-primary);font-size:var(--ui-text-meta);font-weight:600}.aic-access-label span{color:var(--text-secondary);font-weight:400}.aic-access-msg{width:100%;box-sizing:border-box;resize:vertical;min-height:4.5rem;padding:.6rem .7rem;border-radius:var(--border-radius-md);border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-primary);font:inherit;font-size:var(--ui-text-meta)}.aic-access-msg:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.aic-access-send{align-self:flex-start}.aic-step{display:flex;flex-direction:column;gap:.6rem;padding:.9rem 1rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary)}.aic-step h4,.aic-connections h4{margin:0;display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:var(--ui-text-card)}.aic-num{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent-color);color:var(--text-on-accent);font-size:var(--ui-text-cap);font-weight:700}.aic-tabs{display:inline-flex;gap:.25rem;padding:.2rem;border-radius:999px;background:var(--background-tertiary);align-self:flex-start}.aic-tabs button{border:0;background:transparent;color:var(--text-secondary);cursor:pointer;padding:.3rem .9rem;border-radius:999px;font-size:var(--ui-text-meta);font-weight:600}.aic-tabs button.is-on{background:var(--background-primary);color:var(--text-primary);box-shadow:var(--box-shadow-sm)}.aic-howto{margin:0;padding-left:1.3rem;list-style:decimal;color:var(--text-secondary);font-size:var(--ui-text-meta);line-height:1.6}.aic-field{display:flex;align-items:center;gap:.5rem}.aic-code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;padding:.5rem .65rem;border-radius:var(--border-radius-md);background:var(--background-primary);border:1px solid var(--border-primary);color:var(--text-primary);font-size:var(--ui-text-meta)}.aic-copy-btn{display:inline-flex;align-items:center;gap:.3rem;flex:none;cursor:pointer;padding:.4rem .75rem;border-radius:var(--border-radius-md);border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-primary);font-size:var(--ui-text-meta);font-weight:600}.aic-copy-btn:hover{background:var(--background-hover)}.aic-btn.aic-open-btn{align-self:flex-start;border-color:var(--border-primary);background:var(--background-primary);color:var(--text-primary)}.aic-btn.aic-open-btn:hover{background:var(--background-hover);filter:none}.aic-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.aic-mode{position:relative;display:flex;flex-direction:column;gap:.2rem;cursor:pointer;padding:.6rem .7rem;border-radius:var(--border-radius-md);border:1px solid var(--border-primary);background:var(--background-primary)}.aic-mode input{position:absolute;opacity:0;pointer-events:none}.aic-mode.is-on{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.aic-mode-label{color:var(--text-primary);font-size:var(--ui-text-meta);font-weight:700}.aic-mode-hint{color:var(--text-secondary);font-size:var(--ui-text-cap);line-height:1.4}.aic-check{display:flex;align-items:flex-start;gap:.5rem;color:var(--text-primary);font-size:var(--ui-text-meta);cursor:pointer}.aic-check input{margin-top:.15rem}.aic-prompt-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--text-secondary);font-size:var(--ui-text-meta)}.aic-prompt{margin:0;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:.7rem .8rem;border-radius:var(--border-radius-md);background:var(--background-primary);border:1px solid var(--border-primary);color:var(--text-primary);font-size:var(--ui-text-meta);line-height:1.5}.aic-refresh-btn{align-self:flex-start}.aic-spin{animation:aic-spin 1s linear infinite}@keyframes aic-spin{to{transform:rotate(360deg)}}.aic-connections{display:flex;flex-direction:column;gap:.4rem;padding-top:.25rem;border-top:1px solid var(--border-secondary)}.aic-connections ul{margin:0;padding-left:1.1rem;color:var(--text-secondary);font-size:var(--ui-text-meta)}.aic-link-btn{align-self:flex-start;border:0;background:none;padding:0;cursor:pointer;color:var(--danger-color);font-size:var(--ui-text-meta);font-weight:600;text-decoration:underline}@media (max-width: 640px){.aic-overlay{padding:0;align-items:flex-end}.aic-modal{max-width:none;max-height:92vh;border-radius:16px 16px 0 0;border-bottom:0}.aic-header{padding:.85rem 1rem}.aic-body{padding:.9rem 1rem 1.25rem}.aic-modes{grid-template-columns:1fr}.aic-step{padding:.75rem}}.sidebar{width:var(--sidebar-width, 260px);min-width:var(--sidebar-width, 260px);max-width:var(--sidebar-width, 260px);background-color:var(--background-secondary);border-right:1px solid var(--border-primary);height:100vh;height:100dvh;position:fixed;top:0;left:0;z-index:var(--z-index-sidebar, 1000);display:flex;flex-direction:column;transform:translate(0);transition:transform .3s ease-in-out;overflow-y:auto;overflow-x:hidden}.sidebar.teacher-sidebar{padding-top:max(1rem,env(safe-area-inset-top,1rem))}.sidebar:not(.teacher-sidebar){overflow:hidden;padding-top:env(safe-area-inset-top,0)}.sidebar--closed{transform:translate(-100%);width:0;border-right:none}.sidebar-inner{padding:.75rem 0;flex-grow:1;min-height:0;display:flex;flex-direction:column;opacity:1;transition:opacity .2s ease-in-out .1s}.sidebar:not(.teacher-sidebar) .sidebar-inner{padding:0}.sidebar--closed .sidebar-inner{opacity:0;padding:0;transition:opacity .1s ease-in-out;overflow:hidden}.sb-head{flex-shrink:0;padding:14px 14px 12px;border-bottom:1px solid var(--border-primary)}.sb-id{display:flex;align-items:center;gap:10px;min-width:0}.sb-avatar{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--accent-color);color:var(--text-on-accent);font-size:var(--ui-text-body);font-weight:800;line-height:1}.sb-id-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.sb-name{font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-sub{font-size:var(--ui-text-cap);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-close{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background .16s ease,color .16s ease}.sb-close:hover{background:var(--background-tertiary);color:var(--text-primary)}.sb-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px}.sb-coins{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--background-tertiary);color:var(--text-secondary);font-size:var(--ui-text-cap);font-weight:700}.sb-expiry{flex-basis:100%;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.sb-theme{flex-shrink:0;display:flex;align-items:center;gap:8px;margin:10px 14px 2px;padding:7px 10px;border:1px solid var(--border-primary);border-radius:10px;background:var(--background-primary);color:var(--text-secondary);font:inherit;font-size:var(--ui-text-meta);font-weight:500;cursor:pointer;transition:border-color .15s ease}.sb-theme:hover{border-color:var(--border-accent, var(--accent-color))}.sb-theme svg{font-size:var(--ui-text-body);flex-shrink:0}.sb-theme-label{flex:1;text-align:left}.sb-switch{position:relative;width:32px;height:18px;flex-shrink:0;border-radius:999px;background:var(--border-secondary, var(--border-primary));transition:background .2s ease}.sb-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .2s ease}.sb-switch.is-on{background:var(--accent-color)}.sb-switch.is-on:after{transform:translate(14px)}@media (prefers-reduced-motion: reduce){.sb-switch,.sb-switch:after{transition:none}}.sb-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px 10px 16px;display:flex;flex-direction:column;gap:16px}.sb-group{display:flex;flex-direction:column;gap:2px}.sb-group-label{margin:0 0 6px 8px;font-size:.64rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--text-tertiary)}.sb-nav{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:10px;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:var(--ui-text-meta);font-weight:600;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.sb-nav:hover{background:var(--background-hover);color:var(--text-primary)}.sb-nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;background:color-mix(in srgb,var(--tint, var(--accent-color)) 14%,transparent);color:var(--tint, var(--accent-color));font-size:var(--ui-text-body)}:root.dark-mode .sb-nav-icon{background:color-mix(in srgb,var(--tint, var(--accent-color)) 24%,transparent);color:color-mix(in srgb,var(--tint, var(--accent-color)) 45%,white)}.sb-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-nav.is-active{background:var(--accent-color-light);color:var(--text-accent);font-weight:700;box-shadow:inset 3px 0 0 var(--accent-color)}.sidebar .cta-card{background-color:var(--background-tertiary);border-radius:12px;padding:12px;border:1px solid var(--border-primary);text-align:center}.sidebar .cta-card--free{--tier: #6b7280}.sidebar .cta-card--plus{--tier: #cd7f32}.sidebar .cta-card--pro{--tier: #9aa1ab}.sidebar .cta-card--ultra{--tier: #e0a500}.sidebar .cta-card[class*=cta-card--]{background-color:color-mix(in srgb,var(--tier) 12%,var(--background-tertiary));border-color:color-mix(in srgb,var(--tier) 34%,var(--border-primary))}.sidebar .cta-header{display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:5px}.sidebar .cta-header h4{font-size:.88rem;font-weight:800;color:var(--text-primary);margin:0}.sidebar .cta-header svg{color:var(--tier, var(--accent-color))}.sidebar .cta-text{font-size:var(--ui-text-cap);line-height:1.45;color:var(--text-secondary);margin:0 0 10px}.sidebar .btn-upgrade-to-pro{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 12px;border:none;border-radius:9px;background-color:var(--accent-color);color:var(--text-on-accent);font-family:inherit;font-size:var(--ui-text-cap);font-weight:700;cursor:pointer;transition:background .16s ease}.sidebar .btn-upgrade-to-pro:hover{background-color:var(--accent-color-hover)}.sidebar .sidebar-leaderboard-widget{background-color:var(--background-primary);border-radius:12px;padding:10px;border:1px solid var(--border-primary);display:flex;flex-direction:column;gap:8px}.sidebar .leaderboard-header{display:flex;align-items:center;gap:6px}.sidebar .leaderboard-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0;margin:0;padding:0;border:none;background:transparent;font-family:inherit;font-size:var(--ui-text-meta);font-weight:700;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar .leaderboard-title:hover{color:var(--text-accent)}.sidebar .leaderboard-title>svg:first-child{color:#eab308;font-size:var(--ui-text-body);flex-shrink:0}.sidebar .lb-rank-chip{padding:1px 7px;border-radius:999px;background:var(--accent-color-light);color:var(--text-accent);font-size:.68rem;font-style:normal;font-weight:800}.sidebar .leaderboard-toggle-spacer{margin-left:auto;display:flex;align-items:center;color:var(--text-tertiary)}.sidebar .leaderboard-refresh-btn{flex-shrink:0;width:26px;height:26px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:color .2s ease,background-color .2s ease}.sidebar .leaderboard-refresh-btn svg{width:14px;height:14px}.sidebar .leaderboard-refresh-btn:hover:not(:disabled){color:var(--text-accent);background-color:var(--background-tertiary)}.sidebar .leaderboard-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar .leaderboard-refresh-btn.loading svg{animation:leaderboard-spin .8s linear infinite}@keyframes leaderboard-spin{to{transform:rotate(360deg)}}.sidebar .lb-summary{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.sidebar .lb-summary strong{color:var(--text-accent);font-weight:800}.sidebar .leaderboard-scope-toggle,.sidebar .leaderboard-filter{display:flex;gap:2px;background-color:var(--background-tertiary);padding:3px;border-radius:999px}.sidebar .leaderboard-scope-toggle button,.sidebar .leaderboard-filter button{flex:1;border:none;background:transparent;color:var(--text-tertiary);font-family:inherit;font-size:var(--ui-text-cap);font-weight:700;padding:5px 4px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease}.sidebar .leaderboard-scope-toggle button.active,.sidebar .leaderboard-filter button.active{background-color:var(--background-secondary);color:var(--text-primary);box-shadow:var(--box-shadow-xs)}.sidebar .leaderboard-scope-toggle button:not(.active):hover,.sidebar .leaderboard-filter button:not(.active):hover{color:var(--text-primary)}.sidebar .leaderboard-list{display:flex;flex-direction:column;gap:2px;min-height:40px;max-height:220px;overflow-y:auto}.sidebar .leaderboard-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:9px;border:1px solid transparent}.sidebar .leaderboard-item .rank-badge{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;color:var(--text-tertiary);background-color:var(--background-tertiary);flex-shrink:0}.sidebar .leaderboard-item.rank-1 .rank-badge{background:#eab308;color:#422006}.sidebar .leaderboard-item.rank-2 .rank-badge{background:#cbd5e1;color:#334155}.sidebar .leaderboard-item.rank-3 .rank-badge{background:#d97757;color:#431407}.sidebar .leaderboard-item .name{flex-grow:1;min-width:0;font-size:var(--ui-text-meta);font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .leaderboard-item .score{flex-shrink:0;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-tertiary)}.sidebar .leaderboard-item.current-user{background-color:var(--accent-color-light);border-color:var(--border-accent)}.sidebar .leaderboard-item.current-user .name,.sidebar .leaderboard-item.current-user .score{font-weight:700;color:var(--text-accent)}.sidebar .leaderboard-user-rank-info{padding-top:8px;border-top:1px solid var(--border-primary);font-size:var(--ui-text-cap);color:var(--text-tertiary)}.sidebar .leaderboard-user-rank-info .rank-highlight{color:var(--text-accent);font-weight:800}.sidebar .leaderboard-loading,.sidebar .leaderboard-error,.sidebar .leaderboard-empty{padding:10px 4px;font-size:var(--ui-text-cap);color:var(--text-tertiary);text-align:center}.sb-foot{flex-shrink:0;padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-primary);background-color:var(--background-secondary);display:flex;flex-direction:column;gap:1px}.sb-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:10px;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:var(--ui-text-meta);font-weight:600;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.sb-row:hover:not(:disabled){background:var(--background-hover);color:var(--text-primary)}.sb-row:disabled{opacity:.5;cursor:not-allowed}.sb-row-icon{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;color:var(--text-tertiary);font-size:var(--ui-text-body)}.sb-row:hover:not(:disabled) .sb-row-icon{color:inherit}.sb-row-label{flex:1;min-width:0}.sb-row--danger,.sb-row--danger .sb-row-icon{color:var(--danger-color)}.sb-row--danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-color)}.sb-theme-row{cursor:pointer}.sb-theme-row .theme-toggle-switch{flex-shrink:0}.sidebar .sidebar-contact-widget{text-align:left}.sidebar .contact-widget-title{font-size:.64rem;font-weight:800;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.09em;margin:0 0 .6rem .5rem}.sidebar .contact-widget-links{display:flex;gap:8px;padding-left:2px}.sidebar .contact-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;color:var(--text-tertiary);background-color:var(--background-tertiary);border:1px solid transparent;transition:color .18s ease,background-color .18s ease}.sidebar .contact-link:hover{color:#fff}.sidebar .contact-link.whatsapp:hover{background-color:#25d366}.sidebar .contact-link.phone:hover{background-color:var(--info-color, #3B82F6)}.sidebar .contact-link.email:hover{background-color:var(--brand-color, var(--accent-color))}.sidebar .contact-link svg{width:16px;height:16px}@media (max-width: 768px){.sidebar{width:var(--sidebar-width-mobile, 280px);min-width:var(--sidebar-width-mobile, 280px);max-width:var(--sidebar-width-mobile, 280px);transform:translate(-100%);box-shadow:var(--box-shadow-lg)}.sidebar.sidebar--open{transform:translate(0)}.sidebar--closed{width:0;min-width:0}.sidebar .sidebar-header{padding:.75rem 1rem}.sidebar-username-display{font-size:var(--ui-text-body)}.sb-nav,.sb-row{padding-block:10px}}@media (max-width: 480px){.sidebar{width:var(--sidebar-width-small-mobile, 260px);min-width:var(--sidebar-width-small-mobile, 260px);max-width:var(--sidebar-width-small-mobile, 260px)}}.sidebar::-webkit-scrollbar,.sidebar .sb-scroll::-webkit-scrollbar,.sidebar .scrollable-list::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track,.sidebar .sb-scroll::-webkit-scrollbar-track,.sidebar .scrollable-list::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb,.sidebar .sb-scroll::-webkit-scrollbar-thumb,.sidebar .scrollable-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover,.sidebar .sb-scroll::-webkit-scrollbar-thumb:hover,.sidebar .scrollable-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sidebar .sidebar-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-primary);flex-shrink:0;min-height:60px;gap:.5rem}.sidebar-header-user-details{flex-grow:1;display:flex;flex-direction:column;margin-right:.5rem;min-width:0}.user-info-group{display:flex;flex-direction:column;gap:.25rem;min-width:0;width:100%}.user-main-row{display:flex;flex-direction:column;align-items:flex-start;min-width:0;overflow:hidden;width:100%}.sidebar-username-display{font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;width:100%;min-width:0}.sidebar-user-identifier{font-size:var(--ui-text-cap);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:1.3}.user-meta-row{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.plan-expiry{font-size:var(--ui-text-cap);font-weight:500;color:var(--text-secondary);margin-top:.25rem}.sidebar-coin-balance-compact{display:inline-flex;align-items:center;gap:4px;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.coin-icon{color:#b8860b;font-size:.9rem}.sidebar-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.sidebar .sidebar-header .sidebar-action-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;width:32px;height:32px}.sidebar .sidebar-header .sidebar-action-btn:hover{background-color:var(--background-hover);color:var(--text-primary);border-color:var(--border-primary)}.sidebar .sidebar-header .sidebar-action-btn svg{width:18px;height:18px}.sidebar-theme-switch-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dotted var(--border-primary);width:100%}.sidebar-theme-switch-row .theme-label{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary);flex-grow:1}.sidebar .sidebar-section{margin-bottom:.75rem;padding:0 .75rem}.sidebar .sidebar-section--footer{margin-top:auto;margin-bottom:0;padding:1rem .75rem;border-top:1px solid var(--border-primary);background-color:var(--background-secondary);flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-sm, .75rem)}.sidebar .btn-change-password,.sidebar .btn-signout{width:100%;display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:.75rem;padding:.65rem .75rem;font-weight:500;border-radius:var(--border-radius-md);transition:var(--transition);font-size:.875rem;cursor:pointer}.sidebar .btn-change-password{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--border-primary)}.sidebar .btn-change-password:hover:not(:disabled){background-color:var(--button-secondary-hover-bg);color:var(--text-primary)}.sidebar .btn-signout{background-color:transparent;border:1px solid var(--danger-color);color:var(--danger-color);font-weight:600}.sidebar .btn-signout:hover:not(:disabled){background-color:var(--button-danger-bg);color:#fff;border-color:var(--button-danger-bg)}.sidebar .btn-change-password .sidebar-icon,.sidebar .btn-signout .sidebar-icon{margin-right:0;color:inherit}.sidebar .btn-change-password .sidebar-icon svg,.sidebar .btn-signout .sidebar-icon svg{width:16px;height:16px}.plan-badge{font-size:.68rem;text-transform:uppercase;font-weight:700;color:#fff;background-color:var(--text-secondary);padding:3px 8px;border-radius:5px;letter-spacing:.5px;white-space:nowrap;align-self:flex-start}.plan-badge.free{background-color:#6b7280;color:#fff}.plan-badge.plus{background:linear-gradient(135deg,#cd7f32,sienna);color:#fff;border:1px solid #8b4513}.plan-badge.pro{background:linear-gradient(135deg,#e8e8e8,#b8b8b8);color:#3a3a3a;border:1px solid #9a9a9a}.plan-badge.ultra{background:linear-gradient(135deg,gold,#e6b800);color:#5a4500;border:1px solid #c79a00}.plan-badge.basic{background-color:#10b981}.plan-badge.digital{background-color:#8b5cf6}.plan-badge.super{background-color:#ef4444}.plan-badge.admin,.plan-badge.superadmin{background-color:#1f2937;border:1px solid #374151}.theme-toggle-switch{position:relative;display:inline-block;width:32px;height:18px;flex-shrink:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--background-tertiary);border:1px solid var(--border-secondary);transition:.3s}.slider:before{position:absolute;content:"";height:12px;width:12px;left:2px;bottom:2px;background-color:var(--text-tertiary);transition:.3s}input:checked+.slider{background-color:var(--accent-color);border-color:var(--accent-color)}input:checked+.slider:before{transform:translate(14px);background-color:#fff}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.plan-badge.trial{background-color:var(--warning-color, #d97706);color:#fff}.asb{--asb-width: 264px;--asb-rail: 76px;--asb-pad: 12px;position:relative;width:var(--asb-width);height:100vh;height:100dvh;flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:var(--background-secondary);border-right:1px solid var(--border-primary);color:var(--text-secondary);transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.asb :focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.asb-head{display:flex;align-items:center;gap:6px;padding:14px var(--asb-pad) 10px;flex-shrink:0}.asb-brand{flex:1;min-width:0;display:flex;align-items:center;padding:2px;border:none;background:transparent;cursor:pointer;border-radius:8px}.asb-logo{display:block;height:34px;width:auto;max-width:168px;object-fit:contain}.asb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;border-radius:8px;background:transparent;color:var(--text-tertiary);font-size:var(--ui-text-card);cursor:pointer;transition:background .15s ease,color .15s ease}.asb-icon-btn:hover{background:var(--background-hover);color:var(--text-primary)}.asb-close{display:none}.asb-account{display:flex;align-items:center;gap:10px;margin:0 var(--asb-pad) 10px;padding:10px;border:1px solid var(--border-primary);border-radius:12px;background:var(--background-primary);flex-shrink:0;min-width:0}.asb-account.is-button{width:calc(100% - 2 * var(--asb-pad));font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.asb-account.is-button:hover{border-color:var(--border-accent, var(--accent-color))}.asb-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--accent-color-light);color:var(--text-accent);font-size:var(--ui-text-meta);font-weight:700;letter-spacing:.02em}.asb-account-text{min-width:0;display:flex;flex-direction:column;gap:3px}.asb-name{display:flex;align-items:center;gap:6px;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asb-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.asb .plan-badge{font-size:var(--ui-text-cap);padding:2px 7px;border-radius:999px;letter-spacing:.04em}.asb-validity{font-size:var(--ui-text-meta);font-weight:500;color:var(--text-tertiary)}.asb-validity.is-trial{color:var(--warning-text, var(--warning-color))}.asb-institute{font-size:var(--ui-text-meta);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asb-search{display:flex;align-items:center;gap:8px;margin:0 var(--asb-pad) 6px;padding:7px 10px;border:1px solid var(--border-primary);border-radius:10px;background:var(--background-primary);color:var(--text-tertiary);font:inherit;font-size:var(--ui-text-body);font-weight:500;cursor:pointer;flex-shrink:0;transition:border-color .15s ease,color .15s ease}.asb-search:hover{border-color:var(--border-accent, var(--accent-color));color:var(--text-secondary)}.asb-search-label{flex:1;text-align:left}.asb-theme-row{color:var(--text-secondary)}.asb-theme-row svg{font-size:var(--ui-text-card);flex-shrink:0}.asb-kbd{font-family:inherit;font-size:.66rem;font-weight:700;padding:1px 6px;border-radius:6px;border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-tertiary)}.asb-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:6px var(--asb-pad) 12px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb, rgba(0, 0, 0, .2)) transparent}.asb-group{display:flex;flex-direction:column}.asb-group+.asb-group{border-top:1px solid var(--border-primary);padding-top:8px}.asb-group-label{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 0 2px;padding:5px 10px 4px;border:none;background:transparent;font:inherit;font-size:var(--ui-text-cap);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);cursor:pointer;border-radius:6px}.asb-group-label:hover{background:var(--background-tertiary)}.asb-group-label .asb-chev{color:var(--text-tertiary)}.asb-chev{font-size:var(--ui-text-meta);transition:transform .2s ease}.asb-chev.is-folded{transform:rotate(-90deg)}.asb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.asb-li{margin:0}.asb-item,.asb-foot-btn{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:none;border-radius:10px;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--ui-text-body);font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.asb-item:hover,.asb-foot-btn:hover{background:var(--background-hover);color:var(--text-primary)}.asb-item-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:var(--ui-text-card);transition:background .15s ease,color .15s ease}.asb-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asb-item.is-active{background:var(--accent-color-light);color:var(--text-accent);font-weight:600}.asb-item.is-active .asb-item-icon{background:transparent;color:var(--text-accent)}.asb-item.is-locked{color:var(--text-tertiary)}.asb-item.is-blocked{cursor:help}.asb-item.is-locked .asb-item-icon{opacity:.6}.asb-item.is-locked .asb-item-label{opacity:.8}.asb-lock{flex-shrink:0;font-size:var(--ui-text-meta);color:var(--text-tertiary)}.asb-lock-hint{margin:4px 4px 6px 48px;padding:8px 10px;border-radius:8px;background:var(--background-tertiary);border:1px dashed var(--border-primary);font-size:var(--ui-text-cap);line-height:1.45;color:var(--text-secondary)}.asb-lock-hint p{margin:0 0 6px}.asb-lock-cta{border:none;padding:0;background:none;color:var(--accent-color);font:inherit;font-weight:700;cursor:pointer}.asb-lock-cta:hover{text-decoration:underline}.asb-badge{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--warning-color, #f59e0b);color:#fff;font-size:.68rem;font-weight:800;text-align:center;line-height:1.5}.asb-new{padding:1px 6px;border-radius:999px;border:1px solid var(--border-accent, var(--accent-color));color:var(--text-accent);font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.asb-foot{flex-shrink:0;display:flex;flex-direction:row;gap:4px;padding:8px var(--asb-pad) 10px;border-top:1px solid var(--border-primary)}.asb-foot-btn{flex:1 1 0;min-width:0;justify-content:center;gap:6px;padding-inline:6px;border:1px solid var(--border-primary);font-size:var(--ui-text-body);font-weight:500}.asb-foot-btn.is-open{background:var(--background-tertiary)}.asb-foot-btn.is-danger{border-color:color-mix(in srgb,var(--danger-color) 40%,transparent);color:var(--danger-color)}.asb-foot-btn.is-danger .asb-item-icon{background:transparent;color:var(--danger-color)}.asb-foot-btn.is-danger:hover{background:var(--danger-bg, rgba(239, 68, 68, .1));color:var(--danger-color)}.asb-switch{position:relative;width:32px;height:18px;flex-shrink:0;border-radius:999px;background:var(--border-secondary, var(--border-primary));transition:background .2s ease}.asb-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .2s ease}.asb-switch.is-on{background:var(--accent-color)}.asb-switch.is-on:after{transform:translate(14px)}.asb.is-collapsed{width:var(--asb-rail)}.asb.is-collapsed .asb-head{flex-direction:column;padding-inline:8px}.asb.is-collapsed .asb-logo{max-width:44px;height:28px}.asb.is-collapsed .asb-account{justify-content:center;margin-inline:8px;padding:6px;border-color:transparent;background:transparent}.asb.is-collapsed .asb-account-text,.asb.is-collapsed .asb-search-label,.asb.is-collapsed .asb-kbd,.asb.is-collapsed .asb-item-label,.asb.is-collapsed .asb-badge,.asb.is-collapsed .asb-new,.asb.is-collapsed .asb-lock,.asb.is-collapsed .asb-chev,.asb.is-collapsed .asb-switch{display:none}.asb.is-collapsed .asb-search{justify-content:center;margin-inline:12px;padding:8px 0}.asb.is-collapsed .asb-scroll{padding-inline:12px}.asb.is-collapsed .asb-group+.asb-group{border-top:0;padding-top:0}.asb.is-collapsed .asb-group-label{height:9px;padding:0;margin:0 8px 6px;font-size:0;border-bottom:1px solid var(--border-primary);border-radius:0;pointer-events:none}.asb.is-collapsed .asb-item,.asb.is-collapsed .asb-foot-btn{flex:0 0 auto;justify-content:center;padding:6px 0}.asb.is-collapsed .asb-item.is-active{box-shadow:none}.asb.is-collapsed .asb-foot{flex-direction:column;padding-inline:12px}@media (max-width: 992px){.asb{--asb-width: 288px;width:var(--asb-width)}.asb .asb-collapse{display:none}.asb .asb-close{display:inline-flex}.asb .asb-kbd{display:none}.asb .asb-item,.asb .asb-foot-btn{min-height:44px}}.asb-top-slot{padding:0 var(--asb-pad) 6px}.asb-widgets{display:flex;flex-direction:column;gap:10px;padding:10px var(--asb-pad) 6px}.asb.is-collapsed .asb-top-slot,.asb.is-collapsed .asb-widgets{display:none}.asb.sidebar{--asb-width: var(--sidebar-width-open, 260px);--asb-rail: var(--sidebar-width-collapsed, 70px);min-width:var(--asb-width);max-width:var(--asb-width);position:fixed;top:0;left:0;bottom:0;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1),transform .3s ease-in-out}.asb.sidebar.teacher-sidebar{padding-top:env(safe-area-inset-top,0)}@media (min-width: 769px){.asb.sidebar.sidebar--closed,.asb.sidebar.is-collapsed{transform:none;width:var(--asb-rail);min-width:var(--asb-rail);max-width:var(--asb-rail);border-right:1px solid var(--border-primary)}.asb.sidebar .asb-collapse{display:inline-flex}.asb.sidebar .asb-close{display:none}}@media (max-width: 768px){.asb.sidebar{--asb-width: 288px}.asb.sidebar .asb-collapse{display:none}.asb.sidebar .asb-close{display:inline-flex}}@media (prefers-reduced-motion: reduce){.asb,.asb-chev,.asb-item,.asb-switch,.asb-switch:after{transition:none}}.acp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;background:var(--modal-backdrop-bg, rgba(15, 23, 42, .45));animation:acp-fade .12s ease-out}@keyframes acp-fade{0%{opacity:0}to{opacity:1}}.acp{width:100%;max-width:580px;display:flex;flex-direction:column;max-height:70vh;border-radius:14px;border:1px solid var(--border-primary);background:var(--background-secondary);box-shadow:var(--box-shadow-lg, 0 20px 50px rgba(0, 0, 0, .25));overflow:hidden}.acp-input-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border-primary);color:var(--text-tertiary);font-size:var(--ui-text-card)}.acp .acp-input{flex:1;min-width:0;height:auto;margin:0;padding:.15rem 0;border:none;border-radius:0;outline:none;box-shadow:none;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--ui-text-body)}.acp-input::placeholder{color:var(--text-placeholder, var(--text-tertiary))}.acp-esc,.acp-foot kbd{font-family:inherit;font-size:.66rem;font-weight:700;padding:1px 6px;border-radius:6px;border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-tertiary)}.acp-list{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1;min-height:0}.acp-heading{padding:8px 10px 4px;font-size:.64rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--text-tertiary)}.acp-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;color:var(--text-secondary)}.acp-opt.is-active{background:var(--accent-color-light);color:var(--text-accent)}.acp-opt.is-locked{cursor:not-allowed;opacity:.7}.acp-opt-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:8px;background:var(--background-tertiary);color:var(--text-secondary)}.acp-opt.is-active .acp-opt-icon{background:var(--accent-color);color:var(--text-on-accent, #fff)}.acp-opt-text{flex:1;min-width:0;display:flex;flex-direction:column}.acp-opt-label{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acp-opt-sub{font-size:var(--ui-text-cap);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acp-opt-end{flex-shrink:0;color:var(--text-tertiary)}.acp-empty{padding:22px 12px;text-align:center;font-size:.88rem;color:var(--text-tertiary)}.acp-foot{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--border-primary);font-size:var(--ui-text-cap);color:var(--text-tertiary)}.acp-foot kbd{margin-right:3px}@media (max-width: 480px){.acp-backdrop{padding-top:10vh}.acp-foot{display:none}}@media (prefers-reduced-motion: reduce){.acp-backdrop{animation:none}}.asb .asb-leaderboard{margin:0;padding:10px 10px 8px;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary)}.asb .asb-leaderboard .leaderboard-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;margin:0;border:0}.asb .asb-lb-toggle{display:inline-flex;align-items:center;gap:8px;flex:1;padding:2px 0;margin:0;border:0;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--ui-text-meta);font-weight:700;cursor:pointer;text-align:left}.asb .asb-lb-toggle>svg:first-child{color:#e0a800}.asb .asb-lb-toggle>svg:last-child{margin-left:auto;color:var(--text-tertiary)}.asb .asb-lb-rank{font-style:normal;font-size:var(--ui-text-cap);font-weight:800;padding:1px 7px;border-radius:999px;background:var(--accent-color-light);color:var(--text-accent)}.asb .asb-leaderboard .leaderboard-refresh-btn{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid var(--border-primary);background:transparent;color:var(--text-secondary);cursor:pointer}.asb .asb-leaderboard .leaderboard-refresh-btn:hover:not(:disabled){color:var(--accent-color);border-color:var(--accent-color)}.asb .asb-leaderboard .leaderboard-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.asb .asb-leaderboard .leaderboard-scope-toggle,.asb .asb-leaderboard .leaderboard-filter{margin-top:8px}.asb .asb-leaderboard .leaderboard-list{margin-top:8px;max-height:260px}.dashboard-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000a6;display:flex;align-items:center;justify-content:center;z-index:3000;opacity:0;transition:opacity .25s ease-in-out}.dashboard-modal-overlay.visible{opacity:1}.dashboard-modal{background-color:var(--background-secondary);padding:2rem;border-radius:var(--border-radius-xl);box-shadow:var(--box-shadow-lg);width:90%;max-width:420px;border:1px solid var(--border-primary);transform:scale(.95) translateY(10px);transition:transform .25s ease-in-out,opacity .25s ease-in-out;text-align:center;opacity:0}.dashboard-modal-overlay.visible .dashboard-modal{transform:scale(1) translateY(0);opacity:1}.dashboard-modal-icon{font-size:3.5rem;color:var(--warning-color);margin-bottom:1rem;line-height:1}.dashboard-modal h3{margin-top:0;margin-bottom:.75rem;font-size:var(--font-size-xl);color:var(--text-primary);font-weight:600}.dashboard-modal p{margin-bottom:2rem;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6}.pm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14181f8c;display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-index-modal, 3000);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:pm-fade .25s ease;padding:0}:root.dark-mode .pm-overlay{background:#0b0c0ea6}@keyframes pm-fade{0%{opacity:0}to{opacity:1}}.pm-content{background:var(--background-primary);border-radius:20px 20px 0 0;width:100%;max-height:92dvh;display:flex;flex-direction:column;position:relative;box-shadow:0 -8px 40px #0000002e;border:1px solid var(--border-primary);border-bottom:none;animation:pm-slide-up .35s cubic-bezier(.25,1,.5,1);overflow-y:auto;padding:1.25rem 1rem 1.5rem}@keyframes pm-slide-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.pm-close-btn{position:absolute;top:.75rem;right:.75rem;background:var(--background-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);font-size:var(--ui-text-card);cursor:pointer;padding:.4rem;border-radius:50%;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.pm-close-btn:hover{color:var(--text-primary);background:var(--background-hover);transform:rotate(90deg)}.pm-header{text-align:center;margin-bottom:1rem;padding-top:.25rem}.pm-header h2{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.pm-header p{font-size:var(--ui-text-meta);color:var(--text-secondary);margin:0}.pm-toggle{display:flex;justify-content:center;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:999px;padding:.25rem;width:fit-content;margin:0 auto 1.25rem;gap:0}.pm-toggle button{padding:.38rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-size:var(--ui-text-meta);border-radius:999px;cursor:pointer;transition:all .25s;white-space:nowrap;display:flex;align-items:center;gap:.35rem}.pm-toggle button.active{background:var(--brand-color, var(--accent-color));color:#fff;box-shadow:0 2px 8px rgba(var(--brand-rgb-components, 37, 99, 235),.3)}.pm-save-badge{background:var(--success-color);color:#fff;font-size:.6rem;padding:2px 5px;border-radius:999px;font-weight:600}.pm-tiers{display:flex;flex-direction:row;gap:.85rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pm-tiers::-webkit-scrollbar{display:none}.pm-card{display:flex;flex-direction:column;min-width:230px;flex:0 0 230px;background:var(--background-secondary);border:1.5px solid var(--border-primary);border-radius:16px;padding:1.1rem;position:relative;scroll-snap-align:start;transition:box-shadow .25s,transform .25s}.pm-card.popular{border-color:var(--purple-accent-base);background:var(--background-primary);box-shadow:0 4px 24px rgba(var(--purple-rgb, 124, 58, 237),.15)}.pm-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-3px)}:root.dark-mode .pm-card:hover{box-shadow:0 8px 24px #0000004d}.pm-card.popular:hover{transform:translateY(-3px)}.pm-popular-badge{position:absolute;top:-1px;right:-1px;background:var(--purple-accent-base);color:#fff;font-size:.65rem;font-weight:700;padding:.3rem .75rem;border-radius:0 14px 0 12px;letter-spacing:.03em;text-transform:uppercase}.pm-card-body{display:flex;flex-direction:column;flex-grow:1}.pm-tier-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.pm-tier-icon{font-size:var(--ui-text-card)}.pm-card:nth-child(1) .pm-tier-icon{color:var(--success-color)}.pm-card:nth-child(2) .pm-tier-icon{color:var(--info-color)}.pm-card:nth-child(3) .pm-tier-icon{color:var(--purple-accent-base)}.pm-card:nth-child(4) .pm-tier-icon{color:var(--warning-color-dark, #d97706)}:root.dark-mode .pm-card:nth-child(4) .pm-tier-icon{color:var(--warning-color-light, #fbbf24)}.pm-tier-header h3{font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary);margin:0}.pm-tier-desc{font-size:var(--ui-text-cap);color:var(--text-secondary);margin:0 0 .75rem;min-height:2.2em;line-height:1.4}.pm-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem;margin-bottom:1rem}.pm-price-amount{font-size:1.85rem;font-weight:800;color:var(--text-primary);line-height:1}.pm-price-original{font-size:var(--ui-text-meta);color:var(--text-disabled);text-decoration:line-through}.pm-price-cycle{font-size:var(--ui-text-cap);color:var(--text-secondary)}.pm-contact-text{font-size:var(--ui-text-body);font-weight:600;color:var(--text-primary);line-height:1.4;display:flex;align-items:center;min-height:2rem}.pm-price-included{font-size:1.35rem;font-weight:800;color:var(--text-primary);line-height:1;display:flex;align-items:center;min-height:2rem}.pm-features{list-style:none;padding:0;margin:0}.pm-features li{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:var(--ui-text-meta);color:var(--text-primary)}.pm-features li.disabled{color:var(--text-disabled)}.pm-feat-icon{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pm-feat-icon svg{width:10px;height:10px}.pm-feat-icon.on{background:hsla(var(--success-h,142),var(--success-s,70%),var(--success-l,45%),.15);color:var(--success-color)}.pm-feat-icon.off{background:var(--background-tertiary);color:var(--text-disabled)}.pm-feat-text{flex:1;line-height:1.3}.pm-feat-note{margin-left:auto;font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:6px;white-space:nowrap;flex-shrink:0}.pm-feat-note.limit{background:hsla(var(--warning-h,38),var(--warning-s,92%),var(--warning-l,50%),.15);color:var(--warning-color-dark, #92400e)}:root.dark-mode .pm-feat-note.limit{color:var(--warning-color-light, #fde68a)}.pm-feat-note.unlimited{background:hsla(var(--success-h,142),var(--success-s,70%),var(--success-l,45%),.15);color:var(--success-color-dark, #166534)}:root.dark-mode .pm-feat-note.unlimited{color:var(--success-color-light, #86efac)}.pm-cta-wrapper{margin-top:auto;padding-top:1rem}.pm-cta-btn{width:100%;padding:.65rem 1rem;border-radius:10px;font-size:var(--ui-text-meta);font-weight:700;cursor:pointer;transition:all .25s;border:2px solid transparent;display:flex;align-items:center;justify-content:center;gap:.45rem;letter-spacing:.01em}.pm-cta-btn:not(.cta-popular):not(.cta-link):not(.cta-contact){background:transparent;color:var(--brand-color);border-color:var(--brand-color)}.pm-cta-btn:not(.cta-popular):not(.cta-link):not(.cta-contact):hover:not(:disabled){background:var(--brand-color);color:#fff}.pm-cta-btn.cta-popular{background:var(--purple-accent-base);color:#fff;border-color:var(--purple-accent-base)}.pm-cta-btn.cta-popular:hover:not(:disabled){filter:brightness(1.1)}.pm-cta-btn.cta-link{background:var(--success-color);color:#fff;border-color:var(--success-color)}.pm-cta-btn.cta-link:hover:not(:disabled){filter:brightness(1.08)}.pm-cta-btn.cta-contact{background:transparent;color:#25d366;border-color:#25d366}.pm-cta-btn.cta-contact:hover:not(:disabled){background:#25d366;color:#fff}.pm-card.current .pm-cta-btn,.pm-cta-btn:disabled{background:var(--background-tertiary);border-color:var(--border-primary);color:var(--text-disabled);cursor:default;opacity:1}.pm-cta-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000001a}.pm-cta-btn:disabled:hover{transform:none;box-shadow:none}.pm-coupon{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.65rem 1rem;background:var(--background-secondary);border:1px dashed var(--brand-color);border-radius:10px;font-size:var(--ui-text-meta);color:var(--text-secondary);flex-shrink:0}.pm-coupon svg{color:var(--brand-color);flex-shrink:0}.pm-coupon-code{background:var(--brand-color-light, rgba(59,130,246,.1));color:var(--brand-color);padding:1px 7px;border-radius:6px;font-weight:700;letter-spacing:.05em}@media (min-width: 640px){.pm-overlay{align-items:center;padding:1rem}.pm-content{border-radius:20px;max-width:1080px;padding:2rem;border-bottom:1px solid var(--border-primary);animation:pm-slide-center .35s cubic-bezier(.25,1,.5,1)}@keyframes pm-slide-center{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.pm-header h2{font-size:1.75rem}.pm-tiers{display:grid;grid-template-columns:repeat(4,1fr);overflow-x:visible;padding-bottom:0;scroll-snap-type:none}.pm-card{min-width:unset;flex:unset}.pm-card.popular{transform:scale(1.03)}.pm-card.popular:hover{transform:scale(1.03) translateY(-3px)}}@media (min-width: 640px) and (max-width: 860px){.pm-tiers{grid-template-columns:repeat(2,1fr)}}.pm-status{display:flex;align-items:center;gap:.5rem;margin:0 auto 1rem;padding:.6rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;max-width:640px;justify-content:center}.pm-status-processing{background:var(--info-bg, #eff6ff);color:var(--info-color, #2563eb)}.pm-status-success{background:var(--success-bg, #ecfdf5);color:var(--success-color, #059669)}.pm-status-error{background:var(--danger-bg, #fef2f2);color:var(--danger-color, #dc2626)}.pm-status-spin{animation:pm-status-rotate 1s linear infinite}@keyframes pm-status-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pm-upgrade-note{display:block;width:100%;margin-top:.25rem;font-size:var(--ui-text-cap);font-weight:600;color:var(--success-color, #059669)}.pm-offers{display:flex;flex-direction:column;gap:.5rem;max-width:640px;margin:0 auto 1rem}.pm-offer-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .85rem;border-radius:10px;font-size:var(--ui-text-meta);line-height:1.45;color:var(--text-primary)}.pm-offer-banner svg{flex:none;margin-top:.15rem}.pm-offer-banner.is-welcome{background:var(--success-bg, #ecfdf5);border:1px solid var(--success-border, #a7f3d0)}.pm-offer-banner.is-welcome svg,.pm-offer-banner.is-welcome b{color:var(--success-text, #047857)}.pm-offer-banner.is-unlock{background:var(--accent-color-light);border:1px solid var(--border-primary)}.pm-offer-banner.is-unlock svg{color:var(--accent-color)}.pm-code-link{align-self:center;display:inline-flex;align-items:center;gap:.35rem;min-height:40px;padding:.3rem .6rem;border:none;background:none;color:var(--accent-color);font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.pm-code-form{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.pm-code-form input{flex:1 1 12rem;max-width:16rem;min-height:44px;padding:.5rem .75rem;border:1px solid var(--input-border, var(--border-primary));border-radius:10px;background:var(--input-bg, var(--background-primary));color:var(--input-text, var(--text-primary));font:inherit;font-size:var(--ui-text-body);letter-spacing:.04em;text-transform:uppercase}.pm-code-form button{min-height:44px;padding:.5rem 1.1rem;border:1px solid var(--accent-color);border-radius:10px;background:var(--accent-color);color:var(--text-on-accent, #fff);font:inherit;font-weight:700;cursor:pointer}.pm-code-form button:disabled{opacity:.55;cursor:not-allowed}.pm-code-error{flex-basis:100%;margin:0;text-align:center;font-size:var(--ui-text-meta);color:var(--danger-color, #dc2626)}.pm-code-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:999px;background:var(--background-secondary);border:1px dashed var(--border-primary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.03em;color:var(--text-primary)}.pm-code-applied{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .6rem;font-size:var(--ui-text-meta);color:var(--text-primary)}.pm-code-remove{min-height:36px;padding:.2rem .5rem;border:none;background:none;color:var(--text-secondary);font:inherit;font-size:var(--ui-text-meta);text-decoration:underline;cursor:pointer}.pm-code-unlock{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--accent-color);background:var(--accent-color-light)}.pm-code-unlock>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0}.pm-code-unlock b{font-size:var(--ui-text-body);color:var(--text-primary)}.pm-code-unlock small{font-size:var(--ui-text-cap);color:var(--text-secondary)}.pm-code-actions{display:flex;align-items:center;gap:.35rem}.pm-unlock-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.5rem 1.1rem;border:none;border-radius:10px;background:var(--accent-color);color:var(--text-on-accent, #fff);font:inherit;font-weight:700;cursor:pointer}.pm-unlock-btn:disabled{opacity:.6;cursor:progress}.pm-offer-chip{display:inline-flex;align-items:center;gap:.3rem;width:fit-content;margin-top:.3rem;padding:.15rem .55rem;border-radius:999px;background:var(--success-bg, #ecfdf5);color:var(--success-text, #047857);font-size:var(--ui-text-cap);font-weight:700}.pm-app-note{margin:0 auto 1rem;text-align:center;font-size:var(--ui-text-meta);color:var(--text-secondary)}.pm-app-current{margin:.5rem 1rem 1rem;text-align:center;font-weight:700;color:var(--accent-color)}.pm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pm-offer-line{display:block;width:100%}.jq-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:grid;place-items:center;padding:16px;background:var(--background-overlay, rgba(15, 23, 42, .55))}.jq-card{position:relative;width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 22px 20px;border-radius:var(--border-radius-lg, 14px);background:var(--card-bg, var(--background-secondary));border:1px solid var(--border-primary);box-shadow:var(--box-shadow-lg, 0 18px 40px rgba(0, 0, 0, .18));color:var(--text-primary);text-align:center}.jq-close{position:absolute;top:10px;right:10px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text-tertiary);font-size:var(--ui-text-card);cursor:pointer}.jq-close:hover{background:var(--background-hover);color:var(--text-primary)}.jq-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--accent-color-light);color:var(--text-accent);font-size:1.6rem}.jq-card h2{margin:4px 0 0;font-size:var(--ui-text-card);font-weight:700}.jq-card p{margin:0;font-size:var(--ui-text-body);color:var(--text-secondary);line-height:1.45}.jq-code{width:100%;margin-top:8px;height:60px;padding:0 12px;border-radius:var(--border-radius-md, 10px);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text, var(--text-primary));font-size:1.9rem;font-weight:800;letter-spacing:.3em;text-align:center;text-transform:uppercase}.jq-code::placeholder{opacity:.3;font-weight:600}.jq-code:focus{outline:none;border-color:var(--input-focus-border, var(--accent-color));box-shadow:var(--input-focus-shadow)}.jq-card .jq-error{color:var(--danger-color);font-size:var(--ui-text-meta)}.jq-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:6px}.jq-btn{min-height:44px;border-radius:var(--border-radius-md, 10px);border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-primary);font:inherit;font-weight:600;cursor:pointer}.jq-btn.primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.jq-btn:disabled{opacity:.55;cursor:not-allowed}.stb{position:fixed;left:0;right:0;bottom:0;z-index:990;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));background:var(--background-secondary);border-top:1px solid var(--border-primary);box-shadow:0 -4px 16px #0f172a0f}.stb-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;padding:4px 2px;border:0;border-radius:12px;background:transparent;color:var(--text-tertiary);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.stb-icon{position:relative;display:grid;place-items:center;width:52px;height:32px;border-radius:999px;font-size:1.4rem;transition:background-color .15s ease,color .15s ease}.stb-label{font-size:var(--ui-text-meta);font-weight:600;letter-spacing:.01em;line-height:1.15;white-space:nowrap}.stb-tab.is-active{color:var(--text-accent)}.stb-tab.is-active .stb-icon{background:var(--accent-color-light)}.stb-tab:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.stb-tab.is-locked{color:var(--text-tertiary);opacity:.8}.stb-lock{position:absolute;right:4px;top:-2px;width:12px;height:12px;padding:1px;border-radius:50%;background:var(--background-secondary);color:var(--text-tertiary)}@media (prefers-reduced-motion: reduce){.stb-icon{transition:none}}.htu-btn,.htu-ui{--htu-accent: var(--intro-tour-accent, #7c3aed);--htu-soft: rgba(124, 58, 237, .08);--htu-soft-hover: rgba(124, 58, 237, .15);--htu-soft-border: rgba(124, 58, 237, .3)}.htu-btn{position:relative;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:var(--ui-text-meta, .85rem);font-weight:600;white-space:nowrap;color:var(--htu-accent);background:var(--htu-soft);border:1px solid var(--htu-soft-border);cursor:pointer;transition:background .15s ease}.htu-btn:hover{background:var(--htu-soft-hover)}.htu-btn:focus-visible{outline:2px solid var(--htu-accent);outline-offset:2px}.htu-btn svg{width:16px;height:16px;flex:none}html[data-theme=dark] .htu-btn{color:#c4b5fd}.htu-btn.is-new:after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 2px var(--background-primary, #fff)}@media (prefers-reduced-motion: no-preference){.htu-btn.is-new:after{animation:htu-dot 2s ease-out infinite}}@keyframes htu-dot{0%{box-shadow:0 0 0 2px var(--background-primary, #fff),0 0 0 2px #f59e0b99}80%,to{box-shadow:0 0 0 2px var(--background-primary, #fff),0 0 0 9px #f59e0b00}}.htu-btn.is-sidebar{display:flex;width:100%;gap:12px;margin-bottom:10px;padding:9px 14px;border-radius:10px}.asb.is-collapsed .asb-top-slot:has(.htu-btn){display:block;padding:0 0 6px}.asb.is-collapsed .asb-top-slot>:not(.htu-btn){display:none}.asb.is-collapsed .htu-btn.is-sidebar{width:44px;margin:0 auto 6px;padding:10px 0;justify-content:center}.asb.is-collapsed .htu-btn.is-sidebar .htu-btn-label{display:none}.htu-btn.is-icon{width:40px;height:40px;padding:0;justify-content:center;border-radius:50%;flex-shrink:0}.htu-btn.is-icon svg{width:20px;height:20px}.htu-btn.is-icon .htu-btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mobile-header-right{display:flex;align-items:center;gap:8px;min-width:0}.htu-btn.is-topbar.atb-btn{color:var(--htu-accent);background:var(--htu-soft);border-color:var(--htu-soft-border)}.htu-btn.is-topbar.atb-btn:hover{background:var(--htu-soft-hover)}html[data-theme=dark] .htu-btn.is-topbar.atb-btn{color:#c4b5fd}.htu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11004;background:#0f172a73}.htu-panel{position:fixed;z-index:11005;top:0;right:0;bottom:0;width:min(440px,100vw);box-sizing:border-box;display:flex;flex-direction:column;background:var(--background-secondary, #f8fafc);color:var(--text-primary, #111827);box-shadow:-18px 0 48px -16px #0006}@media (prefers-reduced-motion: no-preference){.htu-panel{animation:htu-slide .2s ease-out}}@keyframes htu-slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@media (max-width: 640px){.htu-panel{top:auto;width:100vw;max-height:88dvh;border-radius:16px 16px 0 0;box-shadow:0 -12px 40px #0000004d}}@media (max-width: 640px) and (prefers-reduced-motion: no-preference){.htu-panel{animation:htu-rise .2s ease-out}}@keyframes htu-rise{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.htu-head{display:flex;align-items:flex-start;gap:10px;padding:18px 18px 6px}.htu-head>div{flex:1;min-width:0}.htu-head h2{margin:0;font-size:1.15rem;color:var(--text-primary, #111827)}.htu-head p{margin:4px 0 0;font-size:.88rem;line-height:1.5;color:var(--text-secondary, #4b5563)}.htu-close{display:grid;place-items:center;width:34px;height:34px;flex:none;cursor:pointer;border:none;border-radius:8px;background:none;color:var(--text-tertiary, #6b7280)}.htu-close:hover{background:var(--background-hover, #f3f4f6);color:var(--text-primary, #111827)}.htu-close svg{width:18px;height:18px}.htu-prefs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 18px 12px;border-bottom:1px solid var(--border-primary, #e5e7eb)}.htu-seg{display:inline-flex;padding:3px;gap:3px;border-radius:999px;background:var(--background-tertiary, #f1f5f9);border:1px solid var(--border-primary, #e5e7eb)}.htu-seg button{padding:5px 12px;border:none;border-radius:999px;background:none;cursor:pointer;font:inherit;font-size:.84rem;font-weight:600;color:var(--text-secondary, #4b5563)}.htu-seg button.is-on{background:var(--background-primary, #fff);color:var(--htu-accent);box-shadow:0 1px 3px #00000026}.htu-sound{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;border:1px solid var(--border-primary, #d1d5db);border-radius:999px;background:var(--background-primary, #fff);font:inherit;font-size:.84rem;font-weight:600;color:var(--text-secondary, #4b5563)}.htu-sound svg{width:15px;height:15px}.htu-prefs-note{flex:1 0 100%;font-size:.78rem;color:var(--text-tertiary, #6b7280)}.htu-list{flex:1;overflow-y:auto;padding:6px 14px 14px}.htu-group{margin:14px 4px 6px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary, #6b7280)}.htu-topic{display:flex;flex-direction:column;gap:4px;width:100%;margin-bottom:8px;padding:12px 14px;text-align:left;cursor:pointer;color:inherit;font:inherit;border:1px solid var(--border-primary, #e5e7eb);border-radius:12px;background:var(--background-primary, #fff)}.htu-topic:hover{border-color:var(--htu-accent);box-shadow:0 4px 14px -8px #7c3aed80}.htu-topic:focus-visible{outline:2px solid var(--htu-accent);outline-offset:2px}.htu-topic.is-here{border-color:var(--htu-soft-border);background:var(--htu-soft)}.htu-topic-q{font-size:.95rem;font-weight:700;color:var(--text-primary, #111827);line-height:1.35}.htu-topic-blurb{font-size:.85rem;color:var(--text-secondary, #4b5563);line-height:1.45}.htu-topic-foot{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:.8rem;color:var(--text-tertiary, #6b7280)}.htu-topic-go{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--htu-accent)}.htu-topic-go svg{width:13px;height:13px}.htu-here{padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--htu-accent);background:var(--background-primary, #fff);border:1px solid var(--htu-soft-border)}html[data-theme=dark] .htu-topic-go,html[data-theme=dark] .htu-here,html[data-theme=dark] .htu-seg button.is-on{color:#c4b5fd}.htu-running{display:flex;align-items:center;gap:10px;margin:10px 4px 0;padding:10px 12px;border-radius:10px;background:#fffbeb;border:1px solid #fcd34d;font-size:.86rem;color:#92400e}.htu-running span{min-width:0}.htu-running button{margin-left:auto;flex:none;padding:6px 12px;cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;border:1px solid #f59e0b;border-radius:8px;background:#fff;color:#92400e}html[data-theme=dark] .htu-running{background:#f59e0b1f;border-color:#f59e0b73;color:#fcd34d}html[data-theme=dark] .htu-running button{background:transparent;color:#fcd34d}.htu-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 18px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-primary, #e5e7eb);font-size:.85rem;color:var(--text-secondary, #4b5563)}.htu-foot a{display:inline-flex;align-items:center;gap:5px;font-weight:700;text-decoration:none;color:#15803d}html[data-theme=dark] .htu-foot a{color:#4ade80}.asb.student-sidebar{padding-top:env(safe-area-inset-top,0)}.asb.student-sidebar .ssb-coins{display:inline-flex;align-items:center;gap:4px;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary)}.asb.student-sidebar .ssb-coins svg{color:#f5b301}.asb.student-sidebar .ssb-cta{margin:0;padding:12px;border-radius:var(--border-radius-md)}.asb.student-sidebar .ssb-cta .cta-header h4{font-size:.88rem}.asb.student-sidebar .ssb-cta .cta-text{font-size:var(--ui-text-meta);margin:4px 0 10px}.asb.student-sidebar .ssb-cta .btn-upgrade-to-pro{width:100%;min-height:36px}.lp{--lp-bg: #FFFFFF;--lp-bg-alt: #F7F6FB;--lp-surface: #FFFFFF;--lp-text: #16131F;--lp-text-2: #4D475C;--lp-text-3: #7C7690;--lp-border: #ECE9F2;--lp-border-2: #DDD8E8;--lp-brand: #7B2FF2;--lp-brand-hover: #6720D8;--lp-brand-text: #6A22DB;--lp-brand-tint: #F2ECFE;--lp-on-brand: #FFFFFF;--lp-dark: #18132B;--lp-dark-2: #221C3A;--lp-dark-border: #342D50;--lp-dark-text: #F4F2FA;--lp-dark-text-2: #BDB6D2;--lp-final: #2B1260;--lp-ok: #15803D;--lp-ok-tint: #EAF7EE;--lp-bad: #C62828;--lp-bad-tint: #FDEEEE;--lp-paper: #FBFAF5;--lp-shadow: 0 1px 2px rgba(22, 12, 48, .06), 0 14px 32px -14px rgba(42, 18, 96, .22);--lp-doodle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' viewBox='0 0 280 280'%3E%3Cg fill='none' stroke='%237B2FF2' stroke-opacity='0.11' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(18 36) rotate(-30)'%3E%3Crect width='34' height='8' rx='1.5'/%3E%3Cpath d='M34 0l9 4-9 4M7 0v8'/%3E%3C/g%3E%3Cg transform='translate(146 18)'%3E%3Cpath d='M0 4c8-4 16-4 22 0v22c-6-4-14-4-22 0zM22 4c6-4 14-4 22 0v22c-8-4-16-4-22 0'/%3E%3C/g%3E%3Cg transform='translate(238 44)'%3E%3Cellipse rx='17' ry='6.5'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(60)'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(-60)'/%3E%3C/g%3E%3Cg transform='translate(66 86)'%3E%3Cpath d='M8 22c0-5-6-7-6-13a8 8 0 0 1 16 0c0 6-6 8-6 13zM8 26h4M10 -6v-4M-4 2l-3-2M24 2l3-2'/%3E%3C/g%3E%3Cg transform='translate(186 100) rotate(18)'%3E%3Crect width='50' height='12' rx='2'/%3E%3Cpath d='M8 0v5M16 0v7M24 0v5M32 0v7M40 0v5'/%3E%3C/g%3E%3Cg transform='translate(26 166)'%3E%3Cpath d='M8 0h10M10 0v10L2 28h22L16 10V0M5 22h16'/%3E%3C/g%3E%3Cpath d='M110 176l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3Cg transform='translate(160 168)'%3E%3Cpath d='M0 8l20-8 20 8-20 8zM8 12v8c6 4 18 4 24 0v-8M40 8v10'/%3E%3C/g%3E%3Cpath d='M40 252l18-30 18 30z'/%3E%3Cpath d='M108 240l36-14-12 34-8-12zM124 248l20-22'/%3E%3Cpath d='M190 246l8 8 16-18'/%3E%3Cg transform='translate(236 206)'%3E%3Ccircle r='11'/%3E%3Cpath d='M0 -6v6l4 3'/%3E%3C/g%3E%3Ccircle cx='100' cy='42' r='3'/%3E%3Ccircle cx='252' cy='132' r='2.5'/%3E%3Ccircle cx='16' cy='122' r='2'/%3E%3Ccircle cx='140' cy='270' r='2'/%3E%3C/g%3E%3Cg fill='%237B2FF2' fill-opacity='0.11' font-family='Georgia,serif'%3E%3Ctext x='130' y='118' font-size='24'%3E%CF%80%3C/text%3E%3Ctext x='226' y='182' font-size='18' font-style='italic'%3Ex%C2%B2%3C/text%3E%3Ctext x='244' y='268' font-size='20'%3E%CE%A3%3C/text%3E%3Ctext x='70' y='216' font-size='15' font-style='italic'%3Ea%2Bb%3C/text%3E%3C/g%3E%3C/svg%3E");--lp-doodle-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' viewBox='0 0 280 280'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-opacity='0.06' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(18 36) rotate(-30)'%3E%3Crect width='34' height='8' rx='1.5'/%3E%3Cpath d='M34 0l9 4-9 4M7 0v8'/%3E%3C/g%3E%3Cg transform='translate(146 18)'%3E%3Cpath d='M0 4c8-4 16-4 22 0v22c-6-4-14-4-22 0zM22 4c6-4 14-4 22 0v22c-8-4-16-4-22 0'/%3E%3C/g%3E%3Cg transform='translate(238 44)'%3E%3Cellipse rx='17' ry='6.5'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(60)'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(-60)'/%3E%3C/g%3E%3Cg transform='translate(66 86)'%3E%3Cpath d='M8 22c0-5-6-7-6-13a8 8 0 0 1 16 0c0 6-6 8-6 13zM8 26h4M10 -6v-4M-4 2l-3-2M24 2l3-2'/%3E%3C/g%3E%3Cg transform='translate(186 100) rotate(18)'%3E%3Crect width='50' height='12' rx='2'/%3E%3Cpath d='M8 0v5M16 0v7M24 0v5M32 0v7M40 0v5'/%3E%3C/g%3E%3Cg transform='translate(26 166)'%3E%3Cpath d='M8 0h10M10 0v10L2 28h22L16 10V0M5 22h16'/%3E%3C/g%3E%3Cpath d='M110 176l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3Cg transform='translate(160 168)'%3E%3Cpath d='M0 8l20-8 20 8-20 8zM8 12v8c6 4 18 4 24 0v-8M40 8v10'/%3E%3C/g%3E%3Cpath d='M40 252l18-30 18 30z'/%3E%3Cpath d='M108 240l36-14-12 34-8-12zM124 248l20-22'/%3E%3Cpath d='M190 246l8 8 16-18'/%3E%3Cg transform='translate(236 206)'%3E%3Ccircle r='11'/%3E%3Cpath d='M0 -6v6l4 3'/%3E%3C/g%3E%3Ccircle cx='100' cy='42' r='3'/%3E%3Ccircle cx='252' cy='132' r='2.5'/%3E%3Ccircle cx='16' cy='122' r='2'/%3E%3Ccircle cx='140' cy='270' r='2'/%3E%3C/g%3E%3Cg fill='%23FFFFFF' fill-opacity='0.06' font-family='Georgia,serif'%3E%3Ctext x='130' y='118' font-size='24'%3E%CF%80%3C/text%3E%3Ctext x='226' y='182' font-size='18' font-style='italic'%3Ex%C2%B2%3C/text%3E%3Ctext x='244' y='268' font-size='20'%3E%CE%A3%3C/text%3E%3Ctext x='70' y='216' font-size='15' font-style='italic'%3Ea%2Bb%3C/text%3E%3C/g%3E%3C/svg%3E");--lp-font: var(--font-family-sans);--lp-mono: var(--font-family-monospace);--lp-nav-h: 60px;min-height:100vh;min-height:100dvh;padding-top:var(--lp-nav-h);background:var(--lp-bg);color:var(--lp-text);font-family:var(--lp-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}.lp.theme-dark{--lp-bg: #1B1C20;--lp-bg-alt: #212227;--lp-surface: #27282E;--lp-text: #ECEBEF;--lp-text-2: #B6B4BE;--lp-text-3: #878591;--lp-border: #303138;--lp-border-2: #3D3E46;--lp-brand: #8B50F5;--lp-brand-hover: #9C68F7;--lp-brand-text: #BBA0FF;--lp-brand-tint: #2E2742;--lp-dark: #24222B;--lp-dark-2: #2D2B35;--lp-dark-border: #3D3A48;--lp-final: #2C2144;--lp-ok: #4ADE80;--lp-ok-tint: #1D3326;--lp-bad: #F87171;--lp-bad-tint: #3A2224;--lp-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 32px -14px rgba(0, 0, 0, .55);--lp-doodle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' viewBox='0 0 280 280'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-opacity='0.045' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(18 36) rotate(-30)'%3E%3Crect width='34' height='8' rx='1.5'/%3E%3Cpath d='M34 0l9 4-9 4M7 0v8'/%3E%3C/g%3E%3Cg transform='translate(146 18)'%3E%3Cpath d='M0 4c8-4 16-4 22 0v22c-6-4-14-4-22 0zM22 4c6-4 14-4 22 0v22c-8-4-16-4-22 0'/%3E%3C/g%3E%3Cg transform='translate(238 44)'%3E%3Cellipse rx='17' ry='6.5'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(60)'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(-60)'/%3E%3C/g%3E%3Cg transform='translate(66 86)'%3E%3Cpath d='M8 22c0-5-6-7-6-13a8 8 0 0 1 16 0c0 6-6 8-6 13zM8 26h4M10 -6v-4M-4 2l-3-2M24 2l3-2'/%3E%3C/g%3E%3Cg transform='translate(186 100) rotate(18)'%3E%3Crect width='50' height='12' rx='2'/%3E%3Cpath d='M8 0v5M16 0v7M24 0v5M32 0v7M40 0v5'/%3E%3C/g%3E%3Cg transform='translate(26 166)'%3E%3Cpath d='M8 0h10M10 0v10L2 28h22L16 10V0M5 22h16'/%3E%3C/g%3E%3Cpath d='M110 176l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3Cg transform='translate(160 168)'%3E%3Cpath d='M0 8l20-8 20 8-20 8zM8 12v8c6 4 18 4 24 0v-8M40 8v10'/%3E%3C/g%3E%3Cpath d='M40 252l18-30 18 30z'/%3E%3Cpath d='M108 240l36-14-12 34-8-12zM124 248l20-22'/%3E%3Cpath d='M190 246l8 8 16-18'/%3E%3Cg transform='translate(236 206)'%3E%3Ccircle r='11'/%3E%3Cpath d='M0 -6v6l4 3'/%3E%3C/g%3E%3Ccircle cx='100' cy='42' r='3'/%3E%3Ccircle cx='252' cy='132' r='2.5'/%3E%3Ccircle cx='16' cy='122' r='2'/%3E%3Ccircle cx='140' cy='270' r='2'/%3E%3C/g%3E%3Cg fill='%23FFFFFF' fill-opacity='0.045' font-family='Georgia,serif'%3E%3Ctext x='130' y='118' font-size='24'%3E%CF%80%3C/text%3E%3Ctext x='226' y='182' font-size='18' font-style='italic'%3Ex%C2%B2%3C/text%3E%3Ctext x='244' y='268' font-size='20'%3E%CE%A3%3C/text%3E%3Ctext x='70' y='216' font-size='15' font-style='italic'%3Ea%2Bb%3C/text%3E%3C/g%3E%3C/svg%3E")}.main-content.main-content--home-page,.main-content:has(>.lp){padding:0!important}.lp *,.lp *:before,.lp *:after{box-sizing:border-box}.lp :where(h1,h2,h3,h4,p,ul,ol,dl,dd){margin:0;padding:0}.lp :where(ul,ol){list-style:none}.lp :where(button){font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}.lp h1,.lp h2,.lp h3,.lp h4,.lp a{color:inherit}.lp :focus-visible{outline:2px solid var(--lp-brand);outline-offset:2px;border-radius:6px}.lp-wrap{width:100%;max-width:1200px;margin:0 auto;padding-left:16px;padding-right:16px}.lp-doodles{background-image:var(--lp-doodle);background-size:280px 280px}.lp-h1{font-size:clamp(2.1rem,7.6vw,3.5rem);font-weight:800;line-height:1.08;letter-spacing:-.03em}.lp-h1 span{color:var(--hue)}.lp-h1 .lp-line{display:block}.lp-h2{font-size:clamp(1.65rem,5.6vw,2.4rem);font-weight:800;line-height:1.15;letter-spacing:-.025em}.lp-lede{margin-top:14px;font-size:1.1rem;color:var(--lp-text-2);max-width:30em}.lp-body{margin-top:10px;font-size:1.02rem;color:var(--lp-text-2);max-width:34em}.lp-body a{color:var(--lp-brand-text);font-weight:600}.lp-fine{margin-top:14px;font-size:.86rem;color:var(--lp-text-3)}.lp-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.9rem;font-weight:700;color:var(--hue, var(--lp-brand-text))}.lp-dot{width:8px;height:8px;border-radius:50%;background:var(--hue, var(--lp-brand))}.lp-muted{color:var(--lp-text-3)}.lp-ok{color:var(--lp-ok);font-weight:700}.lp-bad{color:var(--lp-bad);font-weight:700}.lp-center{display:flex;justify-content:center}.lp-nowrap{white-space:nowrap}.lp .lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:10px;font-size:.98rem;font-weight:700;white-space:nowrap;border:1px solid transparent;transition:background-color .15s,border-color .15s,transform .15s}.lp .lp-btn:active{transform:translateY(1px)}.lp .lp-btn svg{flex-shrink:0}.lp .lp-btn-sm{min-height:38px;padding:0 14px;font-size:.92rem}.lp .lp-btn-lg{min-height:52px;padding:0 22px;font-size:1rem}.lp .lp-btn-primary{background:var(--lp-brand);color:var(--lp-on-brand);box-shadow:0 6px 16px -8px var(--lp-brand)}.lp .lp-btn-primary:hover{background:var(--lp-brand-hover)}.lp .lp-btn-secondary{background:var(--lp-surface);color:var(--lp-text);border-color:var(--lp-border-2)}.lp .lp-btn-secondary:hover{border-color:var(--lp-text-3)}.lp .lp-btn-light{background:#fff;color:#2b1260}.lp .lp-btn-light:hover{background:#f2ecfe}.lp .lp-btn-outline-light{background:transparent;color:#fff;border-color:#ffffff73}.lp .lp-btn-outline-light:hover{border-color:#fff}.lp .lp-link-btn{padding:8px 6px;font-weight:600;color:var(--lp-text-2);white-space:nowrap}.lp .lp-link-btn:hover{color:var(--lp-text)}.lp .lp-icon-btn{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:10px;color:var(--lp-text-2);font-size:1.1rem}.lp .lp-icon-btn:hover{background:var(--lp-bg-alt);color:var(--lp-text)}.lp-cta-row{display:flex;flex-direction:column;gap:10px;margin-top:26px}.lp-cta-row .lp-btn{width:100%}.lp-nav{position:fixed;top:0;left:0;right:0;z-index:70;background:color-mix(in srgb,var(--lp-bg) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}.lp-nav.is-scrolled{border-bottom-color:var(--lp-border);box-shadow:0 4px 16px -12px #160c3059}.lp-nav-row{display:flex;align-items:center;gap:20px;height:var(--lp-nav-h)}.lp .lp-logo{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-size:1.08rem;font-weight:800;letter-spacing:-.015em;color:var(--lp-text);text-decoration:none}.lp-mark{fill:none;stroke:var(--lp-brand);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.lp-nav-links{display:none;gap:2px}.lp .lp-nav-links button{padding:8px 10px;border-radius:8px;font-size:.94rem;font-weight:500;color:var(--lp-text-2);white-space:nowrap}.lp .lp-nav-links button:hover{color:var(--lp-text);background:var(--lp-bg-alt)}.lp-nav-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.lp-hide-sm{display:none!important}.lp-menu{padding:4px 16px 20px;border-top:1px solid var(--lp-border);background:var(--lp-bg);max-height:calc(100vh - var(--lp-nav-h));max-height:calc(100dvh - var(--lp-nav-h));overflow-y:auto}.lp .lp-menu>button{display:block;width:100%;padding:14px 0;border-bottom:1px solid var(--lp-border);font-weight:600}.lp .lp-menu>button svg{vertical-align:-2px;margin-right:8px}.lp-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.lp-hero{padding:24px 0 32px;background-color:color-mix(in srgb,var(--lp-brand) 5%,var(--lp-bg));scroll-margin-top:var(--lp-nav-h)}.lp .lp-aud{font-weight:700}.lp .lp-nav-links .lp-aud.is-on{color:var(--lp-brand-text);box-shadow:inset 0 -2px 0 var(--lp-brand);border-radius:0}.lp-nav-sep{width:1px;height:20px;margin:0 6px;background:var(--lp-border-2)}.lp-menu-audience{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0 8px;border-bottom:1px solid var(--lp-border)}.lp .lp-menu-audience .lp-aud{padding:11px 8px;border-radius:10px;border:1px solid var(--lp-border);text-align:center;color:var(--lp-text-2)}.lp .lp-menu-audience .lp-aud.is-on{background:var(--lp-brand-tint);border-color:transparent;color:var(--lp-brand-text)}.lp-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:center}.lp-float{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lp-fc{display:grid;gap:4px;align-content:start;padding:12px 14px 14px;background:var(--lp-surface);color:var(--lp-text);border:1px solid var(--lp-border);border-top:3px solid var(--hue);border-radius:14px;box-shadow:var(--lp-shadow);font-size:.82rem}.lp-fc-tag{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;color:var(--hue)}.lp-fc b{font-size:1.25rem;font-weight:800;letter-spacing:-.01em}.lp-fc small{color:var(--lp-text-3)}.lp-fc p{font-size:.84rem;line-height:1.4}.lp-fc ul{display:grid;gap:3px;margin-top:2px}.lp-fc li{display:flex;align-items:center;gap:6px}.lp-fc li i{width:11px;height:11px;border:1.5px solid var(--lp-border-2);border-radius:3px}.lp-fc li.is-done{color:var(--lp-text-3)}.lp-fc li.is-done svg{color:var(--lp-ok)}.lp-fc li.is-bad svg{color:var(--lp-bad)}.lp-fc em{display:block;height:7px;margin-top:4px;border-radius:4px;background:var(--lp-border);overflow:hidden}.lp-fc em i{display:block;height:100%;background:var(--hue)}.lp-fc-chips{display:flex;gap:4px;margin-top:4px}.lp-fc-chips span{padding:1px 7px;border-radius:6px;background:color-mix(in srgb,var(--hue) 12%,var(--lp-surface));color:var(--hue);font-size:.7rem;font-weight:700}.lp-deck{--deck-step: 10px;--deck-h: 330px;position:relative}.lp-deck-stack{position:relative;height:calc(var(--deck-h) + 3 * var(--deck-step));margin-right:calc(3 * var(--deck-step))}.lp-deck-card{position:absolute;left:0;right:0;bottom:0;height:var(--deck-h);transform-origin:bottom left;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.lp-deck-card>.lp-window{height:100%}.lp-deck-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;pointer-events:none;background:var(--lp-bg-alt);opacity:0;transition:opacity .6s}.lp-deck-card.pos-0{z-index:4;transform:none}.lp-deck-card.pos-1{z-index:3;transform:translate(var(--deck-step),calc(-1 * var(--deck-step)))}.lp-deck-card.pos-2{z-index:2;transform:translate(calc(2 * var(--deck-step)),calc(-2 * var(--deck-step)))}.lp-deck-card.pos-3{z-index:1;transform:translate(calc(3 * var(--deck-step)),calc(-3 * var(--deck-step)))}.lp-deck-card.pos-1:after{opacity:.3}.lp-deck-card.pos-2:after{opacity:.45}.lp-deck-card.pos-3:after{opacity:.6}.lp-deck-card:not(.pos-0)>.lp-window{border-color:var(--lp-border-2)}.lp-deck .lp-paper-foot .lp-pill{display:none}.lp-deck-card.is-leaving{animation:lp-deck-out .75s cubic-bezier(.4,0,.2,1)}@keyframes lp-deck-out{0%{z-index:5;transform:none}45%{z-index:5;transform:translate(-34%,18px) rotate(-5deg)}55%{z-index:0;transform:translate(-30%,10px) rotate(-4deg) scale(.95)}to{z-index:1;transform:translate(calc(3 * var(--deck-step)),calc(-3 * var(--deck-step)))}}.lp-deck-nav{display:flex;align-items:center;gap:6px;margin-top:14px}.lp .lp-deck-nav button{width:8px;height:8px;border-radius:999px;background:var(--lp-border-2);transition:width .3s,background-color .3s}.lp .lp-deck-nav button.is-on{width:24px;background:var(--lp-brand)}.lp-deck-nav span{margin-left:8px;font-size:.86rem;font-weight:700;color:var(--lp-text-2)}.lp-deck .lp-window{font-size:.8rem}.lp-deck .lp-window-body{padding:12px}.lp-deck .lp-table td{padding:6px 8px}.lp-deck .lp-eval-grid{grid-template-columns:.9fr 1.1fr;gap:10px}.lp-deck .lp-steps-list{font-size:.76rem}.lp-deck .lp-steps-list li{padding:6px 8px}.lp-deck .lp-eval-foot{margin-top:8px;padding-top:8px}.lp-deck .lp-omr-grid{grid-template-columns:auto 1fr;gap:12px}.lp-deck .lp-omr-sheet{grid-template-columns:1fr;gap:5px;padding:10px}.lp-deck .lp-bubble{width:17px;height:17px}.lp-deck .lp-omr-result dd{font-size:1.05rem}.lp-deck .lp-omr-result dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.lp-deck .lp-omr-result dl div{padding:7px 8px;min-width:0}.lp-deck .lp-omr-score{padding:10px;gap:6px}.lp-sd-pack{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:stretch}.lp-sd-cover{display:grid;align-content:end;gap:2px;padding:12px;border-radius:10px;background:#0e9f8e;color:#fff}.lp-sd-cover span{font-size:.7rem;font-weight:700;opacity:.85}.lp-sd-cover b{font-size:.95rem;line-height:1.2}.lp-sd-info{display:grid;gap:4px;align-content:start}.lp-sd-tags{display:flex;flex-wrap:wrap;gap:4px}.lp-sd-orders{margin-top:8px}.lp-sd-orders li{padding:7px 0}.lp-marquee{overflow:hidden;padding:14px 0;background:var(--lp-surface);border-top:1px solid var(--lp-border);border-bottom:1px solid var(--lp-border)}.lp-marquee-track{display:flex;width:max-content;animation:lp-marquee 38s linear infinite}.lp-marquee ul{display:flex;gap:10px;padding-right:10px}.lp-marquee li{padding:6px 14px;border-radius:999px;background:var(--lp-bg-alt);font-size:.9rem;font-weight:700;color:var(--lp-text-2);white-space:nowrap}.lp-marquee li:last-child{background:var(--lp-brand-tint);color:var(--lp-brand-text)}@keyframes lp-marquee{to{transform:translate(-50%)}}.lp-section{padding:60px 0;scroll-margin-top:var(--lp-nav-h)}.lp-tint{background:color-mix(in srgb,var(--hue, var(--lp-brand)) 6%,var(--lp-bg))}.lp-head{max-width:720px;margin-bottom:28px}.lp-dark{background-color:var(--lp-dark);background-image:var(--lp-doodle-dark);color:var(--lp-dark-text)}.lp-dark .lp-body,.lp-dark .lp-checks{color:var(--lp-dark-text-2)}.lp-dark .lp-label,.lp-dark .lp-check{color:color-mix(in srgb,var(--hue) 55%,#FFFFFF)}.lp-split{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}.lp-split-copy>.lp-btn{margin-top:26px;width:100%}.lp-checks{display:grid;gap:10px;margin-top:18px;color:var(--lp-text-2);font-weight:500}.lp-checks li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}.lp-check{margin-top:3px;padding:3px;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--hue, var(--lp-brand)) 14%,transparent);color:var(--hue, var(--lp-brand));stroke-width:3.2}.lp-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lp .lp-tile{display:grid;gap:6px;align-content:start;padding:16px;min-height:132px;background:color-mix(in srgb,var(--hue) 9%,var(--lp-surface));border:1px solid color-mix(in srgb,var(--hue) 20%,var(--lp-surface));border-radius:18px;transition:transform .2s,box-shadow .2s}.lp .lp-tile:hover{transform:translateY(-3px);box-shadow:0 12px 24px -16px var(--hue)}.lp-tile.is-big{grid-column:span 2}.lp-tile-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:4px;border-radius:12px;background:var(--hue);color:#fff;font-size:1.15rem}.lp-tile b{font-size:1.05rem;font-weight:800}.lp-tile span:not(.lp-tile-icon):not(.lp-free-badge):not(.lp-plan-pill){font-size:.88rem;color:var(--lp-text-2);line-height:1.35}.lp-free-badge{justify-self:start;padding:2px 10px;border-radius:999px;background:var(--hue);color:#fff;font-size:.76rem;font-weight:800}.lp-steps3{display:grid;gap:10px;margin-top:20px}.lp-steps3 li{display:flex;align-items:center;gap:12px;font-weight:600}.lp-steps3 b{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--hue);color:#fff;font-size:.9rem}.lp-jiya{background-color:color-mix(in srgb,var(--hue) 7%,var(--lp-bg))}.lp-jiya-cards{display:grid;gap:8px;margin-top:20px}.lp-jiya-cards div{display:flex;align-items:baseline;gap:10px;padding:12px 14px;border-radius:12px;background:var(--lp-surface);border:1px solid color-mix(in srgb,var(--hue) 18%,var(--lp-surface))}.lp-jiya-cards b{min-width:68px;color:var(--hue)}.lp-jiya-cards span{font-size:.92rem;color:var(--lp-text-2)}.lp-where{margin-top:16px;font-size:.9rem;font-weight:600;color:var(--lp-text-3)}.lp-phone{position:relative;overflow:hidden;width:100%;max-width:300px;min-height:530px;padding:18px 16px;border-radius:34px;border:9px solid #1E1B2B;background:var(--lp-surface);color:var(--lp-text);box-shadow:var(--lp-shadow);font-size:.86rem}.lp-phone-top{display:flex;justify-content:space-between;font-size:.74rem;font-weight:700;color:var(--lp-text-3)}.lp-phone-q{margin-top:12px;font-weight:600;line-height:1.45}.lp-phone-opts{display:grid;gap:6px;margin-top:12px}.lp-phone-opts li{padding:8px 10px;border:1px solid var(--lp-border);border-radius:9px}.lp-jiya-sheet{position:absolute;left:0;right:0;bottom:0;padding:10px 16px 18px;background:var(--lp-surface);border-top:1px solid var(--lp-border);border-radius:20px 20px 0 0;box-shadow:0 -12px 28px -14px #160c3059;transform:translateY(0)}.lp-js .lp-reveal .lp-jiya-sheet{transform:translateY(100%);transition:transform .7s .35s cubic-bezier(.2,.8,.2,1)}.lp-js .lp-reveal.is-in .lp-jiya-sheet{transform:translateY(0)}.lp-jiya-grab{width:40px;height:4px;margin:0 auto 10px;border-radius:2px;background:var(--lp-border-2)}.lp-jiya-head{display:flex;align-items:center;gap:8px}.lp-jiya-role{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--hue) 14%,var(--lp-surface));color:var(--hue);font-size:.68rem;font-weight:800}.lp-jiya-avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--hue);color:#fff;font-size:.78rem;font-weight:800}.lp-jiya-tabs{display:flex;gap:4px;margin:10px 0}.lp-jiya-tabs span{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:var(--lp-bg-alt);font-size:.74rem;font-weight:700;color:var(--lp-text-3)}.lp-jiya-tabs .is-on{background:var(--hue);color:#fff}.lp-jiya-tabs .is-lock{opacity:.7}.lp-jiya-sheet p{font-size:.84rem;line-height:1.5}.lp-typing{display:flex;gap:4px;margin-top:10px}.lp-typing i{width:6px;height:6px;border-radius:50%;background:var(--hue);animation:lp-dots 1.2s infinite ease-in-out}.lp-typing i:nth-child(2){animation-delay:.15s}.lp-typing i:nth-child(3){animation-delay:.3s}@keyframes lp-dots{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.lp-jiya-btn{float:right;margin-top:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--hue);color:#fff;font-size:.78rem;font-weight:800;animation:lp-pulse 2.2s infinite}@keyframes lp-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--hue) 55%,transparent)}70%{box-shadow:0 0 0 12px transparent}to{box-shadow:0 0 0 0 transparent}}.lp-doubt-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;justify-items:center}.lp-snap{position:relative;width:100%;max-width:340px;padding:28px 22px 60px;border-radius:18px;background:#26222f;color:#f4f2fa;box-shadow:var(--lp-shadow)}.lp-snap p{padding:14px;border-radius:8px;background:var(--lp-paper);color:#2a2635;font-size:.88rem;line-height:1.45;font-family:var(--font-family-serif)}.lp-snap-corner{position:absolute;width:22px;height:22px;border:3px solid var(--hue)}.lp-snap-corner:nth-child(1){top:14px;left:12px;border-right:0;border-bottom:0;border-radius:6px 0 0}.lp-snap-corner:nth-child(2){top:14px;right:12px;border-left:0;border-bottom:0;border-radius:0 6px 0 0}.lp-snap-corner:nth-child(3){bottom:50px;left:12px;border-right:0;border-top:0;border-radius:0 0 0 6px}.lp-snap-corner:nth-child(4){bottom:50px;right:12px;border-left:0;border-top:0;border-radius:0 0 6px}.lp-snap-btn{position:absolute;left:50%;bottom:10px;transform:translate(-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#26222f;box-shadow:0 0 0 4px #ffffff40}.lp-doubt-arrow{width:28px;height:28px;color:var(--hue);transform:rotate(90deg)}.lp-solved{display:grid;gap:6px;width:100%;max-width:340px;padding:18px;border-radius:18px;background:var(--lp-surface);border:1px solid var(--lp-border);box-shadow:var(--lp-shadow);font-size:.92rem}.lp-solved .lp-pill{justify-self:start}.lp-solved b{font-size:1.2rem;color:var(--hue)}.lp-daily{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lp-daily-card{display:grid;gap:6px;align-content:start;padding:16px;border-radius:18px;background:var(--lp-surface);border:1px solid var(--lp-border)}.lp-daily-card b{font-size:1.05rem;font-weight:800}.lp-daily-card>span:not(.lp-tile-icon){font-size:.88rem;color:var(--lp-text-2);line-height:1.4}.lp-free-head{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px}.lp-free{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.lp-free-card{padding:16px;border-radius:18px;background:var(--lp-surface);border:1px solid var(--lp-border)}.lp-free-card h3{margin-top:14px;font-size:1.1rem;font-weight:800}.lp-free-card p{margin-top:4px;font-size:.92rem;color:var(--lp-text-2)}.lp-free-visual{height:124px;padding:14px;border-radius:12px;background:color-mix(in srgb,var(--hue) 10%,var(--lp-surface));display:flex;flex-direction:column;gap:8px;font-size:.86rem}.lp-fv-notes span{display:block;height:7px;border-radius:4px;background:color-mix(in srgb,var(--hue) 28%,var(--lp-surface))}.lp-fv-notes .lp-short{width:60%}.lp-fv-notes i{margin-top:auto;font-style:normal;font-size:.76rem;font-weight:700;color:var(--hue)}.lp-fv-flash{align-items:center;justify-content:center;text-align:center}.lp-fv-flash b{padding:14px;border-radius:10px;background:var(--lp-surface);box-shadow:0 5px 0 -2px color-mix(in srgb,var(--hue) 35%,var(--lp-surface))}.lp-fv-flash em{font-style:normal;font-size:.74rem;font-weight:700;color:var(--hue)}.lp-fv-quiz{justify-content:center}.lp-fv-bar{height:10px;border-radius:5px;background:var(--lp-surface);overflow:hidden}.lp-fv-bar i{display:block;height:100%;background:var(--hue)}.lp-fv-quiz span{font-size:.82rem;font-weight:700;color:var(--hue)}.lp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.lp-chips li{padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--hue) 22%,transparent);color:var(--lp-dark-text);font-size:.86rem;font-weight:600}.lp-timeline{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.lp-timeline li{display:grid;gap:2px;padding:16px;border-radius:16px;background:var(--lp-surface);border:1px solid var(--lp-border);border-left:4px solid var(--hue)}.lp-timeline span{font-size:.8rem;font-weight:800;color:var(--hue)}.lp-timeline b{font-size:1.05rem}.lp-plans{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:stretch}.lp-plan{position:relative;display:flex;flex-direction:column;padding:22px 20px;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:18px}.lp-plan-main{border:2px solid var(--lp-brand);box-shadow:0 16px 36px -20px var(--lp-brand)}.lp-plan-tag{position:absolute;top:-12px;left:18px;padding:2px 10px;border-radius:999px;background:var(--lp-brand);color:var(--lp-on-brand);font-size:.76rem;font-weight:800}.lp-plan h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:1.25rem;font-weight:800}.lp-plan-for{margin-top:2px;color:var(--lp-text-3);font-size:.92rem}.lp-plan .lp-checks{margin:18px 0 22px;font-size:.95rem}.lp-plan .lp-btn{margin-top:auto;width:100%}.lp-faq-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.lp-faq{border-top:1px solid var(--lp-border-2)}.lp-faq-item{border-bottom:1px solid var(--lp-border-2)}.lp .lp-faq-item button{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:56px;padding:14px 0;font-size:1rem;font-weight:700}.lp-faq-item button svg{flex-shrink:0;color:var(--lp-text-3);transition:transform .2s}.lp-faq-item.is-open button svg{transform:rotate(180deg)}.lp-faq-item p{padding:0 8px 18px 0;color:var(--lp-text-2)}.lp-api-mock{width:100%;max-width:460px;margin:0 auto;border-radius:16px;overflow:hidden;background:#15121f;border:1px solid #2B2640;box-shadow:var(--lp-shadow);font-family:var(--lp-mono)}.lp-api-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#1d1930;color:#d9d3ec;font-size:.8rem}.lp-api-bar span{padding:1px 8px;border-radius:6px;background:#3a2a66;color:#d8c6ff;font-weight:700}.lp-api-bar-ok span{background:#173a27;color:#7ee2a8}.lp-api-mock pre{margin:0;padding:14px;overflow-x:auto;color:#e9e5f6;font-family:inherit;font-size:.8rem;line-height:1.6;white-space:pre}.lp-final{padding:60px 0 72px;background-color:var(--lp-final);background-image:var(--lp-doodle-dark);color:#fff;scroll-margin-top:var(--lp-nav-h)}.lp-final .lp-body{color:#d9ccf5}.lp-final-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}.lp-final-grid>div>.lp-btn-light{width:100%;margin-top:24px}.lp-final-center{display:flex;flex-direction:column;align-items:center;text-align:center}.lp-final-center .lp-body{margin-left:auto;margin-right:auto}.lp-final-center .lp-cta-row{width:100%}.lp .lp-final-switch{display:inline-flex;align-items:center;gap:6px;margin-top:24px;font-size:.92rem;font-weight:700;color:#d9ccf5}.lp .lp-final-switch:hover{color:#fff;text-decoration:underline}.lp-contact{display:grid;gap:10px;margin-top:24px}.lp-contact li{display:flex;align-items:center;gap:10px;color:#d9ccf5}.lp-contact svg{width:17px;height:17px}.lp-contact a{color:#fff;text-decoration:none;font-weight:600}.lp-form{display:grid;gap:14px;padding:20px;border-radius:18px;background:var(--lp-surface);color:var(--lp-text);box-shadow:var(--lp-shadow)}.lp-form-title{font-size:1.12rem}.lp-form label{display:grid;gap:6px}.lp-form label>span{font-size:.86rem;font-weight:600;color:var(--lp-text-2)}.lp-form input,.lp-form select{width:100%;height:48px;padding:0 12px;border:1px solid var(--lp-border-2);border-radius:10px;background:var(--lp-bg);color:var(--lp-text);font:inherit;font-size:1rem}.lp-form input:focus,.lp-form select:focus{outline:none;border-color:var(--lp-brand);box-shadow:0 0 0 3px var(--lp-brand-tint)}.lp-form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.lp-form .lp-btn{width:100%;margin-top:4px}.lp-footer{padding:44px 0 100px;border-top:1px solid var(--lp-border);font-size:.93rem}.lp-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}.lp-footer-brand{grid-column:1 / -1}.lp-footer-brand p{margin-top:10px;max-width:26em;color:var(--lp-text-3)}.lp-footer h4{margin-bottom:8px;font-size:.88rem;font-weight:800}.lp .lp-footer-grid>div>button,.lp-footer-grid>div>a{display:block;padding:6px 0;color:var(--lp-text-2);text-decoration:none}.lp .lp-footer-grid>div>button:hover,.lp-footer-grid>div>a:hover{color:var(--lp-brand-text)}.lp-footer-bottom{margin-top:32px;padding-top:18px;border-top:1px solid var(--lp-border);font-size:.85rem;color:var(--lp-text-3)}.lp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--lp-bg);border-top:1px solid var(--lp-border);transform:translateY(110%);transition:transform .25s ease}.lp-sticky.is-on{transform:translateY(0)}.lp-sticky .lp-sticky-full{grid-column:1 / -1}.lp-js .lp-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}.lp-js .lp-reveal.is-in{opacity:1;transform:none}.lp-window{overflow:hidden;background:var(--lp-surface);color:var(--lp-text);border:1px solid var(--lp-border-2);border-radius:16px;box-shadow:var(--lp-shadow);font-size:.9rem;line-height:1.5;text-align:left}.lp-dark .lp-window{border-color:transparent}.lp-window-bar{display:flex;align-items:center;gap:6px;height:38px;padding:0 14px;background:var(--lp-bg-alt);border-bottom:1px solid var(--lp-border)}.lp-window-bar i{width:9px;height:9px;border-radius:50%}.lp-window-bar i:nth-child(1){background:#f2685c}.lp-window-bar i:nth-child(2){background:#f4be4f}.lp-window-bar i:nth-child(3){background:#5bc56a}.lp-window-bar span{margin-left:8px;font-size:.78rem;font-weight:700;color:var(--lp-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-window-body{padding:16px}.lp-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;background:var(--lp-bg-alt);border:1px solid var(--lp-border);font-size:.75rem;font-weight:700;color:var(--lp-text-2);white-space:nowrap}.lp-pill-ok{background:var(--lp-ok-tint);border-color:transparent;color:var(--lp-ok)}.lp-mini-btn{display:inline-flex;padding:4px 12px;border-radius:8px;border:1px solid var(--lp-border-2);font-size:.8rem;font-weight:700}.lp-table{width:100%;border-collapse:collapse;font-size:.86rem}.lp-table th{padding:0 8px 8px;text-align:left;font-size:.74rem;font-weight:700;color:var(--lp-text-3);border-bottom:1px solid var(--lp-border-2)}.lp-table td{padding:8px;border-bottom:1px solid var(--lp-border)}.lp-table tfoot td{font-weight:800;border-bottom:0}.lp-table .lp-num{text-align:right;font-variant-numeric:tabular-nums}.lp-paper-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.lp-paper-actions{display:flex;gap:6px;margin-left:auto}.lp-paper-actions span{padding:3px 10px;border:1px solid var(--lp-border-2);border-radius:8px;font-size:.78rem;font-weight:700}.lp-paper-actions span:last-child{background:var(--hue, var(--lp-brand));border-color:transparent;color:#fff}.lp-eval-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.lp-sheet-photo{position:relative;margin:0;overflow:hidden;border-radius:10px;border:1px solid #E6E2D6;background:var(--lp-paper);box-shadow:0 6px 16px -10px #281e0a66}.lp-sheet-photo img{display:block;width:100%;height:auto}.lp-photo-tag{position:absolute;bottom:8px;left:8px;display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:5px;background:#16131fb8;color:#fff;font-size:.68rem}.lp-steps-list{display:grid;align-content:start;font-size:.84rem}.lp-steps-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid var(--lp-border)}.lp-steps-list li b{flex-shrink:0;font-variant-numeric:tabular-nums}.lp-steps-list li.is-ok b{color:var(--lp-ok)}.lp-steps-list li.is-bad{background:var(--lp-bad-tint);border-radius:8px;border-bottom-color:transparent}.lp-steps-list li.is-bad b{color:var(--lp-bad)}.lp-eval-foot{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--lp-border);font-size:.84rem}.lp-score{font-size:1.4rem;font-weight:800;color:var(--hue, var(--lp-brand-text))}.lp-eval-foot .lp-mini-btn{margin-left:auto}.lp-omr-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.lp-omr-sheet{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;border-radius:10px;background:var(--lp-paper);border:1px solid #E6E2D6;color:#3a3550}.lp-omr-row{display:flex;align-items:center;gap:6px}.lp-omr-q{width:14px;font-size:.72rem;font-weight:700;text-align:right}.lp-bubble{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid #8E88A3;font-size:.58rem;font-weight:700;color:#8e88a3}.lp-bubble.is-on{background:#26213a;border-color:#26213a;color:#26213a}.lp-omr-result dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lp-omr-result dl div{padding:10px;border:1px solid var(--lp-border);border-radius:10px}.lp-omr-result dt{font-size:.74rem;color:var(--lp-text-3)}.lp-omr-result dd{font-size:1.2rem;font-weight:800}.lp-omr-score{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding:12px;border-radius:10px;background:color-mix(in srgb,var(--hue, var(--lp-brand)) 12%,var(--lp-surface))}.lp-omr-score span{font-size:.8rem;color:var(--lp-text-2)}.lp-omr-score b{font-size:1.3rem;color:var(--hue, var(--lp-brand-text))}.lp-omr-rank{margin-top:8px;font-size:.86rem;font-weight:700}.lp-store{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.lp-store-card{overflow:hidden;background:var(--lp-surface);border:1px solid var(--lp-border-2);border-radius:16px;box-shadow:var(--lp-shadow)}.lp-store-cover{display:grid;gap:2px;padding:20px 18px;background:var(--hue, #2B1260);color:#fff}.lp-store-cover span{font-size:.78rem;font-weight:700;opacity:.85}.lp-store-cover b{font-size:1.2rem}.lp-store-body{display:grid;gap:6px;padding:16px 18px 18px;font-size:.88rem}.lp-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.lp-price b{font-size:1.35rem}.lp-price s{color:var(--lp-text-3)}.lp-store-buy{margin-top:8px;padding:10px;text-align:center;border-radius:10px;background:var(--hue, var(--lp-brand));color:#fff;font-weight:700}.lp-store-note{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:.8rem}.lp-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--lp-border);font-size:.86rem}.lp-list li:last-child{border-bottom:0}.lp-list li>span{font-weight:700;color:var(--lp-text-2)}.lp-wl{overflow:hidden;width:100%;max-width:400px;background:#fff;color:#16131f;border-radius:16px;box-shadow:var(--lp-shadow)}.lp-wl-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#f4f3f7;font-family:var(--lp-mono);font-size:.76rem;color:#4d475c}.lp-wl-bar svg{color:#15803d}.lp-wl-head{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#0f766e;color:#fff}.lp-wl-logo{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#fff;color:#0f766e;font-size:.74rem;font-weight:800}.lp-wl-body{display:grid;gap:10px;padding:20px 18px;font-size:.88rem}.lp-wl-input{display:flex;align-items:center;height:40px;padding:0 12px;border:1px solid #DDDAE6;border-radius:10px;color:#8a849c}.lp-wl-btn{display:grid;place-items:center;height:42px;border-radius:10px;background:#0f766e;color:#fff;font-weight:700}.lp-wl-help{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.8rem;color:#0f766e}.lp.lp-auth{display:flex;flex-direction:column;padding-top:0;background-color:color-mix(in srgb,var(--lp-brand) 5%,var(--lp-bg))}.lp-auth-top{display:flex;align-items:center;justify-content:space-between;height:64px}.lp .lp-auth-back{display:none;align-items:center;gap:6px}.lp-auth-grid{flex:1;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center;padding-top:4px;padding-bottom:48px}.lp-auth-grid>.lp-auth-card{order:-1}.lp-auth-intro .lp-h1{font-size:clamp(2rem,6.4vw,3.2rem)}.lp-auth-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;max-width:460px}.lp-benefit{display:grid;gap:4px;align-content:start;padding:14px;border-radius:14px;background:var(--lp-surface);border:1px solid var(--lp-border);box-shadow:var(--lp-shadow)}.lp-benefit .lp-tile-icon{width:34px;height:34px;border-radius:10px;font-size:1rem}.lp-benefit b{font-size:.98rem;font-weight:800}.lp-benefit>span:not(.lp-tile-icon){font-size:.86rem;line-height:1.4;color:var(--lp-text-2)}.lp .lp-auth-trial-card{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%;max-width:460px;margin-top:14px;padding:14px 16px;border-radius:14px;background:var(--lp-surface);border:1px solid var(--lp-border);box-shadow:var(--lp-shadow)}.lp-auth-trial-card span{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--lp-brand-text)}.lp .lp-auth-trial-card:hover span{text-decoration:underline}.lp-auth-card{--button-primary-bg: var(--lp-brand);--button-primary-hover-bg: var(--lp-brand-hover);--text-on-primary-button: var(--lp-on-brand);--input-bg: var(--lp-bg);--input-text: var(--lp-text);--input-border: var(--lp-border-2);--input-placeholder: var(--lp-text-3);--input-focus-border: var(--lp-brand);--input-focus-shadow: 0 0 0 3px var(--lp-brand-tint);--border-radius: 10px;--text-primary: var(--lp-text);--text-secondary: var(--lp-text-2);--border-color: var(--lp-border);--border-primary: var(--lp-border);position:relative;padding:24px 18px 20px;background:var(--lp-surface);color:var(--lp-text);border:1px solid var(--lp-border);border-top:4px solid var(--lp-brand);border-radius:18px;box-shadow:0 1px 2px #160c300f,0 24px 48px -24px #2a126059}.lp-auth-card .auth-form-header{font-size:1.4rem;font-weight:800;letter-spacing:-.015em;margin-bottom:1.25rem}.lp-auth-card .btn.btn-primary.auth-button{min-height:50px;border-radius:10px;font-weight:700;background:var(--lp-brand);border-color:var(--lp-brand);color:var(--lp-on-brand);box-shadow:0 8px 18px -10px var(--lp-brand)}.lp-auth-card .btn.btn-primary.auth-button:hover:not(:disabled){background:var(--lp-brand-hover);border-color:var(--lp-brand-hover)}.lp-auth-card .form-group input{min-height:50px;font-size:1rem}.lp-auth-card .link-button{color:var(--lp-brand-text);font-weight:700}@media (min-width: 641px){.lp-wrap{padding-left:24px;padding-right:24px}.lp-hide-sm{display:inline-flex!important}.lp-cta-row{flex-direction:row;flex-wrap:wrap;gap:12px}.lp-cta-row .lp-btn,.lp-split-copy>.lp-btn{width:auto}.lp-bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lp-jiya-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-jiya-cards div{display:grid;gap:2px}.lp-doubt-flow{grid-template-columns:1fr auto 1fr;align-items:center}.lp-doubt-arrow{transform:none}.lp-free-head{flex-direction:row;justify-content:space-between;align-items:flex-end}.lp-free{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-form{padding:28px}.lp-form-row{grid-template-columns:1fr 1fr;gap:12px}.lp-final-grid>div>.lp-btn-light{width:auto}.lp-final-center .lp-cta-row{justify-content:center}.lp-footer{padding-bottom:28px}.lp-sticky{display:none}.lp-eval-grid{grid-template-columns:1.15fr 1fr;align-items:start}.lp-omr-grid{grid-template-columns:auto 1fr}.lp-omr-sheet{grid-template-columns:1fr}.lp-store{grid-template-columns:.9fr 1.1fr}.lp-store-sales{margin-top:36px}.lp .lp-auth-back{display:inline-flex}.lp-auth-card{padding:32px 32px 26px}}@media (min-width: 901px){.lp{--lp-nav-h: 68px}.lp-wrap{padding-left:32px;padding-right:32px}.lp-hero{padding:56px 0 80px}.lp-lede{margin-top:18px;font-size:1.2rem}.lp-body{font-size:1.06rem}.lp-hero-grid{grid-template-columns:1fr 1fr;gap:56px}.lp-hero .lp-h1{font-size:min(3.5rem,calc((100vw - 120px) / 19.6))}.lp-section{padding:96px 0}.lp-head{margin-bottom:44px}.lp-split{grid-template-columns:1fr 1.1fr;gap:72px}.lp-split-flip .lp-split-copy{order:2}.lp-float{position:relative;display:block;height:430px}.lp-float .lp-fc{position:absolute;width:230px;animation:lp-float 7s ease-in-out infinite}.lp-fc-1{top:0;left:4%}.lp-fc-2{top:28px;right:0;animation-delay:-2s}.lp-fc-3{bottom:40px;left:0;animation-delay:-4s}.lp-fc-4{bottom:0;right:8%;animation-delay:-1s}.lp-deck{--deck-step: 22px;--deck-h: 340px}.lp-deck .lp-paper-foot .lp-pill{display:inline-flex}.lp-deck .lp-window{font-size:.86rem}.lp-bento{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lp .lp-tile{padding:20px;min-height:150px}.lp-daily{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lp-daily-card{padding:20px}.lp-free{gap:16px}.lp-timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lp-timeline-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:820px}.lp-plan{padding:26px}.lp-faq-layout{grid-template-columns:1fr 1.8fr;gap:64px}.lp-final{padding:88px 0}.lp-final-grid{grid-template-columns:1fr 440px;gap:72px}.lp-footer{padding-top:60px}.lp-footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}.lp-footer-brand{grid-column:auto}.lp-wl{margin-left:auto}.lp-auth-grid{grid-template-columns:1fr minmax(0,440px);gap:72px;padding-top:24px;padding-bottom:72px}.lp-auth-top{height:72px}.lp-auth-grid>.lp-auth-card{order:0}}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (min-width: 1181px){.lp-nav-links{display:flex;align-items:center}.lp-show-md{display:none!important}}@media (prefers-reduced-motion: reduce){.lp-marquee-track,.lp-float .lp-fc,.lp-jiya-btn,.lp-typing i{animation:none!important}.lp-deck-card{transition:none}.lp-deck-card.is-leaving{animation:none}.lp-js .lp-reveal,.lp-js .lp-reveal .lp-jiya-sheet{opacity:1;transform:none;transition:none}.lp .lp-btn,.lp .lp-tile,.lp-sticky,.lp-nav{transition:none}}.lp-ios-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;background:#0a061880}.lp-ios-sheet{position:relative;width:100%;max-width:420px;padding:22px 20px calc(20px + env(safe-area-inset-bottom));background:var(--lp-surface);color:var(--lp-text);border-radius:20px 20px 0 0;box-shadow:var(--lp-shadow)}.lp-ios-sheet h3{margin:0 0 14px;font-size:1.15rem}.lp-ios-sheet ol{list-style:none;margin:0 0 18px;padding:0}.lp-ios-sheet li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--lp-border);color:var(--lp-text-2)}.lp-ios-sheet li:last-child{border-bottom:0}.lp-ios-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--lp-brand-tint);color:var(--lp-brand-text);font-size:1.05rem}.lp-ios-sheet .lp-btn{width:100%}.lp-ios-close{position:absolute;top:12px;right:12px}@media (min-width: 640px){.lp-ios-backdrop{align-items:center}.lp-ios-sheet{border-radius:20px}}.lp-plan-pill{justify-self:start;margin-top:4px;padding:2px 9px;border-radius:999px;border:1px solid var(--hue);color:var(--lp-text-2);font-size:.74rem;font-weight:700}.lp-hero-offer,.lp-auth-offer,.lp-plan-offer{display:flex;align-items:flex-start;gap:8px;max-width:520px;margin-top:16px;padding:10px 14px;border-radius:12px;background:var(--lp-surface);border:1px dashed var(--lp-brand);color:var(--lp-text);font-size:.95rem;line-height:1.45}.lp-hero-offer svg,.lp-auth-offer svg,.lp-plan-offer svg{flex:none;margin-top:3px;color:var(--lp-brand-text)}.lp-hero-offer b,.lp-auth-offer b,.lp-plan-offer b{color:var(--lp-brand-text)}.lp-plan-offer{margin:0 auto 22px}.lp .lp-hero-install{display:inline-flex;align-items:center;gap:6px;margin-top:10px}.lp-splans{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}.lp-splan{display:flex;flex-direction:column;padding:20px 18px;background:var(--lp-surface);border:1px solid var(--lp-border);border-top:4px solid var(--hue);border-radius:18px}.lp-splan h3{font-size:1.2rem;font-weight:800;color:var(--hue)}.lp-splan-price{display:flex;align-items:baseline;gap:6px;margin-top:8px}.lp-splan-price b{font-size:1.9rem;font-weight:800;color:var(--lp-text);line-height:1}.lp-splan-price span{color:var(--lp-text-3);font-size:.9rem}.lp-splan-wait{font-size:.95rem}.lp-splan-month{margin-top:4px;color:var(--lp-text-3);font-size:.88rem}.lp-splan .lp-checks{margin:16px 0 20px;font-size:.92rem}.lp-splan .lp-btn{margin-top:auto;width:100%}.lp-splans-note{text-align:center}@media (min-width: 641px){.lp-splans{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1101px){.lp-splans{grid-template-columns:repeat(4,minmax(0,1fr))}}.lp-benefit-plan{font-style:normal;font-size:.76rem;font-weight:700;color:var(--lp-brand-text)}.auth-flow-container{width:100%;display:flex;flex-direction:column}.auth-form-header{font-size:var(--ui-text-card);font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.auth-subtitle{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.25rem;text-align:center;line-height:1.5}.auth-subtitle strong{color:var(--text-primary);font-weight:500}.form-group{margin-bottom:1.25rem;text-align:left;position:relative}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group input[type=number],.form-group input[type=tel]{width:100%;padding:.8rem 1rem;border:1px solid var(--input-border);border-radius:var(--border-radius);font-size:var(--ui-text-body);background-color:var(--input-bg);color:var(--input-text);transition:var(--transition);line-height:1.5;box-sizing:border-box}.form-group input::placeholder{color:var(--input-placeholder);opacity:.7}.form-group input:focus{border-color:var(--input-focus-border);outline:none;box-shadow:var(--input-focus-shadow)}.password-input-wrapper{position:relative}.password-toggle-btn{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.password-toggle-btn:hover{color:var(--text-primary)}.password-toggle-btn svg{width:18px;height:18px}.password-policy-text{font-size:var(--ui-text-meta);color:var(--text-secondary);margin-top:-.75rem;margin-bottom:1rem;text-align:left;line-height:1.3;padding-left:.1rem}.password-policy-text.warning{color:var(--danger-color)}.terms-group{display:flex;align-items:flex-start;font-size:var(--ui-text-meta);margin-bottom:1.5rem;text-align:left}.terms-group input[type=checkbox]{margin-right:.6rem;margin-top:.15rem;width:auto;accent-color:var(--primary-color);flex-shrink:0;cursor:pointer}.terms-group label{color:var(--text-secondary);font-weight:400;margin-bottom:0;line-height:1.4;cursor:pointer}.terms-group a{color:var(--text-accent);text-decoration:none}.terms-group a:hover{text-decoration:underline}.form-helper-link{text-align:right;margin-top:-.5rem;margin-bottom:1.25rem;font-size:.9rem}.link-button{background:none;border:none;padding:0;cursor:pointer;color:var(--text-secondary);font-weight:500;text-decoration:none;font-size:inherit;font-family:inherit;transition:var(--transition);display:inline}.link-button:hover:not(:disabled){color:var(--text-primary);text-decoration:underline}.link-button:disabled{color:var(--text-secondary);opacity:.6;cursor:not-allowed;text-decoration:none}.form-actions-inline{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.form-actions-inline .link-button{font-size:.9rem}.btn.btn-primary.auth-button{padding:.75rem 1.5rem;font-size:var(--ui-text-body);font-weight:600;width:100%;margin-top:.5rem;display:flex;align-items:center;justify-content:center;line-height:1.5;height:auto}.auth-mode-switch{margin-top:1.5rem;text-align:center}.auth-mode-switch .link-button{font-size:.9rem;font-weight:500;color:var(--text-accent);background:none;border:none;padding:.25rem .5rem;cursor:pointer;text-decoration:none;transition:var(--transition)}.auth-mode-switch .link-button:hover{color:var(--primary-color-hover, var(--primary-color));text-decoration:underline}.back-link{display:block;text-align:center;margin-top:1rem;font-size:.9rem}.alert{padding:.75rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:var(--border-radius);position:relative;font-size:.9rem;text-align:left;line-height:1.4}.alert-danger{color:var(--danger-text);background-color:var(--danger-bg);border-color:var(--danger-border)}.alert-success{color:var(--success-text);background-color:var(--success-bg);border-color:var(--success-border)}.alert-close-button{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);background:none;border:none;font-size:var(--ui-text-card);line-height:1;font-weight:700;color:inherit;opacity:.7;cursor:pointer;padding:0}.alert-close-button:hover{opacity:1}.spinner{border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--primary-color);width:18px;height:18px;animation:spin .8s linear infinite;display:inline-block}.btn-primary .spinner{border-color:#ffffff4d;border-top-color:var(--text-on-primary-button, #fff)}.small-spinner{width:16px;height:16px;border-width:2px}.user-type-cards{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.user-type-card{display:flex;flex-direction:column;align-items:flex-start;padding:.9rem 1.1rem;border:2px solid var(--input-border);border-radius:var(--border-radius);background:var(--input-bg);cursor:pointer;text-align:left;transition:var(--transition);width:100%;font-family:inherit}.user-type-card:hover:not(:disabled){border-color:var(--primary-color)}.user-type-card.selected{border-color:var(--primary-color);background:var(--primary-light-bg, rgba(99, 102, 241, .06))}.user-type-card-label{font-size:var(--ui-text-body);font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.user-type-card-desc{font-size:var(--ui-text-meta);color:var(--text-secondary)}.executive-success{text-align:center;padding:1rem 0}.executive-success-check{width:3.5rem;height:3.5rem;background:var(--success-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;color:var(--success-text)}.executive-success-sub{margin-top:-.5rem}.executive-back-link{display:block;margin:1.5rem auto 0;text-align:center}@media (max-width: 480px){.auth-form-header{font-size:var(--ui-text-card);margin-bottom:1.25rem}.auth-subtitle{font-size:var(--ui-text-meta);margin-bottom:1rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{padding:.75rem .9rem;font-size:var(--ui-text-body)}.btn.btn-primary.auth-button{padding:.7rem 1.2rem;font-size:var(--ui-text-body)}.password-policy-text{font-size:var(--ui-text-cap)}.terms-group{font-size:var(--ui-text-meta)}.alert{font-size:var(--ui-text-meta);padding:.6rem .8rem}.form-actions-inline .link-button,.auth-mode-switch .link-button,.back-link,.form-helper-link{font-size:var(--ui-text-meta)}}.auth-divider{display:flex;align-items:center;text-align:center;margin:1rem 0;color:var(--text-secondary, #888);font-size:var(--ui-text-meta)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color, #ddd)}.auth-divider span{padding:0 .75rem}.auth-alt-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.75rem;flex-wrap:wrap}.ts-page{position:relative;min-height:100vh;min-height:100dvh;padding:clamp(24px,3vw,44px) clamp(20px,4vw,56px) 48px;background:var(--background-secondary);color:var(--text-primary);overflow-x:hidden;isolation:isolate}.ts-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:radial-gradient(circle at 1px 1px,rgba(var(--text-primary-rgb),.055) 1px,transparent 0);background-size:26px 26px;mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 35%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 35%,transparent 100%);pointer-events:none}.ts-page:after{content:"";position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:-3;background:radial-gradient(38% 42% at 12% 8%,rgba(var(--accent-color-rgb),.3) 0%,transparent 60%),radial-gradient(34% 38% at 88% 22%,rgba(var(--purple-accent-rgb),.26) 0%,transparent 60%),radial-gradient(40% 45% at 70% 95%,rgba(var(--accent-color-rgb),.18) 0%,transparent 62%);filter:blur(30px);animation:ts-drift 22s ease-in-out infinite alternate;pointer-events:none}@keyframes ts-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(1.5%,-1.5%,0) scale(1.06)}to{transform:translate3d(-1.5%,1%,0) scale(1.02)}}.ts-glow{display:none}.ts-topbar{position:relative;z-index:2;max-width:1240px;margin:0 auto clamp(14px,2vw,26px);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ts-back{display:inline-flex;align-items:center;gap:7px;padding:8px 14px 8px 11px;font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer;color:var(--text-secondary);background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-pill);transition:color .15s ease,border-color .15s ease,transform .15s ease}.ts-back:hover{color:var(--text-primary);border-color:var(--border-accent);transform:translate(-2px)}.ts-back:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.ts-back svg{width:15px;height:15px}.ts-topbar-alt{font-size:var(--ui-text-meta);color:var(--text-tertiary)}@media (max-width: 560px){.ts-topbar-alt{display:none}}.ts-shell{position:relative;z-index:1;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3.2vw,52px);align-items:start}.ts-aside{position:sticky;top:48px;display:flex;flex-direction:column;gap:18px;padding-top:8px}.ts-brand{align-self:flex-start;padding:0;background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--ui-text-body);font-weight:800;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:6px}.ts-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:6px 14px;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2b1e05;background:linear-gradient(135deg,#bf953f,#fcf6ba 45%,#b38728,#fbf5b7 55%,#aa771c);border-radius:var(--border-radius-pill)}.ts-badge svg{width:14px;height:14px}.ts-hero{margin:0;font-size:clamp(25px,2.7vw,36px);font-weight:700;line-height:1.16;letter-spacing:-.6px;text-wrap:balance}.ts-grad{background:linear-gradient(135deg,var(--accent-color),var(--purple-accent-base));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ts-hero-sub{margin:0;max-width:46ch;font-size:var(--ui-text-body);line-height:1.6;color:var(--text-secondary)}.ts-gets{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}.ts-gets li{display:flex;gap:11px;align-items:flex-start}.ts-gets li>span:last-child{display:flex;flex-direction:column;gap:2px}.ts-gets strong{font-size:var(--ui-text-meta);font-weight:650;color:var(--text-primary)}.ts-gets em{font-style:normal;font-size:var(--ui-text-meta);line-height:1.5;color:var(--text-tertiary);max-width:42ch}.ts-get-ico{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;font-size:14px;color:var(--accent-color);background:rgba(var(--accent-color-rgb),.11);border:1px solid rgba(var(--accent-color-rgb),.22);border-radius:var(--border-radius-md)}.ts-proof{margin:6px 0 0;padding-top:16px;border-top:1px solid var(--border-primary);font-size:var(--ui-text-cap);line-height:1.55;color:var(--text-tertiary);max-width:44ch}.ts-panel{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-xl);box-shadow:var(--box-shadow-lg);padding:clamp(20px,1.9vw,28px);display:flex;flex-direction:column;gap:20px}.ts-steps{list-style:none;margin:0;padding:0 0 18px;border-bottom:1px solid var(--border-primary);display:flex;gap:10px}.ts-stepitem{flex:1;display:flex;align-items:center;gap:9px;min-width:0}.ts-stepnum{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-tertiary);background:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-round)}.ts-steplabel{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-stepitem.is-current .ts-stepnum{color:var(--text-on-primary-button);background:var(--accent-color);border-color:var(--accent-color)}.ts-stepitem.is-current .ts-steplabel{color:var(--text-primary)}.ts-stepitem.is-done .ts-stepnum{color:var(--success-color);background:var(--success-bg);border-color:var(--success-color)}.ts-form{display:flex;flex-direction:column;gap:16px}.ts-formhead{display:flex;flex-direction:column;gap:4px}.ts-title{margin:0;font-size:clamp(19px,1.6vw,22px);font-weight:700;letter-spacing:-.02em;color:var(--text-primary);text-wrap:balance}.ts-sub{margin:0;font-size:14px;line-height:1.55;color:var(--text-secondary)}.ts-muted{margin:0;font-size:var(--ui-text-meta);color:var(--text-tertiary)}.ts-muted--tight{margin:0 0 10px}.ts-field{display:flex;flex-direction:column;gap:6px}.ts-label{font-size:var(--ui-text-cap);font-weight:650;color:var(--text-secondary)}.ts-field input,.ts-search input{width:100%;padding:10px 12px;font:inherit;font-size:var(--ui-text-body);color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md);transition:border-color .15s ease,box-shadow .15s ease}.ts-field input::placeholder,.ts-search input::placeholder{color:var(--text-placeholder)}.ts-field input:focus,.ts-search input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.ts-field small{font-size:var(--ui-text-cap);line-height:1.45;color:var(--text-tertiary)}.ts-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ts-verify{display:flex;flex-direction:column;gap:13px}.ts-inline{display:flex;gap:8px;align-items:stretch}.ts-inline input{flex:1;min-width:0}.ts-inline .ts-ghost{flex:0 0 auto;padding:0 14px;font-size:var(--ui-text-meta);font-weight:650;white-space:nowrap}.ts-note{margin:0;font-size:var(--ui-text-cap);line-height:1.45;color:var(--text-secondary)}.ts-verified{display:flex;align-items:center;gap:11px;padding:11px 13px;background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--border-radius-md)}.ts-verified-ico{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;color:var(--text-on-primary-button);background:var(--success-color);border-radius:50%;font-size:var(--ui-text-cap)}.ts-verified-body{display:flex;flex-direction:column;gap:2px;min-width:0}.ts-verified-body strong{font-size:var(--ui-text-meta);color:var(--success-text);overflow-wrap:anywhere}.ts-verified-body em{font-style:normal;font-size:var(--ui-text-cap);color:var(--text-secondary)}.ts-verified .ts-link{margin-left:auto;flex:0 0 auto;font-size:var(--ui-text-cap)}.ts-link--sm{align-self:flex-start;font-size:var(--ui-text-cap);font-weight:600}.ts-hintline{margin:-4px 0 0;text-align:center;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.ts-search{position:relative;display:flex;align-items:center}.ts-search>svg{position:absolute;left:12px;width:15px;height:15px;color:var(--text-tertiary);pointer-events:none}.ts-search input{padding-left:34px;padding-right:96px}.ts-selcount{position:absolute;right:8px;padding:3px 9px;font-size:var(--ui-text-cap);font-weight:700;color:var(--accent-color);background:rgba(var(--accent-color-rgb),.12);border-radius:var(--border-radius-pill);white-space:nowrap}.ts-cats{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto;padding:2px;margin:-2px}.ts-cat{flex-shrink:0;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);overflow:hidden;transition:border-color .15s ease,background .15s ease}.ts-cat:hover{border-color:var(--border-accent)}.ts-cat.is-on{border-color:var(--accent-color);background:rgba(var(--accent-color-rgb),.09)}.ts-cat-row{display:flex;align-items:stretch}.ts-cat-pick{flex:1;display:flex;align-items:center;gap:10px;padding:10px 12px;text-align:left;font:inherit;cursor:pointer;background:transparent;border:none;color:var(--text-primary);min-width:0}.ts-cat-pick:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.ts-cat-box{flex-shrink:0;width:17px;height:17px;display:grid;place-items:center;font-size:var(--ui-text-cap);color:var(--text-on-primary-button);background:transparent;border:1.5px solid var(--border-secondary);border-radius:var(--border-radius-sm)}.ts-cat.is-on .ts-cat-box{background:var(--accent-color);border-color:var(--accent-color)}.ts-cat-name{flex:1;font-size:var(--ui-text-meta);font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-cat-count{flex-shrink:0;min-width:24px;padding:2px 7px;font-size:var(--ui-text-cap);font-weight:700;text-align:center;color:var(--text-tertiary);background:var(--background-tertiary);border-radius:var(--border-radius-pill);font-variant-numeric:tabular-nums}.ts-cat.is-on .ts-cat-count{color:var(--accent-color);background:rgba(var(--accent-color-rgb),.16)}.ts-cat-expand{flex-shrink:0;width:38px;display:grid;place-items:center;cursor:pointer;color:var(--text-tertiary);background:transparent;border:none;border-left:1px solid var(--border-light)}.ts-cat-expand:hover{color:var(--text-primary);background:var(--background-hover)}.ts-cat-expand:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.ts-cat-expand svg{transition:transform .18s ease}.ts-cat-expand svg.is-open{transform:rotate(180deg)}.ts-cat-exams{list-style:none;margin:0;padding:2px 12px 11px 39px;display:flex;flex-wrap:wrap;gap:5px;animation:ts-reveal .18s ease-out}.ts-cat-exams li{padding:3px 9px;font-size:var(--ui-text-cap);line-height:1.4;color:var(--text-secondary);background:var(--background-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-pill)}.ts-cat-more{color:var(--text-tertiary)!important;font-style:italic}@keyframes ts-reveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.ts-tiers{border:none;padding:0;margin:0}.ts-tiers legend{padding:0;margin-bottom:3px}.ts-tier-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ts-tier{display:flex;flex-direction:column;gap:3px;padding:12px 11px;text-align:left;font:inherit;cursor:pointer;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);color:var(--text-primary);transition:border-color .15s ease,background .15s ease}.ts-tier.is-on{border-color:var(--accent-color);background:rgba(var(--accent-color-rgb),.1)}.ts-tier:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.ts-tier-name{font-size:14px;font-weight:700}.ts-tier-note{font-size:var(--ui-text-cap);line-height:1.35;color:var(--text-tertiary)}.ts-check{display:flex;gap:10px;align-items:flex-start;font-size:var(--ui-text-meta);line-height:1.5;color:var(--text-secondary)}.ts-check input{margin-top:3px;flex-shrink:0;accent-color:var(--accent-color)}.ts-check a{color:var(--accent-color)}.ts-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;font:inherit;font-size:var(--ui-text-body);font-weight:650;cursor:pointer;color:var(--text-on-primary-button);background:var(--accent-color);border:1px solid var(--accent-color);border-radius:var(--border-radius-md);transition:background .15s ease,transform .12s ease}.ts-primary:hover:not(:disabled){background:var(--accent-color-hover);border-color:var(--accent-color-hover);transform:translateY(-1px)}.ts-primary:disabled{opacity:.45;cursor:not-allowed}.ts-primary--lg{padding:15px 24px;font-size:var(--ui-text-body)}.ts-ghost{display:inline-flex;align-items:center;gap:6px;padding:12px 16px;font:inherit;font-size:var(--ui-text-body);cursor:pointer;color:var(--text-secondary);background:transparent;border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.ts-ghost:hover:not(:disabled){background:var(--background-hover)}.ts-actions{display:flex;gap:10px}.ts-actions .ts-primary{flex:1}.ts-link{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--accent-color);cursor:pointer}.ts-link:hover{text-decoration:underline}.ts-spin{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ts-rotate .7s linear infinite}@keyframes ts-rotate{to{transform:rotate(360deg)}}.ts-error{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;font-size:var(--ui-text-meta);color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--border-radius-md)}.ts-trust{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:0;padding-top:16px;border-top:1px solid var(--border-primary);font-size:var(--ui-text-cap);color:var(--text-tertiary)}.ts-trust span{display:inline-flex;align-items:center;gap:6px}.ts-trust svg{width:13px;height:13px;color:var(--success-color);flex-shrink:0}.ts-setup{max-width:480px}.ts-setup-spin{width:34px;height:34px;border-width:3px;color:var(--accent-color)}.ts-setup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ts-setup-list li{display:flex;align-items:center;gap:10px;font-size:var(--ui-text-meta);color:var(--text-tertiary)}.ts-setup-list li.is-current{color:var(--text-primary);font-weight:600}.ts-setup-list li.is-done{color:var(--text-secondary)}.ts-setup-mark{width:20px;height:20px;flex-shrink:0;display:grid;place-items:center;font-size:12px;border:1.5px solid var(--border-secondary);border-radius:var(--border-radius-round)}.ts-setup-list li.is-current .ts-setup-mark{border-color:var(--accent-color)}.ts-setup-list li.is-done .ts-setup-mark{color:var(--success-color);background:var(--success-bg);border-color:var(--success-border)}.ts-page--done{display:flex;align-items:flex-start;justify-content:center}.ts-done{position:relative;z-index:1;width:100%;max-width:720px;display:flex;flex-direction:column;gap:20px;padding:clamp(26px,4vw,44px);background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-xl);box-shadow:var(--box-shadow-lg)}.ts-done-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-bottom:4px}.ts-done-badge{width:58px;height:58px;display:grid;place-items:center;font-size:27px;color:var(--success-color);background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--border-radius-round);animation:ts-pop .45s cubic-bezier(.2,.9,.3,1.2)}@keyframes ts-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.ts-done-title{margin:0;font-size:clamp(23px,2.4vw,30px);font-weight:700;letter-spacing:-.03em;text-wrap:balance}.ts-done-sub{margin:0;max-width:52ch;font-size:var(--ui-text-body);line-height:1.6;color:var(--text-secondary)}.ts-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.ts-stat{padding:16px 12px;text-align:center;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.ts-stat-v{display:block;font-size:27px;font-weight:800;letter-spacing:-.02em;color:var(--accent-color);font-variant-numeric:tabular-nums;line-height:1}.ts-stat-k{display:block;margin-top:5px;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.ts-next{list-style:none;margin:0;padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:rgba(var(--accent-color-rgb),.06);border:1px solid rgba(var(--accent-color-rgb),.18);border-radius:var(--border-radius-md)}.ts-next li{display:flex;gap:10px;align-items:flex-start}.ts-next li>span{flex-shrink:0;width:21px;height:21px;display:grid;place-items:center;font-size:var(--ui-text-cap);font-weight:800;color:var(--text-on-primary-button);background:var(--accent-color);border-radius:var(--border-radius-round)}.ts-next li>div{display:flex;flex-direction:column;gap:2px}.ts-next strong{font-size:var(--ui-text-meta);font-weight:700;color:var(--text-primary)}.ts-next div{font-size:var(--ui-text-cap);line-height:1.4;color:var(--text-secondary)}.ts-creds{padding:17px;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.ts-creds-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ts-creds-h{margin:0;font-size:14px;font-weight:700}.ts-copyall{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font:inherit;font-size:var(--ui-text-cap);font-weight:700;cursor:pointer;color:var(--accent-color);background:rgba(var(--accent-color-rgb),.1);border:1px solid rgba(var(--accent-color-rgb),.28);border-radius:var(--border-radius-md)}.ts-copyall:hover{background:rgba(var(--accent-color-rgb),.18)}.ts-creds-note{display:flex;gap:9px;align-items:flex-start;margin:0 0 13px;padding:10px 12px;font-size:var(--ui-text-cap);line-height:1.5;color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--border-radius-sm)}.ts-creds-note svg{flex-shrink:0;margin-top:2px}.ts-cred-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ts-cred-list li{flex-shrink:0;display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:11px 12px;background:var(--background-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm)}.ts-cred-role{min-width:96px;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.ts-cred-role--teacher{color:var(--accent-color)}.ts-cred-role--admin{color:var(--text-primary)}.ts-cred-vals{display:flex;gap:7px;flex-wrap:wrap}.ts-cred-list code{padding:4px 9px;font-size:var(--ui-text-cap);background:var(--background-tertiary);border-radius:var(--border-radius-sm);color:var(--text-primary);-webkit-user-select:all;user-select:all}.ts-copy{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;font:inherit;font-size:var(--ui-text-cap);font-weight:600;cursor:pointer;color:var(--text-secondary);background:transparent;border:1px solid var(--border-primary);border-radius:var(--border-radius-sm)}.ts-copy:hover{background:var(--background-hover);color:var(--text-primary)}.ts-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:650;text-decoration:none;color:#128c7e;background:#25d3661a;border:1px solid rgba(37,211,102,.45);border-radius:var(--border-radius-md);transition:background .15s ease}.ts-whatsapp:hover{background:#25d3662e}button.ts-whatsapp{font-family:inherit;cursor:pointer}button.ts-whatsapp:disabled{cursor:progress;opacity:.7}.ts-whatsapp--sent{margin:0}.ts-whatsapp--sent:hover{background:#25d3661a}.ts-mailed{margin:0;text-align:center;font-size:var(--ui-text-cap);color:var(--text-tertiary)}@media (max-width: 900px){.ts-shell{grid-template-columns:1fr;gap:26px}.ts-aside{position:static}.ts-gets,.ts-proof{display:none}.ts-hero{font-size:clamp(26px,7vw,34px)}}@media (max-width: 560px){.ts-row,.ts-tier-row,.ts-stats,.ts-next{grid-template-columns:1fr}.ts-creds-head{flex-direction:column;align-items:flex-start;gap:8px}.ts-cats{max-height:none}.ts-copy{margin-left:0}}@media (prefers-reduced-motion: reduce){.ts-page *,.ts-page *:before,.ts-page *:after{transition:none!important;animation:none!important}}.ts-retry{margin-left:auto;padding:4px 11px;font:inherit;font-size:var(--ui-text-cap);font-weight:700;cursor:pointer;color:inherit;background:transparent;border:1px solid currentColor;border-radius:var(--border-radius-sm)}.ts-retry:hover{background:rgba(var(--text-primary-rgb),.08)}.ts-page{--accent-color: #7B2FF2;--accent-color-rgb: 123, 47, 242;--accent-color-hover: #6720D8;--purple-accent-base: #7B2FF2;--purple-accent-rgb: 123, 47, 242;--border-accent: #C9B2FA;--background-primary: #FFFFFF;--background-secondary: #F8F5FF;--background-tertiary: #F3F1F8;--text-primary: #16131F;--text-primary-rgb: 22, 19, 31;--text-secondary: #4D475C;--text-tertiary: #7C7690;--text-placeholder: #9A94AC;--border-primary: #ECE9F2;--border-secondary: #DDD8E8;--input-bg: #FFFFFF;--input-text: #16131F;--input-border: #DDD8E8;--input-focus-border: #7B2FF2;--input-focus-shadow: 0 0 0 3px #F2ECFE;--text-on-primary-button: #FFFFFF;--button-primary-bg: #7B2FF2;--button-primary-hover-bg: #6720D8;--box-shadow-lg: 0 1px 2px rgba(22, 12, 48, .06), 0 24px 48px -24px rgba(42, 18, 96, .35);--border-radius-md: 10px;--border-radius-xl: 18px;background-color:#f8f5ff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' viewBox='0 0 280 280'%3E%3Cg fill='none' stroke='%237B2FF2' stroke-opacity='0.11' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(18 36) rotate(-30)'%3E%3Crect width='34' height='8' rx='1.5'/%3E%3Cpath d='M34 0l9 4-9 4M7 0v8'/%3E%3C/g%3E%3Cg transform='translate(146 18)'%3E%3Cpath d='M0 4c8-4 16-4 22 0v22c-6-4-14-4-22 0zM22 4c6-4 14-4 22 0v22c-8-4-16-4-22 0'/%3E%3C/g%3E%3Cg transform='translate(238 44)'%3E%3Cellipse rx='17' ry='6.5'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(60)'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(-60)'/%3E%3C/g%3E%3Cg transform='translate(66 86)'%3E%3Cpath d='M8 22c0-5-6-7-6-13a8 8 0 0 1 16 0c0 6-6 8-6 13zM8 26h4M10 -6v-4M-4 2l-3-2M24 2l3-2'/%3E%3C/g%3E%3Cg transform='translate(186 100) rotate(18)'%3E%3Crect width='50' height='12' rx='2'/%3E%3Cpath d='M8 0v5M16 0v7M24 0v5M32 0v7M40 0v5'/%3E%3C/g%3E%3Cg transform='translate(26 166)'%3E%3Cpath d='M8 0h10M10 0v10L2 28h22L16 10V0M5 22h16'/%3E%3C/g%3E%3Cpath d='M110 176l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3Cg transform='translate(160 168)'%3E%3Cpath d='M0 8l20-8 20 8-20 8zM8 12v8c6 4 18 4 24 0v-8M40 8v10'/%3E%3C/g%3E%3Cpath d='M40 252l18-30 18 30z'/%3E%3Cpath d='M108 240l36-14-12 34-8-12zM124 248l20-22'/%3E%3Cpath d='M190 246l8 8 16-18'/%3E%3Cg transform='translate(236 206)'%3E%3Ccircle r='11'/%3E%3Cpath d='M0 -6v6l4 3'/%3E%3C/g%3E%3Ccircle cx='100' cy='42' r='3'/%3E%3Ccircle cx='252' cy='132' r='2.5'/%3E%3Ccircle cx='16' cy='122' r='2'/%3E%3Ccircle cx='140' cy='270' r='2'/%3E%3C/g%3E%3Cg fill='%237B2FF2' fill-opacity='0.11' font-family='Georgia,serif'%3E%3Ctext x='130' y='118' font-size='24'%3E%CF%80%3C/text%3E%3Ctext x='226' y='182' font-size='18' font-style='italic'%3Ex%C2%B2%3C/text%3E%3Ctext x='244' y='268' font-size='20'%3E%CE%A3%3C/text%3E%3Ctext x='70' y='216' font-size='15' font-style='italic'%3Ea%2Bb%3C/text%3E%3C/g%3E%3C/svg%3E");background-size:280px 280px;font-family:var(--font-family-sans)}:root.dark-mode .ts-page{--accent-color: #8B50F5;--accent-color-rgb: 139, 80, 245;--accent-color-hover: #9C68F7;--purple-accent-base: #8B50F5;--purple-accent-rgb: 139, 80, 245;--border-accent: #5B4592;--background-primary: #27282E;--background-secondary: #1E1D24;--background-tertiary: #2E2F36;--text-primary: #ECEBEF;--text-primary-rgb: 236, 235, 239;--text-secondary: #B6B4BE;--text-tertiary: #878591;--text-placeholder: #6F6D78;--border-primary: #34353C;--border-secondary: #43444C;--input-bg: #1B1C20;--input-text: #ECEBEF;--input-border: #3D3E46;--input-focus-border: #8B50F5;--input-focus-shadow: 0 0 0 3px #2E2742;--button-primary-bg: #8B50F5;--button-primary-hover-bg: #9C68F7;--box-shadow-lg: 0 1px 2px rgba(0, 0, 0, .3), 0 24px 48px -24px rgba(0, 0, 0, .6);background-color:#1e1d24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' viewBox='0 0 280 280'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-opacity='0.045' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(18 36) rotate(-30)'%3E%3Crect width='34' height='8' rx='1.5'/%3E%3Cpath d='M34 0l9 4-9 4M7 0v8'/%3E%3C/g%3E%3Cg transform='translate(146 18)'%3E%3Cpath d='M0 4c8-4 16-4 22 0v22c-6-4-14-4-22 0zM22 4c6-4 14-4 22 0v22c-8-4-16-4-22 0'/%3E%3C/g%3E%3Cg transform='translate(238 44)'%3E%3Cellipse rx='17' ry='6.5'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(60)'/%3E%3Cellipse rx='17' ry='6.5' transform='rotate(-60)'/%3E%3C/g%3E%3Cg transform='translate(66 86)'%3E%3Cpath d='M8 22c0-5-6-7-6-13a8 8 0 0 1 16 0c0 6-6 8-6 13zM8 26h4M10 -6v-4M-4 2l-3-2M24 2l3-2'/%3E%3C/g%3E%3Cg transform='translate(186 100) rotate(18)'%3E%3Crect width='50' height='12' rx='2'/%3E%3Cpath d='M8 0v5M16 0v7M24 0v5M32 0v7M40 0v5'/%3E%3C/g%3E%3Cg transform='translate(26 166)'%3E%3Cpath d='M8 0h10M10 0v10L2 28h22L16 10V0M5 22h16'/%3E%3C/g%3E%3Cpath d='M110 176l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3Cg transform='translate(160 168)'%3E%3Cpath d='M0 8l20-8 20 8-20 8zM8 12v8c6 4 18 4 24 0v-8M40 8v10'/%3E%3C/g%3E%3Cpath d='M40 252l18-30 18 30z'/%3E%3Cpath d='M108 240l36-14-12 34-8-12zM124 248l20-22'/%3E%3Cpath d='M190 246l8 8 16-18'/%3E%3Cg transform='translate(236 206)'%3E%3Ccircle r='11'/%3E%3Cpath d='M0 -6v6l4 3'/%3E%3C/g%3E%3Ccircle cx='100' cy='42' r='3'/%3E%3Ccircle cx='252' cy='132' r='2.5'/%3E%3Ccircle cx='16' cy='122' r='2'/%3E%3Ccircle cx='140' cy='270' r='2'/%3E%3C/g%3E%3Cg fill='%23FFFFFF' fill-opacity='0.045' font-family='Georgia,serif'%3E%3Ctext x='130' y='118' font-size='24'%3E%CF%80%3C/text%3E%3Ctext x='226' y='182' font-size='18' font-style='italic'%3Ex%C2%B2%3C/text%3E%3Ctext x='244' y='268' font-size='20'%3E%CE%A3%3C/text%3E%3Ctext x='70' y='216' font-size='15' font-style='italic'%3Ea%2Bb%3C/text%3E%3C/g%3E%3C/svg%3E")}.ts-page:before,.ts-page:after{display:none}.ts-brand{display:inline-flex;align-items:center;gap:8px;font-size:var(--ui-text-card)}.ts-brand svg{fill:none;stroke:var(--accent-color);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.ts-badge{color:#6a22db;background:#f2ecfe;border:1px solid #DCCBFC;letter-spacing:.03em}:root.dark-mode .ts-badge{color:#bba0ff;background:#2e2742;border-color:#45386b}.ts-hero{font-weight:800;letter-spacing:-.03em}.ts-grad{background:none;-webkit-text-fill-color:currentColor;color:var(--accent-color)}.ts-panel{border-top:4px solid var(--accent-color)}.va-bar{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:1200;display:flex;align-items:center;gap:10px;flex-wrap:nowrap;width:max-content;max-width:min(560px,calc(100vw - 24px));padding:6px 8px 6px 14px;font-size:14px;color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--border-radius-pill);box-shadow:var(--box-shadow-md)}.va-bar .va-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.va-bar{top:auto;bottom:calc(12px + var(--tabbar-space, 0px))}}.va-icon{flex-shrink:0;font-size:var(--ui-text-body)}.va-text{display:inline-flex;align-items:center;gap:8px}.va-text strong{font-weight:700}.va-role{padding:1px 7px;font-size:var(--ui-text-cap);font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--warning-border);border-radius:var(--border-radius-pill)}.va-timer{font-size:var(--ui-text-cap);opacity:.85;font-variant-numeric:tabular-nums}.va-exit{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer;color:var(--warning-text);background:transparent;border:1px solid var(--warning-border);border-radius:var(--border-radius-md)}.va-exit:hover{background:var(--warning-border)}.va-exit:focus-visible{outline:2px solid var(--warning-text);outline-offset:2px}@media (max-width: 560px){.va-bar{font-size:var(--ui-text-meta);padding:5px 6px 5px 11px}.va-timer{display:none}.va-exit{margin-left:auto;padding:6px 10px}}@media print{.va-bar{display:none}}.va-bar{transition:background .2s ease,box-shadow .2s ease}.va-bar.is-collapsed{max-width:min(300px,calc(100vw - 24px));gap:8px;padding:5px 6px 5px 11px;cursor:pointer}.va-bar.is-collapsed .va-timer,.va-bar.is-collapsed .va-role{display:none}.va-bar.is-collapsed .va-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-text-cap)}.va-bar.is-collapsed .va-exit{flex-shrink:0;margin-left:0;padding:4px 10px;font-size:var(--ui-text-cap)}@media (prefers-reduced-motion: reduce){.va-bar{transition:none}}.va-stuck{margin-left:auto;flex-shrink:0;font-size:var(--ui-text-cap);font-weight:600;opacity:.9}.spinner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--background-primary, rgba(255, 255, 255, .9));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10000;animation:fadeIn .4s ease-out}.dark-mode .spinner-overlay{background-color:var(--background-primary, rgba(15, 23, 42, .9))}.spinner-contained{position:relative;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem 1rem;background-color:transparent;z-index:10;animation:fadeIn .3s ease-out}.dark-mode .spinner-contained{background-color:transparent}.infinity-stage{position:relative;display:flex;align-items:center;justify-content:center}.infinity-stage:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent-color, #f7931a) 26%,transparent) 0%,transparent 68%);filter:blur(4px);animation:haloBreathe 3.2s ease-in-out infinite;z-index:0;pointer-events:none}.spinner-infinity{width:80px;height:40px;overflow:visible;position:relative;z-index:1}.infinity-track{stroke:var(--accent-color, #f7931a);opacity:.15;stroke-linecap:round}.infinity-beam{stroke:var(--accent-color, #f7931a);stroke-linecap:round;stroke-dasharray:35 65;stroke-dashoffset:0;animation:traceInfinity 1.6s linear infinite}.spinner-infinity:not(.inline) .infinity-beam{stroke:url(#infinity-gradient-common)}.infinity-stop-edge{stop-color:var(--accent-color, #f7931a);stop-opacity:.15}.infinity-stop-mid{stop-color:var(--accent-color, #f7931a);stop-opacity:1}@keyframes haloBreathe{0%,to{transform:scale(.82);opacity:.45}50%{transform:scale(1.08);opacity:.85}}.spinner-overlay .loading-message,.spinner-contained .loading-message{margin:1.5rem 0 0;padding:0;border:none;background:none;border-radius:0;font-family:inherit;font-size:var(--ui-text-body);font-weight:600;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;animation:fadePulse 2s ease-in-out infinite}@keyframes traceInfinity{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes fadePulse{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.spinner-inline-wrapper{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:24px;height:12px;margin-right:8px}.spinner-infinity.inline{width:100%;height:100%}.spinner-infinity.inline .infinity-beam{animation:traceInfinity 1.2s linear infinite;stroke-width:12}.spinner-infinity.inline .infinity-track{stroke-width:12}.spinner-staged .spinner-infinity{width:96px;height:48px}.spinner-staged .loading-message{margin-top:1.35rem;font-size:var(--ui-text-meta);opacity:1;background:linear-gradient(100deg,var(--text-secondary) 0%,var(--text-secondary) 35%,var(--accent-color, #f7931a) 50%,var(--text-secondary) 65%,var(--text-secondary) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shimmerText 3s linear infinite}.loading-stages{list-style:none;margin:1.75rem 0 0;padding:1.1rem 1.35rem;max-width:360px;width:min(360px,calc(100% - 2rem));border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-color, #f7931a) 6%,transparent) 0%,transparent 40%),var(--background-secondary, rgba(255, 255, 255, .6));border:1px solid var(--border-primary, rgba(0, 0, 0, .06));box-shadow:0 10px 34px #00000014,inset 0 1px #ffffff0f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .5s ease-out}@keyframes shimmerText{0%{background-position:120% center}to{background-position:-120% center}}.dark-mode .loading-stages{background:var(--background-secondary, rgba(30, 41, 59, .5));border-color:var(--border-primary, rgba(255, 255, 255, .08))}.loading-stage{position:relative;display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.88rem;color:var(--text-secondary);transition:color .3s ease,opacity .3s ease;animation:stageIn .45s ease backwards}.loading-stage:not(:last-child):before{content:"";position:absolute;left:9px;top:calc(50% + 12px);height:calc(100% - 24px);width:2px;transform:translate(-50%);background:var(--border-primary, rgba(0, 0, 0, .14));transition:background .35s ease}.loading-stage-done:not(:last-child):before{background:var(--accent-color, #f7931a)}.loading-stage-pending{opacity:.45}@keyframes stageIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.loading-stage-active{color:var(--text-primary, #111);font-weight:600}.loading-stage-done{color:var(--text-secondary);opacity:.85}.loading-stage-label{flex:1;text-align:left;letter-spacing:.01em}.stage-icon{flex:0 0 18px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}.stage-icon-pending{border-radius:50%;border:1.5px solid var(--border-primary, rgba(0, 0, 0, .18))}.stage-icon-done{stroke:var(--accent-color, #f7931a);fill:none;border-radius:50%;background:color-mix(in srgb,var(--accent-color, #f7931a) 16%,transparent);animation:stageDonePop .35s ease backwards}.stage-icon-done path{stroke-dasharray:16;stroke-dashoffset:16;animation:drawCheck .4s ease .06s forwards}@keyframes stageDonePop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes drawCheck{to{stroke-dashoffset:0}}.stage-pulse-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid var(--accent-color, #f7931a);animation:stagePulseRing 1.6s ease-out infinite}.stage-pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-color, #f7931a);box-shadow:0 0 color-mix(in srgb,var(--accent-color, #f7931a) 40%,transparent);animation:stagePulseDot 1.6s ease-in-out infinite}@keyframes stagePulseRing{0%{transform:scale(.7);opacity:.8}to{transform:scale(1.5);opacity:0}}@keyframes stagePulseDot{0%,to{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--accent-color, #f7931a) 45%,transparent)}50%{transform:scale(1.25);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent-color, #f7931a) 0%,transparent)}}@media (prefers-reduced-motion: reduce){.stage-pulse-ring,.stage-pulse-dot,.infinity-beam,.loading-message,.infinity-stage:before,.loading-stage,.stage-icon-done,.stage-icon-done path{animation:none}.spinner-staged .loading-message{-webkit-text-fill-color:var(--text-secondary);color:var(--text-secondary)}.stage-icon-done path{stroke-dashoffset:0}}@media (max-width: 480px){.loading-stages{padding:.85rem 1rem;margin-top:1.25rem}.loading-stage{font-size:var(--ui-text-meta);padding:.4rem 0}}.loading-background-cta{margin-top:1.15rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:360px;width:min(360px,calc(100% - 2rem));animation:fadeInUpLate .55s ease 2.4s backwards}.loading-background-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.05rem;border-radius:999px;cursor:pointer;font-family:inherit;font-size:var(--ui-text-meta);font-weight:600;letter-spacing:.01em;color:var(--accent-color, #f7931a);background:color-mix(in srgb,var(--accent-color, #f7931a) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent-color, #f7931a) 32%,transparent);transition:background .22s ease,border-color .22s ease,transform .22s ease}.loading-background-btn:hover{background:color-mix(in srgb,var(--accent-color, #f7931a) 17%,transparent);border-color:color-mix(in srgb,var(--accent-color, #f7931a) 55%,transparent);transform:translateY(-1px)}.loading-background-btn:focus-visible{outline:2px solid var(--accent-color, #f7931a);outline-offset:2px}.loading-background-btn svg{width:15px;height:15px;stroke:currentColor;flex:0 0 15px;transition:transform .22s ease}.loading-background-btn:hover svg{transform:translate(2px)}.loading-background-hint{margin:0;font-size:var(--ui-text-cap);line-height:1.45;text-align:center;color:var(--text-secondary, #64748b);opacity:.85}@keyframes fadeInUpLate{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.loading-background-cta{animation:none}.loading-background-btn,.loading-background-btn svg{transition:none}}.genjob-dock{position:fixed;right:1.25rem;bottom:1.25rem;z-index:9500;display:flex;flex-direction:column;gap:.6rem;width:min(340px,calc(100vw - 2.5rem));pointer-events:none}.genjob-card{pointer-events:auto;position:relative;overflow:hidden;padding:.85rem .95rem .8rem;border-radius:14px;background:var(--background-secondary, #ffffff);border:1px solid var(--border-primary, rgba(0, 0, 0, .08));box-shadow:0 12px 32px #0000001f,0 2px 6px #0000000d;animation:genjobIn .4s cubic-bezier(.16,1,.3,1) backwards}.dark-mode .genjob-card{background:var(--background-secondary, #1e293b);border-color:var(--border-primary, rgba(255, 255, 255, .1));box-shadow:0 12px 32px #00000073}.genjob-card:before{content:"";position:absolute;inset:0 0 auto 0;height:60px;background:linear-gradient(180deg,color-mix(in srgb,var(--genjob-accent) 9%,transparent) 0%,transparent 100%);pointer-events:none}.genjob-card--running{--genjob-accent: var(--accent-color, #f7931a)}.genjob-card--ready{--genjob-accent: #16a34a}.genjob-card--failed{--genjob-accent: #dc2626}.dark-mode .genjob-card--ready{--genjob-accent: #4ade80}.dark-mode .genjob-card--failed{--genjob-accent: #f87171}.dark-mode .genjob-open{color:#062012}.genjob-card--ready{animation:genjobIn .4s cubic-bezier(.16,1,.3,1) backwards,genjobLand .5s ease .1s}.genjob-card-top{position:relative;display:flex;align-items:flex-start;gap:.6rem}.genjob-icon{flex:0 0 20px;display:inline-flex;align-items:center;justify-content:center;height:20px;margin-top:1px;color:var(--genjob-accent)}.genjob-icon svg{width:17px;height:17px}.genjob-icon .spinner-inline-wrapper{margin-right:0}.genjob-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.genjob-kind{font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--genjob-accent)}.genjob-title{font-size:var(--ui-text-meta);font-weight:600;line-height:1.3;color:var(--text-primary, #0f172a);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.genjob-dismiss{flex:0 0 22px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;cursor:pointer;color:var(--text-secondary, #64748b);opacity:.6;transition:opacity .2s ease,background .2s ease}.genjob-dismiss:hover{opacity:1;background:color-mix(in srgb,var(--text-secondary, #64748b) 12%,transparent)}.genjob-dismiss svg{width:14px;height:14px}.genjob-bar{position:relative;height:3px;margin:.7rem 0 .55rem;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--genjob-accent) 15%,transparent)}.genjob-bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--genjob-accent)}.genjob-bar--running .genjob-bar-fill{width:40%;animation:genjobSweep 1.6s ease-in-out infinite}.genjob-bar--ready .genjob-bar-fill,.genjob-bar--failed .genjob-bar-fill{width:100%;opacity:.5}.genjob-card-bottom{position:relative;display:flex;align-items:center;gap:.6rem;min-height:26px}.genjob-status{flex:1;min-width:0;font-size:var(--ui-text-cap);line-height:1.4;color:var(--text-secondary, #64748b)}.genjob-status--ready{color:var(--genjob-accent);font-weight:600}.genjob-status--failed{color:var(--genjob-accent)}.genjob-open{flex:0 0 auto;display:inline-flex;align-items:center;gap:.3rem;padding:.34rem .7rem;border-radius:999px;border:none;cursor:pointer;font-family:inherit;font-size:var(--ui-text-cap);font-weight:700;color:#fff;background:var(--genjob-accent);transition:transform .18s ease,filter .18s ease}.genjob-open:hover{transform:translateY(-1px);filter:brightness(1.06)}.genjob-open svg{width:13px;height:13px}.genjob-open--quiet{color:var(--genjob-accent);background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--genjob-accent) 45%,transparent)}.dark-mode .genjob-open--quiet{color:var(--genjob-accent)}.genjob-note{position:relative;margin:.15rem 0 0;font-size:var(--ui-text-cap);color:var(--text-secondary, #64748b);opacity:.7}@keyframes genjobIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes genjobLand{0%,to{box-shadow:0 12px 32px #0000001f,0 0 color-mix(in srgb,#16a34a 40%,transparent)}40%{box-shadow:0 12px 32px #0000001f,0 0 0 7px color-mix(in srgb,#16a34a 0%,transparent)}}@keyframes genjobSweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (max-width: 640px){.genjob-dock{right:.75rem;left:.75rem;bottom:.75rem;width:auto}}@media (prefers-reduced-motion: reduce){.genjob-card,.genjob-card--ready,.genjob-bar--running .genjob-bar-fill{animation:none}.genjob-bar--running .genjob-bar-fill{width:100%;opacity:.55}.genjob-open:hover{transform:none}}.trial-expired-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#0f172a8c;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:trial-expired-fade .18s ease-out}@keyframes trial-expired-fade{0%{opacity:0}to{opacity:1}}.trial-expired-card{width:100%;min-width:0;max-width:26rem;padding:2rem 1.75rem 1.5rem;border-radius:16px;text-align:center;background:var(--card-bg, #ffffff);color:var(--text-primary, #0f172a);border:1px solid var(--card-border, rgba(15, 23, 42, .08));box-shadow:0 24px 48px -12px #0f172a59}.trial-expired-card{position:relative}.trial-expired-close{position:absolute;top:.5rem;right:.6rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text-secondary, #64748b);font-size:1.5rem;line-height:1;cursor:pointer}.trial-expired-close:hover{background:var(--hover-bg, rgba(15, 23, 42, .06));color:var(--text-primary, #0f172a)}.trial-expired-icon{font-size:2.25rem;line-height:1;margin-bottom:.75rem}.trial-expired-card h2{margin:0 0 .6rem;font-size:var(--ui-text-card);font-weight:700}.trial-expired-body{margin:0 0 1.4rem;font-size:var(--ui-text-body);line-height:1.55;color:var(--text-secondary, #475569)}.trial-expired-actions{display:flex;flex-direction:column;gap:.6rem}.trial-expired-primary,.trial-expired-secondary{width:100%;min-width:0;padding:.8rem 1rem;border-radius:10px;font-size:var(--ui-text-body);font-weight:600;cursor:pointer;transition:filter .14s ease,background-color .14s ease}.trial-expired-primary{border:none;color:#fff;background:var(--accent-primary, #2563eb)}.trial-expired-primary:hover{filter:brightness(1.07)}.trial-expired-secondary{border:1px solid var(--card-border, rgba(15, 23, 42, .14));background:transparent;color:var(--text-primary, #0f172a)}.trial-expired-secondary:hover{background:var(--hover-bg, rgba(15, 23, 42, .05))}.trial-expired-note{margin:1rem 0 0;font-size:var(--ui-text-meta);color:var(--text-secondary, #64748b)}@media (prefers-color-scheme: dark){.trial-expired-card{background:var(--card-bg, #111827);color:var(--text-primary, #f1f5f9);border-color:var(--card-border, rgba(255, 255, 255, .1))}.trial-expired-body,.trial-expired-note{color:var(--text-secondary, #94a3b8)}.trial-expired-secondary{color:var(--text-primary, #f1f5f9)}.trial-expired-secondary:hover{background:var(--hover-bg, rgba(255, 255, 255, .07))}}:root[data-theme=dark] .trial-expired-card{background:var(--card-bg, #111827);color:var(--text-primary, #f1f5f9);border-color:var(--card-border, rgba(255, 255, 255, .1))}:root[data-theme=dark] .trial-expired-body,:root[data-theme=dark] .trial-expired-note{color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .trial-expired-secondary{color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .trial-expired-close:hover{background:var(--hover-bg, rgba(255, 255, 255, .08));color:var(--text-primary, #f1f5f9)}:root[data-theme=light] .trial-expired-card{background:#fff;color:#0f172a}@media (max-width: 480px){.trial-expired-card{padding:1.6rem 1.25rem 1.25rem}.trial-expired-card h2{font-size:var(--ui-text-card)}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--modal-backdrop-bg, rgba(0, 0, 0, .65));display:flex;justify-content:center;align-items:center;z-index:var(--z-index-modal, 1050);padding:var(--spacing-md, 1rem);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s linear}.modal-overlay.visible{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s 0s linear}.modal-content-box.assign-assessment-modal-content{background-color:var(--modal-content-bg, var(--background-secondary));color:var(--modal-text, var(--text-primary));border-radius:var(--border-radius-xl, 12px);box-shadow:var(--shadow-xl, 0 10px 30px rgba(0,0,0,.2));width:100%;max-width:550px;max-height:90vh;display:flex;flex-direction:column;border:1px solid var(--modal-border-color, var(--border-primary));transform:scale(.95);opacity:0;transition:transform .3s ease,opacity .3s ease}.modal-overlay.visible .modal-content-box.assign-assessment-modal-content{transform:scale(1);opacity:1}.assign-assessment-modal-content .modal-header{padding:var(--spacing-sm, 12px) var(--spacing-lg, 24px);border-bottom:1px solid var(--modal-header-border, var(--border-light));display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.assign-assessment-modal-content .modal-header h2{font-size:var(--ui-text-card);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm, 10px);margin:0}.assign-assessment-modal-content .modal-header h2 svg{color:var(--accent-color);font-size:1.2em}.assign-assessment-modal-content .btn-close{font-size:1.5rem;color:var(--modal-close-button-color, var(--text-secondary));background:none;border:none;cursor:pointer;transition:var(--transition)}.assign-assessment-modal-content .btn-close:hover{color:var(--modal-close-button-hover-color, var(--text-primary));background-color:var(--background-hover-subtle)}.assign-assessment-modal-content .btn-close:disabled{opacity:.5;cursor:not-allowed}.assign-assessment-modal-content .modal-body{padding:var(--spacing-md, 16px) var(--spacing-lg, 24px);flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.assign-assessment-modal-content .assessment-title-display{font-size:.9rem;color:var(--text-secondary);padding-bottom:var(--spacing-sm, 12px);border-bottom:1px solid var(--border-light);flex-shrink:0}.assign-assessment-modal-content .assessment-title-display strong{color:var(--text-primary);font-weight:600}.assign-assessment-modal-content .form-group{margin-bottom:0}.assign-assessment-modal-content .form-group label{font-weight:500;font-size:var(--ui-text-meta);color:var(--text-primary);margin-bottom:var(--spacing-xs, 6px);display:block}.assign-assessment-modal-content .form-select,.assign-assessment-modal-content .form-control{width:100%;font-size:.9rem;padding:var(--input-padding-y, .5rem) var(--input-padding-x, .75rem)}.assign-assessment-modal-content input[type=datetime-local]{cursor:text;background-color:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border)}.assign-assessment-modal-content input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s;filter:none}:root.dark-mode .assign-assessment-modal-content input[type=datetime-local]::-webkit-calendar-picker-indicator,html.dark-mode .assign-assessment-modal-content input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8}.assign-assessment-modal-content input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}.dark-mode .assign-assessment-modal-content input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8}.dark-mode .assign-assessment-modal-content input[type=datetime-local]{color-scheme:dark}.assign-assessment-modal-content .student-search-results{max-height:160px;overflow-y:auto;border:1px solid var(--input-border);border-top:none;border-radius:0 0 var(--border-radius-md) var(--border-radius-md);background-color:var(--input-bg)}.assign-assessment-modal-content .student-search-results ul{list-style:none;padding:0;margin:0}.assign-assessment-modal-content .student-list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs, 6px) var(--spacing-sm, 10px);font-size:var(--ui-text-meta);border-bottom:1px solid var(--border-ultralight);cursor:pointer;transition:background-color .15s ease}.assign-assessment-modal-content .student-list-item:last-child{border-bottom:none}.assign-assessment-modal-content .student-list-item:hover{background-color:var(--background-hover)}.assign-assessment-modal-content .student-list-item .student-info{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-assessment-modal-content .student-list-item .student-name{color:var(--text-primary);font-weight:500}.assign-assessment-modal-content .student-list-item .student-email{color:var(--text-secondary);font-size:var(--ui-text-meta);margin-left:var(--spacing-xs)}.assign-assessment-modal-content .student-list-item .btn-xs{padding:.2rem .5rem;font-size:var(--ui-text-cap);flex-shrink:0}.assign-assessment-modal-content .no-results-message{text-align:center;color:var(--text-muted);font-size:var(--ui-text-meta);padding:var(--spacing-sm, .75rem) 0;border:1px dashed var(--border-secondary);border-radius:var(--border-radius-md);margin-top:var(--spacing-sm)}.assign-assessment-modal-content .selected-targets-list{max-height:120px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--border-radius-md);padding:var(--spacing-xs, 4px);background-color:var(--background-primary)}.assign-assessment-modal-content .selected-targets-list ul{list-style:none;padding:0;margin:0}.assign-assessment-modal-content .selected-target-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs, 6px) var(--spacing-sm, 8px);font-size:var(--ui-text-meta);background-color:var(--background-secondary-accent, var(--background-secondary));border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-xxs, 4px)}.assign-assessment-modal-content .selected-target-item:last-child{margin-bottom:0}.assign-assessment-modal-content .selected-target-item .target-item-info{display:flex;align-items:center;flex-grow:1;overflow:hidden;gap:var(--spacing-xs, 6px)}.assign-assessment-modal-content .selected-target-item .target-name{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-assessment-modal-content .selected-target-item .target-email{color:var(--text-secondary);font-size:var(--ui-text-meta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-assessment-modal-content .selected-target-item .btn-remove-target{padding:.2rem .4rem;font-size:var(--ui-text-cap);line-height:1;flex-shrink:0}.assign-assessment-modal-content .due-date-group{flex-shrink:0}.assign-assessment-modal-content .modal-footer{padding:var(--spacing-sm, 12px) var(--spacing-lg, 24px);border-top:1px solid var(--modal-footer-border, var(--border-light));display:flex;justify-content:flex-end;gap:var(--spacing-sm, 8px);flex-shrink:0}.assign-assessment-modal-content .modal-footer .btn{min-width:90px}.assign-assessment-modal-content .modal-footer .btn-primary{min-width:140px}.assign-assessment-modal-content .modal-footer .btn svg{margin-right:.4em}.assign-assessment-modal-content .alert{margin:0;padding:var(--spacing-sm, 10px) var(--spacing-md, 12px);font-size:.88rem;border-radius:var(--border-radius-sm);display:flex;align-items:center;flex-shrink:0}@media (max-width: 768px){.modal-content-box.assign-assessment-modal-content{max-width:95%;max-height:90vh}.assign-assessment-modal-content .modal-body{padding:var(--spacing-md, 16px)}.assign-assessment-modal-content .modal-footer{flex-direction:column-reverse;padding:var(--spacing-md, 16px)}.assign-assessment-modal-content .modal-footer .btn{width:100%}}.access-window-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}@media (min-width: 576px){.access-window-grid{grid-template-columns:1fr 1fr}}.assign-assessment-modal-content .hold-results-toggle{display:flex;align-items:center;gap:var(--spacing-sm, 12px);padding:12px 14px;margin:10px 0 0;border:1px solid var(--border-light, var(--border-primary));border-radius:var(--border-radius-md, 8px);background-color:var(--background-primary);cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.assign-assessment-modal-content .hold-results-toggle:hover{border-color:var(--accent-color)}.assign-assessment-modal-content .hold-results-toggle.active{border-color:var(--accent-color);background-color:var(--accent-color-soft, rgba(217, 119, 6, .08));box-shadow:inset 0 0 0 1px var(--accent-color)}.assign-assessment-modal-content .hold-results-toggle.disabled{opacity:.6;cursor:not-allowed}.assign-assessment-modal-content .hold-results-toggle .hr-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md, 8px);background-color:var(--background-hover-subtle, rgba(125, 125, 125, .12));color:var(--text-secondary);font-size:var(--ui-text-card);transition:background-color .2s ease,color .2s ease}.assign-assessment-modal-content .hold-results-toggle.active .hr-icon{background-color:var(--accent-color);color:#fff}.assign-assessment-modal-content .hold-results-toggle .hr-text{flex-grow:1;min-width:0}.assign-assessment-modal-content .hold-results-toggle .hr-title{display:block;font-size:.88rem;font-weight:600;color:var(--text-primary);line-height:1.3}.assign-assessment-modal-content .hold-results-toggle .hr-desc{display:block;font-size:var(--ui-text-cap);font-weight:400;color:var(--text-secondary);line-height:1.45;margin-top:3px}.assign-assessment-modal-content .hold-results-toggle .hr-warn{color:var(--accent-color, #d97706);font-weight:600}.assign-assessment-modal-content .hr-switch{position:relative;flex-shrink:0;width:42px;height:24px}.assign-assessment-modal-content .hr-switch input{position:absolute;opacity:0;width:0;height:0;margin:0}.assign-assessment-modal-content .hr-switch .hr-slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background-color:var(--border-secondary, #cbd5e1);transition:background-color .2s ease}.assign-assessment-modal-content .hr-switch .hr-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;border-radius:50%;background-color:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s ease}.assign-assessment-modal-content .hr-switch input:checked+.hr-slider{background-color:var(--accent-color)}.assign-assessment-modal-content .hr-switch input:checked+.hr-slider:before{transform:translate(18px)}.assign-assessment-modal-content .hr-switch input:focus-visible+.hr-slider{box-shadow:0 0 0 3px var(--accent-color-soft, rgba(217, 119, 6, .35))}.assign-assessment-modal-content .retake-toggle{margin:4px 0 12px}.assign-assessment-modal-content .selected-target-item .target-attempt-tag{flex-shrink:0;font-size:var(--ui-text-cap);font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;color:var(--accent-color);background-color:var(--accent-color-soft, rgba(217, 119, 6, .1))}.assign-assessment-modal-content .selected-target-item .target-attempt-tag.is-live{color:var(--text-secondary);background-color:var(--background-hover-subtle, rgba(125, 125, 125, .12))}.assign-assessment-modal-content .retake-note{display:flex;align-items:flex-start;gap:8px;margin:4px 0 12px;padding:10px 12px;border-radius:var(--border-radius-md, 8px);background-color:var(--accent-color-soft, rgba(217, 119, 6, .08));color:var(--text-primary);font-size:var(--ui-text-meta);line-height:1.45}.assign-assessment-modal-content .retake-note svg{flex-shrink:0;margin-top:2px;color:var(--accent-color)}.assign-assessment-modal-content .retake-note.is-warn{margin-top:8px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;min-height:34px}.setting-row+.setting-row{border-top:1px solid var(--border-color, #e5e7eb)}.setting-row--child{padding-left:14px;border-left:2px solid var(--border-color, #e5e7eb);margin-left:2px}.setting-row+.setting-row--child{border-top:none;padding-top:2px}.setting-row--child .setting-row__name{font-size:var(--ui-text-meta);opacity:.85}.setting-row--stacked{flex-direction:column;align-items:stretch;gap:7px}.setting-row--stacked .setting-row__control{display:flex}.setting-row--stacked .sr-seg{display:flex;width:100%;box-sizing:border-box}.setting-row--stacked .sr-seg__opt{flex:1 1 0;min-width:0;padding-left:6px;padding-right:6px}.setting-row__label{display:flex;align-items:center;gap:6px;min-width:0}.setting-row__name{font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setting-row__badge{flex-shrink:0;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 5px;border-radius:5px;background:#6366f12e;color:#6366f1;border:1px solid rgba(99,102,241,.4)}.setting-row__help{position:relative;display:inline-flex;flex-shrink:0}.setting-row__help-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;cursor:pointer;line-height:0;opacity:.75;transition:opacity .15s ease,background .15s ease}.setting-row__help-btn:hover,.setting-row__help-btn:focus-visible{opacity:1;background:#7f7f7f24}.setting-row__help--info .setting-row__help-btn{color:var(--text-secondary, #6b7280)}.setting-row__help--warn .setting-row__help-btn{color:#d9a400;opacity:1}.setting-row__pop{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:max-content;max-width:min(280px,78vw);display:block;padding:10px 12px;border-radius:8px;background:var(--card-bg, #ffffff);color:var(--text-primary, #111827);border:1px solid var(--border-color, #e5e7eb);box-shadow:0 8px 24px #00000029;font-size:var(--ui-text-cap);font-weight:400;line-height:1.5;white-space:normal;text-align:left;cursor:default}.setting-row__pop-text{display:block;opacity:.85}.setting-row__pop-danger{display:block;margin-top:7px;padding-top:7px;border-top:1px solid var(--border-color, #e5e7eb);color:#dc2626}.sr-switch{position:relative;flex-shrink:0;width:40px;height:22px;padding:0;border:none;border-radius:999px;background:var(--border-color, #d1d5db);cursor:pointer;transition:background .18s ease}.sr-switch.is-on{background:#6366f1}.sr-switch__knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .18s ease}.sr-switch.is-on .sr-switch__knob{transform:translate(18px)}.sr-switch:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.sr-switch:disabled{opacity:.55;cursor:progress}.sr-seg{display:inline-flex;flex-shrink:0;padding:2px;border-radius:8px;background:#7f7f7f1f;border:1px solid var(--border-color, #e5e7eb)}.sr-seg__opt{padding:4px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #6b7280);font-size:var(--ui-text-cap);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.sr-seg__opt.is-active{background:var(--card-bg, #fff);color:var(--text-primary, #111827);box-shadow:0 1px 3px #0000002e}.sr-seg__opt:focus-visible{outline:2px solid #6366f1;outline-offset:1px}.sr-seg__opt:disabled{opacity:.6;cursor:progress}@media (max-width: 380px){.setting-row{flex-wrap:wrap}.setting-row__control{margin-left:auto}}.alert-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background-color:var(--overlay-bg, rgba(0, 0, 0, .4));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .2s ease-out}.alert-modal-content{background-color:var(--background-primary, #ffffff);border:1px solid var(--border-primary, #e5e7eb);border-radius:var(--border-radius-lg, 12px);width:90%;max-width:400px;padding:2rem 1.5rem;box-shadow:0 10px 25px #0003;position:relative;text-align:center;animation:slideUp .3s cubic-bezier(.175,.885,.32,1.275)}.alert-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-tertiary, #9ca3af);font-size:var(--ui-text-card);cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center}.alert-modal-close:hover{color:var(--text-primary, #111827)}.alert-modal-icon-container{display:inline-flex;justify-content:center;align-items:center;width:60px;height:60px;border-radius:50%;background-color:#3b82f61a;color:var(--accent-color, #3b82f6);font-size:1.75rem;margin-bottom:1rem}.alert-modal-title{font-size:var(--ui-text-card);font-weight:600;color:var(--text-primary, #111827);margin-bottom:.75rem;margin-top:0}.alert-modal-message{color:var(--text-secondary, #4b5563);font-size:var(--ui-text-body);line-height:1.5;margin-bottom:1.5rem}.alert-modal-footer{display:flex;justify-content:center}.alert-modal-button{background-color:var(--accent-color, #3b82f6);color:#fff;border:none;padding:.75rem 2rem;border-radius:var(--border-radius-md, 8px);font-size:var(--ui-text-body);font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s;width:100%}.alert-modal-button:hover{background-color:var(--accent-hover, #2563eb)}.alert-modal-button:active{transform:scale(.98)}.confirm-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background-color:var(--overlay-bg, rgba(0, 0, 0, .4));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:10000;animation:confirmFadeIn .2s ease-out}.confirm-modal-content{background-color:var(--background-primary, #ffffff);border:1px solid var(--border-primary, #e5e7eb);border-radius:20px;width:90%;max-width:380px;padding:2.5rem 1.5rem 2rem;box-shadow:0 20px 50px #00000040;position:relative;text-align:center;animation:confirmSlideUp .3s cubic-bezier(.175,.885,.32,1.275)}.confirm-modal-close{position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;color:var(--text-tertiary, #9ca3af);font-size:var(--ui-text-card);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.confirm-modal-close:hover{background-color:var(--background-secondary, #f3f4f6);color:var(--text-primary, #111827)}.confirm-modal-header{display:inline-flex;justify-content:center;align-items:center;margin-bottom:1.5rem}.confirm-modal-icon-container{width:64px;height:64px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:2rem}.confirm-modal-header.primary .confirm-modal-icon-container{background-color:#f59e0b1a;color:#f59e0b}.confirm-modal-header.accent .confirm-modal-icon-container{background-color:var(--accent-color-light);color:var(--accent-color)}.confirm-modal-header.success .confirm-modal-icon-container{background-color:var(--success-bg);color:var(--success-color)}.confirm-modal-header.danger .confirm-modal-icon-container{background-color:var(--danger-bg);color:var(--danger-color)}.confirm-modal-header.info .confirm-modal-icon-container{background-color:var(--info-bg);color:var(--info-color)}.confirm-modal-header.warning .confirm-modal-icon-container{background-color:var(--warning-bg);color:var(--warning-color)}.confirm-modal-title{font-size:1.5rem;font-weight:700;color:var(--text-primary, #111827);margin:0 0 .75rem;letter-spacing:-.01em}.confirm-modal-message{color:var(--text-secondary, #4b5563);font-size:var(--ui-text-body);line-height:1.6;margin-bottom:2rem;padding:0 .5rem}.confirm-modal-footer{display:flex;gap:12px;justify-content:center}.confirm-modal-btn{flex:1;padding:.875rem;border-radius:12px;font-size:var(--ui-text-body);font-weight:600;cursor:pointer;transition:all .2s;border:none}.confirm-modal-btn.cancel{background-color:var(--background-secondary, #f3f4f6);color:var(--text-secondary, #4b5563)}.confirm-modal-btn.cancel:hover{background-color:var(--background-hover, #e5e7eb);color:var(--text-primary, #111827)}.confirm-modal-btn.confirm.primary{background-color:#f59e0b;color:#fff;box-shadow:0 4px 12px #f59e0b4d}.confirm-modal-btn.confirm.primary:hover{background-color:#d97706;transform:translateY(-1px);box-shadow:0 6px 15px #d9770666}.confirm-modal-btn.confirm.accent{background-color:var(--accent-color);color:var(--text-on-accent);box-shadow:0 4px 12px rgba(var(--accent-color-rgb),.3)}.confirm-modal-btn.confirm.accent:hover{background-color:var(--accent-color-hover);transform:translateY(-1px);box-shadow:0 6px 15px rgba(var(--accent-color-rgb),.4)}.confirm-modal-btn.confirm.success{background-color:var(--success-color);color:#fff;box-shadow:0 4px 12px #10b9814d}.confirm-modal-btn.confirm.success:hover{background-color:var(--button-success-hover-bg, #059669);transform:translateY(-1px);box-shadow:0 6px 15px #05966966}.confirm-modal-btn.confirm.danger{background-color:var(--danger-color);color:#fff;box-shadow:0 4px 12px #dc26264d}.confirm-modal-btn.confirm.danger:hover{background-color:var(--button-danger-hover-bg, #b91c1c);transform:translateY(-1px);box-shadow:0 6px 15px #b91c1c66}.confirm-modal-btn.confirm.info{background-color:var(--accent-color);color:var(--text-on-accent);box-shadow:0 4px 12px rgba(var(--accent-color-rgb),.3)}.confirm-modal-btn.confirm.info:hover{background-color:var(--accent-color-hover);transform:translateY(-1px)}.confirm-modal-btn.confirm.warning{background-color:var(--warning-color);color:var(--text-on-warning, #1E293B);box-shadow:0 4px 12px #f59e0b4d}.confirm-modal-btn.confirm.warning:hover{background-color:var(--button-warning-hover-bg, #d97706);transform:translateY(-1px)}.confirm-modal-btn:active{transform:scale(.97)}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0006;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:flex-end;justify-content:center;z-index:100000;animation:fadeInOverlay .3s ease}.profile-sheet-container{background:var(--background-secondary, #ffffff);width:100%;max-width:440px;max-height:85vh;border-top-left-radius:28px;border-top-right-radius:28px;box-shadow:0 -10px 40px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:slideUpSheet .4s cubic-bezier(.16,1,.3,1);border:1px solid var(--border-primary);border-bottom:none}html[data-theme=dark] .profile-sheet-container{background:#1c1d1e;border-color:#2d2f31}.profile-sheet-handle-area{padding:12px 0 4px;display:flex;justify-content:center;cursor:grab;flex-shrink:0}.profile-sheet-handle{width:36px;height:4px;background-color:#0000001a;border-radius:2px}html[data-theme=dark] .profile-sheet-handle{background-color:#ffffff26}.profile-popup-header-sleek{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-primary);background:var(--background-secondary);flex-shrink:0;gap:12px;width:100%}.profile-popup-header-sleek h3.profile-title{margin:0;font-size:var(--ui-text-body);font-weight:800;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;flex:1;overflow:hidden;text-overflow:ellipsis}.profile-theme-toggle-row{display:flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}.profile-theme-toggle-row .theme-label{font-size:.62rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;white-space:nowrap}.theme-toggle-switch{position:relative;display:inline-block;width:34px;height:18px;flex-shrink:0}.theme-toggle-switch input{opacity:0;width:0;height:0}.theme-toggle-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--background-tertiary);transition:.3s;border:1px solid var(--border-primary)}.theme-toggle-switch .slider:before{position:absolute;content:"";height:12px;width:12px;left:2px;bottom:2px;background-color:var(--text-secondary);transition:.3s}.theme-toggle-switch input:checked+.slider{background-color:var(--accent-color);border-color:var(--accent-color)}.theme-toggle-switch input:checked+.slider:before{transform:translate(16px);background-color:#fff}.theme-toggle-switch .slider.round{border-radius:34px}.theme-toggle-switch .slider.round:before{border-radius:50%}.profile-popup-close-red{background:#ef44441a;border:none;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#ef4444;cursor:pointer;transition:all .2s ease;font-size:var(--ui-text-card);flex-shrink:0}.profile-popup-close-red:hover{background:#ef4444;color:#fff}.profile-popup-close-red:active{transform:scale(.9)}.profile-popup-body{padding:14px;overflow-y:auto}.profile-user-card-sleek{background:var(--background-tertiary);padding:12px;border-radius:14px;display:flex;align-items:center;gap:12px;margin-bottom:14px;border:1px solid var(--border-primary)}.profile-avatar-sleek{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,hsl(var(--brand-hue),var(--brand-saturation),var(--brand-lightness)),hsl(var(--brand-hue),var(--brand-saturation),calc(var(--brand-lightness) + 12%)));color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-card);font-weight:800;position:relative;box-shadow:0 4px 12px rgba(var(--brand-rgb-components),.2)}.status-indicator{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;background:#10b981;border:2px solid var(--background-tertiary);border-radius:50%}.profile-meta-sleek h4{margin:0 0 2px;font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary)}.profile-user-identifier{display:block;font-size:var(--ui-text-cap);color:var(--text-secondary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.plan-badge-sleek{font-size:var(--ui-text-cap);font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:8px;display:inline-block}.plan-badge-sleek.pro{background:#7c3aed26;color:#7c3aed}.plan-badge-sleek.plus{background:#3b82f626;color:#3b82f6}.plan-badge-sleek.free{background:#6b72801a;color:#6b7280}.profile-stats-row{display:flex;gap:8px;margin-bottom:20px;width:100%;flex-wrap:nowrap}.flex-1{flex:1;min-width:0}.stat-pill-modern{background:var(--background-secondary);border:1px solid var(--border-primary);padding:7px 10px;border-radius:10px;display:flex;align-items:center;gap:8px;overflow:hidden}.stat-pill-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-body);flex-shrink:0}.stat-pill-icon.coins{background:#f59e0b1a;color:#f59e0b}.stat-pill-icon.expiry{background:#3b82f61a;color:#3b82f6}.stat-pill-info{display:flex;flex-direction:column;min-width:0}.stat-pill-label{font-size:.65rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-pill-value{font-size:.9rem;font-weight:800;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-exams-section-sleek{margin-top:4px}.section-header-sleek{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.header-label-group{display:flex;align-items:center;gap:10px;color:var(--text-secondary)}.header-label-group h5{margin:0;font-size:.9rem;font-weight:700;color:var(--text-primary)}.exams-count-pill{background:var(--background-tertiary);font-size:var(--ui-text-cap);font-weight:700;padding:2px 10px;border-radius:8px;color:var(--text-secondary)}.header-actions-group{display:flex;align-items:center;gap:8px}.exams-add-category-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--accent-color);color:var(--accent-color);font-size:var(--ui-text-cap);font-weight:700;padding:2px 10px;border-radius:8px;cursor:pointer}.exams-add-category-btn:hover{background:var(--accent-color);color:#fff}.exams-list-sleek{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;padding-right:4px}.exam-row-sleek{padding:7px 10px;background:var(--background-tertiary);border-radius:10px;display:flex;align-items:center;gap:10px;transition:background .2s ease}.exam-dot{width:6px;height:6px;background:var(--accent-color);border-radius:50%;opacity:.7}.exam-name-text{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-primary)}.profile-popup-footer{padding:12px 16px 16px;background:var(--background-secondary);border-top:1px solid var(--border-primary);flex-shrink:0}.btn-dashboard-sleek{background:var(--accent-color);color:var(--text-on-accent, #fff);border:none;padding:11px 14px;border-radius:10px;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(var(--brand-rgb-components),.22);transition:all .2s ease;width:100%}.btn-dashboard-sleek:active{transform:scale(.98)}.btn-dashboard-sleek.secondary-action{background:var(--background-tertiary, #f1f3f8);color:var(--text-primary, #374151);box-shadow:none;border:1px solid var(--border-primary, #e9ecf3);margin-bottom:10px}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.scrollable-body::-webkit-scrollbar,.exams-list-sleek::-webkit-scrollbar{width:4px}.scrollable-body::-webkit-scrollbar-track,.exams-list-sleek::-webkit-scrollbar-track{background:transparent}.scrollable-body::-webkit-scrollbar-thumb,.exams-list-sleek::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:10px}.profile-account-section{margin-top:16px;border-top:1px solid var(--border-primary, #e6e9ef);padding-top:8px}.profile-account-row{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;background:none;border:none;border-radius:10px;font:inherit;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-primary, #1a2231);text-align:left;cursor:pointer}.profile-account-row:hover{background:var(--background-hover, rgba(0, 0, 0, .04))}.profile-account-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;flex-shrink:0;color:var(--accent-color);background:rgba(var(--brand-rgb-components),.12)}.profile-account-icon svg{width:15px;height:15px}.profile-account-label{flex:1 1 auto;min-width:0}.profile-account-chevron{flex-shrink:0;width:15px;height:15px;opacity:.4}@media (min-width: 769px){.profile-popup-overlay{align-items:flex-start;justify-content:flex-end;padding:68px 24px 24px;background-color:#0000002e;backdrop-filter:none;-webkit-backdrop-filter:none}.profile-sheet-container{width:380px;max-width:380px;max-height:min(78vh,640px);border-radius:16px;border-bottom:1px solid var(--border-primary);box-shadow:0 16px 48px #00000038;animation:dropDownPanel .18s cubic-bezier(.16,1,.3,1)}.profile-sheet-handle-area{display:none}.app-container:has(.student-sidebar)~.profile-popup-overlay{justify-content:flex-start;padding:16px 24px 24px calc(var(--sidebar-width-open, 260px) * var(--console-zoom, 1) + 12px)}.app-container:has(.student-sidebar.is-collapsed)~.profile-popup-overlay{padding-left:calc(var(--sidebar-width-collapsed, 70px) * var(--console-zoom, 1) + 12px)}}@keyframes dropDownPanel{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.esg-screen{min-height:100vh;min-height:100dvh;display:flex;justify-content:center;padding:1rem .75rem 0;background:var(--background-primary);color:var(--text-primary);box-sizing:border-box}.esg-screen.is-embedded{min-height:0;background:transparent}.esg-panel{width:100%;max-width:760px;display:flex;flex-direction:column;gap:.75rem;min-width:0}.esg-header{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg, .75rem);box-shadow:var(--box-shadow-sm);text-align:left}.esg-header-icon{flex:0 0 auto;width:40px;height:40px;border-radius:var(--border-radius-md, .5rem);display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-card);color:var(--accent-color);background:var(--accent-color-light)}.esg-header h1{margin:0 0 .25rem;font-size:var(--ui-text-card);font-weight:700;line-height:1.3;color:var(--text-primary)}.esg-header p{margin:0;font-size:.875rem;line-height:1.5;color:var(--text-secondary)}.esg-state{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:1.5rem 1rem;text-align:center;font-size:.9rem;color:var(--text-secondary);background:var(--card-bg);border:1px dashed var(--border-primary);border-radius:var(--border-radius-lg, .75rem)}.esg-state-error{color:var(--danger-text, var(--danger-color));background:var(--danger-bg);border:1px solid var(--danger-border)}.esg-save-error{padding:.75rem 1rem}.esg-spinner{animation:esg-rotate 1s linear infinite}@keyframes esg-rotate{to{transform:rotate(360deg)}}.esg-retry-btn{min-height:40px;padding:0 1rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg, .75rem);background:var(--background-secondary);color:var(--text-primary);font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.esg-categories{display:flex;flex-direction:column;gap:.6rem}.esg-category{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg, .75rem);box-shadow:var(--box-shadow-sm);overflow:hidden}.esg-category.expanded{border-color:var(--border-accent, var(--accent-color))}.esg-category-header{display:flex;align-items:stretch}.esg-row-select{flex:1;min-width:0;min-height:52px;display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;border:none;background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.esg-row-select:hover{background:var(--background-hover)}.esg-row-select:focus-visible,.esg-row-expand:focus-visible,.esg-exam-option:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.esg-row-expand{flex:0 0 52px;display:flex;align-items:center;justify-content:center;border:none;border-left:1px solid var(--border-primary);background:transparent;color:var(--text-secondary);font-size:var(--ui-text-card);cursor:pointer}.esg-row-expand:hover{background:var(--background-hover);color:var(--text-primary)}.esg-category-check{flex:0 0 auto;width:24px;height:24px;border-radius:6px;border:2px solid var(--text-tertiary, #94a3b8);display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-meta);color:var(--text-on-accent, #fff);background:transparent;box-sizing:border-box;transition:background .15s ease,border-color .15s ease}.esg-category-check.checked{background:var(--accent-color);border-color:var(--accent-color)}.esg-category-title{flex:1;min-width:0;font-size:var(--ui-text-body);font-weight:600;line-height:1.3;overflow-wrap:anywhere}.esg-category-count{flex:0 0 auto;padding:.15rem .55rem;border-radius:var(--border-radius-pill, 999px);font-size:var(--ui-text-cap);font-weight:600;white-space:nowrap;color:var(--text-secondary);background:var(--background-tertiary)}.esg-exam-preview{padding:.25rem .9rem .9rem;border-top:1px solid var(--border-primary)}.esg-category-desc{margin:.6rem 0;font-size:var(--ui-text-meta);line-height:1.45;color:var(--text-secondary)}.esg-exam-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none}.esg-exam-chip{padding:.3rem .6rem;border-radius:var(--border-radius-md, .5rem);font-size:var(--ui-text-meta);color:var(--text-secondary);background:var(--background-tertiary)}.esg-exam-options{display:grid;grid-template-columns:1fr;gap:.5rem;margin:0;padding:0 .75rem .75rem;list-style:none}.esg-exam-option{width:100%;min-height:48px;display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-md, .5rem);background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,background .15s ease}.esg-exam-option:hover{background:var(--background-hover)}.esg-exam-option.on{border-color:var(--accent-color);background:rgba(var(--accent-color-rgb, 37, 99, 235),.08)}.esg-exam-option-name{flex:1;min-width:0;font-size:.9rem;line-height:1.3;overflow-wrap:anywhere}.esg-footer{position:sticky;bottom:0;z-index:2;margin:0 -.75rem;padding:.75rem .75rem calc(.75rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:.5rem;background:var(--card-bg);border-top:1px solid var(--border-primary);box-shadow:0 -4px 12px #00000014}.esg-summary{margin:0;font-size:var(--ui-text-meta);font-weight:600;text-align:center;color:var(--text-secondary)}.esg-footer-actions{display:flex;gap:.5rem}.esg-cancel-btn,.esg-confirm-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:0 1.25rem;border-radius:var(--border-radius-lg, .75rem);font:inherit;font-size:var(--ui-text-body);font-weight:600;cursor:pointer}.esg-cancel-btn{flex:0 0 auto;border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-primary)}.esg-confirm-btn{flex:1;border:none;background:var(--accent-color);color:var(--text-on-accent, #fff)}.esg-confirm-btn:hover:not(:disabled){background:var(--accent-color-hover, var(--accent-color))}.esg-confirm-btn:disabled{background:var(--background-tertiary);color:var(--text-tertiary);cursor:not-allowed}.esg-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-end;background:var(--background-overlay, rgba(15, 23, 42, .55))}.esg-modal{width:100%;max-height:92dvh;overflow-y:auto;padding:.75rem .75rem 0;background:var(--background-primary);border-radius:var(--border-radius-xl, 1rem) var(--border-radius-xl, 1rem) 0 0;box-shadow:var(--box-shadow-md);box-sizing:border-box}@media (min-width: 600px){.esg-screen{padding:1.5rem 1.25rem 0}.esg-header{padding:1.25rem;gap:1rem}.esg-header-icon{width:48px;height:48px;font-size:1.4rem}.esg-header h1{font-size:1.35rem}.esg-exam-options{grid-template-columns:repeat(2,minmax(0,1fr))}.esg-footer{bottom:1rem;margin:.25rem 0 1rem;padding:.75rem 1rem;flex-direction:row;align-items:center;justify-content:space-between;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg, .75rem);box-shadow:var(--box-shadow-md)}.esg-summary{text-align:left}.esg-confirm-btn{flex:0 0 auto;min-width:200px}.esg-modal-overlay{align-items:flex-start;justify-content:center;padding:4vh 1rem}.esg-modal{max-width:760px;max-height:92vh;padding:1rem 1rem 0;border-radius:var(--border-radius-xl, 1rem)}}@media (min-width: 960px){.esg-exam-options{grid-template-columns:repeat(3,minmax(0,1fr))}}.apx-head{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}.apx-back{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 10px;font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer;color:var(--text-secondary);background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-pill);transition:color .15s ease,border-color .15s ease,transform .15s ease}.apx-back:hover{color:var(--text-primary);border-color:var(--border-accent);transform:translate(-2px)}.apx-back:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.apx-back svg{width:15px;height:15px}.apx-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--border-primary)}.apx-titles{display:flex;flex-direction:column;gap:5px;min-width:0}.apx-title{margin:0;font-size:clamp(21px,2vw,26px);font-weight:700;letter-spacing:-.025em;color:var(--text-primary)}.apx-sub{margin:0;max-width:68ch;font-size:14px;line-height:1.55;color:var(--text-secondary)}.apx-actions{display:flex;gap:10px;flex-wrap:wrap}@media (prefers-reduced-motion: reduce){.apx-back{transition:none}}.cd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;justify-content:flex-end;background:#0f172a73}.cd-drawer{display:flex;flex-direction:column;width:min(560px,100%);height:100%;color:var(--text-primary);background:var(--background-primary);border-left:1px solid var(--border-primary);box-shadow:-18px 0 48px #0000002e;animation:cd-in .18s ease-out}@keyframes cd-in{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}.cd-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:linear-gradient(90deg,var(--btn-action-print-bg),var(--btn-action-report-bg));border-bottom:1px solid var(--border-light)}.cd-top h2{margin:0;font-size:var(--ui-text-card);font-weight:700}.cd-x{display:inline-flex;padding:6px;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:var(--ui-text-card)}.cd-x:hover:not(:disabled){background:var(--background-hover)}.cd-x:disabled{opacity:.4;cursor:not-allowed}.cd-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:14px}.cd-tone-orange{--tone: var(--btn-action-key-text);--tone-soft: var(--btn-action-key-bg);--tone-border: var(--btn-action-key-border)}.cd-tone-cyan{--tone: var(--btn-action-structure-text);--tone-soft: var(--btn-action-structure-bg);--tone-border: var(--btn-action-structure-border)}.cd-card{padding:14px 14px 16px;border:1px solid var(--tone-border, var(--border-primary));border-top:3px solid var(--tone, var(--accent-color));border-radius:12px;background:linear-gradient(180deg,var(--tone-soft) 0,transparent 3.25rem),var(--background-primary)}.cd-h{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:var(--ui-text-body);font-weight:700;color:var(--tone)}.cd-sub{margin:-4px 0 0;font-size:var(--ui-text-cap);color:var(--text-secondary)}.cd-extra{margin-bottom:8px}.cd-lines{margin:0;display:flex;flex-direction:column}.cd-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:14px;border-bottom:1px dashed var(--tone-border, var(--border-light))}.cd-line dt{display:flex;flex-direction:column;gap:2px}.cd-line dt small{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.cd-line dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.cd-line--total{border-bottom:none;border-top:1px solid var(--tone);margin-top:4px;padding-top:11px;font-weight:700}.cd-line--total dd{font-size:var(--ui-text-card);font-weight:800;color:var(--tone)}.cd-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.cd-span{grid-column:1 / -1}.cd-f{display:flex;flex-direction:column;gap:5px}.cd-f>span{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.cd-f em{font-style:normal;font-weight:400;color:var(--text-tertiary)}.cd-f input,.cd-f select{width:100%;box-sizing:border-box;padding:9px 11px;font:inherit;font-size:14px;color:var(--input-text, var(--text-primary));background:var(--input-background, var(--background-primary));border:1px solid var(--input-border, var(--border-primary));border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.cd-f input:focus,.cd-f select:focus{outline:none;border-color:var(--tone, var(--accent-color));box-shadow:0 0 0 3px var(--tone-soft, rgba(79, 70, 229, .15))}.cd-f [aria-invalid=true]{border-color:var(--danger-color, #dc2626)}.cd-save{display:flex;gap:8px;align-items:center;margin-top:14px;font-size:var(--ui-text-meta);color:var(--text-secondary);cursor:pointer}.cd-save input{width:16px;height:16px;accent-color:var(--tone, var(--accent-color))}.cd-foot{display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;background:var(--background-primary);border-top:1px solid var(--border-primary)}.cd-foot-total{display:flex;align-items:baseline;gap:8px;margin:0}.cd-foot-total span{font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.cd-foot-total strong{font-size:var(--ui-text-card);font-weight:800;font-variant-numeric:tabular-nums}.cd-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 18px;font:inherit;font-size:var(--ui-text-body);font-weight:700;color:#fff;background:var(--btn-action-report-text, var(--accent-color));border:none;border-radius:9px;cursor:pointer}.cd-primary:hover:not(:disabled){filter:brightness(1.06)}.cd-primary:disabled{opacity:.55;cursor:not-allowed}.cd-primary:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.cd-primary--auto{width:auto;min-width:160px;margin-top:12px}.cd-fine{margin:6px 0 0;font-size:var(--ui-text-cap);line-height:1.5;color:var(--text-tertiary);text-align:center}.cd-card .cd-fine{text-align:left}.cd-error{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0;font-size:var(--ui-text-meta);color:var(--danger-text, var(--danger-color, #dc2626))}.cd-foot .cd-error{margin:0}.cd-done{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px 32px;text-align:center}.cd-done p{margin:0;font-size:var(--ui-text-body)}.cd-done-icon{font-size:44px;color:var(--btn-action-review-text, #16a34a)}.cd-done-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}.cd-secondary{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:0 16px;min-height:44px;font:inherit;font-size:var(--ui-text-body);font-weight:600;color:var(--btn-action-report-text, var(--accent-color));background:transparent;border:1px solid var(--btn-action-report-text, var(--accent-color));border-radius:9px;cursor:pointer}.cd-secondary:disabled{opacity:.55;cursor:not-allowed}.cd-secondary:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.cd-spin{animation:cd-spin 1s linear infinite}@keyframes cd-spin{to{transform:rotate(360deg)}}@media (max-width: 480px){.cd-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.cd-drawer{animation:none}}.cd-line--off dt,.cd-line--off dd{color:var(--success-text);font-weight:600}.as-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;background:var(--background-overlay, rgba(15, 23, 42, .55));display:flex;align-items:center;justify-content:center;padding:12px}.as-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-secondary, #d1d5db);background:var(--background-secondary, #fff);color:var(--text-primary, #111827);font-size:.9rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.as-btn:hover:not(:disabled){background:var(--background-tertiary, #f3f4f6)}.as-btn:disabled{opacity:.5;cursor:not-allowed}.as-btn-primary{background:var(--accent-color, #2563eb);border-color:var(--accent-color, #2563eb);color:#fff}.as-btn-primary:hover:not(:disabled){background:var(--accent-color-hover, #1d4ed8)}.as-btn-ghost{background:transparent}.as-btn-danger{color:#b91c1c;border-color:#b91c1c59}.as-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary, #4b5563);cursor:pointer;font-size:var(--ui-text-card)}.as-icon-btn:hover:not(:disabled){background:var(--background-tertiary, #f3f4f6)}.as-error{display:flex;align-items:center;gap:6px;color:#b91c1c;font-size:.88rem;margin:6px 0}.as-busy{display:flex;align-items:center;gap:8px;color:var(--text-secondary, #4b5563);font-size:.88rem;margin:6px 0}.as-spin{animation:as-spin .9s linear infinite}@keyframes as-spin{to{transform:rotate(360deg)}}.as-skeleton{width:100%;height:100%;min-height:80px;border-radius:6px;background:linear-gradient(90deg,var(--background-tertiary, #f3f4f6) 25%,var(--background-primary, #f9fafb) 50%,var(--background-tertiary, #f3f4f6) 75%);background-size:200% 100%;animation:as-shimmer 1.2s ease-in-out infinite}@keyframes as-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.as-scanner{width:min(980px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;background:var(--background-secondary, #fff);color:var(--text-primary, #111827);border-radius:14px;box-shadow:var(--box-shadow-lg, 0 10px 25px rgba(0,0,0,.2));overflow:hidden}.as-scanner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 6px}.as-scanner-head h3{margin:0;font-size:var(--ui-text-card)}.as-sub{margin:2px 0 0;font-size:var(--ui-text-meta);color:var(--text-tertiary, #6b7280)}.as-hint{margin:0 16px 8px;font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563)}.as-notice{margin:2px 16px 10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(245,158,11,.45);background:#f59e0b1f;color:var(--text-primary, #111827);font-size:.88rem;line-height:1.45}.as-notice p{margin:0}.as-notice p+p{margin-top:4px}.as-notice strong{white-space:nowrap;font-variant-numeric:tabular-nums}.as-scanner-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.as-add-row{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px}.as-scanner-body .as-add-row{position:sticky;top:0;z-index:2;padding:8px 16px;background:var(--background-secondary, #fff)}.as-add{flex:1 1 160px;justify-content:center;padding:11px 14px}.as-scanner .as-busy,.as-scanner .as-error{margin:8px 16px 0}.as-pages{padding:14px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-content:start;min-height:180px}.as-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:32px 12px;color:var(--text-tertiary, #6b7280);border:2px dashed var(--border-primary, #e5e7eb);border-radius:12px}.as-empty p{margin:0}.as-thumb{margin:0;display:flex;flex-direction:column;gap:6px}.as-thumb-img{position:relative;aspect-ratio:.72;border-radius:8px;overflow:hidden;border:1px solid var(--border-primary, #e5e7eb);background:#fff}.as-thumb-img img{width:100%;height:100%;object-fit:contain;display:block}.as-thumb-no{position:absolute;top:6px;left:6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#111827c7;color:#fff;font-size:var(--ui-text-cap);font-weight:600;display:flex;align-items:center;justify-content:center}.as-thumb-bar{position:absolute;left:0;bottom:0;height:4px;background:var(--accent-color, #2563eb);transition:width .2s ease}.as-thumb-error .as-thumb-img{border-color:#fca5a5}.as-thumb figcaption{display:flex;flex-direction:column;gap:4px;font-size:var(--ui-text-cap);color:var(--text-secondary, #4b5563)}.as-thumb-state{display:inline-flex;align-items:center;gap:4px}.as-thumb-state svg{color:#16a34a}.as-thumb-err{color:#b91c1c;display:inline-flex;align-items:center;gap:4px}.as-thumb-err svg{color:#b91c1c}.as-thumb-tools{display:flex;flex-wrap:wrap;gap:2px}.as-thumb-tools button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-primary, #e5e7eb);border-radius:6px;background:var(--background-secondary, #fff);color:var(--text-secondary, #4b5563);cursor:pointer}.as-thumb-tools button:disabled{opacity:.4;cursor:not-allowed}.as-thumb-tools button:hover:not(:disabled){background:var(--background-tertiary, #f3f4f6)}.as-thumb-tag{display:inline-flex;align-items:center;margin-right:6px;padding:1px 7px;border-radius:999px;font-size:var(--ui-text-cap);font-weight:700;background:var(--background-tertiary, #f3f4f6);color:var(--text-secondary, #4b5563)}.as-thumb-tag-new{background:#2563eb1f;color:#1d4ed8}.as-scanner-foot{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border-primary, #e5e7eb);background:var(--background-secondary, #fff)}.as-stats{font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563)}.as-foot-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.as-confirm{display:inline-flex;align-items:center;gap:8px;font-size:var(--ui-text-meta);flex-wrap:wrap}.as-adjust{z-index:1310}.as-adjust-card{width:min(720px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;background:var(--background-secondary, #fff);border-radius:14px;overflow:hidden}.as-adjust-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px}.as-adjust-body{flex:1;min-height:0;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:0 12px;background:#111827}.as-adjust-img{max-width:100%;max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);display:block}.as-adjust-skeleton{height:50vh}.as-adjust-foot{flex:none;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.as-adjust-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.as-seg{display:inline-flex;border:1px solid var(--border-secondary, #d1d5db);border-radius:8px;overflow:hidden}.as-seg button{border:none;background:transparent;padding:7px 12px;font-size:var(--ui-text-meta);cursor:pointer;color:var(--text-secondary, #4b5563)}.as-seg button.on{background:var(--accent-color, #2563eb);color:#fff}.as-card{border:1px solid var(--border-primary, #e5e7eb);border-radius:12px;background:var(--background-secondary, #fff);padding:14px 16px;margin:12px 0;display:flex;flex-direction:column;gap:10px;text-align:left}.as-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.as-card h4{margin:0;font-size:var(--ui-text-body);display:flex;align-items:center;gap:8px;color:var(--text-primary, #111827)}.as-card p{margin:0;font-size:.88rem;color:var(--text-secondary, #4b5563)}.as-card-actions{display:flex;flex-wrap:wrap;gap:8px}.as-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:var(--ui-text-cap);font-weight:600;white-space:nowrap;background:var(--background-tertiary, #f3f4f6);color:var(--text-secondary, #4b5563)}.as-chip-warn{background:#f59e0b24;color:#b45309}.as-chip-info{background:#2563eb1f;color:#1d4ed8}.as-chip-ok{background:#16a34a21;color:#15803d}.as-chip-bad{background:#dc26261f;color:#b91c1c}.as-card-skeleton{height:64px}.as-score{font-family:var(--font-family-handwriting);color:#d42a2a;font-weight:700;font-size:var(--ui-text-card)}.as-viewer{width:min(1400px,100%);height:calc(100vh - 24px);height:calc(100dvh - 24px);display:flex;flex-direction:column;background:var(--background-secondary, #fff);color:var(--text-primary, #111827);border-radius:14px;overflow:hidden}.as-viewer-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-primary, #e5e7eb)}.as-viewer-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.as-viewer-title h3{margin:0;font-size:var(--ui-text-card)}.as-viewer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.as-zoom{display:inline-flex;align-items:center;gap:2px;margin-right:6px}.as-zoom span{min-width:46px;text-align:center;font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563)}.as-viewer-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:0}.as-viewer-pages{overflow:auto;background:#e5e7eb;padding:16px}.as-viewer-pages-inner{margin:0 auto;display:flex;flex-direction:column;gap:16px;transition:width .15s ease}.as-page{position:relative;background:#fff;box-shadow:0 2px 10px #0000002e}.as-page img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.as-page-overlay,.as-page-overlay svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.as-page-no{position:absolute;right:8px;bottom:6px;font-size:var(--ui-text-cap);color:#6b7280;background:#fffc;padding:1px 6px;border-radius:6px}.as-page-unreadable{position:absolute;top:8px;left:8px}.as-viewer-side{border-left:1px solid var(--border-primary, #e5e7eb);overflow-y:auto;padding:12px 14px 24px;display:flex;flex-direction:column;gap:10px}.as-total-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.as-total-line.as-total-sub{font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563)}.as-q{border:1px solid var(--border-primary, #e5e7eb);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:var(--background-primary, #f9fafb)}.as-q-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.as-q-head button{background:none;border:none;padding:0;color:var(--accent-color, #2563eb);font-weight:600;cursor:pointer;font-size:var(--ui-text-body)}.as-q-label{font-weight:600;font-size:var(--ui-text-body);color:var(--text-primary)}.as-q-marks{font-weight:700;color:#d42a2a}.as-q-comment{font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563);margin:0}.as-q-text{font-size:var(--ui-text-meta);line-height:1.45;color:var(--text-secondary, #4b5563);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.as-q-text.is-open{display:block;-webkit-line-clamp:unset;overflow:visible}.as-q-text p{margin:0 0 4px}.as-q-text img{max-width:100%;height:auto}.as-q-more{align-self:flex-start;margin-top:-4px;padding:0;border:none;background:none;font:inherit;font-size:var(--ui-text-cap);font-weight:600;color:var(--accent-color, #2563eb);cursor:pointer}.as-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.as-step{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:start;font-size:var(--ui-text-meta)}.as-step-icon{margin-top:2px}.as-step-correct .as-step-icon{color:#16a34a}.as-step-partial .as-step-icon{color:#d97706}.as-step-wrong .as-step-icon,.as-step-missing .as-step-icon{color:#dc2626}.as-step-text{color:var(--text-primary, #111827)}.as-step-remark{display:block;color:#d42a2a;font-family:var(--font-family-handwriting);font-size:var(--ui-text-body)}.as-step-remark.as-step-remark-miss{color:#6b7280;font-family:inherit;font-size:var(--ui-text-meta)}.as-step-marks{white-space:nowrap;font-weight:600;color:var(--text-secondary, #4b5563)}.as-step-edit{display:flex;flex-direction:column;gap:4px;grid-column:2 / 4}.as-step-edit-row{display:flex;gap:6px;align-items:center}.as-input{border:1px solid var(--input-border, #d1d5db);border-radius:6px;padding:5px 8px;background:var(--input-bg, #fff);color:var(--input-text, #111827);font-size:var(--ui-text-meta);min-width:0}.as-input-marks{width:70px}.as-input-wide{flex:1}.as-q-actions{display:flex;gap:6px;justify-content:flex-end}.as-note{font-size:var(--ui-text-meta);color:var(--text-tertiary, #6b7280);margin:0}.as-scheme{width:min(860px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;background:var(--background-secondary, #fff);color:var(--text-primary, #111827);border-radius:14px;overflow:hidden}.as-scheme-body{overflow-y:auto;padding:4px 16px 16px;display:flex;flex-direction:column;gap:12px}.as-scheme-q{border:1px solid var(--border-primary, #e5e7eb);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.as-scheme-q-text{font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563);margin:0}.as-scheme-q-text p{margin:0}.as-scheme-step{cursor:text;min-height:36px;height:auto;display:flex;align-items:center;flex-wrap:wrap;line-height:1.6}.as-scheme-row{display:grid;grid-template-columns:26px minmax(0,1fr) 80px 32px;gap:6px;align-items:center}.as-scheme-sum{font-size:var(--ui-text-meta)}.as-scheme-sum.bad{color:#b91c1c}.as-sheet-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-top:8px;border:1px dashed var(--border-accent, rgba(37,99,235,.35));border-radius:10px;background:var(--accent-color-light, rgba(37, 99, 235, .07));color:var(--text-primary, #111827);font-size:.9rem;line-height:1.45}.as-sheet-note svg{flex:none;margin-top:2px;color:var(--accent-color, #2563eb)}@media (max-width: 900px){.as-viewer-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.as-viewer-side{border-left:none;border-top:1px solid var(--border-primary, #e5e7eb);max-height:42vh}.as-viewer-pages{padding:8px}}@media (max-width: 560px){.as-overlay{padding:0;align-items:stretch}.as-scanner,.as-viewer,.as-scheme,.as-adjust-card{border-radius:0;height:100%;max-height:100%}.as-pages{grid-template-columns:repeat(2,minmax(0,1fr))}.as-scheme-row{grid-template-columns:22px minmax(0,1fr) 64px 30px}}.as-hand-q.is-marked{border-color:#16a34a73}.as-hand-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.as-hand-row .as-input.as-input-marks{width:90px;flex:0 0 90px;margin:0}.as-hand-na{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563);cursor:pointer}.as-hand-foot{position:sticky;bottom:-24px;margin:4px -14px -24px;padding:10px 14px 14px;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;background:var(--background-secondary, #fff);border-top:1px solid var(--border-primary, #e5e7eb)}.acu{width:min(640px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;background:var(--background-secondary, #fff);color:var(--text-primary, #111827);border-radius:14px;overflow:hidden}.acu-back{display:inline-flex;align-items:center;gap:4px;margin:0 0 4px;padding:0;border:none;background:none;font:inherit;color:var(--accent-color, #2563eb);font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.acu-paper{overflow-wrap:anywhere}.acu-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:4px 16px 12px;border-bottom:1px solid var(--border-primary, #e5e7eb)}.acu-box{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--border-primary, #e5e7eb);border-radius:12px;background:var(--card-bg, #fff)}.acu-box-label{font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary, #6b7280)}.acu-stat-num{font-size:1.45rem;font-weight:700;line-height:1.15;color:var(--text-primary, #111827);font-variant-numeric:tabular-nums}.acu-stat-num small{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary, #4b5563)}.acu-stat-label{font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563)}.acu-box.acu-owed{border-color:#b91c1c59;background:#fee2e273}.acu-box.acu-owed .acu-stat-num{color:#b91c1c}.acu-body{overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px;background:var(--background-primary, #f8fafc)}.acu-empty{margin:18px 0;text-align:center;font-size:.9rem;color:var(--text-tertiary, #6b7280)}.acu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.acu-row{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border-primary, #e5e7eb);border-radius:12px;background:var(--card-bg, #fff);box-shadow:0 1px 2px #0f172a0d}.acu-row-head{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center}.acu-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--accent-color-light, rgba(99, 102, 241, .1));color:var(--accent-color, #6366f1);font-size:var(--ui-text-body)}.acu-row.is-topup{border-color:#0596694d}.acu-row.is-topup .acu-icon{background:#10b9811f;color:#059669}.acu-line{min-width:0;display:flex;flex-direction:column;gap:1px}.acu-line strong{font-size:.9rem;line-height:1.3}.acu-when{font-size:var(--ui-text-cap);color:var(--text-tertiary, #6b7280);white-space:nowrap}.acu-main{min-width:0;display:flex;flex-direction:column;gap:6px;padding:8px 0 0 42px;border-top:1px dashed var(--border-primary, #e5e7eb)}.acu-what{font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563);overflow-wrap:anywhere}.acu-paper-link{display:inline-flex;align-items:flex-start;gap:6px;align-self:flex-start;max-width:100%;padding:6px 9px;border:1px solid var(--border-primary, #e5e7eb);border-radius:8px;background:var(--background-secondary, #f8fafc);text-align:left;font:inherit;font-size:var(--ui-text-meta);line-height:1.35;color:var(--accent-color, #2563eb);cursor:pointer;overflow-wrap:anywhere}.acu-paper-link svg{flex-shrink:0;margin-top:2px}.acu-paper-link:hover{border-color:var(--accent-color, #2563eb)}.acu-paper-link:hover span{text-decoration:underline}.acu-amount{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:64px}.acu-minus{font-size:var(--ui-text-body);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary, #111827)}.acu-plus{font-size:var(--ui-text-body);font-weight:700;font-variant-numeric:tabular-nums;color:#059669}.acu-more{align-self:center}.acu-foot{margin:0;padding:10px 16px 12px;border-top:1px solid var(--border-primary, #e5e7eb);font-size:var(--ui-text-cap);line-height:1.45;color:var(--text-tertiary, #6b7280)}.acu-paper-spend{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:none;font:inherit;font-size:var(--ui-text-meta);color:var(--text-secondary, #4b5563);cursor:pointer;text-align:left}.acu-paper-spend strong{color:var(--text-primary, #111827)}.acu-paper-spend span{color:var(--accent-color, #2563eb);font-weight:600}.acu-paper-spend:hover span{text-decoration:underline}@media (max-width: 560px){.acu{border-radius:0;max-height:100vh;max-height:100dvh;height:100vh;height:100dvh}}.iph-warn{margin:0 0 10px;font-size:var(--ui-text-meta);color:var(--danger-text, var(--danger-color, #dc2626))}.iph-list{margin:0;padding:0;list-style:none;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden}.iph-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border-primary)}.iph-row:first-child{border-top:none}.iph-icon{flex:none;font-size:var(--ui-text-body);color:var(--accent-color);display:inline-flex}.iph-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.iph-desc{font-size:var(--ui-text-body);font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.iph-meta{font-size:var(--ui-text-cap);color:var(--text-tertiary);overflow-wrap:anywhere}.iph-amt{flex:none;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.iph-btn{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;font:inherit;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-primary);background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer}.iph-btn:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-color)}.iph-btn:disabled{opacity:.6;cursor:progress}.iph-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.iph-spin{animation:iph-spin 1s linear infinite}@keyframes iph-spin{to{transform:rotate(360deg)}}@media (max-width: 560px){.iph-row{flex-wrap:wrap;padding:12px}.iph-main{flex-basis:calc(100% - 32px)}.iph-amt{margin-left:30px}.iph-btn{margin-left:auto;min-height:40px}}.pp-wrap{max-width:1080px;display:flex;flex-direction:column;gap:28px;padding:4px 0 64px}.pp-h2{margin:0 0 12px;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary)}.pp-current{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:8px 14px;font-size:var(--ui-text-meta);color:var(--text-secondary);background:var(--background-secondary);border:1px solid var(--border-light);border-radius:999px}.pp-current strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.pp-current .pp-link{font-size:var(--ui-text-meta)}.pp-dot-ok{width:8px;height:8px;border-radius:50%;background:var(--success-color, #16a34a)}.pp-notice{margin:0;padding:10px 14px;font-size:var(--ui-text-meta);color:var(--text-primary);background:var(--warning-bg, #fffbeb);border:1px solid var(--warning-border, #fde68a);border-radius:10px}.pp-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pp-plan{display:flex;flex-direction:column;padding:22px 20px 20px;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:14px;transition:border-color .15s ease,transform .15s ease}.pp-plan:hover{border-color:var(--border-accent)}.pp-plan.is-popular{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.pp-plan--custom{background:var(--background-secondary)}.pp-plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}.pp-plan-name{margin:0;font-size:var(--ui-text-meta);font-weight:600;letter-spacing:.02em;color:var(--text-secondary)}.pp-badge{padding:2px 8px;font-size:var(--ui-text-cap);font-weight:700;color:var(--accent-color);background:var(--background-accent);border-radius:999px}.pp-price{display:flex;align-items:baseline;gap:4px;margin:14px 0 0}.pp-price span{font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);font-variant-numeric:tabular-nums}.pp-plan--custom .pp-price span{font-size:26px}.pp-price small{font-size:var(--ui-text-meta);color:var(--text-tertiary)}.pp-credits{margin:14px 0 0;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.pp-rate{margin:2px 0 20px;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.pp-plan .pp-btn{margin-top:auto}.pp-facts{margin:-6px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px}.pp-facts li{display:flex;align-items:center;gap:8px;font-size:var(--ui-text-meta);color:var(--text-secondary)}.pp-facts li strong{color:var(--text-primary)}.pp-facts svg{color:var(--accent-color);flex:none}.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font:inherit;font-size:14px;font-weight:600;text-decoration:none;border-radius:9px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.pp-btn:disabled{opacity:.5;cursor:not-allowed}.pp-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.pp-btn--primary{color:var(--text-on-primary-button);background:var(--accent-color)}.pp-btn--primary:hover:not(:disabled){background:var(--accent-color-hover, var(--accent-color))}.pp-btn--outline{color:var(--text-primary);background:var(--background-primary);border-color:var(--border-primary)}.pp-btn--outline:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-color)}.pp-btn--ghost{color:var(--text-primary);background:transparent;border-color:var(--border-primary)}.pp-btn--ghost:hover{border-color:var(--accent-color);color:var(--accent-color)}.pp-btn--sm{padding:7px 14px;font-size:var(--ui-text-meta)}.pp-section{display:flex;flex-direction:column}.pp-addons{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.pp-addon{display:flex;flex-direction:column;padding:18px;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:12px}.pp-addon-icon{font-size:var(--ui-text-card);color:var(--accent-color)}.pp-addon h3{margin:10px 0 0;font-size:14px;font-weight:700;color:var(--text-primary)}.pp-addon p{margin:3px 0 16px;font-size:var(--ui-text-meta);color:var(--text-tertiary)}.pp-link{padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--accent-color);cursor:pointer}.pp-link:hover{text-decoration:underline}.pp-addon-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.pp-addon-price{font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.pp-addon-price small{font-size:var(--ui-text-cap);font-weight:500;color:var(--text-tertiary)}.pp-tag{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.pp-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:var(--text-secondary)}.pp-toggle{display:flex;gap:10px;align-items:flex-start;padding:12px;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:10px;cursor:pointer}.pp-toggle.is-on{border-color:var(--accent-color)}.pp-toggle input{margin-top:2px;width:16px;height:16px;flex:none;accent-color:var(--accent-color)}.pp-toggle span{display:flex;flex-direction:column;gap:2px;font-size:var(--ui-text-meta);color:var(--text-primary)}.pp-toggle small{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.pp-config{display:flex;flex-direction:column;gap:12px}.pp-config-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pp-config-note{margin:0;font-size:var(--ui-text-cap);line-height:1.45;color:var(--text-tertiary)}.pp-seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px}.pp-seg button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 6px;font:inherit;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary);background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer}.pp-seg button small{font-size:var(--ui-text-cap);font-weight:500;color:var(--text-tertiary)}.pp-seg button.is-on{color:var(--accent-color);border-color:var(--accent-color)}.pp-num{display:flex;flex-direction:column;gap:5px;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.pp-num input{width:100%;box-sizing:border-box;padding:9px 11px;font:inherit;font-size:14px;color:var(--input-text, var(--text-primary));background:var(--input-background, var(--background-primary));border:1px solid var(--input-border, var(--border-primary));border-radius:8px}@media (max-width: 980px){.pp-plans{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-addons{grid-template-columns:1fr}}@media (max-width: 560px){.pp-plans{grid-template-columns:1fr}.pp-facts{justify-content:flex-start;flex-direction:column}}.pp-tone-cyan{--tone: var(--btn-action-structure-text);--tone-soft: var(--btn-action-structure-bg);--tone-border: var(--btn-action-structure-border)}.pp-tone-emerald{--tone: var(--btn-action-review-text);--tone-soft: var(--btn-action-review-bg);--tone-border: var(--btn-action-review-border)}.pp-tone-indigo{--tone: var(--btn-action-assign-text);--tone-soft: var(--btn-action-assign-bg);--tone-border: var(--btn-action-assign-border)}.pp-tone-violet{--tone: var(--btn-action-print-text);--tone-soft: var(--btn-action-print-bg);--tone-border: var(--btn-action-print-border)}.pp-tone-orange{--tone: var(--btn-action-key-text);--tone-soft: var(--btn-action-key-bg);--tone-border: var(--btn-action-key-border)}.pp-tone-pink{--tone: var(--btn-action-sheet-text);--tone-soft: var(--btn-action-sheet-bg);--tone-border: var(--btn-action-sheet-border)}.pp-plan[class*=pp-tone-]{position:relative;gap:0;border:1px solid var(--tone-border);border-top:3px solid var(--tone);background:linear-gradient(180deg,var(--tone-soft) 0,transparent 7rem),var(--background-primary)}.pp-plan.is-popular{box-shadow:0 0 0 2px var(--tone),var(--box-shadow-md, 0 10px 28px rgba(0, 0, 0, .12))}.pp-ribbon{position:absolute;top:14px;right:14px;padding:2px 9px;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--tone);border-radius:999px}.pp-plan[class*=pp-tone-] .pp-plan-name{font-size:var(--ui-text-card);font-weight:800;color:var(--tone)}.pp-plan.is-popular .pp-plan-name{padding-right:110px}.pp-plan[class*=pp-tone-] .pp-credits{margin-top:6px;font-size:var(--ui-text-card);font-weight:800;color:var(--tone)}.pp-credits small{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.pp-meta{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--ui-text-meta);color:var(--text-secondary)}.pp-meta li{display:inline-flex;align-items:center;gap:6px}.pp-meta svg{color:var(--tone)}.pp-blurb{margin:12px 0 16px;padding-top:10px;border-top:1px dashed var(--tone-border);font-size:var(--ui-text-meta);line-height:1.45;color:var(--text-secondary)}.pp-plan .pp-price{margin-top:10px}.pp-badges{display:flex;flex-wrap:wrap;gap:6px;min-height:22px;margin-top:8px}.pp-chip{padding:2px 9px;font-size:var(--ui-text-cap);font-weight:600;color:var(--tone, var(--text-secondary));background:var(--background-primary);border:1px dashed var(--tone-border, var(--border-light));border-radius:999px}.pp-chip--save{color:var(--btn-action-review-text);background:var(--btn-action-review-bg);border:1px solid var(--btn-action-review-border)}.pp-btn--tone{color:var(--tone);background:var(--background-primary);border-color:var(--tone-border)}.pp-btn--tone:hover:not(:disabled){color:#fff;background:var(--tone);border-color:var(--tone)}.pp-plan.is-popular .pp-btn--primary{background:var(--tone)}.pp-facts li{padding:7px 12px;border-radius:999px;border:1px solid transparent}.pp-fact-blue{color:var(--btn-action-report-text);background:var(--btn-action-report-bg);border-color:var(--btn-action-report-border)!important}.pp-fact-violet{color:var(--btn-action-print-text);background:var(--btn-action-print-bg);border-color:var(--btn-action-print-border)!important}.pp-fact-green{color:var(--btn-action-review-text);background:var(--btn-action-review-bg);border-color:var(--btn-action-review-border)!important}.pp-fact-orange{color:var(--btn-action-key-text);background:var(--btn-action-key-bg);border-color:var(--btn-action-key-border)!important}.pp-fact-cyan{color:var(--btn-action-structure-text);background:var(--btn-action-structure-bg);border-color:var(--btn-action-structure-border)!important}.pp-facts li strong,.pp-facts li svg{color:inherit}.pp-addon{border-top:3px solid var(--border-primary)}.pp-addon:has(.pp-tone-cyan){border-top-color:var(--btn-action-structure-text)}.pp-addon:has(.pp-tone-violet){border-top-color:var(--btn-action-print-text)}.pp-addon:has(.pp-tone-emerald){border-top-color:var(--btn-action-review-text)}.pp-addon-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:var(--ui-text-card);color:var(--tone);background:var(--tone-soft);border:1px solid var(--tone-border);border-radius:10px}.pp-sale{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;overflow:hidden;border-radius:16px;border:1px solid var(--btn-action-key-border);background:radial-gradient(circle at 92% 50%,rgba(249,115,22,.22),transparent 55%),radial-gradient(circle at 8% 0%,rgba(219,39,119,.14),transparent 45%),linear-gradient(135deg,var(--btn-action-key-bg),var(--btn-action-sheet-bg))}.pp-sale:before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:repeating-radial-gradient(circle at 6px 0,#f59e0b 0 4px,transparent 4.5px 12px);opacity:.9}.pp-sale-text{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;min-width:0}.pp-sale-kicker{font-size:var(--ui-text-cap);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--btn-action-sheet-text)}.pp-sale-title{margin:0;font-size:26px;font-weight:900;letter-spacing:-.02em;background:linear-gradient(90deg,#ea580c,#dc2626 55%,#db2777);-webkit-background-clip:text;background-clip:text;color:transparent}.pp-sale-tag{margin:0;font-size:14px;color:var(--text-secondary)}.pp-sale-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.pp-sale-chip{padding:4px 12px;font-size:var(--ui-text-cap);font-weight:800;color:#fff;background:linear-gradient(90deg,#ea580c,#dc2626);border-radius:999px}.pp-sale-chip--soft{color:var(--btn-action-key-text);background:var(--background-primary);border:1px solid var(--btn-action-key-border);font-weight:700}.pp-sale-art{position:relative;z-index:1;flex:none;width:168px;height:168px;color:var(--btn-action-key-text);filter:drop-shadow(0 4px 14px rgba(234,88,12,.25))}.pp-was{display:flex;align-items:center;gap:8px;margin:10px 0 -6px;font-size:14px;color:var(--text-tertiary)}.pp-was s{text-decoration-thickness:2px;text-decoration-color:#dc2626}.pp-off{padding:2px 8px;font-size:var(--ui-text-cap);font-weight:800;letter-spacing:.03em;color:#fff;background:linear-gradient(90deg,#ea580c,#dc2626);border-radius:999px}a.pp-btn{text-decoration:none}@media (max-width: 640px){.pp-sale{flex-direction:column-reverse;align-items:flex-start;padding:20px}.pp-sale-art{width:120px;height:120px;align-self:center}.pp-sale-title{font-size:22px}}.pp-sale-img{position:relative;z-index:1;flex:none;width:auto;height:210px;margin:-18px -8px -22px 0;filter:drop-shadow(0 0 18px rgba(249,115,22,.28))}@media (max-width: 640px){.pp-sale-img{height:160px;margin:-8px auto 0;align-self:center}}.pp-wrap .pp-current-cycle{margin-left:auto;padding:2px 10px;border-radius:999px;background:var(--accent-color-light);color:var(--text-accent);font-size:var(--ui-text-cap);font-weight:700}.pp-wrap .pp-cycle{align-self:center;display:inline-flex;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--border-primary);background:var(--background-secondary)}.pp-wrap .pp-cycle button{display:inline-flex;align-items:baseline;gap:6px;padding:8px 18px;border:none;border-radius:999px;background:transparent;color:var(--text-secondary);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.pp-wrap .pp-cycle button small{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-tertiary)}.pp-wrap .pp-cycle button.is-on{background:var(--accent-color);color:var(--text-on-primary-button, #fff)}.pp-wrap .pp-cycle button.is-on small{color:inherit;opacity:.85}.pp-wrap .pp-autopay{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;border:1px solid var(--border-primary);background:var(--background-secondary)}.pp-wrap .pp-autopay.is-on{border-color:var(--success-border, var(--border-primary));background:var(--success-bg, var(--background-secondary))}.pp-wrap .pp-autopay>div{display:flex;flex-direction:column;gap:2px}.pp-wrap .pp-autopay strong{color:var(--text-primary)}.pp-wrap .pp-autopay span{font-size:var(--ui-text-meta);color:var(--text-secondary)}@media (max-width: 480px){.pp-wrap .pp-cycle{align-self:stretch}.pp-wrap .pp-cycle button{flex:1;justify-content:center;padding:8px 10px}.pp-wrap .pp-cycle button small{display:none}}.pp-was{flex-wrap:wrap}.pp-was-step{display:inline-flex;gap:4px;align-items:baseline}.pp-with-code{margin:-4px 0 0;font-size:var(--ui-text-cap);font-weight:700;color:var(--success-text)}.pp-coupon{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 16px;font-size:14px;color:var(--text-primary);background:var(--warning-bg);border:1px solid var(--btn-action-key-border);border-radius:12px}.pp-coupon-timer{font-weight:800;color:var(--warning-text);white-space:nowrap}.pp-code{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14px}.pp-code label{font-weight:600;color:var(--text-secondary)}.pp-code input{width:180px;min-height:40px;padding:0 12px;font:inherit;font-weight:700;letter-spacing:.04em;color:var(--text-primary);background:var(--input-bg, var(--background-secondary));border:1px solid var(--border-primary);border-radius:8px}.pp-code input:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.pp-code-link{align-self:flex-start;padding:6px 0;border:none;background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--accent-color);cursor:pointer}.pp-code-msg{margin:-4px 0 0;font-size:13.5px;font-weight:600}.pp-code-msg.is-ok{color:var(--success-text)}.pp-code-msg.is-err{color:var(--danger-text)}.pp-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}.pp-bar-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px 16px;margin-left:auto}.pp-wrap .pp-bar .pp-cycle{align-self:auto}.pp-bar .pp-code-msg{flex-basis:100%;margin:0;text-align:right}@media (max-width: 640px){.pp-bar-end{width:100%;justify-content:flex-start;margin-left:0}.pp-bar .pp-code-msg{text-align:left}}.tls{min-height:100vh;min-height:100dvh;background:radial-gradient(90% 60% at 100% 0%,rgba(var(--accent-color-rgb),.1) 0%,transparent 60%),var(--background-primary);color:var(--text-primary)}.tls-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;border-bottom:1px solid var(--border-primary);background:color-mix(in srgb,var(--background-secondary) 90%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.tls-logo{height:34px;width:auto;max-width:180px;object-fit:contain}.tls-signout{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-secondary);font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.tls-signout:hover{color:var(--danger-color);border-color:var(--danger-color)}.tls-main{max-width:1240px;margin:0 auto;padding:28px 24px 48px;display:flex;flex-direction:column;gap:24px}.tls-hero{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg, 16px);background:var(--background-secondary)}.tls-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--warning-bg, rgba(245, 158, 11, .14));color:var(--warning-text, #b45309);font-size:var(--ui-text-cap);font-weight:800;letter-spacing:.03em;text-transform:uppercase}.tls-title{margin:0;font-size:1.9rem;font-weight:800;letter-spacing:-.02em}.tls-lead{margin:0;max-width:62ch;font-size:var(--ui-text-body);line-height:1.6;color:var(--text-secondary)}.tls-kept{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}.tls-kept li{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.tls-kept svg{color:var(--success-color, #059669)}.tls-help{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px;font-size:.88rem;color:var(--text-tertiary)}.tls-help-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-secondary);font-weight:700;text-decoration:none}.tls-help-link:hover{border-color:var(--accent-color);color:var(--text-accent)}.tls-help-link.is-wa:hover{border-color:#25d366;color:#128c7e}@media (max-width: 768px){.tls-top{padding:10px 16px}.tls-main{padding:18px 16px 36px;gap:18px}.tls-hero{padding:20px 18px}.tls-title{font-size:1.45rem}}.ob{display:flex;align-items:center;gap:16px;margin:0 0 16px;padding:14px 16px;border-radius:12px;background:var(--btn-action-key-bg);border:1px solid var(--btn-action-key-border);color:var(--text-primary)}.ob-icon{flex:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#c2410c;color:#fff}.ob-icon svg{width:26px;height:26px}.ob-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ob-title{font-size:15.5px;font-weight:700}.ob-sub{font-size:13.5px;color:var(--text-secondary)}.ob-sub b{color:var(--text-primary)}.ob-code{font-family:var(--font-family-mono, ui-monospace, monospace);font-size:13px;color:var(--text-primary);background:var(--background-secondary);border:1px dashed var(--btn-action-key-border);border-radius:6px;padding:1px 6px}.ob-clock{display:flex;gap:6px}.ob-unit{display:flex;flex-direction:column;align-items:center;gap:3px}.ob-unit b{min-width:44px;padding:5px 0;text-align:center;font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;background:var(--background-secondary);border:1px solid var(--btn-action-key-border);border-radius:8px}.ob-unit small{font-size:11px;color:var(--text-secondary)}.ob-cta{flex:none;height:44px;padding:0 16px;border:none;border-radius:10px;background:#c2410c;color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.ob-cta:hover{background:#9a3412}.ob-close{flex:none;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text-tertiary);font-size:18px;cursor:pointer}.ob-close:hover{background:var(--background-hover)}@media (max-width: 900px){.ob{flex-wrap:wrap;gap:12px}.ob-text{flex-basis:calc(100% - 110px)}.ob-clock{order:3}.ob-cta{order:4;margin-left:auto}.ob-close{position:absolute}.ob{position:relative;padding-right:44px}.ob-close{top:6px;right:6px;width:44px;height:44px}.ob-unit b{min-width:38px;font-size:16px}}.admin-page-container{animation:fadeIn .4s cubic-bezier(.16,1,.3,1)}@keyframes slideInRight{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.ai-command-strip{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem}.ai-alert-card{display:flex;align-items:center;padding:1rem 1.25rem;background:var(--background-secondary);border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-sm);border:1px solid var(--border-primary);border-left-width:4px;transition:transform .2s ease,box-shadow .2s ease;animation:slideInRight .3s ease backwards;flex:1;min-width:250px}.ai-alert-card:hover{transform:translate(4px);box-shadow:var(--box-shadow-md)}.ai-alert-card.danger{border-left-color:var(--danger-color);background-color:var(--danger-bg)}.ai-alert-card.warning{border-left-color:var(--warning-color);background-color:var(--warning-bg)}.ai-alert-card.success{border-left-color:var(--success-color);background-color:var(--success-bg)}.ai-alert-card.info{border-left-color:var(--info-color);background-color:var(--info-bg)}.ai-alert-icon-wrapper{font-size:var(--ui-text-card);margin-right:1rem;display:flex;align-items:center;flex-shrink:0}.ai-alert-card.danger .ai-alert-icon-wrapper{color:var(--danger-color)}.ai-alert-card.warning .ai-alert-icon-wrapper{color:var(--warning-color)}.ai-alert-card.success .ai-alert-icon-wrapper{color:var(--success-color)}.ai-alert-card.info .ai-alert-icon-wrapper{color:var(--info-color)}.ai-alert-content-wrapper{flex-grow:1;display:flex;flex-direction:column;gap:.1rem}.ai-alert-primary{font-weight:600;font-size:var(--ui-text-body);color:var(--text-primary)}.ai-alert-secondary{font-size:var(--ui-text-meta);color:var(--text-secondary)}.ai-action-btn{margin-left:1rem;white-space:nowrap;font-size:var(--ui-text-meta);padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border-secondary);background-color:var(--background-secondary);font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s;box-shadow:var(--box-shadow-sm)}.ai-action-btn:hover{background-color:var(--background-tertiary);border-color:var(--border-primary);transform:translateY(-1px)}.ai-recommendation-card{background:linear-gradient(135deg,#4f46e5,#3730a3);color:#fff;border-radius:var(--border-radius-lg);padding:1.5rem 2rem;box-shadow:var(--box-shadow-lg);display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.ai-recommendation-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 90% 10%,rgba(255,255,255,.1) 0%,transparent 20%);pointer-events:none}.ai-rec-header{display:flex;align-items:center;gap:.75rem;font-size:var(--ui-text-meta);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#ffffffe6}.ai-rec-body{font-size:var(--ui-text-card);font-weight:600;line-height:1.4;max-width:800px}.ai-rec-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;background-color:#ffffff1a;border-radius:var(--border-radius-md);padding:.75rem 1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ai-rec-impact{font-size:.9rem;font-weight:500;color:#e0e7ff;display:flex;align-items:center;gap:.5rem}.ai-rec-cta{background-color:#fff;color:#4338ca;border:none;padding:.5rem 1.25rem;border-radius:6px;font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.ai-rec-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.revenue-risk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.risk-stat-card{background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:var(--border-radius-lg);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;min-height:140px;transition:box-shadow .2s}.risk-stat-card:hover{box-shadow:var(--box-shadow-md);border-color:var(--border-accent)}.risk-header{font-size:var(--ui-text-meta);font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:.5rem}.risk-value{font-size:2.5rem;font-weight:800;color:var(--text-primary);line-height:1.1;margin-bottom:.75rem}.risk-value.money{color:var(--danger-color)}.risk-subtext{font-size:var(--ui-text-meta);color:var(--text-tertiary);font-weight:500}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.kpi-card{background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:var(--border-radius-lg);padding:1.5rem;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:box-shadow .2s}.kpi-card:hover{box-shadow:var(--box-shadow-sm)}.kpi-card-icon-wrapper{width:3rem;height:3rem;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem;color:var(--icon-color);background-color:var(--icon-bg)}.kpi-card-content{display:flex;flex-direction:column;gap:.25rem}.kpi-card-value-row{display:flex;align-items:baseline;gap:.75rem}.kpi-card-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.kpi-card-growth{font-size:var(--ui-text-meta);font-weight:600;padding:.2rem .5rem;border-radius:4px}.kpi-card-growth.positive{color:var(--success-color);background-color:var(--success-bg)}.kpi-card-growth.negative{color:var(--danger-color);background-color:var(--danger-bg)}.kpi-card-title{font-size:var(--ui-text-body);font-weight:600;color:var(--text-secondary)}.kpi-card-note{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-secondary);font-size:var(--ui-text-meta);color:var(--text-tertiary)}.dashboard-main-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.admin-card{background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:var(--border-radius-lg);overflow:hidden;display:flex;flex-direction:column}.admin-card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-secondary);display:flex;align-items:center;gap:.75rem;font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary);background-color:var(--background-tertiary)}.admin-card-header svg{color:var(--text-secondary)}.admin-card-body{padding:1.5rem;flex-grow:1}.faculty-table-container{padding:0}.faculty-table{width:100%;border-collapse:collapse}.faculty-table th{text-align:left;padding:1rem 1.5rem;font-size:var(--ui-text-meta);font-weight:600;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-secondary);background-color:var(--background-primary)}.faculty-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-secondary);font-size:var(--ui-text-body);color:var(--text-primary)}.faculty-table tr:last-child td{border-bottom:none}.faculty-footer-insight{padding:1rem 1.5rem;background-color:var(--background-tertiary);border-top:1px solid var(--border-secondary);font-size:var(--ui-text-meta);color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.faculty-footer-insight:before{content:"💡";font-size:var(--ui-text-body)}.business-stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.subscription-breakdown{display:flex;gap:1rem;margin-bottom:1.5rem}.sub-tier{flex:1;display:flex;flex-direction:column;align-items:center;padding:1rem;background-color:var(--background-tertiary);border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);transition:transform .2s}.sub-tier:hover{transform:translateY(-2px)}.sub-tier.pro{background-color:#3b82f61a;border-color:#3b82f64d}.sub-tier.plus{background-color:#10b9811a;border-color:#10b9814d}.sub-tier.ultra{background-color:#a855f71a;border-color:#a855f74d}.sub-label{font-size:var(--ui-text-meta);color:var(--text-secondary);margin-bottom:.25rem;font-weight:600}.sub-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.sub-tier.pro .sub-value{color:var(--info-color)}.sub-tier.plus .sub-value{color:var(--success-color)}.sub-tier.ultra .sub-value{color:#a855f7}.business-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-secondary)}.plan-enrollment-card{margin-bottom:1.5rem}.plan-enrollment-table th.text-right,.plan-enrollment-table td.text-right{text-align:right}.plan-enrollment-table td{vertical-align:middle}.plan-pill{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:var(--ui-text-cap);font-weight:700;background-color:var(--background-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary)}.plan-pill.plus{background-color:#10b9811a;border-color:#10b9814d;color:var(--success-color)}.plan-pill.pro{background-color:#3b82f61a;border-color:#3b82f64d;color:var(--info-color)}.plan-pill.ultra{background-color:#a855f71a;border-color:#a855f74d;color:#a855f7}.pe-zero{color:var(--text-tertiary, var(--text-secondary));opacity:.5}.pe-out{color:var(--danger-color);font-weight:700}.conversion-label{font-size:.9rem;color:var(--text-secondary)}.conversion-value{font-size:var(--ui-text-card);font-weight:700;color:var(--warning-color)}.conversion-value.high{color:var(--success-color)}.teacher-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.teacher-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.teacher-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.teacher-stat-label{font-size:var(--ui-text-cap);color:var(--text-secondary);line-height:1.2}.business-badge{margin-left:auto;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-tertiary);background-color:var(--background-tertiary);padding:.25rem .6rem;border-radius:999px}.centered-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:50vh;text-align:center}.error-message{color:var(--danger-color);font-weight:500}@media (max-width: 768px){.ai-alert-card{flex-direction:column;align-items:flex-start;gap:.75rem}.ai-command-strip{flex-direction:row;flex-wrap:wrap}.ai-alert-card{flex:1 1 calc(50% - .75rem);min-width:unset}.ai-action-btn{margin-left:0;width:100%;text-align:center}.ai-rec-footer{flex-direction:column;align-items:flex-start}.ai-rec-cta{width:100%}.kpi-grid,.revenue-risk-grid,.business-stats-container{grid-template-columns:1fr}.teacher-stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.faculty-table th,.faculty-table td{padding:.75rem 1rem}}.info-tooltip-wrapper{display:inline-flex;align-items:center;justify-content:center;margin-left:.5rem;color:var(--text-tertiary);cursor:help;transition:color .2s;position:relative}.info-tooltip-wrapper:hover{color:var(--accent-color)}.info-tooltip-icon{font-size:var(--ui-text-body)}.risk-header,.kpi-card-header-row,.admin-card-header{display:flex;align-items:center;justify-content:space-between}.kpi-card-header-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:.5rem}.kpi-card-title{margin:0}.adb .adb-hero{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.25rem 1.5rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:radial-gradient(120% 140% at 100% 0%,rgba(var(--accent-color-rgb),.12) 0%,transparent 55%),var(--background-secondary)}.adb .adb-hero-text{min-width:0;display:flex;flex-direction:column;gap:.25rem}.adb .adb-eyebrow{margin:0;font-size:var(--ui-text-cap);font-weight:600;letter-spacing:.02em;color:var(--text-tertiary)}.adb .adb-hero-actions{display:flex;flex-wrap:wrap;gap:.5rem}.adb .adb-hero-actions .btn{display:inline-flex;align-items:center;gap:.4rem}.adb .adb-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem}.adb .adb-kpi{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:1rem 1.1rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary);transition:border-color .15s ease,box-shadow .15s ease}.adb .adb-kpi:hover{border-color:var(--border-accent, var(--accent-color));box-shadow:var(--box-shadow-sm)}.adb .adb-kpi-top{display:flex;align-items:center;gap:.5rem;min-width:0}.adb .adb-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--accent-color-light);color:var(--text-accent)}.adb .adb-kpi-icon.is-good{background:var(--success-bg);color:var(--success-color)}.adb .adb-kpi-icon.is-warn{background:var(--warning-bg);color:var(--warning-color)}.adb .adb-kpi-icon.is-bad{background:var(--danger-bg);color:var(--danger-color)}.adb .adb-kpi-label{flex:1;min-width:0;font-size:var(--ui-text-cap);font-weight:700;line-height:1.25;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.adb .adb-kpi-value{font-size:1.65rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text-primary);font-variant-numeric:tabular-nums}.adb .adb-kpi-sub{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-tertiary)}.adb .adb-kpi-sub.is-good{color:var(--success-color)}.adb .adb-kpi-sub.is-warn{color:var(--warning-text, var(--warning-color))}.adb .adb-kpi-sub.is-bad{color:var(--danger-color)}.adb .adb-card .admin-card-header{justify-content:space-between;padding:1rem 1.25rem;font-size:var(--ui-text-body)}.adb .adb-card .admin-card-body{padding:1.25rem;display:flex;flex-direction:column}.adb .adb-grid .adb-link{margin-top:auto;padding-top:1rem;align-self:flex-start}.adb .adb-card-title{display:flex;align-items:center;gap:.5rem;min-width:0}.adb .adb-today{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.adb .adb-today-half{display:flex;flex-direction:column;gap:8px;padding:16px 18px;min-width:0}.adb .adb-today-half+.adb-today-half{border-left:1px solid var(--border-primary)}.adb .adb-today-big{margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.adb .adb-today-big b{font-size:1.7rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.adb .adb-today-big span{color:var(--text-secondary);font-size:.88rem}.adb .adb-today-big b.is-good{color:var(--success-color)}.adb .adb-today-big b.is-fair{color:var(--warning-color)}.adb .adb-today-big b.is-weak{color:var(--danger-color)}.adb .adb-today .adb-link{align-self:flex-start;margin-top:auto}@media (max-width: 768px){.adb .adb-today-half+.adb-today-half{border-left:0;border-top:1px solid var(--border-primary)}}.adb .adb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:stretch}.adb .adb-empty{margin:0;padding:.75rem 0;font-size:.88rem;color:var(--text-tertiary)}.adb .adb-muted{color:var(--text-tertiary);font-weight:500}.adb .adb-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;padding:0;border:none;background:none;color:var(--accent-color);font:inherit;font-size:var(--ui-text-meta);font-weight:700;cursor:pointer}.adb .adb-link:hover{text-decoration:underline}.adb .adb-faculty{margin-top:1.25rem}.adb .adb-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--background-tertiary)}.adb .adb-bar-seg{height:100%}.adb .adb-bar-seg+.adb-bar-seg{box-shadow:-2px 0 0 var(--background-secondary)}.adb .adb-bar-seg.is-active,.adb .adb-dot.is-active{background:var(--success-color, #10b981)}.adb .adb-bar-seg.is-between,.adb .adb-dot.is-between{background:var(--accent-color)}.adb .adb-bar-seg.is-dormant,.adb .adb-dot.is-dormant{background:var(--warning-color, #f59e0b)}.adb .adb-legend{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}.adb .adb-legend li{display:flex;align-items:center;gap:.6rem;font-size:.88rem}.adb .adb-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.adb .adb-legend-label{flex:1;color:var(--text-secondary)}.adb .adb-legend-value{font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.adb .adb-setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.adb .adb-step{display:flex;flex-direction:column;gap:.6rem;padding:1rem;border:1px dashed var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary)}.adb .adb-step.is-done{border-style:solid;border-color:var(--success-border, var(--border-primary));background:var(--success-bg, var(--background-primary))}.adb .adb-step-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--accent-color-light);color:var(--text-accent)}.adb .adb-step.is-done .adb-step-icon{background:transparent;color:var(--success-color)}.adb .adb-step-text{display:flex;flex-direction:column;gap:.15rem}.adb .adb-step-text strong{color:var(--text-primary)}.adb .adb-step-text span{font-size:var(--ui-text-meta);color:var(--text-secondary)}.adb .adb-step-cta{align-self:flex-start}.adb .adb-money{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:1.5rem}@media (max-width: 1500px){.adb .adb-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 992px){.adb .adb-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 768px){.adb .adb-hero{padding:1rem;align-items:stretch}.adb .adb-hero-actions{width:100%}.adb .adb-hero-actions .btn{flex:1 1 auto;justify-content:center}.adb .adb-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.adb .adb-kpi{padding:.85rem}.adb .adb-kpi-value{font-size:1.35rem}.adb .adb-setup-steps{grid-template-columns:minmax(0,1fr)}}.sdl-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;font:inherit;font-size:var(--ui-text-meta);font-weight:600;color:#fff;background:var(--intro-tour-accent, #7c3aed);border:1px solid var(--intro-tour-accent, #7c3aed);border-radius:999px;cursor:pointer;white-space:nowrap}.sdl-btn:hover{filter:brightness(1.08)}.sdl-btn:focus-visible{outline:2px solid var(--intro-tour-accent, #7c3aed);outline-offset:2px}.sdl-btn svg{width:14px;height:14px}.sdl-btn.is-subtle{color:var(--intro-tour-accent, #7c3aed);background:transparent}.sdl-btn.is-subtle:hover{color:#fff;background:var(--intro-tour-accent, #7c3aed)}.sdl-btn.is-sidebar{display:flex;width:100%;justify-content:flex-start;gap:12px;margin-bottom:10px;padding:10px 14px;border-radius:10px;flex-shrink:0}.sdl-btn.is-sidebar svg{width:16px;height:16px}@media (max-width: 480px){.sdl-btn{width:100%;justify-content:center}.sdl-btn.is-sidebar{justify-content:flex-start}}.tp-panel{display:flex;flex-direction:column;gap:18px;padding:20px;margin-bottom:22px;background:var(--background-primary);border:1px solid var(--border-primary);border-left:3px solid var(--accent-color);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-sm)}.tp-panel.is-urgent{border-left-color:var(--warning-color)}.tp-panel.is-over{border-left-color:var(--danger-color)}.tp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.tp-headline{min-width:240px;flex:1 1 260px}.tp-title{margin:0 0 4px;font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary)}.tp-sub{margin:0;font-size:var(--ui-text-meta);line-height:1.5;color:var(--text-secondary);max-width:62ch}.tp-meters{display:flex;gap:22px;flex-wrap:wrap}.tp-meter{display:flex;flex-direction:column;gap:4px;min-width:132px}.tp-meter-k{display:inline-flex;align-items:center;gap:5px;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.tp-meter-v{font-size:21px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.tp-meter-of{font-size:var(--ui-text-cap);font-weight:500;color:var(--text-tertiary)}.tp-bar{height:5px;margin-top:3px;background:var(--background-tertiary);border-radius:var(--border-radius-pill);overflow:hidden}.tp-bar-fill{display:block;height:100%;background:var(--accent-color);border-radius:var(--border-radius-pill)}.tp-panel.is-urgent .tp-bar-fill{background:var(--warning-color)}.tp-panel.is-over .tp-bar-fill{background:var(--danger-color)}.tp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.tp-step{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.tp-step.is-next{border-color:var(--accent-color);background:var(--background-accent)}.tp-step-mark{flex-shrink:0;width:18px;height:18px;margin-top:1px;display:grid;place-items:center;font-size:var(--ui-text-cap);border:1.5px solid var(--border-primary);border-radius:var(--border-radius-round);color:var(--text-on-primary-button)}.tp-step.is-done .tp-step-mark{background:var(--success-color);border-color:var(--success-color)}.tp-step.is-next .tp-step-mark{border-color:var(--accent-color)}.tp-step-body{display:flex;flex-direction:column;gap:2px}.tp-step-label{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-primary);line-height:1.35}.tp-step.is-done .tp-step-label{color:var(--text-tertiary);text-decoration:line-through}.tp-step-hint{font-size:var(--ui-text-cap);color:var(--text-secondary);line-height:1.4}.tp-actions{display:flex;gap:10px;flex-wrap:wrap}.tp-cta{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--text-on-primary-button);background:var(--accent-color);border:1px solid var(--accent-color);border-radius:var(--border-radius-md)}.tp-cta:hover{background:var(--accent-color-hover);border-color:var(--accent-color-hover)}.tp-secondary{padding:10px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--text-secondary);background:transparent;border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.tp-secondary:hover{background:var(--background-hover)}.tp-cta:focus-visible,.tp-secondary:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.tp-tour-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 11px;font:inherit;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary);background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-pill);cursor:pointer;transition:color .15s ease,border-color .15s ease}.tp-tour-btn:hover{color:var(--text-primary);border-color:var(--border-accent)}.tp-tour-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.tp-tour-btn svg{width:14px;height:14px}@media (prefers-reduced-motion: reduce){.tp-tour-btn{transition:none}}@media (max-width: 768px){.tp-top{flex-direction:column;gap:16px}.tp-headline{flex:0 0 auto;min-width:0}.tp-meters{width:100%}}.tp-tour-box{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px;padding:10px 12px;background:color-mix(in srgb,var(--accent-color, #2563eb) 7%,transparent);border:1px solid color-mix(in srgb,var(--accent-color, #2563eb) 30%,transparent);border-radius:var(--border-radius-md, 8px)}.tp-tour-langs{display:inline-flex;gap:4px;margin-left:auto}.tp-tour-lang{padding:5px 10px;font:inherit;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary);background:transparent;border:1px solid var(--border-primary);border-radius:var(--border-radius-pill);cursor:pointer}.tp-tour-lang.is-on{color:#fff;background:var(--accent-color, #2563eb);border-color:var(--accent-color, #2563eb)}.tp-tour-lang:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@media (max-width: 768px){.tp-tour-box{flex-direction:column;align-items:stretch}.tp-tour-langs{margin-left:0}.tp-tour-lang{flex:1}}.tp-gold{padding:10px 18px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;color:#2a1e00;background:linear-gradient(180deg,#ffdf8a,#f2c14e 55%,#dfa62c);border:1px solid #c08d1d;border-radius:var(--border-radius-md);box-shadow:0 1px #ffffff8c inset,0 1px 3px #0000002e}.tp-gold:hover{background:linear-gradient(180deg,#ffe9a8,#f7cc63 55%,#e8b23a)}.tp-gold:focus-visible{outline:2px solid #c08d1d;outline-offset:2px}@media (prefers-reduced-motion: no-preference){.tp-gold{transition:background .12s ease,box-shadow .12s ease}}.vas-card{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-sm);padding:20px;display:flex;flex-direction:column;gap:16px}.vas-head{display:flex;align-items:flex-start;gap:12px;color:var(--accent-color);font-size:var(--ui-text-card)}.vas-title{margin:0 0 3px;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary)}.vas-sub{margin:0;font-size:var(--ui-text-meta);line-height:1.45;color:var(--text-secondary)}.vas-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.vas-item{display:flex;align-items:center;gap:11px;padding:12px;text-align:left;font:inherit;cursor:pointer;color:var(--text-primary);background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);transition:border-color .15s ease,background .15s ease}.vas-item:hover:not(:disabled){border-color:var(--accent-color);background:var(--background-accent)}.vas-item:disabled{opacity:.55;cursor:progress}.vas-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.vas-item-icon{flex-shrink:0;font-size:var(--ui-text-card);color:var(--text-tertiary)}.vas-item-body{display:flex;flex-direction:column;gap:2px;min-width:0}.vas-item-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vas-item-meta{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.vas-item-cta{margin-left:auto;flex-shrink:0;font-size:var(--ui-text-cap);font-weight:700;color:var(--accent-color)}.vas-error{margin:0;padding:9px 11px;font-size:var(--ui-text-meta);color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--border-radius-md)}@media (prefers-reduced-motion: reduce){.vas-item{transition:none}}.sdc{padding:16px 18px;margin-bottom:20px;background:var(--background-primary);border:1px solid var(--border-primary);border-left:3px solid var(--intro-tour-accent, #7c3aed);border-radius:var(--border-radius-lg, 12px)}.sdc-head{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;margin-bottom:10px;padding:0;font:inherit;text-align:left;background:none;border:none;cursor:pointer;color:inherit}.sdc-head:focus-visible{outline:2px solid var(--intro-tour-accent, #7c3aed);outline-offset:3px}.sdc-head .sdc-count{margin-left:auto}.sdc-chev{width:16px;height:16px;flex-shrink:0;color:var(--text-tertiary, #9ca3af);transition:transform .2s ease}.sdc-chev.is-open{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.sdc-chev{transition:none}}.sdc-title{margin:0;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary)}.sdc-count{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.sdc-bar{height:5px;border-radius:3px;overflow:hidden;background:var(--background-secondary, #eee);margin-bottom:0}.sdc-groups{margin-top:14px}.sdc-bar-fill{display:block;height:100%;background:var(--intro-tour-accent, #7c3aed);transition:width .35s ease}@media (prefers-reduced-motion: reduce){.sdc-bar-fill{transition:none}}.sdc-groups{display:grid;gap:14px 26px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.sdc-group{min-width:0}.sdc-group-name{margin:0 0 6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary, #9ca3af)}.sdc-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sdc-item{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:8px;font-size:var(--ui-text-meta);line-height:1.35;color:var(--text-secondary);min-width:0}.sdc-label{overflow-wrap:anywhere}.sdc-mark{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1.5px solid var(--border-primary);color:#fff}.sdc-mark svg{width:10px;height:10px}.sdc-item.is-done .sdc-mark{background:var(--intro-tour-accent, #7c3aed);border-color:var(--intro-tour-accent, #7c3aed)}.sdc-item.is-done .sdc-label{color:var(--text-tertiary, #9ca3af)}.sdc-item.is-now{color:var(--text-primary);font-weight:600}.sdc-item.is-now .sdc-mark{border-color:var(--intro-tour-accent, #7c3aed);border-width:2px}.sdc-now{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:3px;color:#fff;background:var(--intro-tour-accent, #7c3aed)}.sdc.is-compact{padding:12px 14px}.sdc.is-compact .sdc-groups{grid-template-columns:1fr}.is-wrap{max-width:900px;display:flex;flex-direction:column;gap:20px;padding:4px 0 48px}.is-msg{margin:0;padding:10px 13px;font-size:14px;border-radius:var(--border-radius-md);border:1px solid transparent}.is-msg--error{color:var(--danger-text);background:var(--danger-bg);border-color:var(--danger-border)}.is-msg--success{color:var(--success-text);background:var(--success-bg);border-color:var(--success-border)}.is-card{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-sm)}.is-card--locked .is-grid{opacity:.62}.is-card-head{display:flex;flex-direction:column;gap:4px}.is-h2{margin:0;display:flex;align-items:center;gap:9px;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary)}.is-note{margin:0;font-size:var(--ui-text-meta);line-height:1.5;color:var(--text-secondary);max-width:68ch}.is-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:var(--border-radius-pill)}.is-pill--on{color:var(--success-text);background:var(--success-bg)}.is-pill--off{color:var(--text-tertiary);background:var(--background-tertiary)}.is-pill--lock{color:var(--warning-text);background:var(--warning-bg)}.is-seg{display:inline-flex;padding:2px;background:var(--background-tertiary);border-radius:var(--border-radius-md)}.is-seg-btn{padding:6px 12px;font:inherit;font-size:var(--ui-text-cap);font-weight:600;cursor:pointer;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--border-radius-sm);white-space:nowrap}.is-seg-btn.is-on{color:var(--text-primary);background:var(--background-primary);box-shadow:var(--box-shadow-xs)}.is-seg-btn:disabled{opacity:.5;cursor:progress}.is-seg-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.is-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.is-field{display:flex;flex-direction:column;gap:5px}.is-field--wide{grid-column:1 / -1}.is-field>span:first-child{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.is-field input[type=text],.is-field input[type=tel],.is-field input[type=email],.is-field input[type=url],.is-field input:not([type]){width:100%}.is-field input{padding:9px 11px;font:inherit;font-size:14px;color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md)}.is-field input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.is-field input:disabled{cursor:not-allowed}.is-field small{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:var(--ui-text-cap);line-height:1.45;color:var(--text-tertiary)}.is-field small code{padding:1px 5px;background:var(--background-tertiary);border-radius:var(--border-radius-sm)}.is-colour{display:flex;gap:8px;align-items:center}.is-colour input[type=color]{width:42px;height:38px;padding:2px;cursor:pointer;flex-shrink:0}.is-code input{font-family:var(--font-family-monospace);letter-spacing:.12em}.is-check--ok{color:var(--success-text)}.is-check--bad{color:var(--danger-text)}.is-foot{margin:0;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.is-logos{display:flex;flex-direction:column;gap:8px}.is-logos-label{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.is-logos-row{display:flex;flex-wrap:wrap;gap:12px}.is-logo{margin:0;display:flex;flex-direction:column;gap:6px}.is-logo img{display:block;width:180px;max-width:100%;height:64px;object-fit:contain;padding:8px 12px;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);box-sizing:border-box}.is-logo--light img{background:#fff}.is-logo--dark img{background:#111827}.is-logo figcaption{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.is-save{align-self:flex-start;padding:10px 18px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--text-on-primary-button);background:var(--accent-color);border:1px solid var(--accent-color);border-radius:var(--border-radius-md)}.is-save:hover:not(:disabled){background:var(--accent-color-hover)}.is-save:disabled{opacity:.6;cursor:progress}@media (max-width: 768px){.is-seg{align-self:flex-start}}.is-h2 svg{vertical-align:-2px;margin-right:6px}.is-live-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.is-live-confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--ui-text-meta);color:var(--text-secondary)}.is-secondary{padding:8px 14px;font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer;color:var(--text-primary);background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:var(--border-radius-md)}.is-secondary:hover:not(:disabled){background:var(--background-tertiary)}.is-secondary:disabled{opacity:.6;cursor:progress}.is-secondary.is-danger{color:var(--danger-text);border-color:var(--danger-border)}.is-live-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:var(--ui-text-meta);line-height:1.5;color:var(--text-secondary)}.is-groups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.is-groups li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.is-groups-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.is-groups-main b{font-size:var(--ui-text-meta);color:var(--text-primary);overflow-wrap:anywhere}.is-groups-main small{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.is-groups a.is-secondary{display:inline-flex;align-items:center}.is-field select{padding:9px 11px;font:inherit;font-size:14px;color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md)}.is-grid+.is-save,form.is-grid .is-save{align-self:end}.confirmation-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--background-overlay);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease}.confirmation-modal-card{background-color:var(--background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);width:100%;max-width:420px;text-align:center;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.confirmation-modal-icon-wrapper{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--info-bg);color:var(--info-color)}.confirmation-modal-icon-wrapper.is-destructive{background-color:var(--danger-bg);color:var(--danger-color)}.confirmation-modal-icon-wrapper svg{width:32px;height:32px}.confirmation-modal-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.confirmation-modal-message{color:var(--text-secondary);line-height:1.6;margin:0}.confirmation-modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;width:100%}.confirmation-modal-actions .btn{flex-grow:1;justify-content:center}.btn-icon.is-pending{cursor:not-allowed;background-color:var(--background-tertiary);color:var(--text-accent)}.btn-icon.is-completed{cursor:not-allowed;background-color:var(--success-bg);color:var(--success-color)}.btn-icon.is-failed{background-color:var(--danger-bg);color:var(--danger-color)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--text-secondary);transition:all .2s ease-in-out}.btn-icon:hover:not(.is-disabled){background-color:var(--background-hover);color:var(--text-primary)}.btn-icon.is-disabled{opacity:.5;cursor:not-allowed}.btn-icon.is-pending,.btn-icon.is-completed,.btn-icon.is-failed{cursor:default}.btn-icon.is-completed{color:var(--success-color)}.btn-icon.is-failed{color:var(--danger-color)}.admin-notification-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-notification-box{background:var(--card-bg, #ffffff);border-radius:16px;padding:28px 32px;max-width:420px;width:90%;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .25s ease-out}.dark-mode .admin-notification-box{background:var(--card-bg, #1e1e2e);border:1px solid var(--border-color, #333)}.notification-close-btn{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--text-tertiary, #999);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.notification-close-btn:hover{background:var(--hover-bg, rgba(0,0,0,.05));color:var(--text-primary, #333)}.notification-content{text-align:center;margin-bottom:24px}.notification-icon{width:56px;height:56px;margin-bottom:16px;padding:12px;border-radius:50%}.notification-icon.success{color:#10b981;background:#10b9811f}.notification-icon.warning{color:#f59e0b;background:#f59e0b1f}.notification-icon.error{color:#ef4444;background:#ef44441f}.notification-icon.info{color:#3b82f6;background:#3b82f61f}.notification-title{font-size:var(--ui-text-card);font-weight:600;color:var(--text-primary, #1a1a2e);margin:0 0 8px}.notification-message{font-size:var(--ui-text-body);color:var(--text-secondary, #64748b);margin:0;line-height:1.5}.notification-actions{display:flex;gap:12px;justify-content:center}.notification-btn{padding:10px 24px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;min-width:100px}.notification-btn-primary{background:var(--brand-color, #3b82f6);color:#fff}.notification-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.notification-btn-secondary{background:var(--hover-bg, #f1f5f9);color:var(--text-primary, #334155)}.notification-btn-secondary:hover{background:var(--border-color, #e2e8f0)}.dark-mode .notification-btn-secondary{background:#ffffff14;color:var(--text-primary, #e0e0e0)}.dark-mode .notification-btn-secondary:hover{background:#ffffff1f}@media (max-width: 480px){.admin-notification-box{padding:24px 20px;width:95%}.notification-actions{flex-direction:column-reverse}.notification-btn{width:100%}}.admin-modal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--admin-border, #e3e8f0);margin:0 0 18px;flex-wrap:wrap}.admin-modal-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:10px 16px;font-size:14px;font-weight:600;color:var(--admin-text-muted, #6b7280);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:6px;transition:color .15s ease,border-color .15s ease}.admin-modal-tab:hover{color:var(--admin-primary, #4f46e5)}.admin-modal-tab.active{color:var(--admin-primary, #4f46e5);border-bottom-color:var(--admin-primary, #4f46e5)}.admin-modal-tab-badge{background:var(--admin-primary, #4f46e5);color:#fff;border-radius:999px;font-size:var(--ui-text-cap);padding:1px 7px;line-height:1.5}.access-mode{display:flex;gap:18px;margin-bottom:12px;flex-wrap:wrap}.access-mode label{display:inline-flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.access-hint{color:var(--admin-text-muted, #6b7280);font-size:var(--ui-text-cap);margin:0 0 12px}.access-empty{color:var(--admin-text-muted, #6b7280);font-size:var(--ui-text-meta);padding:12px;text-align:center;border:1px dashed var(--admin-border, #d4dae6);border-radius:8px}.admin-modal-tabpanel{min-height:280px}.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-toggle-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background-color:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%}.form-divider{border:none;border-top:1px solid var(--border-primary);margin:1.5rem 0}.form-section-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin-bottom:1rem;margin-top:1rem}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.admin-form-input-group{display:flex;gap:.75rem}.admin-form-input-group .btn{flex-shrink:0}.permission-notice{padding:1rem;background-color:var(--info-bg);color:var(--info-color);border-radius:var(--border-radius-md);margin-bottom:1rem;font-weight:500;border:1px solid var(--info-border)}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.permission-column{display:flex;flex-direction:column;gap:.5rem}.permission-checkbox-container{max-height:200px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:.75rem;background-color:var(--background-secondary)}.permission-checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.25rem}.permission-checkbox-item:not(:last-child){margin-bottom:.25rem}.permission-checkbox-item label{font-weight:500;cursor:pointer;margin-bottom:0;flex-grow:1}.permission-checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0}.permission-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.permission-section-header>label{font-weight:600;font-size:var(--font-size-base)}.select-all-label{display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary)}.permission-placeholder{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-secondary);font-style:italic;text-align:center;padding:1rem}.permission-group{margin-bottom:1rem}.permission-group:last-child{margin-bottom:0}.permission-group-title{font-weight:600;color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;padding-left:.25rem}.permission-checkbox-item--indented{padding-left:1.5rem}.ucm .ucm-fieldset{margin:0 0 1rem;padding:0;border:none;min-width:0}.ucm .ucm-fieldset legend{padding:0;margin-bottom:.4rem;font-weight:500;font-size:var(--font-size-sm);color:var(--text-primary)}.ucm .ucm-radio{display:flex;align-items:center;gap:.5rem;margin:0;padding:.25rem 0;font-weight:400;font-size:.9rem;color:var(--text-primary);cursor:pointer}.ucm .ucm-radio input{width:auto;margin:0}.ucm .ucm-pw{margin-top:.4rem;position:relative}.ucm .ucm-muted{color:var(--text-tertiary);font-size:var(--ui-text-meta)}.ucm .ucm-done{display:flex;flex-direction:column;gap:1rem}.ucm .ucm-done-banner{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border-radius:12px;background:var(--success-bg, rgba(16, 185, 129, .1));color:var(--text-primary);line-height:1.5}.ucm .ucm-done-banner svg{flex-shrink:0;margin-top:.15rem;color:var(--success-color, #059669);font-size:var(--ui-text-card)}.ucm .ucm-creds{margin:0;display:grid;gap:.5rem;padding:.85rem 1rem;border:1px solid var(--border-primary);border-radius:12px;background:var(--background-primary)}.ucm .ucm-creds>div{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:.75rem;align-items:baseline}.ucm .ucm-creds dt{font-size:var(--ui-text-cap);font-weight:700;color:var(--text-tertiary)}.ucm .ucm-creds dd{margin:0;font-size:var(--ui-text-body);color:var(--text-primary);overflow-wrap:anywhere}.ucm .ucm-creds code{padding:2px 8px;border-radius:6px;background:var(--background-tertiary);font-size:var(--ui-text-body);letter-spacing:.04em}.ucm .ucm-footer{flex-wrap:wrap}.ucm .ucm-footer .btn{display:inline-flex;align-items:center;gap:.4rem}.ucm .ucm-wa:hover{color:#128c7e}@media (max-width: 768px){.ucm .ucm-creds>div{grid-template-columns:minmax(0,1fr);gap:.15rem}.ucm .ucm-footer .btn{flex:1 1 auto;justify-content:center}}.ucm .admin-modal-tabpanel .form-hint{margin-bottom:.45rem}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-control{padding-right:3rem}.password-toggle-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;background-color:transparent;border:none;color:var(--text-secondary);width:36px;height:36px;border-radius:50%;cursor:pointer;transition:color .2s ease,background-color .2s ease}.password-toggle-btn:hover{color:var(--text-primary);background-color:var(--background-tertiary)}.password-toggle-btn svg{width:20px;height:20px}.admin-filters-bar{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-primary)}.admin-search-input{flex-grow:1;position:relative}.admin-search-input svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-placeholder);pointer-events:none}.admin-search-input input{padding-left:3rem;font-size:var(--font-size-base)}.admin-card-body.no-padding{padding:0;position:relative}.table-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(var(--background-secondary-rgb, 255, 255, 255),.7);display:flex;align-items:center;justify-content:center;z-index:10}.table-empty-state,.table-error-state{padding:var(--spacing-xl);text-align:center;color:var(--text-secondary)}.table-empty-state svg,.table-error-state svg{font-size:2.5rem;margin-bottom:var(--spacing-sm);color:var(--text-tertiary)}.table-error-state{color:var(--danger-color)}.table-error-state svg{color:var(--danger-color)}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase;flex-shrink:0}.user-name-link{font-weight:600;color:var(--text-primary)}.user-name-link:hover{color:var(--text-accent);text-decoration:underline}.user-subtext{font-size:var(--font-size-sm);color:var(--text-secondary)}.role-badge{display:inline-block;padding:.25rem .6rem;border-radius:var(--border-radius-pill);font-weight:600;font-size:var(--ui-text-cap);text-transform:capitalize;border:1px solid currentColor}.role-badge.role-student,.role-badge.role-free,.role-badge.role-pro,.role-badge.role-plus{color:var(--info-color);background-color:var(--info-bg)}.role-badge.role-teacher{color:var(--purple-accent-base, #8B5CF6);background-color:var(--purple-accent-light, rgba(139, 92, 246, .1))}.role-badge.role-admin{color:var(--warning-color);background-color:var(--warning-bg)}.role-badge.role-superadmin{color:var(--danger-color);background-color:var(--danger-bg)}@media (max-width: 768px){.admin-filters-bar{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.admin-search-input{grid-column:1 / -1;width:100%}.admin-filter-select{width:100%;min-width:0}.admin-search-input input{width:100%}.pagination-text{display:none}.admin-pagination-footer .btn-icon{padding:0 .2rem;min-width:24px;height:24px;font-size:var(--ui-text-meta)}.pagination-controls{gap:.25rem}}.dpp-toggle-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.dpp-toggle-switch input{opacity:0;width:0;height:0;position:absolute}.dpp-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;background-color:#d1d5db;cursor:pointer;transition:background-color .2s ease}.dpp-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s ease}.dpp-toggle-switch input:checked+.dpp-toggle-track{background-color:#22c55e}.dpp-toggle-switch input:checked+.dpp-toggle-track:after{transform:translate(16px)}.dpp-toggle-switch input:disabled+.dpp-toggle-track{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.admin-filters-bar{grid-template-columns:1fr}}.bulk-students .bulk-card{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.bulk-card--success{border-color:var(--success-border)}.bulk-card--error{border-color:var(--danger-color)}.bulk-card-title{display:flex;align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-md);font-size:var(--ui-text-card);color:var(--text-primary)}.bulk-step{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--accent-color);color:var(--text-on-accent);font-size:var(--font-size-sm);font-weight:700;flex-shrink:0}.bulk-optional{font-weight:400;font-size:var(--font-size-sm);color:var(--text-secondary)}.bulk-toggle{margin-left:auto}.bulk-template-row{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.bulk-hint{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:var(--font-size-sm)}.bulk-hint code,.bulk-help code,.bulk-table code{background:var(--background-tertiary);padding:.1rem .35rem;border-radius:var(--border-radius-sm);font-size:.85em}.bulk-dropzone{border:2px dashed var(--border-secondary);border-radius:var(--border-radius-md);padding:var(--spacing-xl);text-align:center;color:var(--text-secondary);cursor:pointer;transition:border-color .15s ease,background .15s ease}.bulk-dropzone:hover{border-color:var(--accent-color);background:var(--background-tertiary)}.bulk-dropzone-icon{font-size:2rem;color:var(--accent-color);margin-bottom:.4rem}.bulk-preview{margin-top:var(--spacing-md)}.bulk-preview-summary{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap}.bulk-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:var(--border-radius-pill);font-size:var(--font-size-sm);font-weight:600}.bulk-badge--ok{background:var(--success-bg);color:var(--success-color)}.bulk-badge--err{background:var(--danger-bg);color:var(--danger-color)}.bulk-table-wrap{overflow-x:auto;border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.bulk-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.bulk-table th,.bulk-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-primary);white-space:nowrap}.bulk-table thead th{background:var(--background-tertiary);color:var(--text-secondary);position:sticky;top:0}.bulk-table tbody tr:last-child td{border-bottom:none}.bulk-row-invalid{background:var(--danger-bg)}.bulk-muted{color:var(--text-tertiary);font-style:italic}.bulk-help{margin-top:var(--spacing-md);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary);padding:.25rem var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6}.bulk-help-row{display:flex;gap:var(--spacing-md);align-items:baseline;padding:.5rem 0}.bulk-help-row+.bulk-help-row{border-top:1px dashed var(--border-primary)}.bulk-help-label{flex:0 0 116px;color:var(--text-primary);font-weight:600}.bulk-help-row em{font-style:normal;color:var(--text-tertiary)}.bulk-help code{white-space:nowrap}.bulk-seats{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.bulk-seats-title{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600}.bulk-seat-chip{background:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-pill);padding:.15rem .7rem;font-size:var(--font-size-sm);text-transform:capitalize}.bulk-seat-chip--over{background:var(--danger-bg);border-color:var(--danger-color);color:var(--danger-color)}.bulk-seat-chip--over .bulk-muted{color:var(--danger-color)}.bulk-pwmode{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin:var(--spacing-md) 0}.bulk-pwmode label{color:var(--text-secondary);font-size:var(--font-size-sm)}.bulk-pwmode .form-select{width:auto;min-width:280px}.bulk-examples{margin:var(--spacing-md) 0}.bulk-examples .bulk-hint{display:inline-flex;margin-top:var(--spacing-sm)}.bulk-ref{margin:var(--spacing-md) 0;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-sm);background:var(--background-primary)}.bulk-ref-search{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.bulk-ref-search .form-control{flex:1}.bulk-ref-list{max-height:260px;overflow-y:auto}.bulk-ref-item{border-bottom:1px solid var(--border-primary)}.bulk-ref-item:last-child{border-bottom:none}.bulk-ref-exam{display:flex;align-items:center;gap:.4rem;width:100%;background:none;border:none;cursor:pointer;padding:.45rem .25rem;text-align:left;color:var(--text-primary);font-size:var(--font-size-sm)}.bulk-ref-exam:hover{color:var(--accent-color)}.bulk-ref-subjects{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .25rem .5rem 1.5rem}.bulk-chip{background:var(--background-tertiary);color:var(--text-secondary);border-radius:var(--border-radius-pill);padding:.1rem .55rem;font-size:var(--ui-text-meta)}.bulk-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-md)}.bulk-hint--warn{color:var(--warning-color)}.bulk-students .bulk-institute-name{margin:0;font-weight:700;color:var(--text-primary)}.bulk-students .bulk-batches{display:flex;flex-direction:column;gap:.5rem;margin-top:var(--spacing-md);padding:.75rem;border:1px dashed var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary)}.bulk-students .bulk-batches-head{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary)}.bulk-students .bulk-batch-chips{display:flex;flex-wrap:wrap;gap:.4rem}.bulk-students .bulk-batch-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:var(--border-radius-pill);border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-secondary);font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.bulk-students .bulk-batch-chip.is-on{border-color:var(--accent-color);background:var(--accent-color-light);color:var(--text-accent)}@media (max-width: 768px){.bulk-students .bulk-actions{flex-direction:column;align-items:stretch}}.admin-table-wrapper{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.admin-table th,.admin-table td{padding:.9rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-primary)}.admin-table th{background-color:var(--background-primary);color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:var(--ui-text-cap);letter-spacing:.05em}.admin-table tbody tr:hover{background-color:var(--background-tertiary)}.admin-table .text-right{text-align:right}.status-badge{display:inline-block;padding:.25rem .6rem;border-radius:var(--border-radius-pill);font-weight:600;font-size:var(--ui-text-cap);text-transform:capitalize}.status-badge.status-active{background-color:var(--success-bg);color:var(--success-color)}.status-badge.status-inactive,.status-badge.status-archived{background-color:var(--warning-bg);color:var(--warning-color)}.code-badge{font-family:var(--font-family-monospace);background-color:var(--background-tertiary);color:var(--text-secondary);padding:.2rem .5rem;border-radius:var(--border-radius-sm);font-size:var(--ui-text-meta)}.admin-actions-cell{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--text-secondary);transition:all .2s ease}.btn-icon:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.btn-icon.icon-danger:hover{background-color:var(--danger-bg);color:var(--danger-color)}.btn-icon.icon-success:hover{background-color:var(--success-bg);color:var(--success-color)}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--background-overlay);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;overflow-y:auto;animation:fadeIn .3s ease}.admin-modal-card{background-color:var(--background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);width:100%;max-width:700px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.admin-modal-card.inst-modal{max-width:880px}.admin-modal-card>form,.inst-form{display:flex;flex-direction:column;min-height:0;flex:1}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-primary)}.admin-modal-title{margin-bottom:0}.admin-modal-close-btn{color:var(--text-secondary)}.admin-modal-close-btn:hover{color:var(--text-primary)}.admin-modal-body{padding:1.5rem;overflow-y:auto;min-height:0;flex:1}.admin-modal-header,.admin-modal-footer{flex-shrink:0}.admin-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background-color:var(--background-primary);border-top:1px solid var(--border-primary);border-bottom-left-radius:var(--border-radius-lg);border-bottom-right-radius:var(--border-radius-lg)}.form-error-banner{background-color:var(--danger-bg);color:var(--danger-color);padding:.75rem 1rem;border-radius:var(--border-radius-md);margin-bottom:1rem;font-weight:500}.modal-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary)}.admin-form-grid{display:grid;gap:1.25rem}.admin-form-grid.two-columns{grid-template-columns:1fr 1fr}.admin-form-group{display:flex;flex-direction:column;gap:.4rem}.admin-form-group.full-width{grid-column:1 / -1}.admin-form-group label{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.color-input-wrapper{display:flex;align-items:center;gap:.75rem;border:1px solid var(--input-border);border-radius:var(--border-radius-md);padding-left:.5rem}.color-input-wrapper:focus-within{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.color-input-wrapper input[type=color]{width:32px;height:32px;padding:0;border:none;background:none;flex-shrink:0}.color-input-wrapper span{font-family:var(--font-family-monospace);color:var(--text-secondary)}.color-hex-input{flex:1;min-width:0;border:none;background:none;outline:none;padding:.4rem .5rem;font-family:var(--font-family-monospace);color:var(--text-primary);text-transform:uppercase}@media (max-width: 640px){.admin-form-grid.two-columns{grid-template-columns:1fr}}.exam-access-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-primary)}.exam-access-title{display:block;font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm)}.exam-access-hint{margin:.25rem 0 .75rem;color:var(--text-secondary);font-size:var(--ui-text-meta)}.exam-access-loading,.exam-access-empty{color:var(--text-secondary);font-size:var(--font-size-sm);padding:.5rem 0}.exam-access-loading .spin{animation:spin 1s linear infinite;vertical-align:middle;margin-right:.4rem}.exam-access-list{display:flex;flex-direction:column;gap:.5rem;max-height:320px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:.75rem}.exam-access-row{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .6rem;border-radius:var(--border-radius-sm)}.exam-access-row.is-granted{background-color:var(--background-tertiary)}.exam-access-check{display:flex;align-items:center;gap:.5rem;font-weight:500;cursor:pointer;margin:0}.exam-access-check input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.exam-access-limits{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding-left:1.6rem}.exam-limit-field{display:flex;align-items:center;gap:.35rem}.exam-limit-field input{width:56px;padding:.3rem .4rem;font-size:var(--ui-text-meta)}.exam-limit-field span{color:var(--text-secondary);font-size:var(--ui-text-cap);white-space:nowrap}@media (max-width: 640px){.exam-access-limits{grid-template-columns:repeat(2,1fr)}}.inv-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-right:1.75rem}.inv-modal-title{margin:0;font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary)}.inv-modal-sub{margin-top:.15rem;font-size:var(--ui-text-meta);color:var(--text-secondary)}.inv-breakdown{border:1px solid var(--border-primary);border-radius:var(--border-radius-md, 10px);padding:.35rem .9rem;background:var(--background-tertiary)}.inv-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem 0;font-size:var(--ui-text-meta);color:var(--text-secondary)}.inv-line+.inv-line{border-top:1px solid var(--border-secondary)}.inv-line span:last-child{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary)}.inv-line.credit span:last-child,.inv-line.paid span:last-child{color:var(--success-color)}.inv-line.total span{font-weight:700;color:var(--text-primary)}.inv-line.balance{margin:0 -.9rem;padding:.6rem .9rem;border-top:2px solid var(--border-primary);background:var(--background-secondary);border-radius:0 0 var(--border-radius-md, 10px) var(--border-radius-md, 10px)}.inv-line.balance span{font-size:var(--ui-text-body);font-weight:800;color:var(--text-primary)}.inv-due{display:flex;align-items:center;gap:.4rem;margin:.6rem 0 1rem;font-size:var(--ui-text-meta);color:var(--text-secondary)}.inv-due.overdue{color:var(--danger-color);font-weight:700}.inv-section-label{font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.4rem}.inv-form-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.6rem;font-weight:600;color:var(--text-primary)}.inv-fill-link{background:none;border:none;padding:0;cursor:pointer;font-size:var(--ui-text-cap);font-weight:600;color:var(--accent-color);text-decoration:underline}.inv-fill-link:hover{opacity:.8}.inv-form-foot{display:flex;justify-content:flex-end;margin-top:.85rem}.inv-danger{margin-top:1.1rem;padding-top:.85rem;border-top:1px dashed var(--border-primary)}.inv-danger-row{display:flex;flex-wrap:wrap;gap:.5rem}.inv-danger-btn{padding:.35rem .75rem;font-size:var(--ui-text-meta)}.inv-danger-btn:hover:not(:disabled){border-color:var(--danger-color);color:var(--danger-color)}.inst-section+.inst-section{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.inst-section-title{margin:0 0 .15rem;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.inst-section-hint{margin:0 0 1rem;font-size:var(--ui-text-meta);line-height:1.5;color:var(--text-secondary)}.inst-section-title+.admin-form-grid,.inst-section-title+.admin-form-group{margin-top:.85rem}.inst-fee-grid{grid-template-columns:repeat(3,1fr)}.inst-money-input{display:flex;align-items:center;border:1px solid var(--input-border);border-radius:var(--border-radius-md);overflow:hidden}.inst-money-input:focus-within{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.inst-money-input>span{padding:0 .55rem;color:var(--text-secondary);font-size:var(--ui-text-meta);border-right:1px solid var(--border-primary);align-self:stretch;display:flex;align-items:center}.inst-money-input>input{flex:1;min-width:0;border:none;background:none;outline:none;box-shadow:none}.inst-toggle{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;margin:0;padding:.85rem 1rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary)}.inst-toggle input[type=checkbox]{width:16px;height:16px;margin-top:.15rem;flex-shrink:0}.inst-toggle strong{display:block;font-size:var(--font-size-sm);color:var(--text-primary)}.inst-toggle small{display:block;margin-top:.2rem;font-size:var(--ui-text-cap);color:var(--text-secondary)}.inst-notice{display:flex;align-items:flex-start;gap:.55rem;margin:.85rem 0 0;padding:.7rem .9rem;border-radius:var(--border-radius-md);font-size:var(--ui-text-meta);line-height:1.5}.inst-notice svg{flex-shrink:0;margin-top:.15rem}.inst-notice.is-warning{background:var(--warning-bg);color:var(--warning-color)}.inst-notice.is-danger{background:var(--danger-bg);color:var(--danger-color)}.inst-notice strong{font-weight:700}.inst-pool{margin-top:1rem;padding:1rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary)}.inst-pool-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px solid var(--border-primary)}.inst-pool-figure{display:flex;align-items:baseline;gap:.5rem}.inst-pool-figure strong{font-size:1.75rem;font-weight:800;line-height:1;color:var(--success-color);font-variant-numeric:tabular-nums}.inst-pool-figure strong.is-empty{color:var(--danger-color)}.inst-pool-figure span{font-size:var(--ui-text-meta);color:var(--text-secondary)}.inst-pool-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:var(--ui-text-cap);color:var(--text-secondary)}.inst-pool-meta .is-expired{color:var(--danger-color);font-style:normal;font-weight:600}.inst-pool-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.inst-pool-actions small{flex:1 1 16rem;font-size:var(--ui-text-cap);color:var(--text-secondary);line-height:1.45}.inst-link-btn{background:none;border:none;padding:0;cursor:pointer;font-size:var(--ui-text-meta);font-weight:600;color:var(--accent-color);text-decoration:underline}.inst-link-btn:hover:not(:disabled){opacity:.8}.inst-link-btn:disabled{opacity:.5;cursor:default}.inst-ledger{margin-top:1rem;max-height:220px;overflow:auto;border:1px solid var(--border-primary);border-radius:var(--border-radius-sm)}.inst-ledger table{width:100%;border-collapse:collapse;font-size:var(--ui-text-cap)}.inst-ledger th,.inst-ledger td{padding:.4rem .6rem;text-align:left;border-bottom:1px solid var(--border-primary);white-space:nowrap}.inst-ledger th{position:sticky;top:0;background:var(--background-secondary);color:var(--text-secondary);font-weight:600}.inst-ledger .num{text-align:right;font-variant-numeric:tabular-nums}.inst-ledger .is-debit{color:var(--danger-color);font-weight:600}.inst-ledger .is-credit{color:var(--success-color);font-weight:600}.inst-ledger-detail{white-space:normal;max-width:18rem;color:var(--text-secondary)}.inst-mode-badge{display:inline-block;padding:.2rem .55rem;border-radius:var(--border-radius-pill);background:var(--background-tertiary);color:var(--text-secondary);font-size:var(--ui-text-cap);font-weight:600;white-space:nowrap}.inst-mode-badge.is-pool{background:var(--success-bg);color:var(--success-color)}.inst-mode-badge.is-stranded{background:var(--warning-bg);color:var(--warning-color);cursor:help}.inst-exam-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.inst-search{display:flex;align-items:center;gap:.45rem;flex:1;max-width:18rem;padding:0 .6rem;border:1px solid var(--input-border);border-radius:var(--border-radius-md);color:var(--text-secondary)}.inst-search:focus-within{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.inst-search input{flex:1;min-width:0;border:none;background:none;outline:none;box-shadow:none;padding:.4rem 0}.inst-exam-count{font-size:var(--ui-text-cap);color:var(--text-secondary);white-space:nowrap}.inst-logo-preview{display:flex;gap:.75rem;flex-wrap:wrap}.inst-logo-swatch{margin:0;padding:.6rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);text-align:center;min-width:8rem}.inst-logo-swatch img{max-width:100%;max-height:44px;object-fit:contain;display:block;margin:0 auto}.inst-logo-swatch figcaption{margin-top:.35rem;font-size:var(--ui-text-cap);color:var(--text-secondary)}.inst-logo-swatch.is-light{background:#fff}.inst-logo-swatch.is-dark{background:#0f172a}@media (max-width: 720px){.inst-fee-grid{grid-template-columns:repeat(2,1fr)}.inst-pool-meta{align-items:flex-start}.inst-exam-toolbar{flex-direction:column;align-items:stretch}.inst-search{max-width:none}}.inst-plan-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;gap:.75rem;align-items:end}.inst-plan-grid .form-select,.inst-plan-grid input{font-size:var(--font-size-sm)}.inst-plan-grid .form-select{padding:.55rem 2.25rem .55rem .75rem}.inst-plan-grid .btn{white-space:nowrap}.inst-plan-grid select:disabled,.inst-plan-grid input:disabled{opacity:.55;cursor:not-allowed}.inst-plan-note{display:block;font-size:var(--ui-text-cap);line-height:1.5;color:var(--text-secondary)}.inst-topup-grid{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--border-primary)}@media (max-width: 820px){.inst-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.inst-plan-grid{grid-template-columns:1fr}}.admin-page-header .admin-filters-bar.single-filter{padding:0;border:none;align-self:center}.engagement-table th,.engagement-table td{vertical-align:middle}.engagement-table th svg{margin-right:.5rem;vertical-align:text-bottom;color:var(--text-tertiary)}.risk-cell{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:var(--border-radius-pill);font-weight:600;font-size:var(--font-size-sm);white-space:nowrap}.risk-cell svg{width:16px;height:16px}.risk-cell.risk-high{background-color:var(--danger-bg);color:var(--danger-color)}.risk-cell.risk-medium{background-color:var(--warning-bg);color:var(--warning-color)}.risk-cell.risk-low{background-color:var(--success-bg);color:var(--success-color)}.score-high,.score-medium,.score-low{font-weight:600}.score-high{color:var(--success-color)}.score-medium{color:var(--warning-color)}.score-low{color:var(--danger-color)}.overdue-active{font-weight:600;color:var(--danger-color);background-color:var(--danger-bg);padding:.1rem .5rem;border-radius:var(--border-radius-sm)}.admin-card-body .eng-summary{display:flex;justify-content:flex-end;margin-bottom:.75rem}.admin-card-body .eng-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1rem;min-width:0;width:100%}.admin-card-body .eng-search{display:flex;align-items:center;gap:.4rem;width:min(100%,280px);padding:.4rem .7rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary);color:var(--text-tertiary)}.admin-card-body .eng-search input{border:0;outline:0;background:transparent;color:var(--text-primary);width:100%;font:inherit}.admin-card-body .eng-sub{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:.15rem}.admin-card-body .eng-reason{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:.3rem;max-width:240px}.admin-card-body .engagement-table .risk-cell{display:inline-flex}.admin-card-body .eng-spectra{min-width:220px;max-width:320px}.admin-card-body .eng-next{font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm)}.admin-card-body .eng-marks{font-weight:500;color:var(--text-secondary)}.admin-card-body .eng-again{color:var(--warning-color);font-weight:700}.admin-card-body .eng-dl{display:inline-flex;align-items:center;gap:.35rem;margin-top:.4rem}@media (max-width: 900px){.admin-card-body .eng-tools{justify-content:stretch}.admin-card-body .eng-search{width:100%}}.admin-card-body .engagement-table th .eng-sort{display:inline-flex;align-items:center;gap:.3rem;padding:0;border:0;background:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.admin-card-body .engagement-table th .eng-sort svg{margin-right:0}.admin-card-body .engagement-table th .eng-sort .eng-sort-arrow{display:inline-flex;opacity:.35}.admin-card-body .engagement-table th .eng-sort:hover .eng-sort-arrow{opacity:.7}.admin-card-body .engagement-table th .eng-sort.is-on{color:var(--text-primary)}.admin-card-body .engagement-table th .eng-sort.is-on .eng-sort-arrow{opacity:1;color:var(--accent-color)}.admin-card-body .engagement-table th .eng-sort:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:3px}.admin-card-body .engagement-table th .eng-sort .eng-sort-arrow svg{width:14px;height:14px;color:currentColor;vertical-align:middle}.admin-card-body .eng-grade{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:50%;font-weight:800;font-size:var(--font-size-sm)}.admin-card-body .eng-grade-a{background:var(--success-bg);color:var(--success-color)}.admin-card-body .eng-grade-b{background:var(--warning-bg);color:var(--warning-color)}.admin-card-body .eng-grade-c{background:var(--danger-bg);color:var(--danger-color)}.admin-card-body .eng-why{max-width:170px}.admin-card-body .eng-month{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-xs);color:var(--text-secondary)}.admin-card-body .eng-month select{min-width:150px}.admin-card-body .eng-actions{margin:0;padding-left:1rem;font-size:var(--font-size-sm);color:var(--text-primary)}.admin-card-body .eng-actions li{margin-bottom:.15rem}.admin-card-body .eng-busy{opacity:.45;pointer-events:none;transition:opacity .15s}.admin-card-body .eng-empty-month{margin-bottom:.75rem;padding:.6rem .9rem;border-radius:var(--border-radius-md);background:var(--warning-bg);color:var(--warning-color);font-weight:600;font-size:var(--font-size-sm)}.font-semibold{font-weight:600;color:var(--text-primary)}.type-badge{display:inline-block;padding:.25rem .6rem;border-radius:var(--border-radius-md);font-weight:500;font-size:var(--ui-text-meta);text-transform:capitalize;background-color:var(--background-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.type-badge-muted{margin-left:.35rem;opacity:.75;font-style:italic}.admin-table td.nowrap{white-space:nowrap}.assessments-filters-bar{flex-wrap:wrap}.assessments-filters-bar .admin-filter-select{min-width:200px;flex-shrink:0}.assessments-filters-bar .admin-search-input{min-width:200px}.assessment-quota-strip{padding:var(--spacing-md);border-bottom:1px solid var(--border-primary);background-color:var(--background-primary)}.assessment-quota-strip .quota-figures{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.assessment-quota-strip .quota-figure strong{color:var(--text-primary);font-size:var(--font-size-base);font-weight:600}.assessment-quota-strip .quota-note{margin:.5rem 0 0;font-size:var(--font-size-sm);color:var(--text-tertiary)}.quota-muted{color:var(--text-tertiary);font-weight:400}.admin-pagination-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.pagination-controls{display:flex;align-items:center;gap:.5rem}.admin-pagination-footer .btn-icon{border:1px solid var(--border-secondary);font-weight:500;min-width:28px;width:auto;height:28px;padding:0 .4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);white-space:nowrap;transition:background-color .2s,border-color .2s}.admin-pagination-footer .btn-icon:disabled{opacity:.5;background-color:transparent;cursor:not-allowed}.admin-pagination-footer .btn-icon:not(:disabled):hover{background-color:var(--background-tertiary);border-color:var(--border-primary)}.admin-pagination-footer .page-number.active{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent);font-weight:700}.ellipsis{padding:0 .5rem;color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.pagination-goto{display:flex;align-items:center;gap:.75rem}.pagination-goto label{font-weight:500}.goto-input{width:70px;height:36px;text-align:center;border-radius:var(--border-radius-sm);border:1px solid var(--border-secondary);background-color:var(--input-bg);color:var(--input-text);font-size:var(--font-size-base)}.goto-input:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--input-focus-shadow)}@media (max-width: 768px){.pagination-text{display:none}.admin-pagination-footer .btn-icon{padding:0 .2rem;min-width:24px;height:24px;font-size:var(--ui-text-meta)}.pagination-controls{gap:.25rem}}.batch-manager-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.batch-manager-container .admin-form-group{margin:0}.batch-manager-container .form-control[multiple]{height:220px;padding:var(--spacing-sm);background-color:var(--input-bg)}.batch-manager-container .form-control[multiple] option{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);margin:2px}.batch-manager-container .form-control[multiple] option:checked{background-color:var(--accent-color);color:var(--text-on-accent)}.field-instructions{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.batch-manager-container .btn{align-self:flex-start}.batch-manager-state{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:var(--spacing-lg) 0;color:var(--text-secondary)}.batch-manager-state .loading-icon.small{width:20px;height:20px;margin:0;animation:spin 1s linear infinite}.batch-manager-state.error{color:var(--danger-color);background-color:var(--danger-bg);padding:var(--spacing-md);border-radius:var(--border-radius-md)}.apr{display:flex;flex-direction:column;gap:14px;color:var(--text-primary)}.apr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.apr-head h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.apr-muted{color:var(--text-secondary);font-size:.88rem;margin:4px 0 0;line-height:1.5}span.apr-muted,small.apr-muted{margin:0}.apr .apr-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:var(--border-radius-md);border:1px solid var(--border-secondary);background:var(--background-secondary);color:var(--text-primary);font-weight:600;font-size:.88rem;text-decoration:none;white-space:nowrap;cursor:pointer}.apr .apr-btn:hover:not(:disabled){border-color:var(--accent-color)}.apr .apr-btn.primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.apr .apr-btn.ghost{background:transparent}.apr .apr-btn.danger{background:var(--danger-color);border-color:var(--danger-color);color:#fff}.apr .apr-btn.ghost.danger{background:transparent;color:var(--danger-color);border-color:transparent}.apr .apr-btn.wa{background:#16a34a;border-color:#16a34a;color:#fff}.apr .apr-btn.sm{padding:5px 10px;font-size:var(--ui-text-meta)}.apr .apr-btn:disabled{opacity:.55;cursor:not-allowed}.apr .apr-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;border:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--ui-text-body)}.apr .apr-icon:hover{background:var(--background-tertiary);color:var(--text-primary)}.apr .apr-icon.on{color:var(--text-accent)}.apr .apr-icon.danger:hover{background:var(--danger-bg);color:var(--danger-color)}.apr-seg{display:inline-flex;gap:2px;padding:3px;border-radius:var(--border-radius-md);background:var(--background-tertiary)}.apr .apr-seg button{padding:6px 12px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font-weight:600;font-size:var(--ui-text-meta);cursor:pointer;white-space:nowrap}.apr .apr-seg button.is-on{background:var(--background-secondary);color:var(--text-primary);box-shadow:var(--box-shadow-sm)}.apr-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.apr-search{display:flex;align-items:center;gap:8px;padding:0 10px;min-width:min(320px,100%);border:1px solid var(--input-border);border-radius:var(--border-radius-md);background:var(--input-bg);color:var(--text-tertiary)}.apr .apr-search input{border:0;background:transparent;padding:8px 0;box-shadow:none;outline:none;font-size:.9rem}.apr-coverage{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary);font-size:var(--ui-text-body)}.apr-coverage>div{flex:1;min-width:220px}.apr-bar{height:6px;border-radius:3px;background:var(--background-tertiary);overflow:hidden;margin-top:8px;max-width:420px}.apr-bar i{display:block;height:100%;background:var(--accent-color);border-radius:3px}.apr-banner{padding:10px 12px;border-radius:var(--border-radius-md);font-size:var(--ui-text-meta);background:var(--background-tertiary)}.apr-banner.warn{background:var(--warning-bg);color:var(--text-primary)}.apr-banner.info{background:var(--info-bg)}.apr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.apr-card{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(200px,1.3fr) auto;align-items:center;gap:6px 14px;padding:12px 14px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary)}.apr-card--row{grid-template-columns:1fr auto}.apr-list.compact .apr-card{grid-template-columns:minmax(140px,1fr) minmax(180px,1.4fr) auto}.apr-who{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.apr-who b{font-size:var(--ui-text-body)}.apr-chip{font-size:var(--ui-text-cap);font-weight:700;padding:2px 8px;border-radius:999px;background:var(--background-tertiary);color:var(--text-secondary);white-space:nowrap}.apr-student{font-size:.88rem;min-width:0}.apr-contact{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--ui-text-meta);min-width:0}.apr-contact a{display:inline-flex;align-items:center;gap:5px;color:var(--text-accent);font-weight:600;text-decoration:none;word-break:break-all}.apr-actions{display:flex;gap:2px;justify-content:flex-end}.apr-pager{display:flex;justify-content:center;align-items:center;gap:12px}.apr-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:44px 16px;border:1px dashed var(--border-secondary);border-radius:var(--border-radius-lg);color:var(--text-secondary);font-size:.9rem}.apr-empty svg{font-size:1.8rem;color:var(--text-tertiary)}.apr-empty b{color:var(--text-primary)}.apr-skeleton{display:flex;flex-direction:column;gap:8px}.apr-skeleton i{display:block;height:64px;border-radius:var(--border-radius-lg);background:var(--background-tertiary)}.apr-student-card{padding:16px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary);gap:10px}.apr-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.apr-card-head h3{margin:0;font-size:var(--ui-text-body)}.apr-student-card .apr-card{background:var(--background-primary)}.apr-att{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.apr-att-pct{font-size:1.5rem;font-weight:800}.apr-att-pct.good{color:var(--success-color)}.apr-att-pct.fair{color:var(--warning-color)}.apr-att-pct.weak{color:var(--danger-color)}.apr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a73;display:grid;place-items:center;padding:16px}.apr-modal{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;display:flex;flex-direction:column;background:var(--background-secondary);color:var(--text-primary);border-radius:var(--border-radius-lg);box-shadow:0 24px 60px #0f172a4d}.apr-modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-primary)}.apr-modal-head h3{margin:0;font-size:var(--ui-text-card)}.apr-modal-body{padding:16px;display:flex;flex-direction:column;gap:12px}.apr-modal-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--border-primary)}.apr-overlay .apr-btn,.apr-overlay .apr-icon{font-family:inherit}.apr-overlay .apr-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:var(--border-radius-md);border:1px solid var(--border-secondary);background:var(--background-secondary);color:var(--text-primary);font-weight:600;font-size:.88rem;text-decoration:none;white-space:nowrap;cursor:pointer}.apr-overlay .apr-btn.primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.apr-overlay .apr-btn.ghost{background:transparent}.apr-overlay .apr-btn.danger{background:var(--danger-color);border-color:var(--danger-color);color:#fff}.apr-overlay .apr-btn.ghost.danger{background:transparent;color:var(--danger-color);border-color:transparent}.apr-overlay .apr-btn.wa{background:#16a34a;border-color:#16a34a;color:#fff}.apr-overlay .apr-btn:disabled{opacity:.55;cursor:not-allowed}.apr-overlay .apr-icon{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer}.apr-overlay .apr-icon:hover{background:var(--background-tertiary)}.apr-overlay .apr-muted{color:var(--text-secondary);font-size:.88rem;margin:0;line-height:1.5}.apr-overlay .apr-banner{padding:10px 12px;border-radius:var(--border-radius-md);font-size:var(--ui-text-meta);background:var(--warning-bg)}.apr-form{display:flex;flex-direction:column;gap:12px}.apr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.apr-field{display:flex;flex-direction:column;gap:5px;font-size:var(--ui-text-meta);font-weight:600}.apr-field em{font-style:normal;font-weight:500;color:var(--text-tertiary)}.apr-overlay .apr-field input,.apr-overlay .apr-field select{padding:8px 10px;font:inherit;font-size:.9rem;font-weight:400;width:100%;color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md)}.apr-check{display:flex;align-items:flex-start;gap:9px;font-size:.88rem;cursor:pointer}.apr-check input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent-color);flex-shrink:0}.apr-link{display:flex;flex-direction:column;gap:10px}.apr-link code{display:block;padding:10px 12px;border-radius:var(--border-radius-md);background:var(--background-tertiary);font-size:var(--ui-text-meta);word-break:break-all}.apr-row{display:flex;gap:8px;flex-wrap:wrap}.aat-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.aat-kpi{padding:14px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary);display:flex;flex-direction:column;gap:2px}.aat-kpi span{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.aat-kpi b{font-size:1.6rem;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}.aat-kpi small{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.aat-good{color:var(--success-color)}.aat-fair{color:var(--warning-color)}.aat-weak{color:var(--danger-color)}.aat-cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}.aat-panel{border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary);overflow:hidden}.aat-panel h3{margin:0;padding:12px 14px;font-size:var(--ui-text-body);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;gap:8px;align-items:center}.aat-panel h3 small{font-weight:500;color:var(--text-tertiary);font-size:var(--ui-text-cap)}.aat-rows{list-style:none;margin:0;padding:0}.aat-rows li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--border-primary);font-size:.88rem}.aat-rows li:first-child{border-top:0}.aat-rows li.two{grid-template-columns:minmax(0,1fr) auto}.aat-name{min-width:0;display:flex;flex-direction:column}.aat-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.apr .aat-link{background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.apr .aat-link:hover b{color:var(--text-accent);text-decoration:underline}.aat-name small{color:var(--text-tertiary);font-size:var(--ui-text-cap);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aat-pill{font-size:var(--ui-text-cap);font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;background:var(--background-tertiary);color:var(--text-secondary)}.aat-pill.done{background:var(--success-bg);color:var(--success-color)}.aat-pill.todo{background:var(--warning-bg);color:var(--warning-text)}.aat-pct{font-weight:800;font-variant-numeric:tabular-nums;min-width:3em;text-align:right}.aat-empty{padding:18px 14px;color:var(--text-tertiary);font-size:var(--ui-text-meta)}.aat-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary)}.aat-setting p{margin:2px 0 0;font-size:var(--ui-text-meta);color:var(--text-secondary)}.aat-switch{position:relative;width:44px;height:24px;border-radius:999px;border:0;background:var(--border-secondary);cursor:pointer;flex-shrink:0}.aat-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}.aat-switch[aria-checked=true]{background:var(--success-color)}.aat-switch[aria-checked=true]:after{transform:translate(20px)}.apr .aat-date{display:inline-block;width:auto}.aat-date{padding:7px 10px;border-radius:var(--border-radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font:inherit;font-size:.9rem}@media (max-width: 992px){.apr-card{grid-template-columns:1fr auto}.apr-card .apr-student,.apr-card .apr-contact{grid-column:1 / -1}.apr-card .apr-actions{grid-row:1;grid-column:2}.apr-list.compact .apr-card{grid-template-columns:1fr auto}.aat-cols{grid-template-columns:1fr}}@media (max-width: 768px){.apr-head h1{font-size:var(--ui-text-card)}.apr-toolbar{flex-direction:column;align-items:stretch}.apr-search{min-width:0}.apr-grid{grid-template-columns:1fr}.apr-overlay{place-items:end stretch;padding:0}.apr-modal{width:100%;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;max-height:92dvh}}@media (max-width: 480px){.apr-seg{width:100%}.apr .apr-seg button{flex:1;padding:6px 8px}}.user-profile-page .up-back{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem .35rem .4rem;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:var(--transition);margin-bottom:-.5rem}.user-profile-page .up-back:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.user-profile-page .admin-page-header{flex-direction:row;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;padding:1.25rem 1.5rem;background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:var(--border-radius-lg)}.user-profile-identity{display:flex;align-items:center;gap:1rem;min-width:0}.user-profile-avatar{width:56px;height:56px;flex-shrink:0;border-radius:var(--border-radius-round);background-color:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;text-transform:uppercase}.user-profile-identity .up-identity-text{min-width:0}.user-profile-identity .admin-page-title{margin:0 0 .15rem;font-size:1.5rem;overflow-wrap:anywhere}.user-profile-identity .up-identity-org{margin:0 0 .5rem;font-size:var(--font-size-sm);color:var(--text-secondary);overflow-wrap:anywhere}.up-identity-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.user-profile-page .role-badge{display:inline-block;padding:.25rem .6rem;border-radius:var(--border-radius-pill);font-weight:600;font-size:var(--ui-text-cap);border:1px solid currentColor}.user-profile-page .role-badge.role-ultra,.user-profile-page .role-badge.role-trial{color:var(--info-color);background-color:var(--info-bg)}.user-profile-page .role-badge.role-basic,.user-profile-page .role-badge.role-digital,.user-profile-page .role-badge.role-super{color:var(--purple-accent-base);background-color:var(--purple-accent-light)}.user-profile-page .role-badge.role-content_ops,.user-profile-page .role-badge.role-editor,.user-profile-page .role-badge.role-reviewer{color:var(--success-text);background-color:var(--success-bg)}.user-profile-page .status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:var(--border-radius-pill);font-weight:600;font-size:var(--ui-text-cap);text-transform:capitalize;border:1px solid transparent}.user-profile-page .status-badge:before{content:"";width:6px;height:6px;border-radius:var(--border-radius-round);background-color:currentColor}.user-profile-page .status-badge.status-active{color:var(--success-text);background-color:var(--success-bg);border-color:var(--success-border)}.user-profile-page .status-badge.status-inactive{color:var(--warning-text);background-color:var(--warning-bg);border-color:var(--warning-border)}.user-profile-page .status-badge.status-suspended{color:var(--danger-text);background-color:var(--danger-bg);border-color:var(--danger-border)}.profile-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:var(--spacing-lg);align-items:start}.profile-grid.is-single{grid-template-columns:minmax(0,640px)}.profile-grid .profile-column{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}@media (max-width: 992px){.profile-grid{grid-template-columns:minmax(0,1fr)}}.user-profile-page .admin-card-header h3{margin:0;display:flex;align-items:center;gap:.65rem;font-size:var(--font-size-base);font-weight:700}.up-details{list-style:none;padding:0;margin:0}.up-details li{display:flex;align-items:baseline;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--border-primary);font-size:var(--font-size-sm)}.up-details li:first-child{padding-top:0}.up-details li:last-child{padding-bottom:0;border-bottom:none}.up-details-label{flex:0 0 7rem;display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.up-details-label svg{flex-shrink:0;width:15px;height:15px;color:var(--text-tertiary);transform:translateY(2px)}.up-details-value{min-width:0;color:var(--text-primary);font-weight:500;overflow-wrap:anywhere}.up-details-value.is-empty{color:var(--text-placeholder);font-weight:400}.up-details-value.is-mono{font-family:var(--font-family-monospace)}@media (max-width: 480px){.up-details li{flex-direction:column;gap:.3rem}.up-details-label{flex-basis:auto}}.up-access-summary{display:flex;gap:.75rem;margin-bottom:1.25rem}.up-stat{flex:0 1 auto;min-width:6.5rem;padding:.6rem .85rem;background-color:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.up-stat b{display:block;font-size:1.35rem;font-weight:700;line-height:1.15;color:var(--text-primary)}.up-stat span{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.up-access-groups{display:flex;flex-direction:column;gap:.75rem;max-height:30rem;overflow-y:auto}.up-access-group{flex-shrink:0;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);overflow:hidden}.up-access-group-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .85rem;background-color:var(--background-primary);border-bottom:1px solid var(--border-primary)}.up-access-group-head strong{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);min-width:0;overflow-wrap:anywhere}.up-access-group-head span{flex-shrink:0;font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap}.up-chip-row{display:flex;flex-wrap:wrap;gap:.4rem;padding:.75rem .85rem}.up-chip{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--border-radius-pill);background-color:var(--background-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:500}.up-chip-row .up-empty{font-size:var(--font-size-xs);font-style:italic;color:var(--text-placeholder)}.up-card-state{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;font-size:var(--font-size-sm);color:var(--text-tertiary);text-align:center}.up-card-state.is-error{color:var(--danger-text)}.up-card-state svg{flex-shrink:0}.up-card-state .up-spin{animation:up-spin 1s linear infinite}@keyframes up-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.result-analytics{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.ra-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--ui-radius-card);overflow:hidden}.ra-kpi{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 14px;background:transparent;border-left:1px solid var(--border-primary);border-top:1px solid var(--border-primary);margin:-1px 0 0 -1px}.ra-kpi.kpi-score{--ra-kpi-accent: var(--accent-color)}.ra-kpi.kpi-acc{--ra-kpi-accent: var(--tone-purple)}.ra-kpi.kpi-att{--ra-kpi-accent: var(--tone-sky)}.ra-kpi.kpi-time{--ra-kpi-accent: var(--tone-amber)}.ra-kpi.kpi-neg{--ra-kpi-accent: var(--tone-rose)}.ra-kpi-icon svg{width:20px;height:20px}.ra-kpi-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:11px;font-size:1.1rem;color:var(--ra-kpi-accent, var(--accent-color));background:color-mix(in srgb,var(--ra-kpi-accent, var(--accent-color)) 14%,transparent)}.ra-kpi-body{display:flex;flex-direction:column;min-width:0;gap:2px}.ra-kpi-value{font-size:var(--ui-text-card);font-weight:700;line-height:1.2;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.ra-kpi.kpi-neg .ra-kpi-value{color:var(--danger-text, var(--danger-color))}.ra-kpi-label{font-size:var(--ui-text-meta);font-weight:500;color:var(--text-secondary)}.ra-kpi-sub{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.ra-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:start}@media (max-width: 720px){.ra-main-grid{grid-template-columns:1fr}}.ra-card{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--ui-radius-card);padding:16px;position:relative;overflow:hidden}.ra-card-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary);margin-bottom:12px}.ra-card-title svg{font-size:var(--ui-text-card);color:var(--text-secondary)}.ra-subhead{display:block;font-size:var(--ui-text-cap);font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);margin:var(--spacing-md) 0 var(--spacing-sm)}.ra-subhead:first-of-type{margin-top:var(--spacing-xs)}.ra-subhead.focus{color:var(--danger-text, #b91c1c)}.ra-subhead.strong{color:var(--success-text, #15803d)}.ra-subhead.warn{color:var(--warning-text, #b45309)}.ra-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.ra-steps li{display:flex;align-items:baseline;gap:var(--spacing-sm);font-size:.875rem;color:var(--text-primary);line-height:1.4;padding:var(--spacing-sm) var(--spacing-md);background:var(--background-primary);border-radius:var(--border-radius-md);border-left:3px solid var(--accent-color)}.ra-step-num{font-size:var(--ui-text-cap);font-weight:700;color:var(--accent-color);min-width:1rem}.ra-watch{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.ra-insight{display:flex;gap:var(--spacing-sm);align-items:flex-start;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);background:var(--background-primary);border-left:3px solid transparent}.ra-insight.sev-warn{border-left-color:#f59e0b;background:#f59e0b0d}.ra-insight.sev-info{border-left-color:#3b82f6;background:#3b82f60d}.ra-insight-icon{flex-shrink:0;margin-top:2px;font-size:.9rem}.ra-insight.sev-warn .ra-insight-icon{color:#d97706}.ra-insight.sev-info .ra-insight-icon{color:#2563eb}.ra-insight strong{font-size:var(--ui-text-meta);color:var(--text-primary);display:block;margin-bottom:1px}.ra-insight p{margin:0;font-size:var(--ui-text-meta);color:var(--text-secondary);line-height:1.35}.ra-qchips{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--spacing-xs)}.ra-qchip{font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:var(--border-radius-pill);background:var(--accent-color-light);color:var(--text-accent);border:1px solid rgba(var(--accent-color-rgb),.25);cursor:pointer;transition:background .15s}.ra-qchip:hover{background:rgba(var(--accent-color-rgb),.2)}.ra-mbar{display:grid;grid-template-columns:1fr 80px 38px;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.ra-mbar-label{font-size:var(--ui-text-meta);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ra-mbar-track{height:6px;border-radius:var(--border-radius-pill);background:var(--border-primary);overflow:hidden}.ra-mbar-fill{height:100%;border-radius:var(--border-radius-pill);transition:width .4s ease}.ra-mbar-fill.good{background:linear-gradient(90deg,#16a34a,#4ade80)}.ra-mbar-fill.mid{background:linear-gradient(90deg,#d97706,#fbbf24)}.ra-mbar-fill.low{background:linear-gradient(90deg,#dc2626,#f87171)}.ra-mbar-val{font-size:var(--ui-text-cap);font-weight:600;text-align:right;color:var(--text-secondary)}.ra-hero{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--border-radius-xl);border:1px solid var(--border-primary);background:linear-gradient(120deg,rgba(var(--brand-rgb-components,37,99,235),.07),rgba(var(--brand-rgb-components,37,99,235),0) 60%),var(--background-secondary);box-shadow:var(--box-shadow-sm);position:relative;overflow:hidden}.ra-hero:before{content:"";position:absolute;top:0;left:0;bottom:0;width:5px}.ra-hero.tone-good:before{background:#16a34a}.ra-hero.tone-mid:before{background:#d97706}.ra-hero.tone-low:before{background:#dc2626}.ra-ring{flex-shrink:0}.ra-ring-bg{fill:none;stroke:var(--border-primary);stroke-width:7}.ra-ring-fg{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .7s ease}.ra-ring-text{font-size:var(--ui-text-card);font-weight:800;text-anchor:middle;dominant-baseline:middle}.ra-hero-body{flex:1;min-width:0}.ra-hero-verdict{display:block;font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary);line-height:1.2}.ra-hero-sub{margin:4px 0 0;font-size:var(--ui-text-meta);color:var(--text-secondary);line-height:1.4}.ra-hero-trend{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-lg)}.ra-hero-trend.up{background:#16a34a1a}.ra-hero-trend.down{background:#dc26261a}.ra-hero-trend.flat{background:var(--background-tertiary)}.ra-hero-trend-val{display:inline-flex;align-items:center;gap:4px;font-size:var(--ui-text-card);font-weight:800}.ra-hero-trend.up .ra-hero-trend-val{color:#16a34a}.ra-hero-trend.down .ra-hero-trend-val{color:#dc2626}.ra-hero-trend.flat .ra-hero-trend-val{color:var(--text-secondary)}.ra-hero-trend-label{font-size:.68rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}@media (max-width: 560px){.ra-hero{flex-wrap:wrap;padding:var(--spacing-md);gap:var(--spacing-sm) var(--spacing-md)}.ra-hero-body{min-width:150px}.ra-hero-trend{flex-direction:row;flex-basis:100%;justify-content:center;gap:var(--spacing-sm)}}.ra-progress-chart{height:200px;margin-top:var(--spacing-xs)}.ra-progress-chart.small{height:140px}.ra-history-meta{margin-left:auto;font-size:.68rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-tertiary)}.ra-tabs{display:inline-flex;gap:3px;padding:3px;background:var(--background-tertiary);border-radius:12px;margin-bottom:var(--spacing-md)}.ra-tab{border:none;background:none;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--text-secondary);height:36px;padding:0 14px;border-radius:9px;transition:background .15s,color .15s,box-shadow .15s}.ra-tab.active{background:var(--background-secondary);color:var(--text-primary);box-shadow:var(--box-shadow-xs)}.ra-history-rows{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ra-hrow{display:grid;grid-template-columns:minmax(0,1fr) 90px 38px 34px 20px;align-items:center;gap:var(--spacing-sm)}.ra-hrow-label{font-size:var(--ui-text-meta);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ra-hrow-val{font-size:var(--ui-text-cap);font-weight:700;text-align:right;color:var(--text-primary)}.ra-hrow-meta{font-size:var(--ui-text-cap);color:var(--text-tertiary);text-align:right}.ra-hrow-trend{display:flex;justify-content:center;font-size:var(--ui-text-body)}.ra-hrow-trend .up{color:#16a34a}.ra-hrow-trend .down{color:#dc2626}.ra-hrow-trend .flat{color:var(--text-tertiary);font-weight:700}@media (max-width: 560px){.ra-hrow{grid-template-columns:minmax(0,1fr) 60px 34px 30px 18px}}.ra-timing-note{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--ui-text-meta);color:var(--text-secondary);padding:12px 14px;background:var(--background-tertiary);border-radius:var(--ui-radius-control)}.ra-detail-toggle{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:none;border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-pill);cursor:pointer;font-size:var(--ui-text-meta);font-weight:600;transition:border-color .15s,color .15s,background .15s;align-self:flex-start}.ra-detail-toggle:hover{border-color:var(--accent-color);color:var(--text-accent);background:var(--accent-color-light)}.ra-detail-toggle svg{transition:transform .2s}.ra-detail-toggle.open svg{transform:rotate(180deg)}.ra-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-lg);align-items:start}.ra-chart-card{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-xl);padding:var(--spacing-lg);box-shadow:var(--box-shadow-xs)}.ra-chart-card h4{margin:0 0 var(--spacing-md);font-size:var(--ui-text-cap);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.ra-doughnut{height:200px;max-width:240px;margin:0 auto}.ra-chart-box{height:180px}.ra-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ra-chapter-table table{width:100%;border-collapse:collapse;font-size:var(--ui-text-meta);table-layout:fixed}.ra-chapter-table th,.ra-chapter-table td{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border-primary)}.ra-chapter-table th:first-child,.ra-chapter-table td:first-child{width:46%}.ra-chapter-table th:not(:first-child),.ra-chapter-table td:not(:first-child){text-align:right;white-space:nowrap}.ra-chapter-table td:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ra-chapter-table thead th{color:var(--text-tertiary);font-weight:700;font-size:var(--ui-text-cap);text-transform:uppercase}@media (max-width: 600px){.result-analytics{gap:var(--spacing-md)}.ra-card,.ra-chart-card{padding:var(--spacing-md)}.ra-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ra-detail{grid-template-columns:1fr}.ra-hero{padding:var(--spacing-md)}.ra-hero-verdict{font-size:var(--ui-text-card)}.ra-progress-chart{height:170px}.ra-tabs{width:100%;justify-content:space-between}.ra-tab{flex:1;text-align:center;padding:6px 8px}}@media (max-width: 380px){.ra-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.ra-hero.tone-pending:before{background:#d97706}.ra-hero.tone-pending{background:#f59e0b12;border-color:#f59e0b59}.ra-hero-icon{flex-shrink:0;font-size:1.8rem;color:#d97706}.ra-hero-score{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;min-width:96px}.ra-hero-score-val{font-size:1.9rem;font-weight:800;color:var(--text-primary);line-height:1.05}.ra-hero-score-val small{font-size:var(--ui-text-body);font-weight:600;color:var(--text-secondary)}.ra-hero-score-pct{font-size:var(--ui-text-meta);font-weight:700;color:var(--text-secondary)}.ra-hero-sub strong{color:var(--text-primary)}.ra-chg{font-weight:700;white-space:nowrap}.ra-chg.up{color:#16a34a}.ra-chg.down{color:#dc2626}.ra-chg.flat{color:var(--text-tertiary);font-weight:600}.ra-qrefs{font-weight:700}.ra-qref{font:inherit;font-weight:800;color:var(--text-accent, var(--accent-color));background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}button.ra-qref:hover{text-decoration-thickness:2px}.ra-step-text{flex:1;min-width:0}.ra-table{width:100%;border-collapse:collapse;font-size:var(--ui-text-meta)}.ra-table th,.ra-table td{padding:6px var(--spacing-sm);border-bottom:1px solid var(--border-primary);text-align:right;white-space:nowrap;color:var(--text-primary)}.ra-table thead th{color:var(--text-tertiary);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.ra-table .ra-col-name{text-align:left;max-width:260px;overflow:hidden;text-overflow:ellipsis}.ra-table .ra-col-refs{text-align:left;white-space:normal;min-width:120px}.ra-table tr.is-current td{background:rgba(var(--accent-color-rgb, 37,99,235),.06);font-weight:600}.ra-tag{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap;background:var(--background-tertiary);color:var(--text-secondary)}.ra-tag.good{background:#16a34a1f;color:#15803d}.ra-tag.mid{background:#d977061f;color:#b45309}.ra-tag.low{background:#dc26261f;color:#b91c1c}.ra-tag.pending{background:#f59e0b26;color:#b45309}.ra-tag.current{background:rgba(var(--accent-color-rgb, 37,99,235),.12);color:var(--text-accent, var(--accent-color))}.ra-legend{margin:var(--spacing-sm) 0 0;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.ra-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.ra-stat{display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--spacing-sm) var(--spacing-md);background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.ra-stat-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.ra-stat-value{font-size:var(--ui-text-card);font-weight:800;color:var(--text-primary);line-height:1.15}.ra-stat-value.pending{font-size:var(--ui-text-body);color:#b45309}.ra-stat-sub{font-size:var(--ui-text-cap);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ra-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md)}.ra-filter{display:flex;align-items:center;gap:6px;font-size:var(--ui-text-cap);color:var(--text-secondary);font-weight:600;min-width:0}.ra-filter select{max-width:240px;padding:5px 8px;font-size:var(--ui-text-meta);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary);color:var(--text-primary)}.ra-link-btn{margin-top:var(--spacing-sm);background:none;border:none;padding:0;cursor:pointer;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-accent, var(--accent-color))}.ra-row-link{display:inline-flex;align-items:center;gap:4px;max-width:100%;background:none;border:none;padding:0;cursor:pointer;font:inherit;text-align:left;color:var(--text-accent, var(--accent-color));font-weight:600}.ra-row-link:hover{text-decoration:underline}.ra-row-link svg{flex-shrink:0}@media (max-width: 600px){.ra-hero-score-val{font-size:1.5rem}.ra-hero-trend{box-sizing:border-box;max-width:100%}.ra-table{font-size:var(--ui-text-cap)}.ra-table .ra-col-name{max-width:150px}.ra-filter,.ra-filter select{width:100%;max-width:none}.ra-stat-grid{grid-template-columns:repeat(2,1fr)}}.ra-standing{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}.ra-standing .ra-tag{margin-left:0}.ra-standing-d{font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary);white-space:nowrap}.bt-screen{min-height:100%;background:var(--background-primary);color:var(--text-primary)}.bt-screen:has(>.bt-page>.bt-back)>.bt-topbar{display:none}.bt-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--background-secondary);border-bottom:1px solid var(--border-primary)}.bt-topbar-title{font-weight:600;font-size:var(--ui-text-body);color:var(--text-secondary)}.bt-page{max-width:1120px;margin:0 auto;padding:20px 24px 56px;display:flex;flex-direction:column;gap:18px}@media (max-width: 768px){.main-content .bt-page{padding:4px 0 24px;gap:16px}}.bt-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}.bt-head-main{min-width:0;flex:1 1 320px;display:flex;flex-direction:column;gap:6px}.bt-head-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bt-head-meta{font-size:var(--ui-text-meta);color:var(--text-tertiary);margin-left:4px}.bt-title{margin:0;font-size:1.5rem;font-weight:700;line-height:1.25;text-wrap:balance;color:var(--text-primary)}.bt-sub{margin:0;color:var(--text-secondary);font-size:var(--ui-text-body);max-width:70ch}.bt-back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:4px 0;cursor:pointer;color:var(--text-accent);font-weight:600;font-size:.9rem}.bt-back:hover{text-decoration:underline}.bt-muted{color:var(--text-tertiary)}.bt-small{font-size:var(--ui-text-meta)}.bt-block{display:block}.bt-center{text-align:center}.bt-stack{display:flex;flex-direction:column;gap:16px}.bt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 14px;border-radius:var(--border-radius-md);border:1px solid var(--border-secondary);background:var(--background-secondary);color:var(--text-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;white-space:nowrap}.bt-btn:hover:not(:disabled){background:var(--background-tertiary)}.bt-btn:focus-visible,.bt-icon-btn:focus-visible,.bt-tab:focus-visible,.bt-row:focus-visible,.bt-pick-row:focus-visible,.bt-batch-card:focus-visible,.bt-folder-toggle:focus-visible,.bt-video:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.bt-btn.primary{background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--text-on-primary-button)}.bt-btn.primary:hover:not(:disabled){background:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-bg)}.bt-btn.soft{background:var(--button-secondary-accent-bg);border-color:var(--button-secondary-accent-border);color:var(--button-secondary-accent-text)}.bt-btn.soft:hover:not(:disabled){background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--text-on-primary-button)}.bt-btn.ghost{background:transparent;border-color:transparent;color:var(--text-accent)}.bt-btn.ghost:hover:not(:disabled){background:var(--accent-color-light)}.bt-btn:disabled{opacity:.55;cursor:not-allowed}.bt-icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--border-radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--ui-text-body)}.bt-icon-btn:hover:not(:disabled){background:var(--background-tertiary);color:var(--text-primary)}.bt-icon-btn.danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-color)}.bt-icon-btn:disabled{opacity:.35;cursor:not-allowed}.bt-link{background:none;border:none;padding:0;cursor:pointer;color:var(--text-accent);font-weight:600;display:inline-flex;align-items:center;gap:2px}.bt-link:hover{text-decoration:underline}.bt-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bt-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--border-radius-pill);background:var(--background-tertiary);color:var(--text-secondary);font-size:var(--ui-text-meta);font-weight:600;border:1px solid transparent}.bt-chips.selectable .bt-chip{cursor:pointer;border-color:var(--border-primary);background:var(--background-secondary);padding:6px 12px;font-size:var(--ui-text-meta)}.bt-chip.on{background:var(--accent-color-light);color:var(--text-accent);border-color:var(--border-accent)}.bt-chip.warn{background:var(--warning-bg);color:var(--warning-color);color:color-mix(in srgb,var(--warning-color) 55%,var(--text-primary))}.bt-chip.muted{background:transparent;color:var(--text-tertiary)}.bt-chip.as-button{cursor:pointer;border:none}.bt-chip.removable{padding-right:4px}.bt-chip.removable button{display:inline-grid;place-items:center;width:18px;height:18px;border:none;border-radius:50%;background:transparent;color:inherit;cursor:pointer;padding:0}.bt-chip.removable button:hover{background:var(--danger-bg);color:var(--danger-color)}.bt-chips.picked{padding:8px 0}.bt-chip-add{border:1px dashed var(--border-secondary);background:transparent;color:var(--text-secondary);border-radius:var(--border-radius-pill);font-size:var(--ui-text-meta);padding:2px 8px;cursor:pointer}.bt-tag{display:inline-block;padding:1px 8px;border-radius:var(--border-radius-pill);background:var(--accent-color-light);color:var(--text-accent);font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.02em;vertical-align:middle}.bt-pill{display:inline-block;padding:1px 8px;border-radius:var(--border-radius-pill);font-size:var(--ui-text-cap);font-weight:700;white-space:nowrap}.bt-pill.open,.bt-pill.completed{background:var(--success-bg);color:var(--success-color)}.bt-pill.upcoming{background:var(--accent-color-light);color:var(--text-accent)}.bt-pill.closed,.bt-pill.not_started{background:var(--background-tertiary);color:var(--text-tertiary)}.bt-pill.in_progress{background:var(--warning-bg);color:var(--warning-color);color:color-mix(in srgb,var(--warning-color) 55%,var(--text-primary))}.bt-search{display:flex;align-items:center;gap:8px;flex:0 0 auto;width:100%;max-width:420px;padding:0 12px;min-height:40px;border-radius:var(--border-radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-tertiary)}.bt-toolbar .bt-search{flex:1 1 140px;width:auto;min-width:0}.bt-toolbar>.bt-btn{flex-shrink:0}.bt-search:focus-within{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.bt-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--input-text);font-size:var(--ui-text-body);padding:8px 0}.bt-search.in-dialog{max-width:none;flex:none;margin-bottom:4px}.bt-select,.bt-date,.bt-rename,.bt-field input,.bt-field select{min-height:38px;padding:6px 10px;border-radius:var(--border-radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-size:.9rem}.bt-select:focus,.bt-date:focus,.bt-rename:focus,.bt-field input:focus,.bt-field select:focus{outline:none;border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.bt-rename{flex:1;min-width:0}.bt-form{display:flex;flex-direction:column;gap:16px}.bt-field{display:flex;flex-direction:column;gap:6px}.bt-field>span{font-weight:600;font-size:.9rem;color:var(--text-primary)}.bt-field>span em{font-style:normal;font-weight:400;color:var(--text-tertiary)}.bt-help{color:var(--text-tertiary);font-size:var(--ui-text-meta)}.bt-help.warn,.bt-warn-text{color:var(--warning-color)}.bt-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.bt-inline-field{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.bt-alert{padding:10px 14px;border-radius:var(--border-radius-md);font-size:.9rem}.bt-alert.error{background:var(--danger-bg);color:var(--danger-color);border:1px solid var(--danger-border)}.bt-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--border-radius-lg);background:var(--accent-color-light);color:var(--text-primary)}.bt-note svg{color:var(--text-accent);flex-shrink:0;margin-top:3px}.bt-note p{margin:0;font-size:.9rem;line-height:1.5}.bt-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border-radius:var(--border-radius-lg);font-weight:600;font-size:.9rem;border:1px solid var(--border-primary);background:var(--background-secondary)}.bt-status.live svg{color:var(--success-color)}.bt-status.draft svg{color:var(--warning-color)}.bt-status-meta{font-weight:500;color:var(--text-secondary)}.bt-status-actions{margin-left:auto;display:inline-flex;flex-wrap:wrap;gap:8px}.bt-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:36px 20px;border:1px solid var(--border-primary);border-radius:var(--ui-radius-card);background:var(--background-secondary)}.bt-empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--background-tertiary);color:var(--text-secondary);font-size:1.4rem}.bt-empty h3{margin:4px 0 0;font-size:var(--ui-text-card)}.bt-empty-text{color:var(--text-secondary);max-width:56ch;font-size:var(--ui-text-body);line-height:1.55}.bt-empty-action{margin-top:8px}.bt-steps{text-align:left;margin:8px 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:4px}.bt-skeleton{display:flex;flex-direction:column;gap:10px}.bt-skel-row,.bt-skel-card{border-radius:var(--border-radius-lg);background:linear-gradient(90deg,var(--background-tertiary) 0%,var(--background-secondary) 50%,var(--background-tertiary) 100%);background-size:200% 100%;animation:bt-shimmer 1.4s ease-in-out infinite}.bt-skel-card{min-height:150px;border:1px solid var(--border-primary)}.bt-kpi.bt-skel-card{min-height:86px}@keyframes bt-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.bt-skel-row,.bt-skel-card{animation:none}}.bt-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.bt-card{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--ui-radius-card)}.bt-batch-card{display:flex;flex-direction:column;gap:10px;padding:16px;text-align:left;cursor:pointer;color:var(--text-primary);font:inherit;transition:border-color .15s,box-shadow .15s}.bt-batch-card:hover{border-color:var(--border-accent);box-shadow:var(--box-shadow-sm)}.bt-batch-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.bt-batch-name{font-weight:700;font-size:var(--ui-text-card);line-height:1.3;overflow-wrap:anywhere}.bt-batch-stats{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--ui-text-meta);color:var(--text-secondary)}.bt-batch-teachers{font-size:var(--ui-text-meta);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-screen--admin .bt-page{padding:0 0 48px;max-width:1240px}.bt-batch-stats b{color:var(--text-primary);font-variant-numeric:tabular-nums}.bt-batch-foot{margin-top:auto;padding-top:8px;border-top:1px solid var(--border-primary);font-size:var(--ui-text-meta);color:var(--text-tertiary)}.bt-tabs{position:relative;display:flex;gap:2px;border-bottom:1px solid var(--border-primary);overflow-x:auto;scrollbar-width:none}.bt-tabs::-webkit-scrollbar{display:none}.bt-tabs.fade-right{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}.bt-tabs.fade-left{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 40px),transparent)}.bt-tabs.fade-left.fade-right{-webkit-mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent)}.bt-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;flex-shrink:0;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-secondary);font-weight:600;font-size:var(--ui-text-body);cursor:pointer}.bt-tab:hover{color:var(--text-primary)}.bt-tab.on{color:var(--text-accent);border-bottom-color:var(--accent-color)}.bt-tab-body{min-height:200px}.bt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.bt-kpi{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg)}.bt-kpis.compact .bt-kpi{padding:10px 12px}.bt-kpi-label{font-size:var(--ui-text-meta);color:var(--text-secondary);font-weight:600}.bt-kpi-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.bt-kpis.compact .bt-kpi-value{font-size:var(--ui-text-card)}.bt-kpi-hint{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.bt-t-good{color:var(--success-color)}.bt-t-fair{color:var(--warning-color)}.bt-t-weak{color:var(--danger-color)}.bt-section{display:flex;flex-direction:column;gap:10px}.bt-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.bt-section-head h2{margin:0;font-size:var(--ui-text-card);font-weight:700}.bt-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--card-bg);overflow:hidden}.bt-rows>li+li{border-top:1px solid var(--border-primary)}.bt-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:16px;padding:12px 16px;background:none;border:none;text-align:left;color:var(--text-primary);font:inherit;cursor:pointer}.bt-row:hover{background:var(--background-hover)}.bt-row.static{cursor:default;grid-template-columns:minmax(0,1fr) auto}.bt-row.static:hover{background:none}.bt-row.static.bt-tatt-row{grid-template-columns:minmax(0,1fr) auto auto}.bt-pill.bt-tatt-done{background:var(--success-bg)}.bt-pill.bt-tatt-done.bt-t-fair{background:var(--warning-bg)}.bt-pill.bt-tatt-done.bt-t-weak{background:var(--danger-bg)}.bt-pill.bt-tatt-todo{background:var(--warning-bg);color:color-mix(in srgb,var(--warning-color) 55%,var(--text-primary))}@media (max-width: 720px){.bt-row.static.bt-tatt-row{grid-template-columns:minmax(0,1fr) auto}.bt-row.static.bt-tatt-row .bt-btn{grid-column:1 / -1}}.bt-row-main{min-width:0;display:flex;flex-direction:column;gap:3px}.bt-row-title{font-weight:600;overflow-wrap:anywhere}.bt-row-meta{font-size:var(--ui-text-meta);color:var(--text-tertiary);display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bt-row-chev{color:var(--text-tertiary)}.bt-score{font-weight:700;font-variant-numeric:tabular-nums;min-width:3.2em;text-align:right}.bt-score-pair{display:flex;flex-direction:column;align-items:flex-end}.bt-score-pair small{color:var(--text-tertiary);font-size:var(--ui-text-cap);white-space:nowrap}.bt-progress{display:inline-flex;align-items:center;gap:8px;min-width:130px}.bt-progress-bar{flex:1;height:6px;border-radius:3px;background:var(--background-tertiary);overflow:hidden;min-width:60px}.bt-progress-bar i{display:block;height:100%;background:var(--accent-color);border-radius:3px}.bt-progress-text{font-size:var(--ui-text-meta);color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:3.5em;text-align:right}.bt-progress.bt-small-bar{min-width:110px}.bt-attention{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.bt-att{padding:14px;border-radius:var(--border-radius-lg);border:1px solid var(--border-primary);background:var(--card-bg);display:flex;flex-direction:column;gap:6px}.bt-att-head{display:flex;align-items:center;gap:8px;font-weight:600;font-size:var(--ui-text-body)}.bt-att-head b{margin-left:auto;font-size:var(--ui-text-card);font-variant-numeric:tabular-nums}.bt-att.warn .bt-att-head svg{color:var(--warning-color)}.bt-att.bad .bt-att-head svg{color:var(--danger-color)}.bt-att.muted .bt-att-head svg{color:var(--text-tertiary)}.bt-att-names{margin:0;font-size:var(--ui-text-meta);color:var(--text-secondary);line-height:1.5}.bt-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.bt-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.bt-bars li{display:grid;grid-template-columns:minmax(0,1fr) 90px 3em;align-items:center;gap:10px}.bt-bar-label{min-width:0;display:flex;flex-direction:column}.bt-bar-label b{font-size:.9rem;overflow-wrap:anywhere}.bt-bar-label small{color:var(--text-tertiary);font-size:var(--ui-text-cap)}.bt-bar{height:8px;border-radius:4px;background:var(--background-tertiary);overflow:hidden}.bt-bar i{display:block;height:100%;border-radius:4px;background:var(--danger-color)}.bt-bar i.bt-t-fair{background:var(--warning-color)}.bt-bar i.bt-t-good{background:var(--success-color)}.bt-bar-val{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;font-size:.88rem}.bt-practice{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--card-bg);line-height:1.6}.bt-practice>svg{color:var(--warning-color);font-size:var(--ui-text-card);margin-top:3px}.bt-practice b{font-size:var(--ui-text-card);font-variant-numeric:tabular-nums}.bt-section>.bt-bars{padding:14px 16px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--card-bg)}.bt-card,.bt-rows,.bt-kpi,.bt-att,.bt-table-wrap,.bt-tree,.bt-summary,.bt-plan,.bt-status,.bt-practice,.bt-section>.bt-bars,.bt-reg-summary,.bt-reg-list,.bt-live-list,.bt-live-now-card{box-shadow:var(--box-shadow-xs)}.bt-seg{display:inline-flex;gap:2px;padding:3px;border-radius:var(--border-radius-md);background:var(--background-tertiary);max-width:100%;overflow-x:auto}.bt-seg.wrap{flex-wrap:wrap;overflow:visible}.bt-seg button{border:none;background:none;padding:6px 12px;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:600;font-size:var(--ui-text-meta);color:var(--text-secondary);white-space:nowrap}.bt-seg button.on{background:var(--background-secondary);color:var(--text-accent);box-shadow:var(--box-shadow-xs)}.bt-seg button small{font-weight:500;color:var(--text-tertiary)}.bt-table-wrap{overflow-x:auto;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--card-bg)}.bt-table{width:100%;border-collapse:collapse;font-size:.9rem}.bt-table th{text-align:left;padding:10px 12px;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary);background:var(--background-tertiary);white-space:nowrap}.bt-table td{padding:10px 12px;border-top:1px solid var(--border-primary);vertical-align:middle}.bt-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bt-table tr.done td{color:var(--text-tertiary)}.bt-table tr.warn td:first-child{color:var(--warning-color)}.bt-score-cell{font-weight:700}.bt-actions-cell{white-space:nowrap;text-align:right}.bt-tick{background:none;border:none;cursor:pointer;font-size:var(--ui-text-card);color:var(--text-tertiary);display:inline-grid;place-items:center;padding:4px}.bt-tick.on{color:var(--success-color)}.bt-pager{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary);font-size:.88rem}.bt-pick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bt-pick-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;text-align:left;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--card-bg);color:var(--text-primary);font:inherit;cursor:pointer}.bt-pick-row:hover{border-color:var(--border-accent);background:var(--background-hover)}.bt-pick-row.on{border-color:var(--accent-color);background:var(--accent-color-light)}.bt-pick-row.static{cursor:default}.bt-pick-row.static:hover{background:var(--card-bg);border-color:var(--border-primary)}.bt-pick-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bt-pick-title{font-weight:600;overflow-wrap:anywhere}.bt-pick-meta{font-size:var(--ui-text-meta);color:var(--text-tertiary)}.bt-pick-go{display:inline-flex;align-items:center;gap:4px;color:var(--text-accent);font-weight:600;font-size:var(--ui-text-meta);flex-shrink:0}.bt-check{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--border-secondary);color:var(--text-tertiary);flex-shrink:0}.bt-check.on{background:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent)}.bt-drawer-overlay,.bt-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:var(--background-overlay)}.bt-drawer{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);display:flex;flex-direction:column;background:var(--background-secondary);box-shadow:var(--box-shadow-lg);padding-bottom:env(safe-area-inset-bottom,0px)}.bt-drawer.wide{width:min(820px,100%)}.bt-drawer-head,.bt-dialog-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border-primary)}.bt-drawer-titles{flex:1;min-width:0}.bt-drawer-head h2,.bt-dialog-head h2{margin:0;font-size:var(--ui-text-card);font-weight:700;overflow-wrap:anywhere;flex:1}.bt-drawer-head p{margin:4px 0 0;color:var(--text-tertiary);font-size:var(--ui-text-meta)}.bt-drawer-body{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.bt-drawer-foot,.bt-dialog-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border-primary)}.bt-dialog-overlay{display:grid;place-items:center;padding:16px}.bt-dialog{width:min(600px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;background:var(--background-secondary);border-radius:var(--border-radius-xl);box-shadow:var(--box-shadow-lg);overflow:hidden}.bt-dialog-body{overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.bt-tree{display:flex;flex-direction:column;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--card-bg);overflow:hidden}.bt-tree>.bt-node+.bt-node{border-top:1px solid var(--border-primary)}.bt-node{--depth: 0}.bt-folder{display:flex;align-items:center;gap:6px;padding:4px 8px 4px calc(8px + var(--depth) * 18px)}.bt-folder:hover{background:var(--background-hover)}.bt-folder-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 4px;text-align:left;background:none;border:none;cursor:pointer;color:var(--text-primary);font:inherit}.bt-folder-icon{color:var(--text-accent);flex-shrink:0}.bt-folder-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-count{margin-left:auto;padding-left:8px;font-size:var(--ui-text-cap);color:var(--text-tertiary);white-space:nowrap}.bt-count.zero{opacity:.7}.bt-lock{color:var(--warning-color);flex-shrink:0}.bt-folder-actions{display:inline-flex;gap:2px;flex-shrink:0}.bt-node-children{padding-bottom:6px}.bt-add-video{display:flex;align-items:center;gap:8px;margin:6px 12px 6px calc(34px + var(--depth) * 18px)}.bt-add-video>svg{color:var(--danger-color);flex-shrink:0}.bt-add-video input{flex:1;min-width:0;min-height:38px;padding:6px 10px;border-radius:var(--border-radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text)}.bt-add-video input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.bt-videos{list-style:none;margin:0;padding:0 12px 0 calc(34px + var(--depth, 0) * 18px);display:flex;flex-direction:column;gap:6px}.bt-section .bt-videos{padding:0}.bt-video{display:flex;align-items:center;gap:10px;padding:6px;border-radius:var(--border-radius-md)}.bt-video img,.bt-video-ph{width:80px;height:45px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--background-tertiary)}.bt-video-ph{display:grid;place-items:center;color:var(--text-tertiary)}.bt-video-title{flex:1;min-width:0;color:var(--text-primary);text-decoration:none;overflow-wrap:anywhere;font-size:.9rem}a.bt-video-title:hover{color:var(--text-accent);text-decoration:underline}.bt-video.student{width:100%;border:1px solid var(--border-primary);background:var(--card-bg);cursor:pointer;text-align:left;font:inherit;color:var(--text-primary)}.bt-video.student:hover:not(:disabled){border-color:var(--border-accent)}.bt-video.student.locked{opacity:.6;cursor:not-allowed}.bt-video.student.done .bt-video-title{color:var(--text-secondary)}.bt-video-thumb{position:relative;flex-shrink:0}.bt-video-ov{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#00000047;border-radius:6px}.bt-video-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.bt-video-meta{font-size:var(--ui-text-meta);color:var(--text-tertiary);display:flex;align-items:center;gap:4px}.bt-video-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bt-video-kind{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.bt-video-ph.is-recording{color:var(--text-accent);background:var(--accent-color-light);font-size:var(--ui-text-card)}.bt-video-move{flex:1;min-width:0}.bt-new-folder>svg{color:var(--text-accent)}.bt-stack>.bt-new-folder{margin:0}a.bt-video.student{text-decoration:none}.bt-good{color:var(--success-color);display:inline-flex;align-items:center;gap:4px}.bt-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;font-size:.9rem}.bt-switch input{position:absolute;opacity:0;width:1px;height:1px}.bt-switch-track{position:relative;width:40px;height:22px;border-radius:11px;background:var(--border-secondary);transition:background-color .15s;flex-shrink:0}.bt-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--background-secondary);transition:transform .15s;box-shadow:var(--box-shadow-xs)}.bt-switch input:checked+.bt-switch-track{background:var(--accent-color)}.bt-switch input:checked+.bt-switch-track:after{transform:translate(18px)}.bt-switch input:focus-visible+.bt-switch-track{outline:2px solid var(--accent-color);outline-offset:2px}.bt-switch input:disabled+.bt-switch-track{opacity:.5}.bt-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--border-primary);border-radius:var(--ui-radius-card);background:var(--card-bg);overflow:hidden}.bt-summary-counts{flex:1 1 100%;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;margin:-14px -16px 0}@media (max-width: 768px){.bt-summary-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}.bt-count-box{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;border-left:1px solid var(--border-primary);border-top:1px solid var(--border-primary);margin:-1px 0 0 -1px;background:transparent}.bt-count-box b{font-size:var(--ui-text-card);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;color:var(--text-primary)}.bt-count-box span{font-size:var(--ui-text-meta);color:var(--text-secondary)}.bt-count-box.accent b{color:var(--text-accent)}.bt-count-box.warn b{color:var(--tone-amber)}.bt-count-box.good b{color:var(--tone-green)}.bt-count-box.bad b{color:var(--danger-text, var(--danger-color))}.bt-plan{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--card-bg)}.bt-plan li{display:flex;align-items:center;gap:12px;padding:10px 14px}.bt-plan li+li{border-top:1px solid var(--border-primary)}.bt-plan-dot{width:10px;height:10px;border-radius:50%;background:var(--border-secondary);flex-shrink:0}.bt-plan li.done .bt-plan-dot{background:var(--success-color)}.bt-plan li.now .bt-plan-dot{background:var(--warning-color)}.bt-plan-main{flex:1;min-width:0;display:flex;flex-direction:column}.bt-plan-main small{color:var(--text-tertiary);font-size:var(--ui-text-meta)}.yt-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000009e;display:grid;place-items:center;padding:16px}.yt-modal{width:min(880px,100%);background:var(--background-secondary);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0006}.yt-modal-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-primary)}.yt-modal-head b{flex:1;min-width:0;font-size:var(--ui-text-body);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yt-modal-close{background:var(--background-tertiary);border:none;border-radius:8px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;color:var(--text-primary)}.yt-modal-body{background:#000}.yt-modal-foot{padding:10px 16px;font-size:var(--ui-text-cap);color:var(--text-secondary)}.batch-empty{text-align:center;color:var(--text-secondary);padding:30px;font-size:.9rem}.bt-reg-seg{display:inline-flex;gap:2px;padding:3px;border-radius:var(--border-radius-md);background:var(--background-tertiary)}.bt-reg-seg button{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.88rem;cursor:pointer}.bt-reg-seg button.is-on{background:var(--background-secondary);color:var(--text-primary);box-shadow:var(--box-shadow-sm)}.bt-reg-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}.bt-reg-field{display:flex;flex-direction:column;gap:4px;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.bt-reg-field>span{display:inline-flex;align-items:center;gap:5px}.bt-reg-field input,.bt-reg-field select,.bt-reg-month{min-height:38px;padding:6px 10px;border-radius:var(--border-radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font:inherit;font-size:.9rem;width:auto}.bt-reg-field select{min-width:190px}.bt-reg .bt-reg-field input,.bt-stack .bt-reg-field input,.bt-reg-actions .bt-reg-month{display:inline-block;width:auto}.bt-reg-actions{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.bt-reg-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 14px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--card-bg);font-size:.88rem}.bt-reg-count{display:inline-flex;align-items:baseline;gap:4px;color:var(--text-secondary)}.bt-reg-count b{font-size:var(--ui-text-card);color:var(--text-primary);font-variant-numeric:tabular-nums}.bt-reg-count.a b{color:var(--danger-color)}.bt-reg-count.l b{color:var(--warning-color)}.bt-reg-pct{font-weight:800;font-size:var(--ui-text-card)}.bt-reg-state{margin-left:auto;color:var(--text-tertiary);font-size:var(--ui-text-meta)}.bt-reg-list{list-style:none;margin:0;padding:0;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--card-bg);overflow:hidden}.bt-reg-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-top:1px solid var(--border-primary)}.bt-reg-row:first-child{border-top:none}.bt-reg-row.is-A{background:color-mix(in srgb,var(--danger-color) 6%,transparent)}.bt-reg-row.is-L{background:color-mix(in srgb,var(--warning-color) 7%,transparent)}.bt-reg-who{min-width:0;display:flex;flex-direction:column}.bt-reg-who b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-reg-who small{font-size:var(--ui-text-cap);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-reg-marks{display:flex;align-items:center;gap:4px;flex-shrink:0}.bt-reg-mark{min-width:40px;height:34px;padding:0 8px;border-radius:8px;border:1px solid var(--border-secondary);background:var(--background-secondary);color:var(--text-secondary);font-weight:800;font-size:var(--ui-text-meta);cursor:pointer}.bt-reg-mark:hover{border-color:var(--text-tertiary)}.bt-reg-mark:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.bt-reg-mark.m-P.is-on{background:var(--success-color);border-color:var(--success-color);color:#fff}.bt-reg-mark.m-A.is-on{background:var(--danger-color);border-color:var(--danger-color);color:#fff}.bt-reg-mark.m-L.is-on{background:var(--warning-color);border-color:var(--warning-color);color:#1f1300}.bt-reg-mark.m-E.is-on{background:var(--info-color, var(--accent-color));border-color:var(--info-color, var(--accent-color));color:#fff}:root.dark-mode .bt-reg-mark.m-P.is-on{color:#052e16}:root.dark-mode .bt-reg-mark.m-A.is-on{color:#450a0a}:root.dark-mode .bt-reg-mark.m-E.is-on{color:#0b1220}.bt-reg-none{padding:18px}.bt-reg-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary);box-shadow:0 -6px 18px #0f172a14}.bt-reg-check{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;cursor:pointer}.bt-reg-check span{display:inline-flex;align-items:center;gap:6px}.bt-reg-check input{width:16px;height:16px;accent-color:var(--accent-color)}.bt-reg-h{margin:0;font-size:var(--ui-text-body)}@media (max-width: 720px){.bt-reg-head{align-items:stretch}.bt-reg-field{flex:1 1 140px}.bt-reg-field select{min-width:0}.bt-reg-actions{margin-left:0;width:100%}.bt-reg-actions .bt-btn{flex:1}.bt-reg-state{margin-left:0;width:100%}.bt-reg-row{flex-direction:column;align-items:stretch;gap:8px}.bt-reg-marks .bt-reg-mark{flex:1;height:40px}.bt-reg-bar{bottom:env(safe-area-inset-bottom,0px)}.bt-reg-bar .bt-btn.primary{flex:1}.bt-page{padding:16px 16px 48px;gap:14px}.bt-title{font-size:var(--ui-text-card)}.bt-head-actions{width:100%}.bt-head-actions .bt-btn.primary{flex:1}.bt-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.bt-row .bt-progress{grid-column:1 / -1;grid-row:2}.bt-row-chev{display:none}.bt-search{max-width:none}.bt-toolbar>.bt-btn{padding:8px 10px}.bt-status-actions{margin-left:0;width:100%}.bt-bars li{grid-template-columns:minmax(0,1fr) 70px 3em}.bt-add-video{margin-left:12px;flex-wrap:wrap}.bt-videos{padding-left:12px}.bt-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bt-kpis>.bt-kpi:last-child:nth-child(odd){grid-column:1 / -1}.bt-kpi{padding:12px 14px}.bt-kpi-value{font-size:1.35rem}.bt-summary{flex-direction:column;align-items:stretch}.bt-summary-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-count-box{min-width:0}.bt-summary>.bt-btn{width:100%}.bt-folder-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}.bt-folder-actions .bt-icon-btn{width:30px;height:30px}.bt-dialog-overlay{padding:0;place-items:end stretch}.bt-dialog{width:100%;max-height:92vh;border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.bt-roster thead{display:none}.bt-roster tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 8px;padding:10px 12px;border-top:1px solid var(--border-primary)}.bt-roster tbody tr:first-child{border-top:none}.bt-roster td{border:none;padding:0;text-align:left}.bt-roster td:first-child{grid-row:1;grid-column:1 / 4;display:flex;align-items:baseline;gap:8px;min-width:0}.bt-roster td:first-child b{flex:none;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-roster td:first-child small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-roster .bt-actions-cell{grid-row:1;grid-column:4;display:flex;justify-content:flex-end;align-items:center;gap:2px}.bt-roster td[data-label=Exams]{grid-column:1 / -1}.bt-roster td[data-label]:not(:first-child):before{content:attr(data-label);display:block;font-size:.68rem;color:var(--text-tertiary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-roster td.num{text-align:left}.bt-roster td[colspan]{grid-column:1 / -1;display:block;text-align:center}}.bt-alert.warn{background:var(--warning-bg);border:1px solid var(--warning-color);color:color-mix(in srgb,var(--warning-color) 55%,var(--text-primary))}.bt-alert svg{vertical-align:-2px}.bt-btn.danger{background:var(--danger-color);border-color:var(--danger-color);color:#fff}.bt-btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger-color) 85%,#000);border-color:color-mix(in srgb,var(--danger-color) 85%,#000)}.bt-field.inline{flex-direction:row;align-items:center;gap:8px}.bt-field.inline input{width:72px}.bt-dialog.wide{width:min(720px,100%)}.bt-spin{animation:bt-live-spin .9s linear infinite}@keyframes bt-live-spin{to{transform:rotate(360deg)}}.bt-btn.sm{min-height:32px;padding:5px 11px;gap:5px;font-size:var(--ui-text-meta)}.bt-btn.is-done,.bt-btn.is-done:hover:not(:disabled){color:var(--success-color);border-color:color-mix(in srgb,var(--success-color) 45%,var(--border-secondary));background:color-mix(in srgb,var(--success-color) 8%,var(--background-secondary))}.bt-live{container-type:inline-size;display:flex;flex-direction:column;gap:16px}.bt-live-toolbar{gap:10px 16px}.bt-live-next{margin:0;display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:var(--ui-text-body);color:var(--text-secondary)}.bt-live-next svg{flex-shrink:0;color:var(--text-accent)}.bt-live-next b{color:var(--text-primary);font-weight:700}.bt-live-layout{display:flex;flex-direction:column;gap:16px}.bt-live-main,.bt-live-aside{display:contents}.bt-live-now{order:1;display:flex;flex-direction:column;gap:12px}.bt-live-room{order:2}.bt-live-upcoming{order:3}.bt-live-past{order:4}.bt-live-setup{order:5}.bt-live-week{order:3}@container (min-width: 860px){.bt-live-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px}.bt-live-main,.bt-live-aside{display:flex;flex-direction:column;gap:16px;min-width:0}}.bt-live-card{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg, 12px);background:var(--card-bg);box-shadow:var(--box-shadow-xs)}.bt-live-card-title{margin:0;font-size:var(--ui-text-body);font-weight:700}.bt-live-room-head{display:flex;align-items:center;gap:12px}.bt-live-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:12px;background:var(--accent-color-light);color:var(--text-accent);font-size:var(--ui-text-card)}.bt-live-room-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.bt-live-room-titles b{font-size:var(--ui-text-body);font-weight:700}.bt-live-room-titles small{font-size:var(--ui-text-meta);color:var(--text-tertiary)}.bt-live-code{margin:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:var(--border-radius-md);background:var(--background-tertiary);font-size:var(--ui-text-cap);font-weight:600;color:var(--text-tertiary)}.bt-live-code code{font-family:var(--font-family-monospace);font-size:var(--ui-text-body);font-weight:600;letter-spacing:.04em;color:var(--text-primary);overflow-wrap:anywhere}.bt-live-room-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bt-live-room-wait{margin:0;line-height:1.5}.bt-live-facts{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--border-primary)}.bt-live-facts>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--border-primary);font-size:.88rem}.bt-live-facts dt{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-tertiary)}.bt-live-facts dd{margin:0;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.bt-live-facts em{font-style:normal;font-weight:500;color:var(--text-tertiary)}.bt-live-facts .bt-warn-text{color:color-mix(in srgb,var(--warning-color) 70%,var(--text-primary))}.bt-live-settings{display:flex;flex-direction:column;margin-top:-6px}.bt-live-setting{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;font-weight:400}.bt-live-setting+.bt-live-setting{border-top:1px solid var(--border-primary)}.bt-live-setting-text{display:flex;flex-direction:column;gap:2px;min-width:0}.bt-live-setting-text b{font-size:.9rem;font-weight:600;color:var(--text-primary)}.bt-live-setting-text small{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.bt-live-setting>.bt-btn{flex-shrink:0}.bt-live-how{padding-top:12px;border-top:1px solid var(--border-primary);font-size:var(--ui-text-meta);color:var(--text-secondary)}.bt-live-how>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-weight:600;color:var(--text-accent)}.bt-live-how>summary::-webkit-details-marker{display:none}.bt-live-how>summary:after{content:"▾";margin-left:auto;color:var(--text-tertiary);transition:transform .15s}.bt-live-how[open]>summary:after{transform:rotate(180deg)}.bt-live-how>summary:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:var(--border-radius-sm)}.bt-live-how ul{margin:10px 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:6px;line-height:1.5}.bt-live-none{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px dashed var(--border-secondary);border-radius:var(--border-radius-lg);background:var(--background-secondary);color:var(--text-secondary);font-size:.9rem}.bt-live-none>svg{flex-shrink:0;font-size:var(--ui-text-card);color:var(--text-accent)}.bt-live-none p{margin:0;line-height:1.5}.bt-live-problems{border:1px solid var(--warning-color);border-radius:var(--border-radius-md);background:var(--warning-bg);color:color-mix(in srgb,var(--warning-color) 55%,var(--text-primary));font-size:.88rem}.bt-live-problems>summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:9px 12px;cursor:pointer;list-style:none}.bt-live-problems>summary::-webkit-details-marker{display:none}.bt-live-problems>summary:after{content:"▾";margin-left:auto;transition:transform .15s}.bt-live-problems[open]>summary:after{transform:rotate(180deg)}.bt-live-problems>summary:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:var(--border-radius-md)}.bt-live-problems-sum{font-weight:500;opacity:.85}.bt-live-problems ul{margin:0;padding:0 12px 10px 30px;display:flex;flex-direction:column;gap:6px;line-height:1.45}.bt-live-problems li b{overflow-wrap:anywhere}.bt-live-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px 2px 7px;border-radius:var(--border-radius-pill);background:var(--danger-color);color:#fff;font-size:var(--ui-text-cap);font-weight:800;letter-spacing:.08em;line-height:1.5;animation:bt-live-glow 1.6s ease-in-out infinite}.bt-live-badge-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:bt-live-blink 1.1s ease-in-out infinite}@keyframes bt-live-blink{0%,to{opacity:1}50%{opacity:.1}}@keyframes bt-live-glow{0%,to{box-shadow:0 0 color-mix(in srgb,var(--danger-color) 55%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--danger-color) 0%,transparent)}}.bt-live-soon{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--border-radius-pill);background:var(--warning-bg);color:color-mix(in srgb,var(--warning-color) 55%,var(--text-primary));font-size:var(--ui-text-cap);font-weight:700}.bt-live-now-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:14px 16px;border:1px solid var(--border-primary);border-left-width:4px;border-radius:var(--border-radius-lg, 12px);background:var(--card-bg)}.bt-live-now-card.is-live{border-color:var(--danger-color);background:color-mix(in srgb,var(--danger-color) 6%,var(--card-bg))}.bt-live-now-card.is-soon{border-color:var(--warning-color);background:color-mix(in srgb,var(--warning-color) 7%,var(--card-bg))}.bt-live-now-main{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}.bt-live-now-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.bt-live-now-time{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.bt-live-now-main h3{margin:0;font-size:var(--ui-text-card);font-weight:700;overflow-wrap:anywhere}.bt-live-now-actions{display:inline-flex;align-items:center;gap:6px}.bt-live-join{min-height:44px;padding:10px 20px}.bt-live-list{border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--card-bg);overflow:hidden}.bt-live-day+.bt-live-day{border-top:1px solid var(--border-primary)}.bt-live-day-head{margin:0;padding:6px 16px;border-bottom:1px solid var(--border-primary);background:var(--background-primary);font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.bt-live-day-head.is-today{color:var(--text-accent)}.bt-live-day-items{list-style:none;margin:0;padding:0}.bt-live-day-items>li+li{border-top:1px solid var(--border-primary)}.bt-live-item{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:11px 16px}.bt-live-at{display:flex;flex-direction:column;line-height:1.25}.bt-live-at b{font-size:var(--ui-text-body);font-variant-numeric:tabular-nums;white-space:nowrap}.bt-live-at small{font-size:var(--ui-text-cap);color:var(--text-tertiary);white-space:nowrap}.bt-live-info{min-width:0;display:flex;flex-direction:column;gap:3px}.bt-live-title{font-weight:600;overflow-wrap:anywhere}.bt-live-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;font-size:var(--ui-text-meta);color:var(--text-tertiary)}.bt-live-meta>span{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow-wrap:anywhere}.bt-live-meta .bt-good{color:var(--success-color)}.bt-live-item.is-cancelled .bt-live-title{text-decoration:line-through;color:var(--text-tertiary)}.bt-live-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.bt-live-more{align-self:flex-start}.bt-live-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:.88rem}.bt-live-grid{display:grid;gap:10px}.bt-live-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.bt-live-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-live-grid.one{grid-template-columns:minmax(0,1fr)}.bt-live-daypick .bt-chip{min-width:52px;justify-content:center}.bt-live-tt{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary)}.bt-live-tt-head,.bt-live-tt-row{display:grid;grid-template-columns:76px 112px 104px minmax(0,1fr) auto 34px;align-items:center;gap:6px}.bt-live-tt-head{padding:0 2px;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-tertiary)}.bt-live-tt-head em{font-style:normal;font-weight:500}.bt-live-tt-row select,.bt-live-tt-row input,.bt-live-cohost-add input{width:100%;min-width:0;min-height:36px;padding:5px 8px;border-radius:var(--border-radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-size:.88rem}.bt-live-tt-row select:focus,.bt-live-tt-row input:focus,.bt-live-cohost-add input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.bt-live-tt-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding-top:2px}.bt-live-tt-row.is-missing .bt-live-tt-subject{border-color:var(--danger-color)}.bt-live-tt-lecture{display:inline-flex;align-items:center;gap:6px;padding:0 4px;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary);white-space:nowrap;cursor:pointer}.bt-live-tt-lecture input{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--accent-color)}.bt-live-tt-note{margin:-4px 0 0}.bt-live-lecture-pick{padding:10px 12px;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary)}.bt-live-lecture-pick .bt-live-setting-text small{line-height:1.4}.bt-live-subject{margin-right:6px;vertical-align:1px}.bt-live-lecture{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-weight:600}.bt-live-week{gap:10px}.bt-live-week-days{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.bt-live-week-day{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid var(--border-primary)}.bt-live-week-day:first-child{border-top:0;padding-top:0}.bt-live-week-name{display:flex;flex-direction:column;font-size:var(--ui-text-meta);font-weight:700;color:var(--text-secondary);line-height:1.3}.bt-live-week-name small{font-size:var(--ui-text-cap);font-weight:700;color:var(--text-accent);text-transform:uppercase;letter-spacing:.04em}.bt-live-week-day.is-today .bt-live-week-name{color:var(--text-accent)}.bt-live-week-slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-width:0}.bt-live-week-slot{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:baseline;gap:8px;font-size:var(--ui-text-meta)}.bt-live-week-time{font-variant-numeric:tabular-nums;white-space:nowrap}.bt-live-week-what{display:flex;flex-direction:column;min-width:0;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.bt-live-week-what small{font-weight:500;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.bt-live-week-len{display:inline-flex;align-items:center;gap:4px;font-size:var(--ui-text-cap);color:var(--text-tertiary);white-space:nowrap}.bt-live-preview{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;border-radius:var(--border-radius-md);background:var(--accent-color-light);font-size:.88rem}.bt-live-preview.warn{background:var(--warning-bg);color:color-mix(in srgb,var(--warning-color) 55%,var(--text-primary))}.bt-live-preview-line{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.bt-live-preview-list{flex-basis:100%;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px 12px;max-height:180px;overflow-y:auto;font-size:var(--ui-text-meta);color:var(--text-secondary)}.bt-live-cohost-add{display:flex;gap:8px}.bt-live-cohost-add input{flex:1;min-height:38px;font-size:.9rem}.bt-live-chip-note{margin-left:2px;font-weight:500;opacity:.75}.bt-live-later{align-items:flex-start}.bt-live-cancel-when{margin:0;font-weight:600}.bt-live-scope{display:flex;flex-direction:column;gap:8px}.bt-live-scope-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);cursor:pointer}.bt-live-scope-opt.on{border-color:var(--border-accent, var(--accent-color));background:var(--accent-color-light)}.bt-live-scope-opt input{margin-top:3px}.bt-live-scope-opt>span{display:flex;flex-direction:column;gap:2px}.bt-live-scope-opt small{color:var(--text-tertiary)}@media (max-width: 640px){.bt-live-card{padding:14px}.bt-live-toolbar>.bt-btn{flex:1 1 100%;min-height:44px}.bt-live-item .bt-live-actions .bt-btn{min-height:34px;padding:6px 12px;font-size:var(--ui-text-meta)}.bt-live-grid.three{grid-template-columns:1fr 1fr}.bt-live-grid.three>:first-child{grid-column:1 / -1}.bt-live-item{grid-template-columns:64px minmax(0,1fr) auto;gap:4px 10px;padding:10px 12px}.bt-live-item>.bt-live-actions{gap:2px}.bt-live-item.has-buttons{grid-template-columns:64px minmax(0,1fr)}.bt-live-item.has-buttons>.bt-live-actions{grid-column:1 / -1;justify-content:flex-start;gap:6px}.bt-live-now-actions{width:100%}.bt-live-now-actions .bt-btn{flex:1}.bt-live-join{width:100%}.bt-live-tt-head{display:none}.bt-live-tt-row{grid-template-columns:1fr 1fr 1fr 34px;padding-bottom:6px;border-bottom:1px solid var(--border-primary)}.bt-live-tt-row>.bt-live-tt-subject{grid-column:1 / 3;grid-row:2}.bt-live-tt-row>.bt-live-tt-lecture{grid-column:3;grid-row:2;justify-self:start}.bt-live-tt-row>button{grid-column:4;grid-row:1 / 3}.bt-live-grid.two:has(#bt-live-exam){grid-template-columns:minmax(0,1fr)}}.bt-live-dot{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background:var(--danger-color);vertical-align:1px;animation:bt-live-pulse 1.6s ease-in-out infinite}@keyframes bt-live-pulse{50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.bt-live-dot,.bt-live-badge,.bt-live-badge-dot,.bt-spin{animation:none}}.bt-batch-stats .bt-n-todo b{color:var(--text-accent)}.bt-batch-stats .bt-n-progress b{color:var(--tone-amber)}.bt-batch-stats .bt-n-done b{color:var(--tone-green)}.bt-batch-stats .bt-n-missed b{color:var(--danger-text, var(--danger-color))}.aii-root{display:flex;flex-direction:column;gap:20px;position:relative;animation:aii-fade .25s ease}.aii-root>:not(.aii-progress){transition:opacity .2s ease}.aii-root.is-refreshing>:not(.aii-progress){opacity:.6;transition-delay:.15s}.aii-progress{position:absolute;top:-12px;left:0;right:0;height:2px;overflow:hidden;border-radius:2px}.aii-progress:before{content:"";position:absolute;top:0;bottom:0;width:30%;background:var(--accent-color);animation:aii-slide 1.1s ease-in-out infinite}@keyframes aii-slide{0%{left:-30%}to{left:100%}}@keyframes aii-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes aii-spin{to{transform:rotate(360deg)}}@keyframes aii-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.aii-root .aii-hue-report{--aii-hue: var(--btn-action-report-text);--aii-wash: var(--btn-action-report-bg)}.aii-root .aii-hue-structure{--aii-hue: var(--btn-action-structure-text);--aii-wash: var(--btn-action-structure-bg)}.aii-root .aii-hue-print{--aii-hue: var(--btn-action-print-text);--aii-wash: var(--btn-action-print-bg)}.aii-root .aii-hue-key{--aii-hue: var(--btn-action-key-text);--aii-wash: var(--btn-action-key-bg)}.aii-root .aii-hue-assign{--aii-hue: var(--btn-action-assign-text);--aii-wash: var(--btn-action-assign-bg)}.aii-root .aii-hue-review{--aii-hue: var(--btn-action-review-text);--aii-wash: var(--btn-action-review-bg)}.aii-root .aii-coverage{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:10px 14px;border-radius:10px;background:var(--background-tertiary);color:var(--text-secondary);font-size:var(--ui-text-meta)}.aii-root .aii-coverage strong{color:var(--text-primary);font-weight:600}.aii-root .aii-coverage svg{color:var(--accent-color)}.aii-root .aii-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px}.aii-root .aii-kpis-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:16px}.aii-root .aii-kpi{background:var(--card-bg);background-image:linear-gradient(180deg,var(--aii-wash, transparent) 0,transparent 70px);border:1px solid var(--border-primary);border-radius:12px;padding:14px 16px;box-shadow:inset 0 3px 0 var(--aii-hue, var(--border-primary));min-width:0}.aii-root .aii-card .aii-kpi{--aii-wash: transparent}.aii-root .aii-kpi-label{display:flex;align-items:center;gap:6px;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.aii-root .aii-kpi-label svg{color:var(--aii-hue, var(--accent-color));flex-shrink:0}.aii-root .aii-kpi-value{margin-top:6px;font-size:1.55rem;font-weight:700;color:var(--text-primary);line-height:1.15}.aii-root .aii-kpi-foot{margin-top:4px;font-size:var(--ui-text-cap);color:var(--text-secondary);overflow-wrap:anywhere}.aii-root .aii-card{background:var(--card-bg);background-image:linear-gradient(180deg,var(--aii-wash, transparent) 0,transparent 110px);border:1px solid var(--border-primary);border-radius:14px;padding:18px 20px 20px;box-shadow:inset 0 3px 0 var(--aii-hue, transparent);min-width:0}.aii-root .aii-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.aii-root .aii-card-head h3{margin:0 0 4px;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary)}.aii-root .aii-card-head h3 svg{color:var(--aii-hue)}.aii-root .aii-card-head p{margin:0;font-size:var(--ui-text-meta);line-height:1.45;color:var(--text-secondary);max-width:880px}.aii-root .aii-subcard{border:1px solid var(--border-primary);border-radius:12px;padding:14px;min-width:0}.aii-root .aii-subcard h4,.aii-root .aii-subhead{margin:0 0 10px;font-size:var(--ui-text-meta);font-weight:700;color:var(--text-primary)}.aii-root .aii-subhead{margin-top:18px}.aii-root .aii-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.aii-root .aii-legend{display:flex;gap:14px;flex-shrink:0;font-size:var(--ui-text-cap);color:var(--text-secondary)}.aii-root .aii-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}.aii-root .aii-bars{display:flex;flex-direction:column;gap:2px}.aii-root .aii-bar-row{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:14px;align-items:center;padding:5px 6px;border-radius:8px}.aii-root .aii-bar-row:hover{background:var(--background-tertiary)}.aii-root .aii-bar-name{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;font-size:var(--ui-text-meta);line-height:1.25;color:var(--text-primary)}.aii-root .aii-bar-name span{font-weight:600}.aii-root .aii-bar-name code,.aii-root .aii-callout code{font-size:.66rem;color:var(--text-secondary);background:var(--background-tertiary);padding:1px 6px;border-radius:6px;white-space:nowrap}.aii-root .aii-bar-track{display:flex;align-items:center;gap:8px;min-width:0}.aii-root .aii-bar{display:flex;gap:2px;height:14px;min-width:4px;border-radius:0 4px 4px 0;overflow:hidden}.aii-root .aii-bar>span{display:block;height:100%;min-width:2px}.aii-root .aii-bar-value{font-size:var(--ui-text-cap);color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.aii-root .aii-bars-compact .aii-bar-row{grid-template-columns:minmax(130px,200px) minmax(0,1fr)}.aii-root .aii-table-wrap{overflow-x:auto;margin-top:14px;border:1px solid var(--border-primary);border-radius:10px}.aii-root .aii-table{width:100%;border-collapse:collapse;font-size:var(--ui-text-meta);color:var(--text-primary)}.aii-root .aii-table th{text-align:left;padding:9px 12px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--background-tertiary);white-space:nowrap}.aii-root .aii-table td{padding:8px 12px;border-top:1px solid var(--border-primary);white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle}.aii-root .aii-table tbody tr:hover td{background:var(--background-tertiary)}.aii-root .aii-table tr.is-unknown td,.aii-root .aii-table th.is-unknown{color:var(--text-secondary)}.aii-root .aii-table-compact td,.aii-root .aii-table-compact th{padding:6px 8px}.aii-root .aii-subcard .aii-table-compact{margin-top:0}.aii-root .aii-scroll-x{overflow-x:auto;max-width:100%}.aii-root .aii-heat td{text-align:center;font-size:var(--ui-text-cap)}.aii-root .aii-heat td:first-child{text-align:left}.aii-root .aii-heat th:not(:first-child){text-transform:none;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;text-align:center;min-width:72px;font-family:var(--font-family-monospace);font-weight:600}.aii-root .aii-heat tbody tr:hover td[style]{filter:brightness(1.04)}.aii-root .aii-model{font-family:var(--font-family-monospace);font-size:var(--ui-text-cap);background:var(--background-tertiary);color:var(--text-primary);padding:2px 8px;border-radius:6px;white-space:nowrap}.aii-root .aii-model.is-unknown{font-family:inherit;font-style:italic;color:var(--text-secondary)}.aii-root .aii-rate{display:inline-flex;flex-direction:column;line-height:1.2}.aii-root .aii-rate strong{font-weight:700}.aii-root .aii-rate small{font-size:.66rem;color:var(--text-secondary)}.aii-root .aii-muted{color:var(--text-secondary)}.aii-root .aii-flag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:6px;font-size:.66rem;font-weight:600;background:var(--background-tertiary);color:var(--text-secondary);vertical-align:1px}.aii-root .aii-flag.is-warn{margin-left:0;background:var(--btn-action-key-bg);color:var(--btn-action-key-text)}.aii-root .aii-fine{margin:8px 0 0;font-size:var(--ui-text-cap);line-height:1.45;color:var(--text-secondary)}.aii-root .aii-empty{margin:8px 0;padding:18px;text-align:center;font-size:var(--ui-text-meta);color:var(--text-secondary)}.aii-root .aii-error-text{margin:6px 0 0;font-size:var(--ui-text-meta);color:var(--danger-color)}.aii-root .aii-callout{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:var(--warning-bg);color:var(--text-primary);font-size:var(--ui-text-meta)}.aii-root .aii-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none}.aii-root .aii-chips li{padding:5px 10px;border-radius:999px;font-size:var(--ui-text-cap);background:var(--aii-wash, var(--background-tertiary));color:var(--text-primary);border:1px solid var(--border-primary)}.aii-root .aii-pill{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:var(--ui-text-cap);font-weight:700;background:var(--aii-wash);color:var(--aii-hue);vertical-align:1px}.aii-root .aii-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 14px;border-radius:10px;background:var(--background-tertiary)}.aii-root .aii-divider{width:1px;align-self:stretch;background:var(--border-primary)}.aii-root .aii-field{display:inline-flex;align-items:center;gap:8px;font-size:var(--ui-text-meta);color:var(--text-secondary)}.aii-root .aii-field select{padding:6px 10px;border-radius:8px;border:1px solid var(--border-primary);background:var(--card-bg);color:var(--text-primary);font-size:var(--ui-text-meta)}.aii-root .aii-hint{font-size:var(--ui-text-cap);color:var(--text-secondary);white-space:nowrap}.aii-root .aii-switch{display:inline-flex;align-items:center;gap:8px;font-size:var(--ui-text-meta);color:var(--text-primary);cursor:pointer;position:relative}.aii-root .aii-switch input{position:absolute;opacity:0;width:1px;height:1px}.aii-root .aii-switch-track{width:36px;height:20px;border-radius:999px;background:var(--border-primary);position:relative;transition:background .2s ease}.aii-root .aii-switch-track span{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .2s ease}:root.dark-mode .aii-root .aii-switch-track{background:#94a3b861}.aii-root .aii-switch.is-on .aii-switch-track{background:var(--btn-action-review-text)}.aii-root .aii-switch.is-on .aii-switch-track span{transform:translate(16px)}.aii-root .aii-switch input:focus-visible+.aii-switch-track{outline:2px solid var(--accent-color);outline-offset:2px}.aii-root .aii-switch input:disabled+.aii-switch-track{opacity:.5}.aii-root .aii-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid var(--btn-action-report-border, transparent);background:var(--btn-action-report-bg);color:var(--btn-action-report-text);font-size:var(--ui-text-meta);font-weight:700;cursor:pointer;transition:filter .15s ease}.aii-root .aii-btn:hover:not(:disabled){filter:brightness(.96)}.aii-root .aii-btn:disabled{opacity:.5;cursor:not-allowed}.aii-root .aii-btn-good{border-color:var(--btn-action-review-border, transparent);background:var(--btn-action-review-bg);color:var(--btn-action-review-text)}.aii-root .aii-btn-ghost{border-color:var(--border-primary);background:transparent;color:var(--text-secondary)}.aii-root .aii-link-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border:none;background:none;color:var(--accent-color);font-size:var(--ui-text-cap);font-weight:600;cursor:pointer;white-space:nowrap}.aii-root .aii-status{font-size:var(--ui-text-cap);color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px}.aii-root .aii-status.is-running{color:var(--btn-action-report-text);font-weight:600}.aii-root .aii-status.is-error{color:var(--danger-color)}.aii-root .aii-spin{animation:aii-spin 1s linear infinite}.aii-root .aii-seg{display:inline-flex;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.aii-root .aii-seg button{padding:5px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--ui-text-cap);font-weight:600;cursor:pointer}.aii-root .aii-seg button.is-active{background:var(--aii-wash);color:var(--aii-hue)}.aii-root .aii-findings-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.aii-root .aii-findings-head .aii-subhead{margin:0}.aii-root .aii-findings{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.aii-root .aii-finding{border:1px solid var(--border-primary);border-left:3px solid var(--btn-action-key-text);border-radius:10px;padding:12px 14px;background:var(--card-bg)}.aii-root .aii-finding.is-confirmed{border-left-color:var(--danger-color)}.aii-root .aii-finding.is-rejected{border-left-color:var(--border-primary);opacity:.8}.aii-root .aii-finding-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:var(--ui-text-cap)}.aii-root .aii-right{margin-left:auto}.aii-root .aii-tag{padding:2px 8px;border-radius:999px;font-size:var(--ui-text-cap);font-weight:700;background:var(--btn-action-key-bg);color:var(--btn-action-key-text)}.aii-root .aii-tag.is-hallucination{background:var(--danger-bg);color:var(--danger-color)}.aii-root .aii-tag.is-disputed{background:var(--btn-action-print-bg);color:var(--btn-action-print-text)}.aii-root .aii-finding-q{margin:8px 0 4px;font-size:var(--ui-text-meta);line-height:1.45;color:var(--text-primary)}.aii-root .aii-finding-meta{margin:0;font-size:var(--ui-text-cap);color:var(--text-secondary);line-height:1.45}.aii-root .aii-finding-meta strong{color:var(--text-primary)}.aii-root .aii-finding-body{margin-top:10px;padding:12px;border-radius:8px;background:var(--background-tertiary);font-size:var(--ui-text-meta);color:var(--text-primary);overflow-x:auto}.aii-root .aii-options{margin:10px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px}.aii-root .aii-options li{padding:4px 8px;border-radius:6px}.aii-root .aii-options li.is-key{background:var(--success-bg)}.aii-root .aii-explanation{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-primary)}.aii-root .aii-finding-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.aii-root .aii-verdict{font-size:var(--ui-text-cap);font-weight:700}.aii-root .aii-verdict.is-confirmed{color:var(--danger-color)}.aii-root .aii-verdict.is-rejected{color:var(--text-secondary)}.aii-root .aii-skel{border:1px solid var(--border-primary);border-radius:12px;background:linear-gradient(90deg,var(--background-tertiary) 0,var(--card-bg) 50%,var(--background-tertiary) 100%);background-size:800px 100%;animation:aii-shimmer 1.4s linear infinite;box-shadow:none}@media (max-width: 760px){.aii-root .aii-card{padding:14px}.aii-root .aii-card-head{flex-direction:column}.aii-root .aii-grid-2{grid-template-columns:1fr}.aii-root .aii-bar-row,.aii-root .aii-bars-compact .aii-bar-row{grid-template-columns:1fr;gap:4px}.aii-root .aii-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.aii-root .aii-kpi-value{font-size:var(--ui-text-card)}.aii-root .aii-divider{display:none}}@media (prefers-reduced-motion: reduce){.aii-root,.aii-root .aii-skel,.aii-progress:before,.aii-root .aii-spin{animation:none}}.ai-analytics-container{padding:24px;background:var(--background-primary);min-height:100vh;min-height:100dvh}.ai-analytics-header{margin-bottom:24px}.ai-analytics-header h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.ai-analytics-header p{color:var(--text-secondary);font-size:.9rem}.analytics-filter-bar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:14px 20px;background:var(--card-bg);border:1px solid var(--border-primary);border-radius:14px;margin-bottom:20px;box-shadow:0 1px 3px #0000000a}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:var(--ui-text-cap);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap}.filter-group select{padding:6px 12px;border:1px solid var(--input-border);border-radius:8px;font-size:var(--ui-text-meta);background:var(--input-bg);color:var(--input-text);cursor:pointer;transition:border-color .2s;min-width:130px}.filter-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-color-light)}.filter-reset-btn{padding:6px 16px;border:1px solid var(--border-primary);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:var(--ui-text-meta);cursor:pointer;transition:all .15s;margin-left:auto}.filter-reset-btn:hover{background:var(--danger-bg);color:var(--danger-color);border-color:var(--danger-color)}.analytics-tabs{display:flex;gap:10px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.analytics-tab{padding:8px 18px;border-radius:10px;border:1px solid var(--border-primary);background:var(--card-bg);color:var(--text-secondary);font-weight:600;font-size:var(--ui-text-meta);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;display:flex;align-items:center;gap:6px}.analytics-tab:hover{background:var(--background-hover);color:var(--text-primary)}.analytics-tab.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 12px var(--accent-color-light)}.ai-analytics-container .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px}.ai-analytics-container .kpi-card{background:var(--card-bg);padding:20px;border-radius:14px;border:1px solid var(--border-primary);box-shadow:0 1px 3px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.ai-analytics-container .kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.kpi-label{font-size:var(--ui-text-meta);color:var(--text-secondary);margin-bottom:8px;display:flex;align-items:center;gap:6px}.kpi-value{font-size:1.6rem;font-weight:700;color:var(--text-primary)}.ai-analytics-container .kpi-sub{margin-top:4px;font-size:var(--ui-text-meta);color:var(--text-secondary)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:28px}.chart-card{background:var(--card-bg);padding:22px;border-radius:14px;border:1px solid var(--border-primary)}.chart-card h3{font-size:var(--ui-text-body);font-weight:600;color:var(--text-primary);margin-bottom:16px}.logs-table-wrapper{background:var(--card-bg);border-radius:14px;border:1px solid var(--border-primary);overflow-x:auto;margin-bottom:24px}.logs-table{width:100%;border-collapse:collapse;min-width:600px}.logs-table th{background:var(--background-tertiary);padding:10px 14px;text-align:left;font-size:var(--ui-text-cap);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;white-space:nowrap}.logs-table td{padding:12px 14px;border-top:1px solid var(--border-primary);font-size:var(--ui-text-meta);color:var(--text-primary)}.logs-table tr:hover{background:var(--background-hover)}.log-status{padding:3px 8px;border-radius:6px;font-size:var(--ui-text-cap);font-weight:600;white-space:nowrap}.status-success{background:var(--success-bg);color:var(--success-color)}.status-failure{background:var(--danger-bg);color:var(--danger-color)}.log-type-badge{padding:2px 8px;border-radius:4px;font-size:var(--ui-text-cap);font-weight:600;background:var(--accent-color-light);color:var(--accent-color);white-space:nowrap}.estimated-cost{color:var(--text-secondary);font-style:italic;margin-right:2px}.heatmap-container{display:flex;flex-direction:column;gap:3px}.heatmap-row{display:flex;gap:3px}.heatmap-cell{width:28px;height:28px;border-radius:4px;cursor:pointer;transition:transform .1s ease}.heatmap-cell:hover{transform:scale(1.2);z-index:10}.cost-calendar-card{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:14px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000000f}.cal-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.cal-nav{display:flex;align-items:center;gap:10px}.cal-title{font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary);margin:0;min-width:150px;text-align:center}.cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border-primary);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:all .15s}.cal-nav-btn:hover:not(:disabled){background:var(--background-hover);color:var(--text-primary);border-color:var(--accent-color)}.cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.cal-today-btn{padding:6px 14px;border-radius:8px;border:1px solid var(--border-primary);background:transparent;color:var(--accent-color);font-size:var(--ui-text-cap);font-weight:600;cursor:pointer;transition:all .15s}.cal-today-btn:hover{background:var(--accent-color-light)}.cal-legend{display:flex;align-items:center;gap:5px;font-size:var(--ui-text-cap);color:var(--text-secondary)}.cal-legend-swatch{width:14px;height:14px;border-radius:3px;border:1px solid var(--border-primary)}.cal-hint{font-size:var(--ui-text-cap);color:var(--text-secondary);margin:10px 0 16px;line-height:1.5}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-dow{text-align:center;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding-bottom:6px}.cal-cell{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;min-height:78px;padding:7px 8px;border-radius:10px;border:1px solid var(--border-primary);background:var(--background-tertiary);color:var(--text-primary);font-family:inherit;text-align:left;cursor:default;transition:transform .12s ease,box-shadow .12s ease}.cal-cell.is-pad{background:transparent;border-color:transparent}.cal-cell.has-data{cursor:pointer}.cal-cell.has-data:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.cal-cell.is-future{opacity:.4}.cal-cell.is-today{border-color:var(--accent-color);box-shadow:inset 0 0 0 1px var(--accent-color)}.cal-cell.is-selected{outline:2px solid var(--accent-color);outline-offset:1px}.cal-day-num{font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary)}.cal-cost{font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary);line-height:1.2}.cal-sub{font-size:.65rem;color:var(--text-secondary)}.cal-fail-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:#ef4444}.cal-lvl-0{background:var(--background-tertiary)}.cal-lvl-1{background:#3b82f61f}.cal-lvl-2{background:#3b82f63d}.cal-lvl-3{background:#3b82f65c}.cal-lvl-4{background:#3b82f685}:root.dark-mode .cal-lvl-1{background:#60a5fa29}:root.dark-mode .cal-lvl-2{background:#60a5fa47}:root.dark-mode .cal-lvl-3{background:#60a5fa6b}:root.dark-mode .cal-lvl-4{background:#60a5fa99}.cal-empty{text-align:center;color:var(--text-secondary);font-size:var(--ui-text-meta);padding:24px 0 4px}.day-detail-panel{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:14px;padding:20px;margin-bottom:24px;animation:fadeIn .25s ease-out}.day-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.day-detail-head h3{margin:0;font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary)}.day-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px}.kpi-foot{font-size:var(--ui-text-cap);color:var(--text-secondary);margin-top:4px}.analytics-view-content{animation:fadeIn .3s ease-out}.spinning{animation:spin 2s linear infinite}@media (max-width: 768px){.ai-analytics-container{padding:16px}.analytics-filter-bar{flex-direction:column;align-items:stretch;gap:10px}.filter-group{flex-wrap:wrap}.filter-group select{width:100%}.filter-reset-btn{margin-left:0}.charts-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.cost-calendar-card{padding:14px}.cal-header{flex-direction:column;align-items:stretch}.cal-nav,.cal-legend{justify-content:center}.cal-grid{gap:4px}.cal-cell{min-height:62px;padding:5px}.cal-cost{font-size:var(--ui-text-cap)}.cal-sub{display:none}.day-detail-grid{grid-template-columns:1fr}}.ai-analytics-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.cost-visibility-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--border-primary);border-radius:10px;background:var(--card-bg);color:var(--text-primary);font-size:var(--ui-text-meta);font-weight:600;cursor:pointer;white-space:nowrap}.cost-visibility-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.cost-visibility-btn.is-hidden{background:var(--accent-color-light);border-color:var(--accent-color);color:var(--accent-color)}.cost-chart.is-masked canvas{filter:blur(6px)}.log-model{font-family:var(--font-family-monospace);font-size:var(--ui-text-cap);white-space:nowrap}.log-model.is-unknown,.log-muted{color:var(--text-secondary)}.log-dropped{color:var(--danger-color, #dc2626);font-weight:600}.analytics-note{margin:0 0 20px;font-size:var(--ui-text-meta);color:var(--text-secondary)}.ai-sme .admin-page-title{display:flex;align-items:center;gap:10px}.sme-safety{display:flex;align-items:center;gap:10px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:11px 14px;border-radius:12px;font-size:var(--ui-text-meta);margin-bottom:18px}.sme-safety svg{flex-shrink:0}.sme-grid{display:grid;grid-template-columns:340px 1fr;gap:16px;margin-bottom:16px}@media (max-width: 992px){.sme-grid{grid-template-columns:1fr}}.sme-label{display:block;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary, #6b7280);margin:12px 0 5px}.sme-label:first-child{margin-top:0}.sme-select,.sme-notes{width:100%;padding:9px 11px;border-radius:9px;border:1px solid var(--border-primary, #e9ecf3);background:var(--background-secondary, #fff);color:var(--text-primary, #111827);font-size:.88rem;font-family:inherit}.sme-notes{resize:vertical}.sme-draft-btn{width:100%;margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.sme-report{margin-top:14px;border-top:1px solid var(--border-primary, #eef0f5);padding-top:12px}.sme-ok{display:flex;align-items:center;gap:7px;color:#059669;font-weight:700;font-size:var(--ui-text-meta)}.sme-err{display:flex;align-items:center;gap:7px;color:#dc2626;font-weight:700;font-size:var(--ui-text-meta)}.sme-line{font-size:var(--ui-text-cap);margin-top:5px}.sme-line.err{color:#dc2626}.sme-line.warn{color:#b45309}.sme-review .admin-card-header{display:flex;align-items:center;justify-content:space-between}.sme-json{width:100%;min-height:360px;resize:vertical;font-family:var(--font-family-monospace);font-size:var(--ui-text-meta);line-height:1.5;padding:12px;border-radius:10px;border:1px solid var(--border-primary, #e9ecf3);background:var(--background-tertiary, #0f172a0a);color:var(--text-primary, #111827);white-space:pre;overflow:auto}.sme-msg{margin-top:12px;padding:10px 13px;border-radius:10px;font-size:var(--ui-text-meta)}.sme-msg.ok{background:#ecfdf5;color:#047857}.sme-msg.err{background:#fef2f2;color:#b91c1c}.sme-table{width:100%;border-collapse:collapse;font-size:var(--ui-text-meta)}.sme-table th{text-align:left;padding:8px;color:var(--text-secondary, #9ca3af);font-size:var(--ui-text-cap);text-transform:uppercase;border-bottom:2px solid var(--border-primary, #eef0f5)}.sme-table td{padding:8px;border-bottom:1px solid var(--border-primary, #f1f3f8)}.sme-status{font-size:var(--ui-text-cap);font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:20px}.sme-status.s-draft{background:#f1f5f9;color:#475569}.sme-status.s-shadow{background:#eef2ff;color:#4338ca}.sme-status.s-canary{background:#fef3c7;color:#92400e}.sme-status.s-active{background:#ecfdf5;color:#047857}.sme-status.s-retired{background:#fee2e2;color:#991b1b}.sme-empty{text-align:center;color:var(--text-secondary, #9ca3af);padding:18px}.sme-rollout{white-space:nowrap}.sme-rollout button{font-size:var(--ui-text-cap);font-weight:700;padding:3px 8px;margin-right:4px;border-radius:7px;border:1px solid var(--border-primary, #e9ecf3);background:var(--background-secondary, #fff);color:var(--text-secondary, #6b7280);cursor:pointer}.sme-rollout button:hover{border-color:#6366f1;color:#4338ca}.sme-rollout button.go{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.sme-rollout button.stop{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.sme-cal{margin-top:12px;border-top:1px solid var(--border-primary, #eef0f5);padding-top:10px}.sme-cal-h{font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary, #6b7280);margin-bottom:6px}.sme-cal-row{display:flex;justify-content:space-between;gap:6px;font-size:var(--ui-text-cap);padding:3px 0;color:var(--text-secondary, #6b7280)}.sme-cal-row .ok{color:#047857;font-weight:700}.sme-cal-row .warn{color:#b45309;font-weight:700}.ai-sme .spin{animation:spin 1s linear infinite}.admin-feature-flags{padding:1.25rem;max-width:760px}.aff-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.admin-feature-flags .aff-header h2{margin:0 0 .3rem;font-size:1.35rem;color:var(--text-primary)}.aff-subtitle{margin:0;max-width:56ch;color:var(--text-secondary);font-size:var(--ui-text-meta);line-height:1.5}.aff-refresh{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--background-secondary);color:var(--text-secondary);font-size:var(--ui-text-meta);font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.aff-refresh:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-secondary)}.aff-refresh:disabled{opacity:.6;cursor:progress}.aff-refresh .is-spinning{animation:aff-spin .9s linear infinite}@keyframes aff-spin{to{transform:rotate(360deg)}}.aff-error{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.65rem .85rem;border-radius:8px;background:var(--danger-bg, #fee2e2);color:var(--danger-text, #991b1b);font-size:var(--ui-text-meta)}.aff-empty{color:var(--text-secondary);font-size:var(--ui-text-meta)}.aff-section{margin-bottom:1.5rem}.aff-section__head{margin:0 0 .5rem 2px}.admin-feature-flags .aff-section__head h3{margin:0;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary)}.aff-section__head p{margin:3px 0 0;font-size:var(--ui-text-cap);color:var(--text-secondary);opacity:.8}.aff-card{padding:2px 16px;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:12px}.admin-feature-flags .setting-row{padding:12px 0;min-height:44px}.admin-feature-flags .setting-row+.setting-row{border-top-color:var(--border-primary)}.admin-feature-flags .setting-row--child{min-height:0;margin:0 0 12px 4px;padding:2px 0 2px 14px;border-left-color:var(--border-primary)}.admin-feature-flags .setting-row__name{color:var(--text-primary);font-size:.9rem}.admin-feature-flags .setting-row--child .setting-row__name{font-size:var(--ui-text-meta)}.admin-feature-flags .setting-row__pop{left:-6px;right:auto;max-width:min(360px,80vw);border-color:var(--border-primary)}.admin-feature-flags .setting-row__pop-danger{border-top-color:var(--border-primary)}.aff-testers{margin:0 0 12px 4px;padding:2px 0 2px 14px;border-left:2px solid var(--border-primary)}.aff-testers__label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--text-primary);font-size:var(--ui-text-meta);font-weight:600}.aff-testers__label span{font-weight:400;color:var(--text-secondary)}.aff-testers__help{margin:4px 0 8px;color:var(--text-secondary);font-size:var(--ui-text-cap);line-height:1.45}.aff-testers__input{box-sizing:border-box;width:100%;padding:8px 10px;border:1px solid var(--border-primary);border-radius:8px;background:var(--background-primary);color:var(--text-primary);font-family:var(--font-family-monospace);font-size:var(--ui-text-meta);resize:vertical}.aff-testers__actions{display:flex;align-items:center;gap:12px;margin-top:8px}.aff-testers__save{padding:6px 14px;border:0;border-radius:8px;background:var(--accent-color);color:var(--text-on-primary-button);font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.aff-testers__save:disabled{opacity:.5;cursor:default}.aff-testers__undo{padding:0;border:0;background:none;color:var(--text-secondary);font-size:var(--ui-text-meta);text-decoration:underline;cursor:pointer}.aff-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;font-size:var(--ui-text-cap);opacity:.8}.aff-meta code{padding:1px 5px;border-radius:4px;background:#7f7f7f24;font-family:var(--font-family-monospace);font-size:var(--ui-text-cap)}.pep-page{padding:1.5rem;max-width:1400px;margin:0 auto}.pep-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.pep-title{font-size:1.5rem;margin:0 0 .25rem;color:var(--text-primary)}.pep-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0;max-width:720px}.pep-filters{display:flex;gap:.5rem;align-items:center}.pep-status-select{padding:.4rem .6rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-primary);font-size:.875rem}.pep-error{display:flex;align-items:center;gap:.5rem;background:#dc354514;color:#c92a2a;padding:.75rem 1rem;border-radius:6px;border-left:3px solid #c92a2a;margin-bottom:1rem;font-size:.875rem}.pep-count-line{font-size:var(--ui-text-meta);color:var(--text-secondary);margin-bottom:.75rem}.pep-empty-state{padding:3rem 1rem;text-align:center;color:var(--text-secondary);background:var(--bg-surface);border:1px dashed var(--border-color);border-radius:8px}.pep-list{display:flex;flex-direction:column;gap:1.25rem}.pep-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000000a}.pep-card-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.pep-meta{display:flex;flex-wrap:wrap;gap:.5rem .875rem;align-items:center;font-size:var(--ui-text-meta);color:var(--text-secondary)}.pep-meta-item{display:inline-flex;align-items:center;gap:.25rem}.pep-meta-strong{font-weight:600;color:var(--text-primary)}.pep-meta-id{color:var(--text-secondary);opacity:.75;margin-left:.15rem;font-variant-numeric:tabular-nums}.pep-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:var(--ui-text-cap);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.pep-badge-type{background:#4f46e51f;color:#4f46e5}.pep-drift-warning{display:inline-flex;align-items:center;gap:.25rem;background:#eab3081f;color:#b45309;padding:2px 8px;border-radius:6px;font-size:var(--ui-text-cap);font-weight:500}.pep-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}.pep-columns:has(.pep-col-current){grid-template-columns:1fr 1fr 1fr}.pep-col{background:var(--bg-elevated, rgba(0, 0, 0, .02));border-radius:8px;padding:.75rem;border:1px solid var(--border-color)}.pep-col-proposed{border-color:#22c55e66;background:#22c55e0a}.pep-col-current{border-color:#eab30866;background:#eab3080a}.pep-col-title{font-size:var(--ui-text-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 .5rem;font-weight:600}.pep-col-body{font-size:.875rem;color:var(--text-primary)}.pep-html{line-height:1.5}.pep-html img{max-width:100%;height:auto;border-radius:4px;margin:4px 0}.pep-options{margin:.5rem 0 0;padding-left:1.25rem}.pep-options li{margin:.25rem 0;display:flex;gap:.4rem}.pep-opt-label{font-weight:600;color:var(--text-secondary);flex-shrink:0}.pep-line{margin:.5rem 0;font-size:.875rem}.pep-section-label{font-size:var(--ui-text-cap);text-transform:uppercase;color:var(--text-secondary);margin:.75rem 0 .25rem;font-weight:600;letter-spacing:.04em}.pep-empty{color:var(--text-secondary);font-size:var(--ui-text-meta)}.pep-actions{display:flex;align-items:center;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.pep-note-input{flex:1;min-width:220px;padding:.45rem .6rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);font-size:.875rem}.pep-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .875rem;border-radius:6px;border:1px solid transparent;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s,transform .05s}.pep-btn:disabled{opacity:.5;cursor:not-allowed}.pep-btn:active:not(:disabled){transform:translateY(1px)}.pep-btn-approve{background:#16a34a;color:#fff}.pep-btn-reject{background:transparent;color:#c92a2a;border-color:#c92a2a66}.pep-btn-refresh{background:transparent;color:var(--text-primary);border-color:var(--border-color)}@media (max-width: 992px){.pep-columns,.pep-columns:has(.pep-col-current){grid-template-columns:1fr}}.support-layout .plan-badge.sse{background-color:var(--accent-color);color:#fff}.sp-page>*{flex-shrink:0}.sp-page{gap:1.25rem}.sp-h2{font-size:var(--ui-text-body);font-weight:700;margin:0 0 .6rem;display:flex;align-items:center;gap:.4rem;color:var(--text-primary)}.sp-muted{color:var(--text-secondary)}.sp-tiny{font-size:var(--ui-text-cap)}.sp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.9rem}.sp-stat{display:flex;flex-direction:column;gap:.1rem;padding:.65rem .75rem;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.sp-stat-icon{display:flex;color:var(--text-tertiary)}.sp-stat-value{font-size:1.45rem;font-weight:700;line-height:1.1}.sp-stat-label{font-size:var(--ui-text-cap);color:var(--text-secondary)}.sp-stat-sub{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-primary)}.sp-stat-good .sp-stat-value,.sp-stat-good .sp-stat-icon{color:var(--success-color)}.sp-stat-urgent{border-color:var(--warning-border);background:var(--warning-bg)}.sp-stat-urgent .sp-stat-value,.sp-stat-urgent .sp-stat-icon{color:var(--warning-color)}.sp-stat-urgent .sp-stat-label{color:var(--warning-text)}.sp-stat-quote{border-color:var(--info-border);background:var(--info-bg)}.sp-stat-quote .sp-stat-value,.sp-stat-quote .sp-stat-icon{color:var(--accent-color)}.sp-filters{display:flex;flex-direction:column;gap:.6rem}.sp-searchrow{display:flex;align-items:center;gap:.5rem;padding:0 .7rem;margin-bottom:.6rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md);color:var(--text-tertiary)}.sp-searchrow input{flex:1 1 auto;min-width:0;border:none;background:none;outline:none;color:var(--input-text);font-size:var(--ui-text-body);padding:.65rem 0}.sp-segments{display:flex;gap:.4rem;margin-bottom:.8rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sp-segments::-webkit-scrollbar{display:none}.sp-segment{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-secondary);font-size:var(--ui-text-meta);font-weight:600;cursor:pointer;white-space:nowrap}.sp-segment.is-on{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.sp-segment.is-quote:not(.is-on){border-color:var(--info-border);color:var(--accent-color)}.sp-segment-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:var(--accent-color-light);color:var(--accent-color);font-size:var(--ui-text-cap)}.sp-segment.is-on .sp-segment-count{background:#ffffff40;color:#fff}.sp-leadlist,.at-list{display:flex;flex-direction:column;gap:.55rem}.lc{display:flex;flex-direction:column;gap:.45rem;width:100%;padding:.8rem;text-align:left;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);cursor:pointer;color:inherit;font:inherit}.lc:hover{border-color:var(--border-accent)}.lc.is-selected{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.lc.has-quote{border-left:3px solid var(--accent-color)}.lc-top{display:flex;align-items:flex-start;gap:.6rem}.lc-score{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;border-radius:50%;font-weight:700;font-size:var(--ui-text-meta)}.lc-score-hot{background:var(--danger-bg);color:var(--danger-text)}.lc-score-warm{background:var(--warning-bg);color:var(--warning-text)}.lc-score-cold{background:var(--background-primary);color:var(--text-tertiary);border:1px solid var(--border-primary)}.lc-headings{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1 1 auto}.lc-name{font-weight:650;font-size:var(--ui-text-body);line-height:1.25}.lc-tags{display:flex;flex-wrap:wrap;gap:.3rem}.lc-tag{display:inline-block;padding:.1rem .4rem;border-radius:var(--border-radius-sm);background:var(--background-primary);border:1px solid var(--border-primary);color:var(--text-secondary);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.lc-tag-qualified,.lc-tag-good{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.lc-tag-info{background:var(--info-bg);border-color:var(--info-border);color:var(--accent-color)}.lc-tag-warn{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.lc-tag-bad{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.lc-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;text-align:right}.lc-days{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.lc-days.is-urgent{color:var(--warning-text)}.lc-days.is-expired{color:var(--danger-text)}.lc-started{font-size:.68rem;color:var(--text-tertiary)}.lc-quote{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.4rem .55rem;border-radius:var(--border-radius-sm);background:var(--info-bg);border:1px solid var(--info-border);color:var(--accent-color)}.lc-quote svg{flex-shrink:0}.lc-quote-amount{font-weight:700;font-size:.88rem}.lc-quote-when{font-size:var(--ui-text-cap);color:var(--text-secondary)}.lc-story{font-size:var(--ui-text-meta);color:var(--text-secondary);line-height:1.4}.lc-pipe{display:flex;flex-wrap:wrap;gap:.55rem;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.lc-pipe-bit{display:inline-flex;align-items:center;gap:.25rem}.lc-pipe-bit.is-due{color:var(--warning-text);font-weight:700}.sb-wrap{width:100%}.sb-actions{display:flex;gap:.4rem}.sb-act{flex:1 1 0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:48px;padding:.4rem .3rem;border-radius:var(--border-radius-md);border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-primary);font-size:var(--ui-text-cap);font-weight:700;text-decoration:none;cursor:pointer}.sb-act svg{font-size:var(--ui-text-card)}.sb-act:hover{border-color:var(--accent-color)}.sb-act-call{color:var(--accent-color)}.sb-act-wa{color:#25d366}.sb-act-mail{color:var(--text-secondary)}.sb-act.is-off{opacity:.4;cursor:not-allowed}.sb-nocontact{margin:.5rem 0 0;font-size:var(--ui-text-cap);color:var(--warning-text)}.sb-scrim,.sp-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073}.sp-scrim{z-index:900;background:var(--background-overlay)}.sb-scrim{z-index:1000}.sb-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1001;display:flex;flex-direction:column;gap:.7rem;max-height:88vh;max-height:88dvh;overflow-y:auto;padding:.9rem .9rem calc(.9rem + env(safe-area-inset-bottom,0px));background:var(--background-secondary);border-top:1px solid var(--border-primary);border-radius:1rem 1rem 0 0;box-shadow:0 -8px 30px #0003}.sb-sheet-top{display:flex;align-items:center;justify-content:space-between}.sb-sheet-top h4{margin:0;font-size:var(--ui-text-body);font-weight:700}.sb-x,.sp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--border-radius-sm);border:none;background:none;color:var(--text-secondary);cursor:pointer;font-size:var(--ui-text-card)}.sb-x:hover,.sp-icon-btn:hover{background:var(--background-primary);color:var(--text-primary)}.sb-field,.sp-field{display:flex;flex-direction:column;gap:.3rem;border:none;padding:0;margin:0;min-width:0}.sb-field>span,.sb-field>legend,.sp-field>span{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary);padding:0}.sb-field input,.sb-field select,.sb-field textarea,.sp-field input,.sp-field select,.sp-field textarea{width:100%;padding:.6rem .7rem;border-radius:var(--border-radius-sm);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-size:var(--ui-text-body);font-family:inherit}.sb-field textarea{resize:vertical}.sb-sheet .sb-row,.sp-pipe-row{display:flex;gap:.5rem}.sb-sheet .sb-row>*,.sp-pipe-row>*{flex:1 1 0;min-width:0}.sb-sheet .sb-chips,.sp-chips{display:flex;flex-wrap:wrap;gap:.35rem}.sb-chip{padding:.4rem .7rem;border-radius:999px;border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-secondary);font-size:var(--ui-text-cap);font-weight:600;cursor:pointer}.sb-chip.is-on{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.sb-chip-sm{font-size:var(--ui-text-cap);padding:.3rem .6rem}.sb-quick{display:flex;gap:.35rem;flex-wrap:wrap}.sb-err{margin:0;color:var(--danger-text);font-size:var(--ui-text-meta)}.sb-sheet-foot{display:flex;gap:.5rem}.sb-sheet-foot .sb-btn{flex:1 1 0}.sb-btn,.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.55rem .9rem;border-radius:var(--border-radius-md);border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-primary);font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.sb-btn:disabled,.sp-btn:disabled{opacity:.55;cursor:not-allowed}.sb-btn-primary,.sp-btn-primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.sp-btn-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.sp-btn-block{width:100%}.sp-btn-sm{min-height:36px;padding:.35rem .7rem;font-size:var(--ui-text-cap)}.sp-detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:901;display:flex;flex-direction:column;background:var(--background-primary)}@media (min-width: 769px){.sp-detail{left:auto;width:min(620px,100%);border-left:1px solid var(--border-primary);box-shadow:var(--box-shadow-lg)}}.sp-detail-top{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--background-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0}.sp-detail-top h2{flex:1 1 auto;margin:0;font-size:var(--ui-text-card);font-weight:700;min-width:0}.sp-close{display:none}.sp-detail-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.85rem;display:flex;flex-direction:column;gap:.75rem}.sp-detail-body>*{flex-shrink:0}.sp-detail-foot{flex:0 0 auto;padding:.6rem .7rem calc(.6rem + env(safe-area-inset-bottom,0px));background:var(--background-secondary);border-top:1px solid var(--border-primary)}.sp-who{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.sp-who-body{flex:1 1 auto;display:flex;flex-direction:column;gap:.3rem;min-width:0}.sp-who-name,.sp-who-link{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--ui-text-meta);word-break:break-word}.sp-who-link{color:var(--accent-color);text-decoration:none}.sp-who-link:hover{text-decoration:underline}.sp-score{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;font-weight:700}.sp-score-hot{background:var(--danger-bg);color:var(--danger-text)}.sp-score-warm{background:var(--warning-bg);color:var(--warning-text)}.sp-score-cold{background:var(--background-primary);color:var(--text-tertiary);border:1px solid var(--border-primary)}.sp-days{font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary);white-space:nowrap}.sp-days.is-urgent{color:var(--warning-text)}.sp-days.is-expired{color:var(--danger-text)}.sp-quotecard{padding:.85rem;border-radius:var(--border-radius-md);background:var(--info-bg);border:1px solid var(--info-border)}.sp-quotecard h3{display:flex;align-items:center;gap:.4rem;margin:0 0 .35rem;font-size:var(--ui-text-meta);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--accent-color)}.sp-quote-amount{margin:0;font-size:var(--ui-text-card);font-weight:700}.sp-quote-meta{margin:.2rem 0 0;font-size:var(--ui-text-cap);color:var(--text-secondary)}.sp-quote-note{margin:.5rem 0 0;font-size:var(--ui-text-meta);font-style:italic}.sp-card{padding:.8rem;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.sp-progress{position:absolute;top:0;left:0;right:0;height:2px;z-index:1;background:linear-gradient(90deg,transparent 0%,var(--accent-color) 50%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:sp-progress 1.1s ease-in-out infinite}@keyframes sp-progress{0%{background-position:-45% 0}to{background-position:145% 0}}.sp-results{position:relative}.sp-results>.sp-progress{top:-.7rem;border-radius:2px}.sp-leadlist{transition:opacity .12s ease}.sp-leadlist.is-refreshing{opacity:.55;transition:opacity .15s ease .15s}.sp-skel>*{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background-image:linear-gradient(90deg,transparent 0%,var(--background-hover) 50%,transparent 100%);background-size:220% 100%;animation:sp-shimmer 1.4s ease-in-out infinite}.sp-skel-who{height:4.2rem}.sp-skel-card{height:8.5rem}.sp-skel-short{height:4.5rem}.sp-skel-stat{height:5.25rem}.sp-skel-lead{height:5.6rem}.sp-skel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.6rem;background-image:none;animation:none}.sp-skel-cell{height:2.1rem;border-radius:var(--border-radius-sm);background:var(--background-tertiary);background-image:linear-gradient(90deg,transparent 0%,var(--background-hover) 50%,transparent 100%);background-size:220% 100%;animation:sp-shimmer 1.4s ease-in-out infinite}@keyframes sp-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.sp-val-ok{color:var(--success-text)}.sp-val-warn{color:var(--warning-text)}.sp-val-bad{color:var(--danger-text)}.sp-val-neutral{color:var(--text-tertiary)}.sp-val-alert{display:flex;align-items:flex-start;gap:.5rem;margin:.5rem 0 0;padding:.55rem .7rem;font-size:var(--ui-text-meta);line-height:1.45;color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--border-radius-sm)}.sp-val-alert svg{flex-shrink:0;margin-top:.12rem}.sp-vallist{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.sp-vallist li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem;padding:.4rem .55rem;font-size:var(--ui-text-meta);background:var(--background-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm)}.sp-acc-valid{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;font-size:var(--ui-text-cap);font-weight:600}.sp-accounts li.sp-acc-short{border-color:var(--warning-border);background:var(--warning-bg)}@media (prefers-reduced-motion: reduce){.sp-progress,.sp-skel>*,.sp-skel-cell{animation:none}.sp-leadlist,.sp-leadlist.is-refreshing{transition:none}}.sp-card-pending{background:var(--warning-bg);border-color:var(--warning-border)}.sp-card-pending p{margin:0 0 .3rem;font-size:var(--ui-text-meta)}.sp-pipe-owner{display:flex;align-items:flex-end;gap:.5rem;margin-top:.6rem;font-size:var(--ui-text-meta)}.sp-owner-field{flex:1 1 auto}.sp-pipe-owner .sp-btn-sm{min-height:42px;flex:0 0 auto}.sp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:.8rem;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.sp-facts>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.sp-facts dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary)}.sp-facts dd{margin:0;font-size:var(--ui-text-meta);font-weight:600}.sp-extend{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-top:.5rem}.sp-field-days{flex:0 0 5rem}.sp-field-grow{flex:1 1 12rem}.sp-extend .sp-btn{flex:1 1 100%}.sp-contacts,.sp-accounts,.sp-reqs,.sp-list{list-style:none;margin:0;padding:0}.sp-contacts li{display:flex;flex-direction:column;gap:.15rem;padding:.55rem 0;border-bottom:1px solid var(--border-primary)}.sp-contacts li:last-child{border-bottom:none}.sp-contact-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:var(--ui-text-meta)}.sp-contact-when{margin-left:auto;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary);white-space:nowrap}.sp-contact-ago{font-weight:400;color:var(--text-tertiary)}.sp-contact-note{font-size:var(--ui-text-meta);color:var(--text-primary)}.sp-contact-by{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.sp-accounts li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;padding:.4rem 0;border-bottom:1px solid var(--border-primary);font-size:var(--ui-text-meta)}.sp-accounts li:last-child{border-bottom:none}.sp-acc-name{font-weight:600}.sp-acc-role{font-size:var(--ui-text-cap);text-transform:uppercase;letter-spacing:.02em;color:var(--text-tertiary)}.sp-acc-seen{margin-left:auto;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.sp-access-grid{display:grid;grid-template-columns:1fr;gap:1rem}.sp-reqs li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border-primary);font-size:var(--ui-text-meta)}.sp-reqs li:last-child{border-bottom:none}.sp-req-when{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.sp-req-name{flex:1 1 auto;min-width:0}.sp-req-days{font-weight:700}.sp-req-status{font-size:var(--ui-text-cap);text-transform:uppercase;font-weight:700}.sp-req-status.is-pending{color:var(--warning-text)}.sp-req-status.is-approved{color:var(--success-text)}.sp-req-status.is-rejected{color:var(--danger-text)}.sp-list li{padding:.3rem 0 .3rem 1.4rem;position:relative;font-size:var(--ui-text-meta);line-height:1.45}.sp-list-yes li:before{content:"✓";position:absolute;left:0;color:var(--success-color);font-weight:700}.sp-list-no li:before{content:"✕";position:absolute;left:0;color:var(--danger-color);font-weight:700}.sp-note{margin:.6rem 0 0;font-size:var(--ui-text-cap);color:var(--text-secondary)}.sp-notice{display:flex;align-items:center;gap:.4rem;margin:0;padding:.6rem .75rem;border-radius:var(--border-radius-sm);font-size:var(--ui-text-meta)}.sp-notice.is-ok{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.sp-notice.is-err{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}.sp-notice.is-warn{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text)}.sp-error{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--border-radius-md);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);font-size:var(--ui-text-meta)}.sp-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.sp-spin{animation:sp-spin 1s linear infinite}@keyframes sp-spin{to{transform:rotate(360deg)}}.al-day{border-bottom:1px solid var(--border-primary)}.al-day:last-child{border-bottom:none}.al-daybtn{display:flex;align-items:center;gap:.45rem;width:100%;padding:.55rem 0;background:none;border:none;cursor:pointer;color:var(--text-primary);font:inherit;text-align:left}.al-caret{flex-shrink:0;transition:transform .15s ease;color:var(--text-tertiary)}.al-daybtn.is-open .al-caret{transform:rotate(90deg)}.al-dayname{font-weight:650;font-size:var(--ui-text-meta)}.al-daycount{margin-left:auto;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.al-daycount em{font-style:normal;color:var(--accent-color)}.al-list{list-style:none;margin:0 0 .5rem;padding:0 0 0 1.1rem}.al-list li{display:flex;flex-direction:column;gap:.1rem;padding:.35rem 0 .35rem .7rem;border-left:2px solid var(--border-primary)}.al-milestone{border-left-color:var(--accent-color)}.al-event{font-size:var(--ui-text-meta);font-weight:600}.al-when{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.al-props{font-size:var(--ui-text-cap);color:var(--text-secondary)}.al-empty{color:var(--text-secondary);font-size:var(--ui-text-meta);margin:0}@media (min-width: 600px){.sp-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.sp-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-extend .sp-btn{flex:0 0 auto}.lc-top{align-items:center}.lc-quote{align-self:flex-start}}@media (min-width: 769px){.sp-back{display:none}.sp-close{display:inline-flex}.sp-filters{flex-direction:row;align-items:center}.sp-searchrow{flex:0 1 22rem;margin-bottom:0}.sp-segments{margin-bottom:0}.sp-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 900px){.sb-sheet{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 2rem));border-radius:var(--border-radius-md);border:1px solid var(--border-primary)}}.sp-tone,.sp-tone-blue,.sp-facts-colour>div:nth-child(7n+3){--tone-bg: var(--btn-action-report-bg);--tone-text: var(--btn-action-report-text);--tone-border: var(--btn-action-report-border)}.sp-tone-indigo,.sp-facts-colour>div:nth-child(7n+1){--tone-bg: var(--btn-action-assign-bg);--tone-text: var(--btn-action-assign-text);--tone-border: var(--btn-action-assign-border)}.sp-tone-violet,.sp-facts-colour>div:nth-child(7n+2){--tone-bg: var(--btn-action-print-bg);--tone-text: var(--btn-action-print-text);--tone-border: var(--btn-action-print-border)}.sp-tone-emerald,.sp-facts-colour>div:nth-child(7n+4){--tone-bg: var(--btn-action-review-bg);--tone-text: var(--btn-action-review-text);--tone-border: var(--btn-action-review-border)}.sp-tone-orange,.sp-facts-colour>div:nth-child(7n+5){--tone-bg: var(--btn-action-key-bg);--tone-text: var(--btn-action-key-text);--tone-border: var(--btn-action-key-border)}.sp-tone-pink,.sp-facts-colour>div:nth-child(7n+6){--tone-bg: var(--btn-action-sheet-bg);--tone-text: var(--btn-action-sheet-text);--tone-border: var(--btn-action-sheet-border)}.sp-tone-cyan,.sp-facts-colour>div:nth-child(7n){--tone-bg: var(--btn-action-structure-bg);--tone-text: var(--btn-action-structure-text);--tone-border: var(--btn-action-structure-border)}.sp-card.sp-tone{border-top:3px solid var(--tone-text);background:linear-gradient(180deg,var(--tone-bg) 0,transparent 3.25rem),var(--background-secondary)}.sp-tone>.sp-h2{color:var(--tone-text)}.sp-facts.sp-facts-colour{gap:.45rem;padding:.55rem}.sp-facts-colour>div{padding:.5rem .6rem;border-radius:var(--border-radius-sm);background:var(--tone-bg);border:1px solid var(--tone-border)}.sp-facts-colour dt{color:var(--tone-text);font-weight:700}.sp-facts-colour dd{color:var(--text-primary)}.sp-detail-top{background:linear-gradient(120deg,var(--accent-color-light),var(--purple-accent-light)),var(--background-secondary);border-bottom-color:var(--border-accent)}.sp-who{border-left-width:4px}.sp-who-hot{border-left-color:var(--danger-color)}.sp-who-warm{border-left-color:var(--warning-color)}.sp-who-cold{border-left-color:var(--accent-color)}.sp-who-acct-paid{border-left-color:var(--success-color)}.sp-who-acct-trial{border-left-color:var(--warning-color)}.sp-who-acct-free{border-left-color:var(--accent-color)}.sp-who-name svg{color:var(--btn-action-print-text)}.sp-who-link[href^="tel:"]{color:var(--btn-action-review-text)}.sp-who-link[href^="mailto:"]{color:var(--btn-action-report-text)}.sp-quotecard{background:linear-gradient(135deg,var(--btn-action-assign-bg),var(--info-bg));border-color:var(--btn-action-assign-border);border-left:4px solid var(--btn-action-assign-text)}.sp-quotecard .sp-quote-amount{color:var(--btn-action-assign-text)}.sp-field select.sp-status-select{border-left-width:5px;font-weight:700}.sp-field select.sp-status-select option{color:var(--input-text);font-weight:400}.sp-field select.sp-status-new{border-left-color:var(--btn-action-report-text);color:var(--btn-action-report-text)}.sp-field select.sp-status-contacted{border-left-color:var(--btn-action-structure-text);color:var(--btn-action-structure-text)}.sp-field select.sp-status-interested{border-left-color:var(--btn-action-print-text);color:var(--btn-action-print-text)}.sp-field select.sp-status-quote_sent{border-left-color:var(--btn-action-assign-text);color:var(--btn-action-assign-text)}.sp-field select.sp-status-negotiating{border-left-color:var(--btn-action-key-text);color:var(--btn-action-key-text)}.sp-field select.sp-status-won{border-left-color:var(--success-color);color:var(--success-text)}.sp-field select.sp-status-not_now{border-left-color:var(--warning-color);color:var(--warning-text)}.sp-field select.sp-status-unreachable{border-left-color:var(--btn-action-sheet-text);color:var(--btn-action-sheet-text)}.sp-field select.sp-status-lost{border-left-color:var(--danger-color);color:var(--danger-text)}.sp-btn-accent{background:var(--accent-color-light);border-color:var(--border-accent);color:var(--accent-color)}.sp-btn-accent:hover:not(:disabled){background:var(--accent-color);color:#fff}.sp-ch{--ch-color: var(--text-secondary)}.sp-ch-call{--ch-color: var(--btn-action-review-text)}.sp-ch-whatsapp{--ch-color: #25D366}.sp-ch-email{--ch-color: var(--btn-action-report-text)}.sp-ch-meeting{--ch-color: var(--btn-action-print-text)}.sp-ch-note{--ch-color: var(--btn-action-key-text)}.sp-contacts li.sp-ch{padding-left:.65rem;border-left:3px solid var(--ch-color);margin-bottom:.35rem;border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0}.sp-contacts li.sp-ch strong{color:var(--ch-color)}.sp-acc-role{padding:.08rem .4rem;border-radius:999px;border:1px solid var(--border-primary)}.sp-kind-admin{background:var(--btn-action-assign-bg);border-color:var(--btn-action-assign-border);color:var(--btn-action-assign-text)}.sp-kind-teacher{background:var(--btn-action-print-bg);border-color:var(--btn-action-print-border);color:var(--btn-action-print-text)}.sp-kind-student{background:var(--btn-action-structure-bg);border-color:var(--btn-action-structure-border);color:var(--btn-action-structure-text)}.sb-act:hover{border-color:currentColor}.sb-act-call{background:var(--btn-action-review-bg);border-color:var(--btn-action-review-border);color:var(--btn-action-review-text)}.sb-act-wa{background:color-mix(in srgb,#25D366 12%,transparent);border-color:color-mix(in srgb,#25D366 45%,transparent)}.sb-act-mail{background:var(--btn-action-report-bg);border-color:var(--btn-action-report-border);color:var(--btn-action-report-text)}.sb-act-note{background:var(--btn-action-print-bg);border-color:var(--btn-action-print-border);color:var(--btn-action-print-text)}.sp-stat-live{border-color:var(--btn-action-print-border);background:var(--btn-action-print-bg)}.sp-stat-live .sp-stat-value,.sp-stat-live .sp-stat-icon{color:var(--btn-action-print-text)}.sp-stat-good{border-color:var(--success-border);background:var(--success-bg)}.sp-stat-good .sp-stat-label{color:var(--success-text)}.sp-segment.is-due:not(.is-on){border-color:var(--warning-border);color:var(--warning-text)}.sp-segment.is-due:not(.is-on) .sp-segment-count{background:var(--warning-bg);color:var(--warning-text)}.lc.lc-band-hot:not(.has-quote){border-left:3px solid var(--danger-color)}.lc.lc-band-warm:not(.has-quote){border-left:3px solid var(--warning-color)}.lc.lc-acct-paid{border-left:3px solid var(--success-color)}.lc.lc-acct-trial{border-left:3px solid var(--warning-color)}.spr-body{display:flex;flex-direction:column;gap:1.35rem;transition:opacity .12s ease}.spr-body>*{flex-shrink:0}.spr-body.is-refreshing{opacity:.55;transition:opacity .15s ease .15s}.spr-updated{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem;align-self:flex-start;margin:0;padding:.35rem .75rem;border-radius:999px;font-size:var(--ui-text-cap);color:var(--text-secondary);background:var(--accent-color-light);border:1px solid var(--border-accent)}.spr-updated svg{color:var(--accent-color)}.spr-updated strong{color:var(--text-primary)}.spr-notes{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem .95rem;border-radius:var(--border-radius-md);background:var(--warning-bg);border:1px solid var(--warning-border);border-left:4px solid var(--warning-color)}.spr-notes>svg{flex-shrink:0;margin-top:.15rem;color:var(--warning-text)}.spr-notes strong{display:block;font-size:var(--ui-text-cap);letter-spacing:.04em;text-transform:uppercase;color:var(--warning-text)}.spr-notes p{margin:.25rem 0 0;font-size:.9rem;line-height:1.5;white-space:pre-wrap;color:var(--text-primary)}.spr-section{display:flex;flex-direction:column;gap:.8rem}.spr-head h2{display:flex;align-items:center;gap:.45rem;margin:0;font-size:var(--ui-text-card);font-weight:750;color:var(--text-primary)}.spr-head h2 svg{color:var(--accent-color)}.spr-head p{margin:.3rem 0 0;max-width:62rem;font-size:var(--ui-text-meta);line-height:1.55;color:var(--text-secondary)}.spr-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}.spr-card{position:relative;display:flex;flex-direction:column;gap:.35rem;padding:1rem .95rem .95rem;border-radius:var(--border-radius-lg);border:1px solid var(--tone-border);border-top:4px solid var(--tone-text);background:linear-gradient(180deg,var(--tone-bg) 0,transparent 75%),var(--background-secondary);overflow:hidden}.spr-card.is-popular{box-shadow:0 0 0 2px var(--tone-text),var(--box-shadow-md)}.spr-card.is-internal{border-style:dashed;border-top-style:solid}.spr-ribbon{position:absolute;top:.75rem;right:.75rem;padding:.15rem .55rem;border-radius:999px;font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--tone-text);color:var(--background-primary)}.spr-name{display:flex;align-items:center;gap:.4rem;margin:0;font-size:var(--ui-text-body);font-weight:800;color:var(--tone-text)}.spr-card.is-popular .spr-name{padding-right:6.5rem}.spr-chip{align-self:flex-start;padding:.1rem .45rem;border-radius:var(--border-radius-sm);border:1px dashed var(--tone-border);background:var(--background-primary);font-size:.66rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary)}.spr-price{margin:.2rem 0 0;font-size:1.7rem;font-weight:800;line-height:1.1;color:var(--text-primary)}.spr-price small,.spr-price-sm small{margin-left:.15rem;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-tertiary)}.spr-grant{margin:0;font-size:var(--ui-text-card);font-weight:750;color:var(--tone-text)}.spr-grant span{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.spr-meta{list-style:none;display:flex;flex-direction:column;gap:.2rem;margin:.2rem 0 0;padding:0;font-size:var(--ui-text-meta);color:var(--text-secondary)}.spr-meta li{display:inline-flex;align-items:center;gap:.35rem}.spr-meta svg{color:var(--tone-text)}.spr-blurb{margin:.35rem 0 0;padding-top:.5rem;border-top:1px dashed var(--tone-border);font-size:var(--ui-text-meta);line-height:1.45;color:var(--text-secondary)}.spr-line{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-top:.25rem}.spr-label{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.spr-price-sm{font-size:1.35rem;font-weight:800;color:var(--text-primary);white-space:nowrap}.spr-fee{font-size:var(--ui-text-body);font-weight:750;color:var(--tone-text);white-space:nowrap}.spr-dot{margin:0 .3rem;color:var(--text-tertiary)}.spr-hint{margin:0;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.spr-rule{height:1px;margin:.4rem 0 .1rem;background:var(--tone-border)}.spr-foot{margin:0;font-size:var(--ui-text-meta);line-height:1.55;color:var(--text-secondary)}.spr-foot strong{color:var(--text-primary)}.spr-quote{display:flex;flex-direction:column;gap:.55rem;padding:.9rem 1rem;border-radius:var(--border-radius-md);background:linear-gradient(135deg,var(--btn-action-assign-bg),var(--btn-action-print-bg));border:1px solid var(--btn-action-assign-border)}.spr-quote-field{display:flex;flex-direction:column;gap:.35rem}.spr-quote-field>span:first-child{font-size:var(--ui-text-meta);font-weight:700;color:var(--btn-action-assign-text)}.spr-quote-input{display:flex;align-items:center;gap:.4rem;max-width:18rem;padding:0 .7rem;border-radius:var(--border-radius-sm);border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-secondary);font-weight:700}.spr-quote-input:focus-within{border-color:var(--accent-color)}.spr-quote-input input{flex:1 1 auto;min-width:0;padding:.6rem 0;border:none;background:none;outline:none;color:var(--input-text);font-family:inherit;font-size:var(--ui-text-body)}.spr-quote-out p{margin:0}.spr-quote-out .spr-quote-main{font-size:var(--ui-text-body);line-height:1.55;color:var(--text-primary)}.spr-quote-plan{font-weight:700;color:var(--btn-action-assign-text)}.spr-quote-out .spr-quote-up{display:flex;align-items:flex-start;gap:.35rem;margin-top:.35rem;font-size:var(--ui-text-meta);color:var(--success-text)}.spr-quote-up svg{flex-shrink:0;margin-top:.15rem}.spr-quote-out .spr-quote-warn{margin-bottom:.3rem;font-size:var(--ui-text-cap);color:var(--warning-text)}.spr-history{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0}.spr-history>li{padding:.5rem .7rem;border-left:3px solid var(--tone-text);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;background:var(--background-primary)}.spr-history-when{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.spr-history-when strong{color:var(--text-secondary)}.spr-history ul{margin:.3rem 0 0;padding-left:1.1rem;font-size:var(--ui-text-meta);color:var(--text-primary)}.spr-history ul li{padding:.05rem 0}@media (min-width: 600px){.spr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1200px){.spr-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){.spr-body,.spr-body.is-refreshing{transition:none}}.spr-monthly{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;margin:.25rem 0 0;padding:.45rem .6rem;border-radius:var(--border-radius-sm);background:var(--background-primary);border:1px dashed var(--tone-border)}.spr-monthly strong{font-size:var(--ui-text-body);font-weight:800;color:var(--text-primary)}.spr-monthly strong small{margin-left:.15rem;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-tertiary)}.spr-monthly .spr-hint{flex-basis:100%}.spr-price small{white-space:nowrap}.spr-quote-out .spr-quote-make{margin-top:.6rem}.sq-layer .sp-scrim{z-index:950}.sq-layer .sp-detail{z-index:951}@media (min-width: 769px){.sq-layer .sp-detail.sq-drawer{width:min(780px,100%)}}.sp-field textarea,.sq-textarea{width:100%;padding:.6rem .7rem;border-radius:var(--border-radius-sm);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-family:inherit;font-size:var(--ui-text-body);line-height:1.45;resize:vertical}.sp-field>span em{font-style:normal;font-weight:700;color:var(--tone-text, var(--accent-color));margin-left:.25rem}.sp-field textarea{min-height:4.6rem;line-height:1.45;resize:vertical;font-family:inherit}.sq-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:.6rem}@media (min-width: 600px){.sq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sq-span2{grid-column:span 2}}.sq-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}@media (min-width: 600px){.sq-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}.sq-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .7rem;border-radius:var(--border-radius-md);border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.sq-chip strong{font-size:.88rem}.sq-chip span{font-size:var(--ui-text-cap);color:var(--text-secondary)}.sq-chip:hover{border-color:var(--tone-text)}.sq-chip.is-on{border-color:var(--tone-text);background:var(--tone-bg);box-shadow:0 0 0 1px var(--tone-text)}.sq-chip.is-on strong{color:var(--tone-text)}.sq-chip-quiet strong{color:var(--text-secondary)}.sq-amount{max-width:16rem;margin-top:.6rem}.sq-seg-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.sq-seg-label{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.sq-seg{display:inline-flex;padding:3px;gap:3px;border-radius:999px;background:var(--background-primary);border:1px solid var(--border-primary)}.sq-seg button{padding:.35rem .85rem;border:none;border-radius:999px;background:none;color:var(--text-secondary);font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.sq-seg button.is-on{background:var(--tone-text, var(--accent-color));color:var(--background-primary)}.sq-line-preview{margin:.7rem 0 0;padding:.55rem .7rem;border-radius:var(--border-radius-sm);background:var(--tone-bg);border:1px solid var(--tone-border);font-size:var(--ui-text-meta);color:var(--text-primary)}.sq-line-preview strong{color:var(--tone-text);font-size:var(--ui-text-body)}.sq-line-preview em{color:var(--warning-text);font-style:normal}.sq-students{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}@media (min-width: 600px){.sq-students{grid-template-columns:repeat(4,minmax(0,1fr))}}.sq-validity{max-width:11rem;margin-bottom:.6rem}.sq-validity>span{display:inline-flex;align-items:center;gap:.3rem}.sq-foot{display:flex;flex-direction:column;gap:.5rem}.sq-totals{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;min-height:1.6rem}.sq-total{display:inline-flex;align-items:baseline;gap:.35rem;font-size:var(--ui-text-meta);color:var(--text-secondary)}.sq-total em{font-style:normal;font-size:var(--ui-text-cap);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.sq-total strong{font-size:var(--ui-text-card);font-weight:800;color:var(--text-primary)}.sq-total-err{font-size:var(--ui-text-meta);color:var(--warning-text)}.sq-pickers{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;align-items:end}@media (min-width: 600px){.sq-pickers{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}.sq-lead-select>span{display:inline-flex;align-items:center;gap:.3rem}.sq-or{align-self:end;padding-bottom:.7rem;font-size:var(--ui-text-cap);font-weight:700;text-transform:uppercase;color:var(--text-tertiary);text-align:center}.sq-picker-label{display:block;margin-bottom:.3rem;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.sq-fixed{margin:.5rem 0 0}.sq-picker{position:relative}.sq-picker-input{margin-bottom:0}.sq-picker-list{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);margin:0;padding:.3rem;list-style:none;max-height:16rem;overflow-y:auto;border-radius:var(--border-radius-md);border:1px solid var(--border-primary);background:var(--background-secondary);box-shadow:var(--box-shadow-md)}.sq-picker-list button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.5rem .6rem;border:none;border-radius:var(--border-radius-sm);background:none;color:var(--text-primary);font:inherit;font-size:var(--ui-text-meta);text-align:left;cursor:pointer}.sq-picker-list button:hover{background:var(--background-hover)}.sq-linked{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin:0;font-size:var(--ui-text-meta);color:var(--text-secondary)}.sq-linked svg{color:var(--tone-text)}.sq-linked strong{color:var(--text-primary)}.sq-unlink{margin-left:auto;padding:0;border:none;background:none;font:inherit;font-size:var(--ui-text-meta);color:var(--accent-color);text-decoration:underline;cursor:pointer}.sq-status{display:inline-block;margin-left:.45rem;padding:.1rem .5rem;border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-secondary)}.sq-status-info{background:var(--btn-action-assign-bg);border-color:var(--btn-action-assign-border);color:var(--btn-action-assign-text)}.sq-status-good{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.sq-status-bad{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.sq-status-warn{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.sq-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}@media (min-width: 600px){.sq-actions{grid-template-columns:repeat(6,minmax(0,1fr))}}.sq-act{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:56px;padding:.45rem .3rem;border-radius:var(--border-radius-md);border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-primary);font:inherit;font-size:var(--ui-text-cap);font-weight:700;text-decoration:none;cursor:pointer}.sq-act svg{font-size:var(--ui-text-card)}.sq-act:hover{border-color:currentColor}.sq-act-pdf{background:var(--btn-action-print-bg);border-color:var(--btn-action-print-border);color:var(--btn-action-print-text)}.sq-act-wa{background:color-mix(in srgb,#25D366 12%,transparent);border-color:color-mix(in srgb,#25D366 45%,transparent);color:#25d366}.sq-act-mail{background:var(--btn-action-report-bg);border-color:var(--btn-action-report-border);color:var(--btn-action-report-text)}.sq-act-copy{background:var(--btn-action-structure-bg);border-color:var(--btn-action-structure-border);color:var(--btn-action-structure-text)}.sq-act-more{background:var(--btn-action-key-bg);border-color:var(--btn-action-key-border);color:var(--btn-action-key-text)}.sq-act-edit{background:var(--btn-action-assign-bg);border-color:var(--btn-action-assign-border);color:var(--btn-action-assign-text)}.sq-meta-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.7rem}@media (min-width: 600px){.sq-meta-grid{grid-template-columns:11rem minmax(0,1fr)}}.sq-meta-facts{display:flex;flex-direction:column;gap:.2rem;font-size:var(--ui-text-meta);color:var(--text-primary)}.sq-meta-facts em{display:inline-block;min-width:6.5rem;font-style:normal;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--tone-text)}.sq-link{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;margin:.7rem 0 0;font-size:var(--ui-text-meta)}.sq-link a{color:var(--accent-color);font-weight:700}.sq-preview{position:relative;border-radius:var(--border-radius-md);overflow:hidden;border:1px solid var(--border-primary);background:#fff}.sq-preview iframe{display:block;width:100%;border:0;background:#fff}.sq-preview-busy{position:absolute;top:.6rem;right:.6rem;color:#7e22ce}.sq-head-actions{display:flex;flex-wrap:wrap;gap:.5rem}.sq-empty{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2.5rem 1rem;text-align:center;color:var(--text-secondary)}.sq-empty>svg{font-size:2rem;color:var(--btn-action-assign-text)}.sq-empty p{margin:0}.sq-card{border-left-width:3px}.sq-card-neutral{border-left-color:var(--btn-action-report-text)}.sq-card-info{border-left-color:var(--btn-action-assign-text)}.sq-card-good{border-left-color:var(--success-color)}.sq-card-bad{border-left-color:var(--danger-color)}.sq-card-warn{border-left-color:var(--warning-color)}.sq-card-title{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.sq-number{font-weight:800;font-size:var(--ui-text-meta);letter-spacing:.02em;color:var(--btn-action-assign-text);font-variant-numeric:tabular-nums}.sq-card-title .sq-status{margin-left:0}.sq-card-lines{display:flex;flex-wrap:wrap;gap:.35rem}.sq-pill{padding:.2rem .55rem;border-radius:var(--border-radius-sm);font-size:var(--ui-text-cap);font-weight:700;border:1px solid transparent}.sq-pill-pool{background:var(--btn-action-print-bg);border-color:var(--btn-action-print-border);color:var(--btn-action-print-text)}.sq-pill-students{background:var(--btn-action-sheet-bg);border-color:var(--btn-action-sheet-border);color:var(--btn-action-sheet-text)}.sp-quotecard .sq-from-ask{margin-top:.7rem}.sq-lead-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sq-lead-head .sp-h2{margin:0}.sq-lead-quotes{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.sq-lead-quotes button{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;width:100%;padding:.5rem .6rem;border-radius:var(--border-radius-sm);border:1px solid var(--border-light);background:var(--background-primary);color:var(--text-primary);font:inherit;font-size:var(--ui-text-meta);text-align:left;cursor:pointer}.sq-lead-quotes button:hover{border-color:var(--tone-text)}.sq-lead-quotes .sq-status{margin-left:0}.sq-lead-quote-what{color:var(--text-secondary)}.sq-charges{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column}.sq-charges li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px dashed var(--border-primary);font-size:var(--ui-text-meta)}.sq-charges li:last-child{border-bottom:none}.sq-charges li>span em{font-style:normal;color:var(--text-tertiary);font-size:var(--ui-text-cap)}.sq-charges strong{font-variant-numeric:tabular-nums;white-space:nowrap}.sq-charge-discount .sp-field{flex:1 1 auto;max-width:12rem}.sq-charge-discount strong{color:var(--success-text)}.sq-charge-total{margin-top:.15rem;padding-top:.55rem!important;border-top:2px solid var(--tone-text);font-weight:700}.sq-charge-total strong{font-size:var(--ui-text-card);color:var(--tone-text)}.spr-bank{margin:0;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary)}.spr-bank span{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.spr-bank-note{display:flex;align-items:flex-start;gap:.4rem;padding:.5rem .65rem;border-radius:var(--border-radius-sm);background:var(--tone-bg, var(--background-secondary));border:1px solid var(--border-primary)}.spr-bank-note svg{flex-shrink:0;margin-top:.15rem;color:var(--accent-color)}.sp-arrived{align-items:center}.sp-arrived-label{margin-right:.25rem;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.sp-arrived-range{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--ui-text-meta);color:var(--text-secondary)}.sp-arrived-range input{padding:.35rem .5rem;font:inherit;font-size:var(--ui-text-meta);color:var(--input-text, var(--text-primary));background:var(--input-background, var(--background-primary));border:1px solid var(--input-border, var(--border-primary));border-radius:var(--border-radius-sm)}.sp-arrived{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sp-arrived-select{padding:.4rem .6rem;font:inherit;font-size:var(--ui-text-meta);color:var(--input-text, var(--text-primary));background:var(--input-background, var(--background-primary));border:1px solid var(--input-border, var(--border-primary));border-radius:999px;cursor:pointer}.at-page{padding:1.5rem;width:100%;max-width:2000px;margin:0 auto}.at-page .at-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}.at-page .at-stat{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 1rem;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.at-page .at-stat-icon{display:flex;color:var(--text-tertiary);margin-bottom:.1rem}.at-page .at-stat-value{font-size:1.6rem;font-weight:700;line-height:1.1;color:var(--text-primary)}.at-page .at-stat-label{font-size:var(--ui-text-cap);color:var(--text-secondary)}.at-page .at-stat-good .at-stat-value,.at-page .at-stat-good .at-stat-icon{color:var(--success-color)}.at-page .at-stat-urgent{border-color:var(--warning-border);background:var(--warning-bg)}.at-page .at-stat-urgent .at-stat-value,.at-page .at-stat-urgent .at-stat-icon{color:var(--warning-color)}.at-page .at-stat-urgent .at-stat-label{color:var(--warning-text)}.at-page .at-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem}.at-page .at-filters select{padding:.5rem .7rem;border-radius:var(--border-radius-sm);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-size:.88rem}.at-page .at-filters select:focus-visible{outline:none;border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.at-page .at-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;color:var(--text-secondary);cursor:pointer}.at-page .at-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:var(--ui-text-meta);font-weight:600;border-radius:var(--border-radius-sm);border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-primary);cursor:pointer}.at-page .at-btn:hover:not(:disabled){background:var(--background-hover)}.at-page .at-btn:disabled{opacity:.6;cursor:not-allowed}.at-page .at-btn-primary{background:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-primary-button)}.at-page .at-btn-primary:hover:not(:disabled){background:var(--accent-color-hover)}.at-page .at-icon-btn{display:inline-flex;padding:.35rem;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--border-radius-sm);cursor:pointer}.at-page .at-icon-btn:hover{background:var(--background-hover);color:var(--text-primary)}.at-page .at-spin{animation:at-spin .9s linear infinite}@keyframes at-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.at-page .at-spin,.at-page .at-scrim,.at-page .at-drawer,.at-page .at-drawer-progress,.at-page .at-skel>*,.at-page .at-skel-grid>*{animation:none}.at-page .sp-leadlist.at-busy{transition:none}}.at-page .at-stat-quote{border-color:var(--info-border);background:var(--info-bg)}.at-page .at-stat-quote .at-stat-value,.at-page .at-stat-quote .at-stat-icon{color:var(--accent-color)}.at-page .at-stat-sub{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-primary)}.at-page .at-check-quote{color:var(--accent-color);font-weight:600}.at-page .at-approvals{margin-bottom:1rem;padding:.85rem 1rem;border-radius:var(--border-radius-md);border:1px solid var(--warning-border);background:var(--warning-bg)}.at-page .at-approvals-h{display:flex;align-items:center;gap:.4rem;margin:0 0 .6rem;font-size:.88rem;font-weight:700;color:var(--warning-text)}.at-page .at-approvals ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.at-page .at-approvals li{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .7rem;border-radius:var(--border-radius-sm);background:var(--background-secondary);border:1px solid var(--border-primary)}.at-page .at-appr-main{flex:1 1 16rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}.at-page .at-appr-name{font-weight:650;font-size:.9rem}.at-page .at-appr-meta{font-size:var(--ui-text-cap);color:var(--text-secondary)}.at-page .at-appr-reason{font-size:var(--ui-text-meta);font-style:italic;color:var(--text-tertiary)}.at-page .at-appr-actions{display:flex;gap:.4rem;margin-left:auto}.at-page .at-empty,.at-page .at-hint{color:var(--text-secondary);font-size:.88rem}.at-page .at-empty{padding:2rem 0;text-align:center}.at-page .at-error{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:var(--border-radius-md);font-size:.88rem}.at-page .at-error .at-btn{margin-left:auto}.at-page .at-notice{padding:.6rem .8rem;border-radius:var(--border-radius-sm);font-size:var(--ui-text-meta);margin:0 0 .9rem}.at-page .at-notice-ok{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.at-page .at-notice-err{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}.at-page .at-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--background-overlay);z-index:900;animation:at-fade .18s ease-out}.at-page .at-drawer{position:fixed;top:0;right:0;bottom:0;width:min(620px,100%);z-index:901;display:flex;flex-direction:column;background:var(--background-primary);border-left:1px solid var(--border-primary);box-shadow:var(--box-shadow-lg);animation:at-slide-in .2s cubic-bezier(.22,.61,.36,1)}@keyframes at-fade{0%{opacity:0}}@keyframes at-slide-in{0%{transform:translate(1.5rem);opacity:0}}.at-page .at-drawer-progress{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent-color) 50%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:at-progress 1.1s ease-in-out infinite}@keyframes at-progress{0%{background-position:-45% 0}to{background-position:145% 0}}.at-page .sp-leadlist.at-busy{opacity:.55;pointer-events:none;transition:opacity .15s ease-out}.at-page .at-drawer-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary);flex-shrink:0}.at-page .at-drawer-top h3{margin:0;font-size:var(--ui-text-card);color:var(--text-primary)}.at-page .at-drawer-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.25rem}.at-page .at-skel>*{background:var(--background-tertiary);border-radius:var(--border-radius-sm)}.at-page .at-skel-line{height:.7rem;margin-bottom:.55rem}.at-page .at-skel-w50{width:50%}.at-page .at-skel-w35{width:35%}.at-page .at-skel-w30{width:30%;margin-top:1.4rem}.at-page .at-skel-bar{height:2.4rem;margin:1rem 0}.at-page .at-skel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;padding:.9rem 1rem;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.at-page .at-skel-cell{height:1.9rem;background:var(--background-tertiary);border-radius:var(--border-radius-sm)}.at-page .at-skel-block{height:6rem;margin-top:1.25rem}.at-page .at-skel-row{height:2rem;margin-bottom:.4rem}.at-page .at-skel>*,.at-page .at-skel-grid>*{background-image:linear-gradient(90deg,transparent 0%,var(--background-hover) 50%,transparent 100%);background-size:220% 100%;animation:at-shimmer 1.4s ease-in-out infinite}.at-page .at-skel-grid{background-image:none;animation:none}@keyframes at-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.at-page .at-contact{display:flex;flex-direction:column;gap:.35rem;font-size:var(--ui-text-meta);margin-bottom:1rem}.at-page .at-contact span,.at-page .at-contact a{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary);text-decoration:none}.at-page .at-contact a:hover{color:var(--accent-color);text-decoration:underline}.at-page .at-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;margin:0 0 1.25rem;padding:.9rem 1rem;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.at-page .at-facts div{min-width:0}.at-page .at-facts dt{font-size:var(--ui-text-cap);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:.15rem}.at-page .at-facts dd{margin:0;font-size:.88rem;font-weight:600;color:var(--text-primary)}.at-page .at-facts .sp-score{width:2rem;height:1.7rem;font-size:var(--ui-text-meta)}.at-page .at-drawer-h{margin:0 0 .4rem;font-size:var(--ui-text-body);color:var(--text-primary)}.at-page .at-sec{margin-top:1.4rem}.at-page .at-validity .at-drawer-h{display:flex;align-items:center;gap:.4rem}.at-page .at-validity .at-facts{margin-bottom:.6rem}.at-page .at-val-ok{color:var(--success-text)}.at-page .at-val-warn{color:var(--warning-text)}.at-page .at-val-bad{color:var(--danger-text)}.at-page .at-val-neutral{color:var(--text-tertiary)}.at-page .at-val-alert{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .5rem;padding:.55rem .7rem;font-size:var(--ui-text-meta);line-height:1.45;color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--border-radius-sm)}.at-page .at-val-alert svg{flex-shrink:0;margin-top:.12rem}.at-page .at-acc-valid{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--ui-text-cap);font-weight:600}.at-page .at-acc-login{color:var(--text-tertiary);font-size:var(--ui-text-cap);min-width:0;overflow-wrap:anywhere}.at-page .at-accounts li.at-acc-short{border-color:var(--warning-border);background:var(--warning-bg)}.at-page .at-extend{padding:.95rem 1rem;border:1px solid var(--border-accent);border-radius:var(--border-radius-md);background:var(--background-accent)}.at-page .at-extend .at-hint{margin:0 0 .75rem}.at-page .at-extend-fields{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem}.at-page .at-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.at-page .at-field-grow{flex:1 1 190px}.at-page .at-field span{font-size:var(--ui-text-cap);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.at-page .at-field input{padding:.45rem .6rem;border-radius:var(--border-radius-sm);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-size:.88rem;width:100%}.at-page .at-field input[type=number]{width:5.5rem}.at-page .at-field input:focus-visible{outline:none;border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.at-page .at-extend-foot{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.at-page .at-grants,.at-page .at-accounts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.at-page .at-grants li,.at-page .at-accounts li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.45rem .6rem;background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);font-size:var(--ui-text-meta)}.at-page .at-grant-days{font-weight:700;color:var(--success-color)}.at-page .at-grant-by{color:var(--text-secondary)}.at-page .at-grant-reason{flex-basis:100%;color:var(--text-tertiary);font-style:italic}.at-page .at-acc-name{font-weight:600;color:var(--text-primary)}.at-page .at-acc-role{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .35rem;border-radius:var(--border-radius-pill);background:var(--background-tertiary);color:var(--text-tertiary)}.at-page .at-acc-seen{margin-left:auto;color:var(--text-tertiary);font-size:var(--ui-text-cap)}.at-page .at-tl-count{margin-left:.5rem;font-weight:500;color:var(--text-tertiary);font-size:var(--ui-text-cap)}@media (max-width: 768px){.at-page{padding:.9rem}.at-page .at-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.at-page .at-filters{flex-direction:column;align-items:stretch}.at-page .at-filters select,.at-page .at-drawer{width:100%}.at-page .at-facts{grid-template-columns:1fr}.at-page .at-approvals li{flex-direction:column;align-items:stretch}.at-page .at-appr-actions{margin-left:0}.at-page .at-appr-actions .at-btn{flex:1 1 0;justify-content:center}}.apl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.apl-dirty{padding:.2rem .6rem;border-radius:999px;font-size:var(--ui-text-cap);font-weight:700;color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border)}.apl-errors,.apl-saved{padding:.75rem .9rem;border-radius:var(--border-radius-md);font-size:var(--ui-text-meta)}.apl-errors{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}.apl-saved{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.apl-errors strong,.apl-saved strong{display:flex;align-items:center;gap:.4rem}.apl-errors ul,.apl-saved ul{margin:.4rem 0 0;padding-left:1.3rem}.apl-saved ul{color:var(--text-primary)}.apl-card{gap:.55rem}.apl-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.apl-field>span{display:flex;justify-content:space-between;gap:.5rem;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary)}.apl-field>span em,.apl-count{font-style:normal;font-weight:500;color:var(--text-tertiary)}.apl-count{align-self:flex-end;font-size:var(--ui-text-cap)}.apl-field input,.apl-field textarea{width:100%;padding:.5rem .6rem;border-radius:var(--border-radius-sm);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-family:inherit;font-size:var(--ui-text-body)}.apl-field textarea{resize:vertical;line-height:1.45}.apl-field input:focus,.apl-field textarea:focus{outline:none;border-color:var(--tone-text, var(--accent-color))}.apl-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.apl-preview{margin:0;font-size:var(--ui-text-meta);color:var(--text-secondary)}.apl-preview strong{color:var(--tone-text);font-size:var(--ui-text-body)}.apl-toggles{display:flex;flex-wrap:wrap;gap:.9rem}.apl-check{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-primary);cursor:pointer}.apl-check input{accent-color:var(--tone-text);width:1rem;height:1rem}.apl-check:has(input:disabled){opacity:.5;cursor:not-allowed}.apl-surge{max-width:26rem}.apl-quote-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.apl-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}@media (min-width: 900px){.apl-quote-grid{grid-template-columns:10rem minmax(0,1fr);align-items:start}.apl-app-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.apl-quote-side{display:flex;flex-direction:column;gap:.75rem}.apl-commitments{margin-top:.75rem}.apl-field input:disabled,.apl-field textarea:disabled{opacity:.6;cursor:not-allowed}.apl-link{align-self:flex-start;padding:0;border:none;background:none;font:inherit;font-size:var(--ui-text-meta);color:var(--accent-color);text-decoration:underline;cursor:pointer}.apl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.aof-page{display:flex;flex-direction:column;gap:1rem}.aof-page .sp-card{display:flex;flex-direction:column;gap:.6rem}.aof-welcome{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;align-items:end}@media (min-width: 720px){.aof-welcome{grid-template-columns:minmax(0,12rem) minmax(0,14rem) auto;justify-content:start}}.aof-welcome-save{min-height:42px}.aof-price-preview{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.aof-price-preview li{display:inline-flex;align-items:baseline;gap:.35rem;padding:.35rem .6rem;border-radius:var(--border-radius-sm);background:var(--tone-bg);border:1px solid var(--tone-border);font-size:var(--ui-text-meta)}.aof-price-preview span{font-weight:700;color:var(--text-primary)}.aof-price-preview s{color:var(--text-tertiary)}.aof-price-preview b{color:var(--tone-text)}.aof-price-preview em{font-style:normal;color:var(--text-secondary);font-size:var(--ui-text-cap)}.aof-form{display:flex;flex-direction:column;gap:.8rem}.aof-seg{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}@media (min-width: 640px){.aof-seg{grid-template-columns:repeat(2,minmax(0,1fr))}}.aof-seg button{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .45rem;min-height:48px;padding:.55rem .75rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary);color:var(--text-primary);font:inherit;font-weight:700;text-align:left;cursor:pointer}.aof-seg button small{flex-basis:100%;font-weight:500;color:var(--text-secondary);font-size:var(--ui-text-cap)}.aof-seg button.is-on{border-color:var(--tone-text);background:var(--tone-bg);color:var(--tone-text);box-shadow:inset 0 0 0 1px var(--tone-text)}.aof-seg button:focus-visible,.aof-chip:focus-visible{outline:2px solid var(--tone-text, var(--accent-color));outline-offset:2px}.aof-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}@media (min-width: 720px){.aof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aof-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.aof-chips{display:flex;flex-wrap:wrap;gap:.4rem}.aof-quick{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.2rem}.aof-chip{display:inline-flex;align-items:center;gap:.3rem;min-height:38px;padding:.35rem .75rem;border:1px solid var(--border-primary);border-radius:999px;background:var(--background-primary);color:var(--text-primary);font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.aof-chip-sm{min-height:32px;padding:.2rem .6rem;font-size:var(--ui-text-cap)}.aof-chip.is-on{border-color:var(--tone-text, var(--accent-color));background:var(--tone-bg, var(--accent-color-light));color:var(--tone-text, var(--accent-color))}.aof-preview{padding:.55rem .7rem;border-radius:var(--border-radius-sm);background:var(--tone-bg);border:1px dashed var(--tone-border)}.aof-preview strong{font-size:var(--ui-text-meta);overflow-wrap:anywhere}.aof-link{font-size:var(--ui-text-cap);overflow-wrap:anywhere}.aof-form-actions{display:flex;justify-content:flex-end}.aof-table-wrap{overflow-x:auto;margin:0 -.2rem}.aof-table{width:100%;border-collapse:collapse;font-size:var(--ui-text-meta)}.aof-table th{padding:.45rem .5rem;text-align:left;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary);border-bottom:1px solid var(--border-primary);white-space:nowrap}.aof-table td{padding:.6rem .5rem;vertical-align:top;border-bottom:1px solid var(--border-primary);color:var(--text-primary)}.aof-table tfoot td{font-weight:700;border-bottom:none}.aof-num{text-align:right;white-space:nowrap}.aof-row.is-paused td,.aof-row.is-ended td,.aof-row.is-used td{color:var(--text-secondary)}.aof-code{display:inline-block;padding:.1rem .4rem;border-radius:var(--border-radius-sm);background:var(--background-primary);border:1px solid var(--border-primary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.02em}.aof-status{display:inline-block;margin-left:.35rem;padding:.05rem .45rem;border-radius:999px;font-size:var(--ui-text-cap);font-weight:700;white-space:nowrap}.aof-status.is-live{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.aof-status.is-scheduled{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.aof-status.is-paused,.aof-status.is-ended,.aof-status.is-used{background:var(--background-primary);color:var(--text-secondary);border:1px solid var(--border-primary)}.aof-channel{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:var(--ui-text-cap)}.aof-window{color:var(--text-secondary);font-size:var(--ui-text-cap)}.aof-of{color:var(--text-secondary)}.aof-bar{display:block;height:4px;margin-top:.3rem;border-radius:999px;background:var(--border-primary);overflow:hidden}.aof-bar i{display:block;height:100%;background:var(--tone-text)}.aof-results{margin:0;padding:0;list-style:none;display:grid;gap:.15rem;min-width:11rem}.aof-results li{display:flex;justify-content:space-between;gap:.75rem;font-size:var(--ui-text-cap)}.aof-results span{color:var(--text-secondary)}.aof-actions{white-space:nowrap}.aof-actions .sp-btn+.sp-btn{margin-left:.3rem}.aof-row-error{margin:.35rem 0 0;white-space:normal;color:var(--danger-text);font-size:var(--ui-text-cap)}.aof-inline{min-width:8.5rem}.aof-inline input{padding:.35rem .45rem}.aof-head-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}@media (max-width: 719px){.aof-table thead{display:none}.aof-table,.aof-table tbody,.aof-table tr,.aof-table td,.aof-table tfoot{display:block;width:100%}.aof-table tr{padding:.6rem 0;border-bottom:1px solid var(--border-primary)}.aof-table td{display:flex;justify-content:space-between;gap:.75rem;padding:.25rem 0;border:none;text-align:right}.aof-table td:before{content:attr(data-label);flex:none;font-weight:700;color:var(--text-secondary);text-align:left}.aof-table td[data-label=Code]{flex-wrap:wrap;justify-content:flex-start;text-align:left}.aof-table td[data-label=Code]:before,.aof-table td[data-label=Actions]:before{content:none}.aof-table td[data-label=Actions]{justify-content:flex-start;flex-wrap:wrap;gap:.3rem;white-space:normal}.aof-actions .sp-btn+.sp-btn{margin-left:0}.aof-results{min-width:0}.aof-table tfoot tr{display:flex;flex-wrap:wrap;gap:.75rem}.aof-table tfoot td{display:inline;width:auto;padding:0}}.aof-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:10px;background:var(--background-tertiary);margin-bottom:1rem}.aof-tabs button{min-height:40px;padding:0 14px;border:none;border-radius:8px;background:transparent;font:inherit;font-weight:600;color:var(--text-secondary);cursor:pointer}.aof-tabs button.is-on{background:var(--background-secondary);color:var(--text-primary);box-shadow:var(--box-shadow-sm, 0 1px 2px rgba(0,0,0,.06))}.aof-types{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;margin:0;padding:0;border:none}@media (min-width: 900px){.aof-types{grid-template-columns:repeat(3,minmax(0,1fr))}}.aof-type{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border-primary);border-radius:10px;cursor:pointer}.aof-type.is-on{border-color:var(--tone-text);background:var(--tone-bg);box-shadow:inset 0 0 0 1px var(--tone-text)}.aof-type input{margin-top:3px}.aof-type span{display:flex;flex-direction:column;gap:2px}.aof-type small{color:var(--text-secondary);font-size:var(--ui-text-cap)}.aof-types:disabled .aof-type{cursor:default;opacity:.75}.aof-checks{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;border:none}.aof-checks legend{width:100%;margin-bottom:4px}.aof-checks label{display:inline-flex;align-items:center;gap:6px;min-height:32px}.aof-give-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.aof-give-filters{display:flex;flex-wrap:wrap;gap:.8rem;margin:.6rem 0}.aof-give-filters .apl-field{min-width:180px}.apx{padding:1.25rem;max-width:1180px;color:var(--text-primary)}.apx h2{margin:0 0 .3rem;font-size:1.35rem;color:var(--text-primary)}.apx h3{margin:0;font-size:var(--ui-text-card);color:var(--text-primary)}.apx h4{margin:1.25rem 0 .5rem;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary)}.apx a{color:var(--accent-color, #6d28d9);text-decoration:none}.apx a:hover{text-decoration:underline}.apx code{font-family:var(--font-family-monospace);font-size:var(--ui-text-meta)}.apx-header{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.apx-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.apx-sub{margin:0;max-width:70ch;color:var(--text-secondary);font-size:var(--ui-text-meta);line-height:1.5}.apx-hint{margin:0;color:var(--text-secondary);font-size:var(--ui-text-meta)}.apx-card-note{padding:.75rem 14px .5rem;line-height:1.5}.apx-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.75rem}.apx-actions>button{flex:none;width:auto;margin:0}.apx-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:7px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--background-secondary);color:var(--text-primary);font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.apx-btn:hover:not(:disabled){border-color:var(--text-secondary)}.apx-btn:disabled{opacity:.6;cursor:progress}.apx-btn-primary{background:var(--accent-color, #6d28d9);border-color:transparent;color:#fff}.apx-btn-danger{color:var(--danger-text, #991b1b);border-color:var(--danger-text, #991b1b);background:transparent}.apx-btn .is-spinning{animation:apx-spin .9s linear infinite}@keyframes apx-spin{to{transform:rotate(360deg)}}.apx-icon{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer}.apx-icon:hover{background:var(--background-secondary);color:var(--text-primary)}.apx-link{padding:0;border:0;background:none;color:var(--accent-color, #6d28d9);font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer}.apx-link-danger{color:var(--danger-text, #991b1b)}.apx-error{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.65rem .85rem;border-radius:8px;background:var(--danger-bg, #fee2e2);color:var(--danger-text, #991b1b);font-size:var(--ui-text-meta)}.apx-tabs{display:flex;gap:4px;margin-bottom:.75rem;border-bottom:1px solid var(--border-primary)}.apx-tabs button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-secondary);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.apx-tabs button.is-on{color:var(--text-primary);border-bottom-color:var(--accent-color, #6d28d9)}.apx-count{padding:0 7px;border-radius:999px;background:var(--accent-color, #6d28d9);color:#fff;font-size:var(--ui-text-cap);line-height:1.6}.apx-count-quiet{background:var(--background-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.apx-card{margin-bottom:1rem;padding:4px 0;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:12px}.apx-card.apx-form,.apx-card.apx-detail{padding:16px}.apx-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.apx-balance{font-size:.9rem;color:var(--text-secondary)}.apx-balance b{font-size:var(--ui-text-card);color:var(--text-primary)}.apx-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.apx-table{width:100%;border-collapse:collapse;font-size:var(--ui-text-meta)}.apx-table th,.apx-table td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border-primary);overflow-wrap:break-word}.apx-table th{font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}.apx-table tbody tr:last-child td{border-bottom:0}.apx-table select{padding:5px 8px;border:1px solid var(--border-primary);border-radius:8px;background:var(--background-primary, transparent);color:var(--text-primary);font:inherit;font-size:var(--ui-text-meta)}.apx-row{cursor:pointer}.apx-row:hover td,.apx-row.is-open td{background:color-mix(in srgb,var(--accent-color, #6d28d9) 6%,transparent)}.apx-dim td{opacity:.6}.apx-empty{color:var(--text-secondary);text-align:center;padding:22px 14px}.apx-muted{display:block;margin-top:2px;color:var(--text-secondary);font-size:var(--ui-text-meta)}.apx-wrap{min-width:180px;max-width:360px}.apx-nowrap{white-space:nowrap}.apx-ok{color:var(--success-text, #15803d);font-weight:600}.apx-bad{color:var(--danger-text, #991b1b);font-weight:600}.apx-tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;border:1px solid var(--border-primary);font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary)}.apx-table td>.apx-tag:first-child{margin-left:0}.apx-tag-ok{border-color:transparent;background:var(--success-bg, #dcfce7);color:var(--success-text, #15803d)}.apx-tag-bad{border-color:transparent;background:var(--danger-bg, #fee2e2);color:var(--danger-text, #991b1b)}.apx-form{display:grid;gap:12px;align-content:start}.apx-form h4{margin-top:.5rem}.apx-form label{display:grid;gap:5px}.apx-form label>span{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.apx-form input{width:100%;height:40px;padding:0 10px;border:1px solid var(--border-primary);border-radius:8px;background:var(--background-primary, transparent);color:var(--text-primary);font:inherit;font-size:.9rem}.apx-form .apx-btn{justify-self:start}.apx-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.apx-two{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 24px}.apx-newkey{display:grid;gap:8px;margin-bottom:8px;padding:14px;border-radius:10px;border:1px solid var(--success-text, #15803d);background:var(--success-bg, #dcfce7);color:var(--success-text, #14532d)}.apx-newkey b{display:inline-flex;align-items:center;gap:6px}.apx-newkey-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.apx-newkey code{flex:1 1 260px;padding:8px 10px;border-radius:8px;background:#fff;color:#111;font-size:var(--ui-text-meta);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.apx-newkey .apx-hint{color:inherit;opacity:.85}@media (min-width: 768px){.apx-grid,.apx-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.apqm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--modal-backdrop-bg, rgba(15, 23, 42, .6));animation:apqm-fade .18s ease-out}@keyframes apqm-fade{0%{opacity:0}to{opacity:1}}.apqm-modal{--apqm-radius: 18px;--apqm-good: var(--success-color, #16a34a);--apqm-good-bg: rgba(22, 163, 74, .1);--apqm-bad: var(--danger-color, #dc2626);display:flex;flex-direction:column;width:min(880px,100%);height:min(820px,100%);overflow:hidden;border:1px solid var(--border-primary);border-radius:var(--apqm-radius);background:var(--card-bg, var(--background-secondary, #fff));color:var(--text-primary);box-shadow:0 24px 64px #0f172a47;outline:none}.apqm-modal *,.apqm-modal *:before,.apqm-modal *:after{box-sizing:border-box}.apqm-head{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;padding:16px 14px 10px 20px}.apqm-head-text{flex:1 1 auto;min-width:0}.apqm-paper{margin:0 0 2px;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apqm-head h3{margin:0;font-size:var(--ui-text-card);font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}.apqm-of{font-size:var(--ui-text-body);font-weight:600;color:var(--text-secondary)}.apqm-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:12px;background:var(--background-tertiary, #f1f5f9);color:var(--text-secondary);font-size:var(--ui-text-card);cursor:pointer}.apqm-close:hover{color:var(--text-primary)}.apqm-close:focus-visible,.apqm-nav:focus-visible,.apqm-jump select:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.apqm-meta{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 20px 12px;border-bottom:1px solid var(--border-primary)}.apqm-chip{display:inline-flex;align-items:center;max-width:100%;padding:3px 9px;border-radius:999px;font-size:var(--ui-text-cap);font-weight:700;line-height:1.3;background:var(--background-tertiary, #f1f5f9);color:var(--text-secondary);overflow-wrap:anywhere}.apqm-chip--section{background:#2563eb1a;color:#1d4ed8}.apqm-chip--easy{background:#16a34a1f;color:#15803d}.apqm-chip--medium{background:#d977061f;color:#b45309}.apqm-chip--hard{background:#dc26261a;color:#b91c1c}.apqm-chip--src-pyq{background:#7c3aed1a;color:#6d28d9}.apqm-chip--src-upload{background:#0d94881a;color:#0f766e}.apqm-chip--src-ai{background:#ec48991a;color:#be185d}.apqm-marks{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px solid var(--border-primary);border-radius:999px;font-size:var(--ui-text-cap);color:var(--text-secondary);font-variant-numeric:tabular-nums}.apqm-marks b{color:var(--apqm-good)}.apqm-marks b.apqm-neg{color:var(--apqm-bad)}.apqm-chapter{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;font-size:var(--ui-text-cap);color:var(--text-secondary);overflow-wrap:anywhere}.apqm-chapter svg{flex-shrink:0}.apqm-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px 24px;font-size:var(--ui-text-body);line-height:1.65;-webkit-overflow-scrolling:touch}.apqm-rich{min-width:0;overflow-wrap:anywhere}.apqm-rich :where(p,span,div,li,td,th,font,label){font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important}.apqm-rich p{margin:0 0 .6em}.apqm-rich>:last-child,.apqm-rich p:last-child{margin-bottom:0}.apqm-rich img{max-width:100%;height:auto}.apqm-rich table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:.5em 0}.apqm-rich td,.apqm-rich th{border:1px solid var(--border-primary);padding:4px 8px;vertical-align:top}.apqm-rich mjx-container[display=true]{overflow-x:auto;overflow-y:hidden;max-width:100%}.apqm-question{font-size:var(--ui-text-body)}.apqm-block{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:var(--background-tertiary, #f8fafc)}.apqm-block--passage{border-left:4px solid var(--border-secondary, #cbd5e1)}.apqm-block h4,.apqm-answer h4,.apqm-explanation h4{margin:0 0 6px;font-size:var(--ui-text-cap);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.apqm-images{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.apqm-images img{display:block;max-width:100%;max-height:360px;height:auto;object-fit:contain;border-radius:8px;background:#fff}.apqm-images--option{margin-top:8px}.apqm-images--option img{max-height:200px}.apqm-options{list-style:none;display:grid;gap:10px;margin:18px 0 0;padding:0}.apqm-option{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:12px;min-height:52px;padding:11px 14px;border:1px solid var(--border-primary);border-radius:12px;background:var(--background-primary, #fff)}.apqm-letter{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:var(--ui-text-meta);font-weight:800;background:var(--background-tertiary, #f1f5f9);color:var(--text-secondary)}.apqm-option-text{padding-top:3px}.apqm-option.is-correct{border-color:var(--apqm-good);background:var(--apqm-good-bg)}.apqm-option.is-correct .apqm-letter{background:var(--apqm-good);color:#fff}.apqm-correct-tag{display:inline-flex;align-items:center;gap:4px;padding-top:5px;font-size:var(--ui-text-cap);font-weight:800;color:var(--apqm-good);white-space:nowrap}.apqm-answer,.apqm-explanation{margin-top:18px;padding:12px 16px;border-radius:12px;background:var(--background-tertiary, #f8fafc)}.apqm-answer{border-left:4px solid var(--apqm-good)}.apqm-explanation{border-left:4px solid var(--accent-color, #f97316)}.apqm-answer-value{margin:0;font-size:var(--ui-text-card);font-weight:800;color:var(--apqm-good);overflow-wrap:anywhere}.apqm-muted{margin:0;color:var(--text-secondary);font-size:.9rem}.apqm-foot{flex-shrink:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--border-primary);background:var(--card-bg, #fff)}.apqm-nav{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:104px;height:42px;padding:0 14px;border:1px solid var(--border-primary);border-radius:12px;background:var(--background-primary, #fff);color:var(--text-primary);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.apqm-nav--next{border-color:var(--accent-color);background:var(--accent-color);color:var(--text-on-accent, #fff)}.apqm-nav:disabled{opacity:.4;cursor:not-allowed}.apqm-jump{justify-self:center;width:100%;max-width:230px}.apqm-jump select{width:100%;height:42px;padding:0 28px 0 12px;border:1px solid var(--border-primary);border-radius:12px;background-color:var(--background-primary, #fff);color:var(--text-primary);font:inherit;font-size:.88rem;font-weight:600;text-align:center;text-align-last:center}.apqm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width: 640px){.apqm-overlay{padding:0}.apqm-modal{width:100%;height:100%;border:none;border-radius:0}.apqm-head{padding:12px 10px 8px 16px}.apqm-head h3{font-size:var(--ui-text-card)}.apqm-meta{padding:0 16px 10px}.apqm-body{padding:14px 16px 20px}.apqm-option{grid-template-columns:28px minmax(0,1fr);padding:10px 12px;gap:10px}.apqm-letter{width:28px;height:28px}.apqm-correct-tag{grid-column:2;padding-top:0}.apqm-foot{gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}.apqm-nav{min-width:0;padding:0 12px}}@media (max-width: 380px){.apqm-nav span{display:none}}.tsc-cover-thumb{width:52px;height:36px;border-radius:8px;flex:0 0 auto;background-size:cover;background-position:center;border:1px solid var(--border-primary)}.tsc-cover-hero{width:132px;height:88px;border-radius:12px;flex:0 0 auto;background-size:cover;background-position:center;border:1px solid var(--border-primary);box-shadow:var(--box-shadow-sm)}.tsc-size-callout{display:flex;align-items:center;gap:.5rem;padding:.55rem .8rem;margin-bottom:1rem;border:1px dashed var(--border-accent);border-radius:10px;background:var(--accent-color-light);font-size:var(--ui-text-meta);color:var(--text-primary)}.tsc-size-callout svg{flex:0 0 auto;color:var(--accent-color)}.tsc-size-callout b{font-weight:800}.tsc-field-hint{display:block;margin-top:.35rem;font-size:var(--ui-text-cap);line-height:1.4;color:var(--text-secondary)}.tsc-ai-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1.1rem;border:1px solid var(--border-accent);border-radius:var(--border-radius-lg, 12px);background:var(--accent-color-light)}.tsc-ai-title{font-size:var(--ui-text-body);font-weight:800;color:var(--text-primary)}.tsc-ai-sub{font-size:var(--ui-text-meta);color:var(--text-secondary);margin-top:2px;max-width:60ch}.tsc-form .admin-form-group label{font-weight:600;color:var(--text-secondary);font-size:var(--ui-text-meta)}.tsc-form .admin-form-group input,.tsc-form .admin-form-group select,.tsc-form .admin-form-group textarea{width:100%;box-sizing:border-box;padding:.6rem .8rem;border:1.5px solid var(--input-border, var(--border-primary));border-radius:var(--border-radius-md, 8px);background:var(--input-bg);color:var(--text-primary);font-size:.9rem;font-family:inherit;line-height:1.45;transition:border-color .15s,box-shadow .15s}.tsc-form .admin-form-group textarea{resize:vertical;min-height:64px}.tsc-form .admin-form-group select{cursor:pointer}.tsc-form .admin-form-group input:focus,.tsc-form .admin-form-group select:focus,.tsc-form .admin-form-group textarea:focus{outline:none;border-color:var(--input-focus-border, var(--accent-color));box-shadow:var(--input-focus-shadow)}.tsc-form .admin-form-group input::placeholder,.tsc-form .admin-form-group textarea::placeholder{color:var(--text-placeholder)}.tsc-exam-chip{font-size:var(--ui-text-cap);font-weight:700;padding:.15rem .6rem;border-radius:var(--border-radius-pill);background:var(--topic-badge-bg, #e0e7ff);color:var(--topic-badge-text, #4338ca);white-space:nowrap}.tsc-pending-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--ui-text-cap);font-weight:700;padding:.2rem .6rem;border-radius:var(--border-radius-pill);background:var(--warning-bg);color:var(--warning-color);white-space:nowrap}.tsc-diff{display:flex;flex-direction:column;gap:.4rem;margin:.75rem 0}.tsc-diff-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:8px;font-size:.87rem;border:1px solid transparent}.tsc-diff-row.add{background:var(--success-bg);border-color:var(--success-border);color:var(--text-primary)}.tsc-diff-row.remove{background:var(--danger-bg);border-color:var(--danger-border);color:var(--text-primary)}.tsc-diff-row svg{flex:0 0 auto}.tsc-diff-row.add svg{color:var(--success-color)}.tsc-diff-row.remove svg{color:var(--danger-color)}.tsc-diff-tag{margin-left:auto;font-size:var(--ui-text-cap);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.tsc-diff-row.add .tsc-diff-tag{color:var(--success-color)}.tsc-diff-row.remove .tsc-diff-tag{color:var(--danger-color)}.tsc-staged-by{font-size:var(--ui-text-meta);color:var(--text-secondary)}.tsc-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.6rem}.tsc-preset{height:52px;border-radius:10px;cursor:pointer;border:2px solid transparent;position:relative;transition:transform .12s,border-color .12s}.tsc-preset:hover{transform:translateY(-2px)}.tsc-preset.selected{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-color-light)}.tsc-preset-label{position:absolute;bottom:4px;left:6px;font-size:.64rem;font-weight:700;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.4)}.tsc-timeline{display:flex;flex-direction:column}.tsc-event{display:flex;gap:.8rem;padding:.65rem .25rem;border-bottom:1px solid var(--border-primary)}.tsc-event:last-child{border-bottom:none}.tsc-event-icon{width:30px;height:30px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-size:var(--ui-text-meta);background:var(--accent-color-light);color:var(--accent-color)}.tsc-event-icon.ok{background:var(--success-bg);color:var(--success-color)}.tsc-event-icon.warn{background:var(--warning-bg);color:var(--warning-color)}.tsc-event-icon.bad{background:var(--danger-bg);color:var(--danger-color)}.tsc-event-main{flex:1;min-width:0}.tsc-event-line{font-size:.88rem;color:var(--text-primary)}.tsc-event-line b{font-weight:700}.tsc-event-detail{font-size:var(--ui-text-meta);color:var(--text-secondary);margin-top:.15rem;line-height:1.45}.tsc-event-time{font-size:var(--ui-text-cap);color:var(--text-tertiary);white-space:nowrap}.tsc-money-note{font-size:var(--ui-text-meta);color:var(--text-secondary);margin-top:.5rem;line-height:1.5}.tsc-net-positive{color:var(--success-color)}.tsc-net-negative{color:var(--danger-color)}.tsc-banner-list{display:flex;flex-direction:column;gap:.75rem}.tsc-banner-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.6rem;border:1px solid var(--border-primary);border-radius:12px}.tsc-banner-row.inactive{opacity:.55}.tsc-banner-row img{width:300px;max-width:100%;height:auto;border-radius:8px;border:1px solid var(--border-primary)}.tsc-banner-meta{flex:1;min-width:160px;display:flex;flex-direction:column;gap:.35rem;font-size:var(--ui-text-meta);color:var(--text-secondary);align-items:flex-start}.tsc-detail-head{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;padding:1.1rem;margin-bottom:1.25rem;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg)}.tsc-detail-head-main{flex:1;min-width:220px}.tsc-detail-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tsc-detail-title-row h2{margin:0;font-size:var(--ui-text-card);font-weight:800;color:var(--text-primary)}.tsc-detail-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.4rem;font-size:var(--ui-text-meta);color:var(--text-secondary)}.tsc-detail-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text-placeholder)}.tsc-detail-actions{display:flex;gap:.6rem;flex-wrap:wrap}.tsc-tabpanel{padding-top:1.1rem}.tsc-channel{font-size:var(--ui-text-cap);font-weight:700;padding:.18rem .55rem;border-radius:var(--border-radius-pill)}.tsc-channel.institute{background:var(--accent-color-light);color:var(--accent-color)}.tsc-channel.marketplace{background:var(--purple-accent-light);color:var(--purple-accent-base)}.tsc-mini-row{display:flex;align-items:center;gap:.7rem;padding:.5rem .15rem;border-bottom:1px solid var(--border-primary);font-size:var(--ui-text-meta);color:var(--text-primary)}.tsc-mini-row:last-child{border-bottom:none}.tsc-mini-amount{margin-left:auto;font-weight:700;white-space:nowrap}.tsc-mini-sub{color:var(--text-tertiary);font-size:var(--ui-text-cap)}.tsc-mini-right{margin-left:auto;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.tsc-mini-right .tsc-mini-amount{margin-left:0}.tsc-tab-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.tsc-spin{animation:tsc-spin .8s linear infinite}@keyframes tsc-spin{to{transform:rotate(360deg)}}.tsc-stars{display:inline-flex;gap:1px;color:var(--border-secondary, #cbd5e1);vertical-align:middle}.tsc-stars svg{width:14px;height:14px}.tsc-stars svg.filled{color:#f59e0b;fill:#f59e0b}.tsc-reviews-summary{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--ui-text-meta);color:var(--text-secondary)}.tsc-review-comment{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.tsc-detail-head{flex-direction:column;align-items:flex-start}.tsc-cover-hero{width:100%;height:120px}}.tsc-diff-preview{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:.25rem .45rem;border:1px solid var(--border-primary, #d1d5db);border-radius:7px;background:transparent;color:var(--text-secondary, #6b7280);cursor:pointer;flex-shrink:0;transition:color .15s ease,border-color .15s ease}.tsc-diff-preview:hover{color:var(--accent-color, #2563eb);border-color:var(--accent-color, #2563eb)}.tsc-diff-preview svg{width:15px;height:15px}.tsc-preview-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1300;display:inline-flex;align-items:center;gap:.5rem;background:var(--background-secondary, #fff);border:1px solid var(--border-primary, #d1d5db);border-radius:10px;padding:.6rem 1rem;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-primary, #111827);box-shadow:0 10px 25px #0000002e}.tsc-pay-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:-.35rem}.tsc-pay-toolbar>label{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.tsc-pay-toolbar .admin-filter-select{min-width:160px}.tsc-pay-toolbar .tsc-toolbar-hint{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.tsc-pay-toolbar>:last-child{margin-left:auto}@media (max-width: 768px){.tsc-pay-toolbar .tsc-toolbar-hint{display:none}}.tsc-pay-alert{display:flex;align-items:flex-start;gap:.85rem;padding:.95rem 1.1rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-primary);background:var(--background-secondary)}.tsc-pay-alert.warn{background:var(--warning-bg);border-color:var(--warning-border)}.tsc-pay-alert.danger{background:var(--danger-bg);border-color:var(--danger-border)}.tsc-pay-alert>svg{flex:0 0 auto;width:20px;height:20px;margin-top:2px}.tsc-pay-alert.warn>svg{color:var(--warning-color)}.tsc-pay-alert.danger>svg{color:var(--danger-color)}.tsc-pay-alert-main{flex:1;min-width:0}.tsc-pay-alert-title{font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary)}.tsc-pay-alert-sub{margin-top:.3rem;font-size:var(--ui-text-meta);line-height:1.55;color:var(--text-secondary)}.tsc-pay-link{background:none;border:none;padding:0;margin-top:.45rem;font:inherit;font-size:var(--ui-text-meta);font-weight:700;color:var(--accent-color);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.tsc-pay-link:hover{color:var(--accent-color-hover, var(--accent-color))}.tsc-count-chip{margin-left:auto;white-space:nowrap;font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.admin-table td.tsc-num,.admin-table th.text-right{text-align:right}.tsc-num{white-space:nowrap;font-variant-numeric:tabular-nums}.tsc-num.strong{font-weight:700;color:var(--text-primary)}.tsc-num.muted{color:var(--text-tertiary)}.tsc-inv-no{font-family:var(--font-family-monospace);font-weight:600;font-size:var(--ui-text-meta)}.tsc-cell-sub{display:block;margin-top:2px;font-size:var(--ui-text-cap);color:var(--text-tertiary);font-weight:400}.tsc-cell-sub.alert{color:var(--danger-color)}.tsc-item-cell{display:block;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsc-inv-badge{display:inline-block;padding:.22rem .6rem;border-radius:var(--border-radius-pill);font-size:var(--ui-text-cap);font-weight:700;white-space:nowrap}.tsc-inv-badge.ok{background:var(--success-bg);color:var(--success-color)}.tsc-inv-badge.warn{background:var(--warning-bg);color:var(--warning-color)}.tsc-inv-badge.danger{background:var(--danger-bg);color:var(--danger-color)}.tsc-inv-badge.muted{background:var(--background-tertiary);color:var(--text-tertiary)}.admin-table tr.tsc-row-flag td:first-child{box-shadow:inset 3px 0 0 var(--danger-color)}.tsc-pay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem}.tsc-pay-item{display:flex;align-items:center;gap:.6rem;min-width:0;padding:.6rem .75rem;border:1px solid var(--border-primary);border-radius:10px;background:var(--background-tertiary)}.tsc-pay-item-main{flex:1;min-width:0}.tsc-pay-label{font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.tsc-pay-value{margin-top:1px;font-size:.9rem;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.tsc-pay-value.mono{font-family:var(--font-family-monospace)}.tsc-pay-note{display:flex;align-items:flex-start;gap:.5rem;margin-top:.9rem;font-size:var(--ui-text-meta);line-height:1.55;color:var(--text-secondary)}.tsc-pay-note svg{flex:0 0 auto;margin-top:2px}.tsc-inv-meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin:.4rem 0 1.1rem;font-size:var(--ui-text-meta);color:var(--text-secondary)}.tsc-inv-meta .dot{align-self:center;width:3px;height:3px;border-radius:50%;background:var(--text-placeholder)}.tsc-inv-lines{margin:0 0 1rem}.tsc-inv-line{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed var(--border-primary);font-size:.88rem}.tsc-inv-line:last-child{border-bottom:none}.tsc-inv-line .lbl{color:var(--text-secondary)}.tsc-inv-line .lbl small{display:block;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.tsc-inv-line .val{font-weight:600;white-space:nowrap;color:var(--text-primary);font-variant-numeric:tabular-nums}.tsc-inv-line.credit .val{color:var(--success-color)}.tsc-inv-line.total{margin-top:.3rem;padding-top:.7rem;border-top:1px solid var(--border-primary);border-bottom:none;font-size:var(--ui-text-body)}.tsc-inv-line.total .lbl,.tsc-inv-line.total .val{font-weight:800;color:var(--text-primary)}.tsc-inv-line.balance .val{color:var(--danger-color)}.tsc-modal-section{font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 .5rem}@media (max-width: 768px){.tsc-pay-grid{grid-template-columns:1fr}.tsc-item-cell{max-width:180px}}.tsc-page .btn{gap:.45rem}.tsc-table-shell{position:relative}.tsc-table-shell td.admin-actions-cell{display:table-cell;text-align:right;white-space:nowrap}.tsc-table-shell td.admin-actions-cell>*{vertical-align:middle}.tsc-table-shell td.admin-actions-cell>*+*{margin-left:.5rem}.tsc-table-shell .user-name-link{text-align:left}.tsc-table-shell.is-busy table,.tsc-table-shell.is-busy .tsc-busy-dim{opacity:.55;transition:opacity .15s ease}.tsc-busybar{position:absolute;top:0;left:0;right:0;height:3px;overflow:hidden;z-index:5;background:var(--accent-color-light)}.tsc-busybar:after{content:"";position:absolute;inset:0 auto 0 0;width:35%;background:var(--accent-color);animation:tsc-busybar 1.1s ease-in-out infinite}@keyframes tsc-busybar{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion: reduce){.tsc-busybar:after{animation:none}}.tsc-mkt{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;font-size:var(--ui-text-cap);font-weight:700;padding:.2rem .6rem;border-radius:var(--border-radius-pill);background:var(--background-tertiary);color:var(--text-secondary)}.tsc-mkt svg{width:12px;height:12px}.tsc-mkt.pending{background:var(--warning-bg);color:var(--warning-text, var(--warning-color))}.tsc-mkt.approved{background:var(--success-bg);color:var(--success-text, var(--success-color))}.tsc-mkt.rejected,.tsc-mkt.suspended{background:var(--danger-bg);color:var(--danger-text, var(--danger-color))}.tsc-mkt.changed{background:var(--purple-accent-light);color:var(--purple-accent-base)}.tsc-mkt-banner{display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap;padding:.85rem 1rem;margin-bottom:1rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-primary);background:var(--background-secondary)}.tsc-mkt-banner>svg{flex:0 0 auto;width:20px;height:20px;margin-top:2px}.tsc-mkt-banner.pending{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text, var(--warning-color))}.tsc-mkt-banner.approved{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text, var(--success-color))}.tsc-mkt-banner.rejected,.tsc-mkt-banner.suspended{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text, var(--danger-color))}.tsc-mkt-banner-main{flex:1;min-width:220px}.tsc-mkt-banner-title{font-weight:800;font-size:var(--ui-text-body)}.tsc-mkt-banner-text{font-size:var(--ui-text-meta);margin-top:.2rem;line-height:1.5;color:var(--text-primary)}.tsc-mkt-note{margin-top:.5rem;padding:.55rem .7rem;border-radius:8px;background:var(--background-secondary);color:var(--text-primary);font-size:var(--ui-text-meta);line-height:1.5;white-space:pre-line;border-left:3px solid currentColor}.tsc-filter-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.tsc-filter-tabs button{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;padding:.4rem .8rem;border-radius:var(--border-radius-pill);border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-secondary);font:inherit;font-size:var(--ui-text-meta);font-weight:600}.tsc-filter-tabs button:hover{border-color:var(--border-accent);color:var(--text-primary)}.tsc-filter-tabs button[aria-pressed=true]{background:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent)}.tsc-filter-tabs .n{min-width:1.5em;text-align:center;font-size:var(--ui-text-cap);font-weight:800;padding:.05rem .4rem;border-radius:var(--border-radius-pill);background:var(--background-tertiary);color:var(--text-secondary)}.tsc-filter-tabs button[aria-pressed=true] .n{background:#00000024;color:inherit}.tsc-review-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem;align-items:start}.tsc-review-side{position:sticky;top:1rem;display:flex;flex-direction:column;gap:1rem}.tsc-review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.tsc-review-facts>div{padding:.6rem .75rem;border-radius:10px;background:var(--background-primary);border:1px solid var(--border-primary)}.tsc-review-facts b{display:block;font-size:var(--ui-text-body);font-weight:800;color:var(--text-primary)}.tsc-review-facts span{font-size:var(--ui-text-cap);color:var(--text-tertiary);font-weight:600}.tsc-review-papers{display:flex;flex-direction:column;gap:.4rem}.tsc-review-paper{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border-radius:10px;background:var(--background-primary);border:1px solid var(--border-primary);font-size:var(--ui-text-meta)}.tsc-review-paper .num{min-width:22px;text-align:right;font-weight:800;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.tsc-review-paper .title{flex:1;min-width:0;color:var(--text-primary);overflow-wrap:anywhere}.tsc-review-paper .meta{font-size:var(--ui-text-cap);color:var(--text-tertiary);white-space:nowrap}.tsc-review-sec{margin:.9rem 0 .4rem;font-size:var(--ui-text-cap);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.tsc-review-actions{display:flex;flex-direction:column;gap:.6rem}.tsc-review-actions textarea{width:100%;box-sizing:border-box;min-height:84px;resize:vertical;padding:.6rem .7rem;border-radius:10px;border:1.5px solid var(--border-primary);background:var(--input-bg);color:var(--text-primary);font:inherit;font-size:.88rem}.tsc-review-actions textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--input-focus-shadow)}.tsc-review-cover{width:100%;aspect-ratio:16 / 9;border-radius:12px;background-size:cover;background-position:center;border:1px solid var(--border-primary)}.tsc-review-desc{font-size:.9rem;line-height:1.6;color:var(--text-secondary);white-space:pre-line;overflow-wrap:anywhere;margin:0}.tsc-review-hl{margin:0;padding-left:1.2rem;font-size:.88rem;color:var(--text-primary)}.tsc-review-hl li{display:list-item;list-style:disc}.tsc-review-hl li+li{margin-top:.3rem}@media (max-width: 1100px){.tsc-review-grid{grid-template-columns:minmax(0,1fr)}.tsc-review-side{position:static}}.ips-container{max-width:820px;margin:0 auto;padding:1.5rem 1rem 0}.ips-header{margin-bottom:1.1rem}.ips-header h2{margin:0 0 .3rem;font-size:1.45rem;font-weight:800;color:var(--text-primary)}.ips-header p{margin:0;max-width:62ch;font-size:.875rem;line-height:1.6;color:var(--text-secondary)}.ips-header strong{color:var(--text-primary);font-weight:600}.ips-banner{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:1.25rem;padding:.8rem 1rem;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-tertiary);font-size:var(--ui-text-meta);line-height:1.55;color:var(--text-secondary)}.ips-banner strong{color:var(--text-primary)}.ips-banner>svg{flex:0 0 auto;margin-top:2px;font-size:var(--ui-text-card)}.ips-banner.ok{background:var(--success-bg);border-color:var(--success-border)}.ips-banner.ok>svg{color:var(--success-color)}.ips-banner.info{background:var(--info-bg);border-color:var(--info-border)}.ips-banner.info>svg{color:var(--info-color)}.ips-form{display:flex;flex-direction:column;gap:.9rem}.ips-plan{--ips-tone: var(--text-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.ips-plan:focus-within{border-color:var(--border-accent);box-shadow:0 0 0 3px rgba(var(--brand-rgb-components),.14)}.ips-plan--plus{--ips-tone: var(--info-color)}.ips-plan--pro{--ips-tone: var(--purple-accent-base)}.ips-plan--ultra{--ips-tone: var(--warning-color)}.ips-plan-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem;background:var(--background-tertiary);border-bottom:1px solid var(--border-primary)}.ips-plan-id{display:flex;align-items:center;gap:.7rem;min-width:0}.ips-plan-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--ips-tone);box-shadow:0 0 0 3px color-mix(in srgb,var(--ips-tone) 22%,transparent)}.ips-plan-id h3{margin:0;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary)}.ips-plan-id p{margin:1px 0 0;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.ips-status{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--border-radius-pill);font-size:var(--ui-text-cap);font-weight:700;white-space:nowrap;background:var(--background-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.ips-status svg{font-size:var(--ui-text-meta)}.ips-status--sold{background:var(--success-bg);border-color:var(--success-border);color:var(--success-color)}.ips-status--free{background:var(--info-bg);border-color:var(--info-border);color:var(--info-color)}.ips-status--contact{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-color)}.ips-status--hidden{background:var(--background-tertiary);border-color:var(--border-primary);color:var(--text-tertiary)}.ips-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:1rem}.ips-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.ips-field label{font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.ips-input{display:flex;align-items:center;border:1.5px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary);transition:border-color .18s ease,box-shadow .18s ease}.ips-input:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--brand-rgb-components),.16)}.ips-input.has-error{border-color:var(--danger-color)}.ips-input.has-error:focus-within{box-shadow:0 0 0 3px var(--danger-bg)}.ips-input-prefix{padding:0 .15rem 0 .7rem;font-size:var(--ui-text-body);font-weight:600;color:var(--text-tertiary)}.ips-input input{flex:1;min-width:0;padding:.6rem .75rem .6rem .35rem;border:none;background:transparent;color:var(--text-primary);font-size:var(--ui-text-body);font-weight:600;font-variant-numeric:tabular-nums}.ips-input input:focus{outline:none}.ips-input input::placeholder{color:var(--text-placeholder);font-weight:400}.ips-input input::-webkit-outer-spin-button,.ips-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ips-input input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.ips-hint{display:flex;align-items:center;gap:.3rem;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.ips-hint.is-error{color:var(--danger-color);font-weight:600}.ips-plan-foot{display:flex;align-items:center;gap:.4rem;margin:0;padding:.6rem 1rem .85rem;font-size:var(--ui-text-cap);color:var(--success-color)}.ips-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--text-secondary);font-size:var(--ui-text-body)}@keyframes ips-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ips-spinner{animation:ips-spin 1s linear infinite}.ips-footer{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin:1.25rem -1rem 0;padding:.75rem 1rem;background:var(--background-primary);border-top:1px solid var(--border-primary);box-shadow:var(--box-shadow)}.ips-footer-msg{flex:1;min-width:0}.ips-msg{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.ips-msg.is-error{color:var(--danger-color)}.ips-msg.is-ok{color:var(--success-color)}.ips-msg.is-dirty{color:var(--text-tertiary);font-weight:500}.ips-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1.25rem;border-radius:var(--border-radius-md);border:1px solid transparent;font-size:.88rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:background-color .18s ease,border-color .18s ease,opacity .18s ease}.ips-btn--primary{background:var(--accent-color);color:var(--text-on-accent)}.ips-btn--primary:hover:not(:disabled){background:var(--accent-color-hover)}.ips-btn--ghost{background:transparent;border-color:var(--border-primary);color:var(--text-secondary)}.ips-btn--ghost:hover{background:var(--background-hover);color:var(--text-primary)}.ips-btn:disabled{opacity:.55;cursor:not-allowed}.ips-rename{border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-secondary);padding:1rem;margin-bottom:1.1rem}.ips-rename-head h3{display:flex;align-items:center;gap:.45rem;margin:0;font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary)}.ips-rename-head p{margin:.35rem 0 0;font-size:var(--ui-text-meta);line-height:1.5;color:var(--text-tertiary)}.ips-rename-head em{color:var(--text-secondary);font-style:normal;font-weight:600}.ips-rename-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-top:.9rem}.ips-rename-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.ips-rename-field label{display:flex;align-items:center;gap:.4rem;font-size:var(--ui-text-cap);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.ips-rename-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--ips-tone, var(--text-tertiary))}.ips-rename-input{width:100%;min-width:0;padding:.6rem .75rem;border:1.5px solid var(--border-primary);border-radius:var(--border-radius-md);background:var(--background-primary);color:var(--text-primary);font-size:var(--ui-text-body);font-weight:600;transition:border-color .18s ease,box-shadow .18s ease}.ips-rename-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--brand-rgb-components),.16)}.ips-rename-input::placeholder{color:var(--text-placeholder);font-weight:400}.ips-rename-input.has-error{border-color:var(--danger-color)}.ips-rename-input.has-error:focus{box-shadow:0 0 0 3px var(--danger-bg)}.ips-rename-field .ips-hint strong{color:var(--text-secondary)}.ips-rename-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.9rem}.ips-plan-canonical{margin-left:.4rem;font-size:var(--ui-text-cap);font-weight:500;color:var(--text-tertiary)}@media (max-width: 768px){.ips-fields{grid-template-columns:1fr}.ips-plan-head{align-items:flex-start}.ips-footer{flex-wrap:wrap}.ips-footer-msg{flex-basis:100%}.ips-btn{flex:1}.ips-rename-grid{grid-template-columns:1fr}.ips-rename-actions .ips-btn{flex:1}}.pp-editor{display:flex;flex-direction:column;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:14px;overflow:hidden}.pp-editor:not(.pp-fill) .pp-panes{flex:0 0 auto;height:clamp(380px,calc(100vh / var(--console-zoom, 1) - 250px),980px);height:clamp(380px,calc(100dvh / var(--console-zoom, 1) - 250px),980px)}.pp-editor.pp-fill{flex:1 1 auto;min-height:0}.pp-note{display:flex;align-items:flex-start;gap:.5rem;margin:.85rem 1rem 0;padding:.6rem .85rem;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:10px;font-size:var(--ui-text-meta);color:var(--text-primary);line-height:1.45}.pp-note svg{flex:0 0 auto;color:var(--warning-color);margin-top:2px}.pp-search{display:flex;align-items:center;gap:.5rem;padding:0 .7rem;background:var(--input-bg);border:1px solid var(--border-primary);border-radius:10px;transition:border-color .15s,box-shadow .15s}.pp-search:focus-within{border-color:var(--accent-color);box-shadow:var(--input-focus-shadow)}.pp-search svg{flex:0 0 auto;color:var(--text-tertiary)}.pp-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--ui-text-meta);padding:.5rem 0}.pp-search-clear{border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;display:grid;place-items:center;padding:2px;border-radius:6px}.pp-search-clear:hover{color:var(--text-primary);background:var(--background-tertiary)}.pp-filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.pp-select{padding:.42rem .65rem;border:1px solid var(--border-primary);border-radius:9px;background:var(--input-bg);color:var(--text-primary);font-size:var(--ui-text-meta);cursor:pointer;max-width:170px}.pp-select:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--input-focus-shadow)}.pp-clear-filters{display:inline-flex;align-items:center;gap:.25rem;border:none;background:transparent;cursor:pointer;color:var(--accent-color);font-size:var(--ui-text-meta);font-weight:600;padding:.35rem .4rem}.pp-clear-filters:hover{text-decoration:underline}.pp-panes{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:.9rem;padding:.85rem 1rem;overflow:hidden}.pp-pane{display:flex;flex-direction:column;min-height:0;max-height:100%;border:1px solid var(--border-primary);border-radius:13px;background:var(--background-primary);overflow:hidden}.pp-pane-selected{border-color:var(--border-accent)}.pp-pane-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:46px;box-sizing:border-box;padding:.5rem .85rem;border-bottom:1px solid var(--border-primary);background:var(--background-secondary)}.pp-pane-selected .pp-pane-head{background:var(--accent-color-light)}.pp-pane-title{display:flex;align-items:center;gap:.45rem;font-size:var(--ui-text-meta);font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em}.pp-pane-title svg{font-size:.9rem;color:var(--accent-color)}.pp-pane-sub{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-tertiary);text-transform:none;letter-spacing:0}.pp-count{min-width:22px;text-align:center;font-size:var(--ui-text-cap);font-weight:800;letter-spacing:0;padding:.1rem .5rem;border-radius:999px;background:var(--accent-color);color:var(--text-on-accent)}.pp-addall{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;font-size:var(--ui-text-cap);font-weight:700;cursor:pointer;padding:.3rem .65rem;border-radius:8px;border:1px solid var(--border-accent);background:var(--background-primary);color:var(--accent-color);transition:all .15s}.pp-addall:hover{background:var(--accent-color);color:var(--text-on-accent)}.pp-list{flex:1;min-height:0;overflow-y:auto;padding:.55rem;display:flex;flex-direction:column;gap:.45rem}.pp-list::-webkit-scrollbar{width:8px}.pp-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px}.pp-item{display:flex;align-items:center;gap:.5rem;padding:.55rem .6rem .55rem .75rem;border:1px solid var(--border-primary);border-radius:10px;background:var(--background-secondary);transition:border-color .12s,box-shadow .12s}.pp-pane-library .pp-item{cursor:pointer}.pp-pane-library .pp-item:hover{border-color:var(--accent-color);box-shadow:var(--box-shadow-xs)}.pp-pane-library .pp-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.pp-item-in{border-left:3px solid var(--accent-color)}.pp-item-in.is-new{border-left-color:var(--success-color)}.pp-item-body{flex:1;min-width:0}.pp-item-title{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-primary);line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.pp-item-meta{display:flex;align-items:center;gap:.35rem .4rem;flex-wrap:wrap;margin-top:.3rem}.pp-item-actions{flex:0 0 auto;display:flex;align-items:center;gap:.3rem}.pp-exam-chip{font-size:.68rem;font-weight:700;padding:.12rem .5rem;border-radius:999px;background:var(--topic-badge-bg, #e0e7ff);color:var(--topic-badge-text, #4338ca);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-subject-chip{font-size:.68rem;font-weight:600;padding:.12rem .5rem;border-radius:999px;background:var(--background-tertiary);color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-type-chip{font-size:.66rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;background:var(--purple-accent-light);color:var(--purple-accent-base)}.pp-date{font-size:var(--ui-text-cap);color:var(--text-tertiary)}.pp-hl{background:rgba(var(--brand-rgb-components),.28);color:inherit;border-radius:3px;padding:0 1px}.pp-status-chip{font-size:.66rem;font-weight:700;text-transform:capitalize;padding:.1rem .45rem;border-radius:999px;background:var(--warning-bg);color:var(--warning-color)}.pp-tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.66rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;white-space:nowrap}.pp-tag svg{width:11px;height:11px}.pp-tag.add{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.pp-tag.wait{background:var(--warning-bg);color:var(--warning-color)}.pp-tag.remove{background:var(--danger-bg);color:var(--danger-color)}.pp-act{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:all .15s;font-size:var(--ui-text-body)}.pp-act.add{background:var(--accent-color-light);color:var(--accent-color);border-color:var(--border-accent)}.pp-act.add:hover{background:var(--accent-color);color:var(--text-on-accent)}.pp-act.remove{background:transparent;color:var(--text-tertiary)}.pp-act.remove:hover{background:var(--danger-bg);color:var(--danger-color)}.pp-lib-tools{flex:0 0 auto;display:flex;flex-direction:column;gap:.5rem;padding:.6rem .6rem .55rem;border-bottom:1px solid var(--border-primary);background:var(--background-secondary)}.pp-tool{flex:0 0 auto;width:28px;height:28px;border-radius:8px;cursor:pointer;display:grid;place-items:center;font-size:.9rem;border:1px solid transparent;background:transparent;color:var(--text-tertiary);transition:all .15s}.pp-tool:hover{background:var(--background-tertiary);color:var(--text-primary)}.pp-rename{display:flex;align-items:center;gap:.35rem}.pp-rename input{flex:1;min-width:0;border:1.5px solid var(--accent-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:var(--ui-text-meta);font-weight:600;font-family:inherit;padding:.35rem .55rem}.pp-rename input:focus{outline:none;box-shadow:var(--input-focus-shadow)}.pp-preview-loading{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:.5rem;font-size:var(--ui-text-meta);color:var(--text-secondary)}.pp-section{display:flex;flex-direction:column;gap:.45rem}.pp-sec-head{display:flex;align-items:center;gap:.4rem;padding:.35rem .2rem .1rem;position:sticky;top:-.55rem;z-index:1;background:var(--background-primary)}.pp-sec-title{flex:1;min-width:0;border:1px dashed transparent;border-radius:7px;background:transparent;color:var(--text-primary);font-size:var(--ui-text-meta);font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:.25rem .4rem;font-family:inherit}.pp-sec-title:hover{border-color:var(--border-secondary)}.pp-sec-title:focus{outline:none;border-color:var(--accent-color);background:var(--input-bg);text-transform:none;letter-spacing:0}.pp-sec-title::placeholder{color:var(--text-placeholder);font-weight:600;text-transform:none;letter-spacing:0}.pp-sec-title.invalid{border-color:var(--danger-color);border-style:solid;background:var(--danger-bg)}.pp-sec-title-static{flex:1;font-size:var(--ui-text-meta);font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);padding:.25rem .4rem}.pp-sec-title-static small{margin-left:.4rem;font-size:var(--ui-text-cap);font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-tertiary)}.pp-sec-collapse{flex:0 0 auto;width:22px;height:22px;border-radius:6px;border:none;cursor:pointer;display:grid;place-items:center;font-size:var(--ui-text-body);background:transparent;color:var(--text-secondary)}.pp-sec-collapse:hover{background:var(--background-tertiary);color:var(--text-primary)}.pp-sec-count{font-size:var(--ui-text-cap);font-weight:800;min-width:20px;text-align:center;padding:.08rem .4rem;border-radius:999px;background:var(--background-tertiary);color:var(--text-secondary)}.pp-sec-btn{width:24px;height:24px;border-radius:6px;border:none;cursor:pointer;display:grid;place-items:center;font-size:var(--ui-text-meta);background:transparent;color:var(--text-tertiary)}.pp-sec-btn:hover:not(:disabled){background:var(--background-tertiary);color:var(--text-primary)}.pp-sec-btn.danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-color)}.pp-sec-btn:disabled{opacity:.35;cursor:default}.pp-sec-empty{font-size:var(--ui-text-cap);color:var(--text-tertiary);font-style:italic;padding:.1rem .6rem .3rem}.pp-sec-select{flex:0 0 auto;max-width:132px;border:1px solid var(--border-primary);border-radius:7px;background:var(--input-bg);color:var(--text-secondary);font-size:var(--ui-text-cap);padding:.28rem .3rem;cursor:pointer}.pp-sec-select:focus{outline:none;border-color:var(--accent-color)}.pp-leaving{margin-top:.4rem}.pp-sec-head.leaving .pp-sec-title-static{color:var(--danger-color);padding-left:.2rem}.pp-item-out{background:var(--background-primary);border-style:dashed}.pp-item-out .pp-item-title{color:var(--text-tertiary);text-decoration:line-through;text-decoration-color:var(--danger-color)}.pp-undo{flex:0 0 auto;display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;padding:.32rem .65rem;border-radius:8px;white-space:nowrap;border:1px solid var(--border-secondary);background:var(--background-secondary);color:var(--text-primary);font-size:var(--ui-text-cap);font-weight:700}.pp-undo:hover{border-color:var(--accent-color);color:var(--accent-color)}.pp-free-hint{flex:0 0 auto;display:flex;align-items:flex-start;gap:.45rem;margin:.5rem .55rem 0;padding:.4rem .6rem;border-radius:8px;font-size:var(--ui-text-cap);line-height:1.4;background:var(--accent-color-light);color:var(--text-accent)}.pp-free-hint svg{flex:0 0 auto;margin-top:2px}.pp-free-hint.over{background:var(--danger-bg);color:var(--danger-color)}.pp-free-toggle{flex:0 0 auto;height:28px;min-width:28px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:0 .4rem;font-size:.9rem;border:1px solid var(--border-primary);background:transparent;color:var(--text-tertiary);transition:all .15s}.pp-free-toggle span{font-size:var(--ui-text-cap);font-weight:700}.pp-free-toggle:hover:not(:disabled){border-color:var(--success-border);color:var(--success-color)}.pp-free-toggle.on{background:var(--success-bg);border-color:var(--success-border);color:var(--success-color)}.pp-free-toggle:disabled{opacity:.35;cursor:not-allowed}.pp-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;color:var(--text-tertiary);font-size:var(--ui-text-meta);padding:1.5rem 1rem}.pp-empty svg{font-size:1.4rem;opacity:.6}.pp-more{display:flex;align-items:center;gap:.4rem;justify-content:center;padding:.6rem .5rem .2rem;font-size:var(--ui-text-cap);color:var(--text-tertiary);text-align:center}.pp-more svg{flex:0 0 auto}.pp-mtabs{display:none}.pp-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.6rem 1rem;flex-wrap:wrap;padding:.75rem 1rem;border-top:1px solid var(--border-primary);background:var(--background-primary)}.pp-footer-summary{flex:1 1 260px;min-width:0;font-size:var(--ui-text-meta);color:var(--text-secondary);line-height:1.4}.pp-footer-summary b{color:var(--text-primary);font-weight:800}.pp-footer-error{display:inline-flex;align-items:flex-start;gap:.35rem;color:var(--danger-color);font-weight:600}.pp-footer-error svg{flex:0 0 auto;margin-top:2px}.pp-footer-actions{display:flex;gap:.6rem;flex-wrap:wrap}.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:10px;border:1.5px solid var(--border-secondary);background:var(--background-secondary);color:var(--text-primary);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s}.pp-btn:hover:not(:disabled){background:var(--background-tertiary)}.pp-btn.primary{background:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent);box-shadow:0 2px 8px rgba(var(--brand-rgb-components),.3)}.pp-btn.primary:hover:not(:disabled){background:var(--accent-color-hover);border-color:var(--accent-color-hover)}.pp-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.pp-btn.tiny{padding:.3rem .7rem;font-size:var(--ui-text-cap);border-radius:8px;margin-top:.3rem}@keyframes pp-spin{to{transform:rotate(360deg)}}.pp-spin{animation:pp-spin .9s linear infinite}@media (max-width: 720px){.pp-mtabs{flex:0 0 auto;display:flex;gap:.35rem;margin:.7rem .75rem 0;padding:.25rem;border-radius:12px;background:var(--background-tertiary)}.pp-mtabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .4rem;border:none;border-radius:9px;cursor:pointer;background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--ui-text-meta);font-weight:700}.pp-mtabs button[aria-selected=true]{background:var(--background-secondary);color:var(--text-primary);box-shadow:var(--box-shadow-xs)}.pp-mtabs .n{min-width:1.6em;padding:.05rem .4rem;border-radius:999px;text-align:center;font-size:var(--ui-text-cap);font-weight:800;background:var(--background-primary);color:var(--text-secondary)}.pp-mtabs button[aria-selected=true] .n{background:var(--accent-color);color:var(--text-on-accent)}.pp-panes{grid-template-columns:minmax(0,1fr);padding:.6rem .75rem}.pp-panes[data-pane=series] .pp-pane-library,.pp-panes[data-pane=library] .pp-pane-selected,.pp-pane-title{display:none}.pp-pane-head{justify-content:flex-end;min-height:0;padding:.45rem .6rem}.pp-pane-head:not(:has(button)){display:none}.pp-note{margin:.7rem .75rem 0}.pp-select{max-width:none;flex:1 1 40%}.pp-item-in{flex-wrap:wrap}.pp-item-in .pp-item-body{flex-basis:100%}.pp-item-in .pp-item-actions{margin-left:auto}.pp-sec-select{max-width:150px}.pp-footer{padding:.7rem .75rem}.pp-footer-actions{width:100%}.pp-footer-actions .pp-btn{flex:1 0 auto;padding:.6rem .8rem;white-space:nowrap}}:root{--doubt-accent: var(--accent-color);--doubt-accent-hover: var(--accent-color-hover);--doubt-bg-primary: var(--background-primary);--doubt-bg-secondary: var(--background-secondary);--doubt-card-bg: var(--background-secondary);--doubt-border: var(--border-primary);--doubt-glass-glow: var(--accent-color-light);--doubt-text-primary: var(--text-primary);--doubt-text-secondary: var(--text-secondary);--doubt-text-tertiary: var(--text-tertiary);--doubt-pending: var(--warning-color);--doubt-resolved: var(--success-color);--doubt-assigned: var(--info-color);--doubt-scheduled: var(--purple-accent-base)}.doubts-dashboard-page{padding:0;flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:0}.doubts-dashboard-page>.doubts-page-head{margin:0;padding:1rem 1.5rem;background:var(--background-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0}@media (max-width: 768px){.doubts-dashboard-page>.doubts-page-head{padding:.75rem 1rem}}.doubt-create-page{padding:1rem 1.5rem;flex:1;display:flex;flex-direction:column;overflow:hidden}.doubt-chat-page{display:flex;flex-direction:column;height:100%;background:var(--background-secondary);border:1px solid var(--doubt-border);position:relative;overflow:hidden;min-height:0}@media (max-width: 768px){.doubts-dashboard-page,.doubt-create-page{padding:var(--spacing-md);min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px)}.doubt-chat-page{height:calc(100vh - 60px);height:calc(100dvh - 60px);margin:0;border:none;border-radius:0;max-width:100%}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .animate-fadeIn{animation:fadeIn .4s ease-out}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;margin-bottom:0;background:var(--background-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;gap:var(--spacing-md)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .search-refresh-row{display:flex;align-items:center;gap:.5rem;flex:1}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .search-refresh-row .search-bar{flex:1;margin-bottom:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-refresh-doubts{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1.5px solid var(--border-primary);background:var(--background-primary);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:color .2s,background .2s,border-color .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-refresh-doubts:hover:not(:disabled){color:var(--doubt-accent, #f59e0b);border-color:var(--doubt-accent, #f59e0b);background:#f59e0b0f}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-refresh-doubts:disabled{opacity:.5;cursor:not-allowed}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-refresh-doubts.spinning svg{animation:spin-refresh .7s linear infinite}@keyframes spin-refresh{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-header{flex-direction:column;align-items:flex-start}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ask-doubt-main-btn{width:100%;justify-content:center}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-header h1{font-size:var(--ui-text-card);font-weight:800;color:var(--doubt-text-primary);margin:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .header-title-row{display:flex;align-items:center;gap:1rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-header p{display:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ask-doubt-main-btn{display:flex;align-items:center;gap:.75rem;background:var(--text-primary);color:var(--background-primary);padding:.75rem 1.5rem;border-radius:8px;font-weight:800;font-size:.9rem;transition:all .2s;white-space:nowrap;border:none;box-shadow:0 4px 12px #0000001a}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ask-doubt-main-btn:hover{background:var(--doubt-accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(var(--brand-rgb-components),.3)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-stats-container{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-item{background:var(--background-secondary);border:1px solid var(--border-primary);padding:.85rem .4rem;border-radius:var(--border-radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:var(--box-shadow-sm);min-width:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-row{display:flex;align-items:center;gap:.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--accent-color);opacity:.8}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-item.pending:before{background:var(--warning-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-item.resolved:before{background:var(--success-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-item:hover{transform:translateY(-5px);box-shadow:var(--box-shadow-lg);border-color:var(--accent-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-count{font-size:1.5rem;font-weight:800;color:var(--doubt-text-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-icon-wrapper{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-icon-wrapper.blue{background:#3b82f61a;color:#3b82f6}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-icon-wrapper.orange{background:#f59e0b1a;color:#f59e0b}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-icon-wrapper.green{background:#10b9811a;color:#10b981}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-name{color:var(--doubt-text-tertiary);font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;margin-top:.1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-item.pending .stat-count{color:var(--doubt-pending)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .stat-item.resolved .stat-count{color:var(--doubt-resolved)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}@media (max-width: 768px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-controls{flex-direction:column;align-items:stretch}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .search-bar{flex:1;position:relative;display:flex;align-items:center;background:var(--doubt-card-bg);border:1px solid var(--doubt-border);padding:0 1.2rem;border-radius:var(--border-radius-lg);height:52px;transition:border-color .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .search-bar:focus-within{border-color:var(--doubt-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .search-bar svg{color:var(--doubt-text-tertiary);font-size:var(--ui-text-card);margin-right:.75rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .search-bar input{background:transparent;border:none;color:var(--doubt-text-primary);width:100%;height:100%;font-size:var(--ui-text-body);outline:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .filter-tabs{display:flex;background:var(--background-tertiary);padding:.25rem;border-radius:12px;border:1px solid var(--doubt-border);gap:.25rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .filter-tabs button{flex:1;padding:.4rem .75rem;border-radius:8px;color:var(--doubt-text-secondary);font-weight:700;font-size:var(--ui-text-cap);transition:all .2s;white-space:nowrap}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .filter-tabs button.active{background:var(--doubt-accent);color:var(--text-on-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}@media (max-width: 480px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-grid{grid-template-columns:1fr}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-card-v2{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:20px;padding:1.75rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:1.25rem;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000008}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-card-v2:hover{border-color:var(--accent-color);transform:translateY(-8px);box-shadow:0 20px 40px #00000014}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .dark-mode .doubt-card-v2:hover{box-shadow:0 20px 40px #0006}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-card-v2:hover:after{opacity:.1}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .card-top{display:flex;justify-content:space-between;align-items:center}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-badge{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:12px;font-size:var(--ui-text-cap);font-weight:800;text-transform:uppercase;letter-spacing:.5px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-badge.pending{background:#f59e0b1a;color:#d97706}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-badge.resolved{background:#10b9811a;color:#059669}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-badge.assigned{background:#3b82f61a;color:#2563eb}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-badge.scheduled{background:#7c3aed1a;color:#7c3aed}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-date{color:var(--doubt-text-tertiary);font-size:var(--ui-text-meta);font-weight:500}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .card-mid h3{font-size:var(--ui-text-card);font-weight:700;color:var(--doubt-text-primary);margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .card-mid p{color:var(--doubt-text-secondary);font-size:.9rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .subject-tag{background:var(--accent-color-light);color:var(--doubt-accent);padding:.25rem .6rem;border-radius:var(--border-radius-sm);font-size:var(--ui-text-cap);font-weight:800;text-transform:uppercase}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .subject-info{display:flex;flex-direction:column;gap:.35rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .faculty-badge{font-size:var(--ui-text-cap);font-weight:700;color:var(--doubt-text-tertiary);display:flex;align-items:center;gap:.3rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .view-link{display:flex;align-items:center;gap:.3rem;color:var(--doubt-accent);font-weight:800;font-size:var(--ui-text-meta)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-create-header{margin-bottom:var(--spacing-xl)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn{display:flex;align-items:center;gap:.5rem;color:var(--accent-color);font-weight:700;transition:all .2s;font-size:.9rem;background:none;border:none;cursor:pointer;padding:0;position:relative;padding-right:1rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn:after{content:"";position:absolute;right:0;height:14px;width:1px;background:var(--border-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn:hover{color:var(--doubt-accent);transform:translate(-4px)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn--icon{padding:var(--spacing-sm, 8px);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm, 8px);color:var(--text-secondary);transition:background-color .2s,color .2s,border-color .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn--icon:after{display:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn--icon:hover{background-color:var(--background-tertiary);color:var(--accent-color);border-color:var(--accent-color);transform:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn--icon svg{width:18px;height:18px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-create-header h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:900;margin:1.25rem 0 .5rem;color:var(--doubt-text-primary);letter-spacing:-.03em}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-form-card{background:var(--doubt-card-bg);border:1px solid var(--doubt-border);border-radius:var(--border-radius-xl);padding:clamp(1.5rem,5vw,3rem);display:flex;flex-direction:column;gap:2.5rem;box-shadow:var(--box-shadow-lg)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-section{display:flex;flex-direction:column;gap:1.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-group label{display:block;font-size:var(--ui-text-body);font-weight:800;margin-bottom:.75rem;color:var(--doubt-text-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-group input,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-group textarea{width:100%;background:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:1.1rem;color:var(--doubt-text-primary);font-size:var(--ui-text-body);transition:all .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-group input:focus,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-group textarea:focus{border-color:var(--doubt-accent);background:var(--background-secondary);outline:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .upload-zone{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .image-upload-label{border:2px dashed var(--border-secondary);border-radius:var(--border-radius-lg);padding:2rem;cursor:pointer;transition:all .3s;display:flex;justify-content:center}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .image-upload-label:hover{border-color:var(--doubt-accent);background:var(--doubt-glass-glow)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .upload-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .upload-icon{font-size:2.4rem;color:var(--doubt-accent);margin-bottom:.4rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .image-preview-container{position:relative;border-radius:var(--border-radius-lg);overflow:hidden;aspect-ratio:16/9;border:1px solid var(--doubt-border)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .image-preview-container img{width:100%;height:100%;object-fit:cover}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .remove-img-btn{position:absolute;top:10px;right:10px;background:#000000b3;color:#fff;width:32px;height:32px;border-radius:var(--border-radius-round);display:flex;align-items:center;justify-content:center}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-cancel{padding:.8rem 1.8rem;color:var(--doubt-text-secondary);font-weight:800;border-radius:var(--border-radius-lg)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-submit{background:var(--doubt-accent);color:var(--text-on-accent);padding:.8rem 2.5rem;border-radius:var(--border-radius-lg);font-weight:800;display:flex;align-items:center;gap:.7rem;font-size:var(--ui-text-body);transition:all .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-submit:hover:not(:disabled){background:var(--doubt-accent-hover);transform:translateY(-2px)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-header-v2{display:flex;justify-content:space-between;align-items:center;background:var(--background-secondary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1rem 1.5rem;border-bottom:1px solid var(--doubt-border);z-index:10;flex-shrink:0}@media (max-width: 640px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-header-v2{padding:.6rem .75rem;gap:.5rem}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-header-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-title-wrapper{flex:1;min-width:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn-round{width:44px;height:44px;border-radius:var(--border-radius-round);background:var(--background-tertiary);display:flex;align-items:center;justify-content:center;color:var(--doubt-text-primary);transition:all .2s;border:1px solid var(--doubt-border)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn-round:hover{background:var(--doubt-accent);color:var(--text-on-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-title-wrapper h2{font-size:var(--ui-text-card);font-weight:800;color:var(--doubt-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-title-wrapper h2{font-size:.9rem;max-width:140px}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-meta{display:flex;align-items:center;gap:.5rem;margin-top:.15rem;flex-wrap:nowrap;overflow:hidden}@media (max-width: 480px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-meta .status-pill{display:none}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .time-meta{font-size:var(--ui-text-meta);color:var(--doubt-text-tertiary);display:flex;align-items:center;gap:.3rem;font-weight:600}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-body-v2{flex:1;overflow-y:auto;background:var(--background-primary);position:relative}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-scroller{padding:1.5rem;scroll-behavior:smooth;display:flex;flex-direction:column}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .original-doubt-post{background:var(--background-tertiary);padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--border-radius-xl);border:1px solid var(--doubt-border);margin-bottom:2.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .post-header{display:flex;gap:.8rem;margin-bottom:1.25rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .user-avatar{width:40px;height:40px;border-radius:var(--border-radius-round);background:var(--doubt-accent);display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-card);color:var(--text-on-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .user-info{display:flex;flex-direction:column}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .user-name{font-weight:800;color:var(--doubt-text-primary);font-size:var(--ui-text-body)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .post-time{font-size:var(--ui-text-cap);color:var(--doubt-text-tertiary);font-weight:600}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .post-content{font-size:var(--ui-text-body);line-height:1.7;color:var(--doubt-text-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .post-content p{margin-bottom:1rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .post-content strong{display:block;color:var(--doubt-accent);font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;margin-top:1.25rem;margin-bottom:.75rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .post-content ul,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .post-content ol{padding-left:1.5rem;margin-bottom:1.25rem;list-style-type:disc}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .post-content li{margin-bottom:.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .post-content img{max-width:100%;height:auto;border-radius:12px;margin:1rem 0;border:1px solid var(--doubt-border)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .original-doubt-post .post-content{background:var(--background-secondary);padding:1.5rem;border-radius:12px;border:1px solid rgba(var(--brand-rgb-components),.1)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .attachment-preview{margin-top:1.25rem;width:100%;max-width:450px;border-radius:var(--border-radius-lg);overflow:hidden;position:relative;cursor:pointer;border:1px solid var(--doubt-border)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .attachment-preview img{width:100%;display:block}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .attachment-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity .3s;font-weight:800;color:#fff;font-size:.9rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .attachment-preview:hover .attachment-overlay{opacity:1}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .discussion-divider{display:flex;align-items:center;gap:1.5rem;margin-bottom:2.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .discussion-divider:before,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .discussion-divider:after{content:"";flex:1;height:1px;background:var(--doubt-border)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .discussion-divider span{font-size:var(--ui-text-cap);text-transform:uppercase;letter-spacing:1.5px;color:var(--doubt-text-tertiary);font-weight:800}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-row{display:flex;gap:1rem;margin-bottom:1.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-row.me{justify-content:flex-end}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-content-wrapper{max-width:85%;display:flex;flex-direction:column;min-width:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-row.me .msg-content-wrapper{align-items:flex-end}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-avatar{width:32px;height:32px;border-radius:var(--border-radius-round);background:var(--background-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--doubt-border);color:var(--doubt-text-tertiary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-bubble-v2{width:fit-content;padding:.75rem 1rem;border-radius:12px;position:relative;box-shadow:0 2px 10px #0000000a;border:1px solid var(--border-primary);min-width:60px;max-width:100%;overflow-wrap:anywhere;word-break:break-word;overflow-x:auto}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-bubble-v2 .MathJax{max-width:100%;overflow-x:auto;overflow-y:hidden}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-row.me .msg-bubble-v2{background:var(--text-primary);color:var(--background-primary);border-color:var(--text-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-row.other .msg-bubble-v2{background:var(--background-secondary);color:var(--text-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-row.ai .msg-bubble-v2{background:var(--background-secondary);color:var(--text-primary);border:1.5px solid var(--doubt-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .dark-mode .msg-row.ai .msg-bubble-v2{background:#1a1a1a;color:#fff;border:1.5px solid var(--doubt-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .sender-name{display:block;font-size:var(--ui-text-cap);font-weight:900;text-transform:uppercase;color:var(--doubt-accent);margin-bottom:.35rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-row.ai .sender-name{color:#a5b4fc}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-attachment{margin-top:.75rem;border-radius:var(--border-radius-md);overflow:hidden;max-width:300px;cursor:pointer}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-attachment img{width:100%;display:block}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-time{display:block;font-size:.65rem;margin-top:.4rem;text-align:right;opacity:.7;font-weight:600}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-footer-v2{background:var(--background-secondary);border-top:1px solid var(--doubt-border);padding:.25rem .5rem;flex-shrink:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-container{background:var(--background-secondary);border-radius:8px;padding:.15rem .15rem .15rem .75rem;display:flex;align-items:center;gap:.5rem;border:1.5px solid var(--border-primary);transition:border-color .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-container:focus-within{border-color:var(--doubt-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-attach{width:44px;height:44px;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-card);color:var(--doubt-text-tertiary);cursor:pointer;transition:all .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-attach:hover{color:var(--doubt-accent);background:var(--background-tertiary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-input-area{flex:1;background:transparent;padding:0;border:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-input-area textarea{width:100%;background:transparent;border:none;color:var(--doubt-text-primary);font-size:var(--ui-text-meta);padding:.4rem 0;resize:none;height:32px;outline:none;font-family:inherit;line-height:1.2}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-send{width:44px;height:44px;border-radius:var(--border-radius-lg);background:var(--doubt-accent);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-card);transition:all .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-send:hover:not(:disabled){background:var(--doubt-accent-hover);transform:scale(1.05)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-send:disabled{opacity:.4;cursor:not-allowed}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-icon{font-size:var(--ui-text-body)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-icon.pending{color:var(--warning-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-icon.assigned{color:var(--info-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-icon.scheduled{color:var(--doubt-scheduled)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-icon.resolved{color:var(--success-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-primary{background:var(--doubt-accent);color:var(--text-on-accent);padding:.75rem 1.5rem;border-radius:var(--border-radius-md);font-weight:800;transition:all .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-primary:hover{background:var(--doubt-accent-hover)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-outline{background:transparent;border:1px solid var(--doubt-border);color:var(--doubt-text-primary);padding:.6rem 1.2rem;border-radius:var(--border-radius-md);font-weight:700}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-scroller::-webkit-scrollbar{width:6px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-scroller::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:10px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-scroller::-webkit-scrollbar-thumb:hover{background:var(--doubt-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:var(--border-radius-pill);font-size:var(--ui-text-cap);font-weight:800;text-transform:uppercase;letter-spacing:.5px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill.pending{background:var(--warning-bg);color:var(--warning-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill.assigned{background:var(--info-bg);color:var(--info-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill.scheduled{background:#7c3aed1f;color:var(--purple-accent-base)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill.resolved{background:var(--success-bg);color:var(--success-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-badge.scheduled{background:#7c3aed1f;color:var(--purple-accent-base)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-join-live{display:inline-flex;align-items:center;gap:.5rem;background:var(--success-color);color:#fff;padding:.55rem 1.2rem;border-radius:var(--border-radius-lg);font-weight:700;font-size:var(--ui-text-meta);transition:all .2s;text-decoration:none;white-space:nowrap}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-join-live:hover{background:var(--button-success-hover-bg);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-ai-tutor-v2{display:inline-flex;align-items:center;gap:.5rem;background:var(--button-secondary-accent-bg);color:var(--button-secondary-accent-text);border:1px solid var(--button-secondary-accent-border);padding:.55rem 1.2rem;border-radius:var(--border-radius-lg);font-weight:700;font-size:var(--ui-text-meta);transition:all .2s;white-space:nowrap}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-ai-tutor-v2:hover:not(:disabled){background:var(--button-secondary-accent-hover-bg);transform:translateY(-1px)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-ai-tutor-v2.rolling{opacity:.7;cursor:wait}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-ai-tutor-v2:disabled{opacity:.5;cursor:not-allowed}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-row.system-row{display:flex;justify-content:center;margin:1.25rem 0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .resolved-system-card{display:inline-flex;align-items:center;gap:.65rem;background:var(--success-bg);color:var(--text-primary);border:1px solid var(--success-border);border-radius:var(--border-radius-pill);padding:.5rem .95rem .5rem .55rem;max-width:90%;box-shadow:0 2px 8px #10b9811f}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .resolved-system-icon{width:28px;height:28px;border-radius:50%;background:var(--success-color);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--ui-text-body)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .resolved-system-body{display:flex;flex-direction:column;line-height:1.25}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .resolved-system-title{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .resolved-system-time{font-size:var(--ui-text-cap);font-weight:500;color:var(--text-secondary);display:inline-flex;align-items:center;gap:.25rem;margin-top:1px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .resolved-system-time svg{font-size:var(--ui-text-cap)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-row.session-row{margin:1.5rem 0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-inline{display:flex;gap:.75rem;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:.75rem 1rem;max-width:380px;width:100%;box-shadow:0 4px 20px #0000000f}@keyframes sessionCardSlideIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-icon-area{flex-shrink:0;display:flex;align-items:flex-start;padding-top:.15rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-icon-circle{width:32px;height:32px;border-radius:var(--border-radius-round);background:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 2px 6px rgba(var(--brand-rgb-components),.2)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-body{flex:1;display:flex;flex-direction:column;gap:.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-title{font-size:var(--ui-text-meta);font-weight:800;color:var(--text-primary);margin:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-datetime{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-datetime svg{color:var(--accent-color);font-size:.9rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-join-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent-color);color:var(--text-on-accent);padding:.4rem 1rem;border-radius:var(--border-radius-md);font-weight:800;font-size:var(--ui-text-cap);text-decoration:none;transition:all .2s;width:fit-content;margin-top:.15rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-join-btn:hover{background:var(--accent-color-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--brand-rgb-components),.35)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-join-btn.past{background:var(--background-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .session-card-join-btn.past:hover{background:var(--background-hover);box-shadow:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .dark-mode .msg-row.ai .msg-bubble-v2{background:linear-gradient(135deg,rgba(var(--brand-rgb-components),.15),#7c3aed1a);color:var(--text-primary);border:1px solid var(--border-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .dark-mode .msg-row.ai .sender-name{color:var(--accent-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-preview{position:relative;margin-bottom:.5rem;border-radius:var(--border-radius-md);overflow:hidden;max-width:120px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .composer-preview img{width:100%;display:block;border-radius:var(--border-radius-md)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .remove-preview{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:var(--border-radius-round);background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-cap);cursor:pointer}.loading-state-fullscreen,.error-state-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--text-secondary)}.loading-state-fullscreen .spinner,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .loading-state .spinner{width:36px;height:36px;border:3px solid var(--border-primary);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .loading-state,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .error-state,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;gap:1.25rem;background:var(--background-secondary);border-radius:var(--border-radius-xl);border:1px solid var(--border-primary);box-shadow:var(--box-shadow-sm);min-height:300px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .empty-illustration{width:80px;height:80px;background:var(--accent-color-light);border-radius:var(--border-radius-round);display:flex;align-items:center;justify-content:center;color:var(--accent-color);margin-bottom:.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .empty-illustration svg{font-size:2.5rem!important;opacity:.8!important}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .empty-state h3{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .empty-state p{color:var(--text-secondary);max-width:320px;font-size:var(--ui-text-body);line-height:1.5;margin:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .loading-state .spinner{width:48px;height:48px;border:4px solid var(--border-primary);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-error-banner{display:flex;align-items:center;gap:.75rem;background:var(--danger-bg);color:var(--danger-color);padding:1rem 1.25rem;border-radius:var(--border-radius-lg);font-size:.9rem;font-weight:600;border:1px solid var(--danger-border)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .char-count{display:block;text-align:right;font-size:var(--ui-text-cap);color:var(--text-tertiary);margin-top:.35rem;font-weight:600}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .scheduled-time-mini{color:var(--doubt-scheduled);font-weight:700}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill{padding:.25rem .6rem;border-radius:8px;font-size:var(--ui-text-cap);font-weight:800;text-transform:uppercase;letter-spacing:.5px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill.pending{background:#f59e0b1a;color:#d97706}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill.resolved{background:#10b9811a;color:#059669}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill.assigned{background:#3b82f61a;color:#2563eb}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .status-pill.scheduled{background:#7c3aed1a;color:#7c3aed}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-header-compact{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--background-secondary);border-bottom:1px solid var(--border-primary);gap:.75rem;flex-shrink:0;position:sticky;top:0;z-index:10}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-title-compact{flex:1;min-width:0;text-align:center;display:flex;flex-direction:column;gap:2px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-title-compact .title-text{font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .meta-tags{display:flex;align-items:center;justify-content:center;gap:6px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ai-btn-wrapper{display:flex;flex-direction:column;align-items:flex-end}@media (max-width: 480px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ai-btn-wrapper{flex-direction:row;align-items:center;gap:.3rem}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .usage-text{font-size:.65rem;color:var(--text-secondary);margin-top:2px}@media (max-width: 480px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .usage-text{margin-top:0;font-size:.6rem}}@media (max-width: 480px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-header-compact{padding:.75rem;display:grid;grid-template-areas:"back title" "meta actions";grid-template-columns:auto 1fr;row-gap:.75rem;column-gap:.5rem;align-items:center}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn-compact{grid-area:back;padding:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-title-compact{grid-area:title;text-align:left;align-items:flex-start;padding-right:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-title-compact .title-text{max-width:100%;font-size:var(--ui-text-body);white-space:normal;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .meta-tags{grid-area:meta;justify-content:flex-start;margin-top:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-header-right{grid-area:actions;justify-content:flex-end;gap:.4rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-ai-tutor-v2 .btn-text,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-resolve-compact .btn-text,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn-compact span{display:inline;font-size:var(--ui-text-cap)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-ai-tutor-v2,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-resolve-compact{padding:4px 8px;height:32px}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-resolve-compact,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-resolve-v2{display:inline-flex;align-items:center;gap:.4rem;background:var(--success-color);color:#fff;border:none;padding:.55rem 1rem;border-radius:var(--border-radius-lg);font-weight:700;font-size:var(--ui-text-meta);transition:all .2s;white-space:nowrap}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-resolve-compact:hover,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-resolve-v2:hover{background:var(--button-success-hover-bg);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-header-right{display:flex;align-items:center;gap:.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn-compact{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--accent-color);font-weight:800;font-size:.9rem;cursor:pointer;padding:.4rem .8rem;border-radius:8px;transition:background .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn-compact:hover{background:var(--background-tertiary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chat-title-compact h3{font-size:var(--ui-text-body);font-weight:800;color:var(--text-primary);margin:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-main-layout{display:flex;flex:1;background:var(--background-secondary);overflow:hidden;min-height:0;margin-top:0;position:relative}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-sidebar{width:320px;border-right:1px solid var(--border-primary);display:flex;flex-direction:column;background:var(--background-secondary);flex-shrink:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-sidebar .doubts-controls{padding:1.25rem;border-bottom:1px solid var(--border-primary);flex-direction:column;margin-bottom:0;gap:1rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-list-sidebar{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-item-mini{padding:.85rem 1rem;border-radius:10px;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .15s ease;border:1.5px solid transparent;background:var(--background-secondary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-item-mini:hover{background:var(--background-primary);border-color:var(--border-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-item-mini.active{background:var(--background-primary);border-color:var(--doubt-accent);box-shadow:0 4px 15px #0000000d}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .mini-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .mini-status-dot.pending{background:var(--warning-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .mini-status-dot.assigned{background:var(--info-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .mini-status-dot.scheduled{background:var(--purple-accent-base)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .mini-status-dot.resolved{background:var(--success-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .mini-info h4{font-size:.9rem;font-weight:700;margin-bottom:.2rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .mini-meta{font-size:var(--ui-text-cap);color:var(--text-tertiary);font-weight:600}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-item-mini .arrow-icon{margin-left:auto;color:var(--text-tertiary);opacity:.5}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-content-area{flex:1;background:var(--background-primary);display:flex;flex-direction:column;overflow:hidden}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .integrated-chat-wrapper{height:100%}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .integrated-chat-wrapper .doubt-chat-page{height:100%!important;margin:0!important;border:none!important;border-radius:0!important;box-shadow:none!important}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .empty-chat-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem;gap:1.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .illustration-glow{width:100px;height:100px;background:var(--accent-color-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-color);box-shadow:0 0 30px var(--accent-color-light)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ask-doubt-btn-primary{background:var(--accent-color);color:#fff;padding:.8rem 1.8rem;border-radius:10px;font-weight:700;display:flex;align-items:center;gap:.6rem;transition:all .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ask-doubt-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--box-shadow)}@media (max-width: 1024px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-main-layout{height:auto;border:none;box-shadow:none;background:transparent}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-sidebar{width:100%;border:1px solid var(--border-primary);border-radius:var(--border-radius-xl)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-main-layout.detail-active .doubts-sidebar{display:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-content-area{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-main-layout.detail-active .doubt-content-area{display:flex}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubts-header-actions{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn-minimal,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ask-doubt-mini-btn{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--background-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:var(--ui-text-body);flex-shrink:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .back-btn-minimal:hover{color:var(--text-primary);background:var(--background-hover)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ask-doubt-mini-btn{background:var(--doubt-accent);color:#fff;border:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .ask-doubt-mini-btn:hover{background:var(--doubt-accent-hover);transform:scale(1.05)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-text{line-height:1.5;font-size:var(--ui-text-meta);word-break:break-word}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .msg-text.math-pending{visibility:hidden}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-create-container{display:flex;flex-direction:column;gap:2rem;padding:0;margin-top:1rem;flex:1;overflow-y:auto;min-height:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-create-main{flex:1}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-form-v2{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem 2rem;box-shadow:0 10px 40px -10px #00000014}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-section-v2{margin-bottom:1.25rem;position:relative}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-section-v2 label{display:block;font-size:var(--ui-text-cap);font-weight:900;color:var(--text-tertiary);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.8px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-input-v2,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-textarea-v2{width:100%;background:var(--background-secondary);border:1.5px solid var(--border-primary);border-radius:8px;padding:.75rem 1rem;color:var(--text-primary);font-size:var(--ui-text-meta);transition:all .15s ease;outline:none}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-input-v2:focus,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-textarea-v2:focus{border-color:var(--doubt-accent);background:var(--background-primary);box-shadow:0 0 0 1px var(--doubt-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .char-count-v2{position:absolute;bottom:-1.2rem;right:0;font-size:var(--ui-text-cap);color:var(--text-tertiary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .upload-grid-v2{display:flex;gap:1rem;align-items:flex-start}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .upload-box-minimal-v2{width:fit-content;height:auto;padding:.5rem 1rem;border:1px solid var(--border-primary);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s;color:var(--text-primary);background:var(--background-secondary);box-shadow:0 1px 3px #0000000d}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .upload-box-minimal-v2:hover{border-color:var(--doubt-accent);background:var(--background-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .upload-box-minimal-v2 svg{font-size:var(--ui-text-body);color:var(--doubt-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .upload-box-minimal-v2 span{font-size:var(--ui-text-cap);font-weight:700}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .preview-card-v2{width:120px;height:120px;border-radius:16px;overflow:hidden;position:relative;border:1px solid var(--border-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .preview-card-v2 img{width:100%;height:100%;object-fit:cover}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .preview-remove-v2{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-size:var(--ui-text-meta);transition:all .2s}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .preview-remove-v2:hover{background:var(--danger-color)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-footer-v2{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary);flex-wrap:wrap}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .footer-left-v2{display:flex;align-items:center;flex:1;min-width:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .footer-right-v2{display:flex;gap:.75rem;align-items:center;flex-shrink:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .preview-chip-v2{display:flex;align-items:center;gap:.6rem;background:var(--background-primary);border:1px solid var(--border-primary);padding:.35rem .75rem .35rem .35rem;border-radius:6px;max-width:200px;box-shadow:0 2px 8px #0000000d}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chip-img-wrapper{position:relative;width:32px;height:32px;border-radius:6px;overflow:hidden}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chip-img-wrapper img{width:100%;height:100%;object-fit:cover}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chip-remove-v2{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;border:none;cursor:pointer;font-size:var(--ui-text-meta)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chip-img-wrapper:hover .chip-remove-v2{opacity:1}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .chip-name-v2{font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-submit-v2,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-cancel-v2{padding:.65rem 1.5rem;border-radius:8px;font-weight:800;font-size:var(--ui-text-meta);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-submit-v2{background:var(--doubt-accent);color:var(--text-on-accent, #fff);border:none;box-shadow:0 4px 14px rgba(var(--brand-rgb-components),.3)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-submit-v2:hover:not(:disabled){background:var(--doubt-accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(var(--brand-rgb-components),.4)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-submit-v2:disabled{opacity:.6;cursor:not-allowed}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-cancel-v2{background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-cancel-v2:hover{background:var(--background-tertiary);color:var(--text-primary)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-create-sidebar{display:flex;flex-direction:column;gap:1.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .tips-card-v2{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.25rem;box-shadow:0 4px 20px #0000000a}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .tips-card-v2 h3{font-size:var(--ui-text-cap);font-weight:900;color:var(--text-tertiary);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;text-transform:uppercase;letter-spacing:.5px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .tips-card-v2 h3 svg{color:var(--doubt-accent)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .tips-card-v2 ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .tips-card-v2 li{display:flex;gap:.75rem;font-size:var(--ui-text-meta);color:var(--text-secondary);line-height:1.5}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .tips-card-v2 li svg{flex-shrink:0;margin-top:.15rem;color:var(--success-color);font-size:var(--ui-text-body)}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .error-alert-v2{display:flex;align-items:center;gap:.75rem;background:var(--danger-bg);color:var(--danger-color);padding:1rem;border-radius:12px;margin-bottom:1.5rem;font-size:.9rem;font-weight:700}@media (max-width: 1024px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-create-container{grid-template-columns:1fr}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-create-sidebar{order:-1}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 640px){:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-grid-v2{grid-template-columns:1fr;gap:0}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .doubt-form-v2{padding:1.25rem 1.1rem;border-radius:14px}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .form-footer-v2{flex-direction:column;align-items:stretch;gap:.85rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .footer-left-v2{width:100%}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .preview-chip-v2{max-width:100%;width:100%}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .footer-right-v2{width:100%;display:grid;grid-template-columns:1fr 1.6fr;gap:.6rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-submit-v2,:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .btn-cancel-v2{width:100%;padding:.85rem 1rem;min-height:48px;font-size:.9rem}}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .mini-meta{display:flex;align-items:center;gap:.5rem}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .exam-tag{background:rgba(var(--brand-rgb-components),.1);color:var(--doubt-accent);padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:800;text-transform:uppercase}:is(.doubts-dashboard-page,.doubt-chat-page,.doubt-create-page,.faculty-doubts-container,.loading-state-fullscreen,.error-state-fullscreen) .subject-tag{color:var(--text-tertiary);font-size:var(--ui-text-cap);font-weight:600}.doubts-dashboard-page.dd-page>.doubts-page-head{background:transparent;border-bottom:0;padding:20px 24px 12px}.doubts-dashboard-page.dd-page .doubts-sidebar.dd-list{display:flex;flex-direction:column;gap:12px;min-height:0;padding:0 0 16px;background:transparent;border:0;box-shadow:none}:is(.doubts-dashboard-page.dd-page,.faculty-doubts-container.fd-page) .dd-controls{display:flex;flex-direction:column;gap:10px;padding:0;margin:0;border:0;background:none}:is(.doubts-dashboard-page.dd-page,.faculty-doubts-container.fd-page) .dd-search-row{display:flex;gap:8px}:is(.doubts-dashboard-page.dd-page,.faculty-doubts-container.fd-page) .dd-search{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:var(--ui-control-h);padding:0 14px;border:1px solid var(--border-secondary);border-radius:var(--ui-radius-control);background:var(--background-secondary)}:is(.doubts-dashboard-page.dd-page,.faculty-doubts-container.fd-page) .dd-search:focus-within{border-color:var(--accent-color);box-shadow:var(--input-focus-shadow)}:is(.doubts-dashboard-page.dd-page,.faculty-doubts-container.fd-page) .dd-search svg{width:18px;height:18px;flex:none;color:var(--text-tertiary)}:is(.doubts-dashboard-page.dd-page,.faculty-doubts-container.fd-page) .dd-search input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;box-shadow:none;font:inherit;font-size:var(--ui-text-body);color:var(--text-primary);outline:none}:is(.doubts-dashboard-page.dd-page,.faculty-doubts-container.fd-page) .dd-rows{flex:1;min-height:0;overflow-y:auto;padding:0;background:none;border:0}:is(.doubts-dashboard-page.dd-page,.faculty-doubts-container.fd-page) .ui-row.is-selected{background:var(--accent-color-light)}.doubts-dashboard-page.dd-page .dd-empty-chat{display:flex;align-items:center;justify-content:center;height:100%;padding:24px;background:none;border:0}.ui-btn.is-spinning svg{animation:dd-spin 1s linear infinite}@keyframes dd-spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.doubts-dashboard-page.dd-page>.doubts-page-head{padding:4px 0 12px}}@media (prefers-reduced-motion: reduce){.ui-btn.is-spinning svg{animation:none}}.faculty-doubts-container{flex:1;display:flex;flex-direction:column;width:100%;animation:fadeIn .4s ease-out;background:var(--background-primary);overflow:hidden;height:100%;min-height:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.doubts-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;margin-bottom:0;background:var(--background-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0}.header-left{display:flex;flex-direction:column;gap:.25rem}.header-title-row{display:flex;align-items:center;gap:1rem}.header-left .back-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--accent-color);font-weight:700;font-size:var(--ui-text-meta);cursor:pointer;padding:0;margin-bottom:0;width:fit-content;text-transform:uppercase;letter-spacing:.05em;transition:transform .2s;position:relative;padding-right:1rem}.header-left .back-btn:after{content:"";position:absolute;right:0;height:14px;width:1px;background:var(--border-primary)}.header-left .back-btn:hover{transform:translate(-4px)}.header-left h1{font-size:var(--ui-text-card);font-weight:800;color:var(--text-primary);letter-spacing:-.02em;line-height:1.1}.header-left p{color:var(--text-secondary);font-size:var(--ui-text-meta);font-weight:500}.header-stats{display:flex;gap:1rem}.stat-pill{background:var(--background-tertiary);border:1px solid var(--border-primary);padding:.6rem 1.2rem;border-radius:12px;display:flex;align-items:center;gap:.8rem}.pill-label{font-size:var(--ui-text-cap);font-weight:800;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.5px}.pill-value{font-size:var(--ui-text-card);font-weight:900;color:var(--text-primary)}.doubts-list-layout{display:flex;flex:1;overflow:hidden;width:100%;background:var(--background-primary);min-height:0}@media (max-width: 1024px){.doubts-list-layout.detail-active .doubts-sidebar{display:none}.doubts-list-layout:not(.detail-active) .doubt-detail-view{display:none}}.doubts-sidebar{width:340px;flex-shrink:0;background:var(--background-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;overflow:hidden;height:100%;z-index:5;transition:width .3s ease,opacity .3s ease}.doubts-sidebar.collapsed{width:0;opacity:0;border-right:none;pointer-events:none}@media (max-width: 1024px){.doubts-sidebar{width:100%;border-right:none}.doubts-sidebar.collapsed{display:none}}.sidebar-filters{display:flex;flex-direction:column;gap:1rem;padding:1.2rem;border-bottom:1px solid var(--border-primary)}.sidebar-list{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:1rem}.sidebar-search-row{display:flex;gap:.8rem;align-items:center}.sidebar-search{flex:1;position:relative;display:flex;align-items:center;background:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:10px;padding:0 .8rem;height:40px}.status-dropdown{height:40px;background:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:10px;padding:0 .6rem;color:var(--text-primary);font-size:var(--ui-text-meta);font-weight:700;outline:none;cursor:pointer;min-width:110px}.status-dropdown:focus{border-color:var(--accent-color)}.sidebar-search svg{color:var(--text-tertiary);font-size:var(--ui-text-body)}.sidebar-search input{background:transparent;border:none;color:var(--text-primary);width:100%;height:100%;padding-left:.6rem;font-size:.9rem;font-weight:500;outline:none}.sidebar-search input::placeholder{color:var(--text-placeholder)}.sidebar-tabs{display:flex;background:var(--background-tertiary);padding:.3rem;border-radius:10px;border:1px solid var(--border-primary)}.sidebar-tabs button{flex:1;padding:.5rem;font-size:var(--ui-text-cap);font-weight:800;border-radius:8px;color:var(--text-tertiary);transition:var(--transition);text-transform:uppercase;letter-spacing:.05em}.sidebar-tabs button.active{background:var(--background-secondary);color:var(--accent-color);box-shadow:var(--box-shadow-sm)}.doubt-item-mini{padding:1rem;background:var(--background-secondary);border-radius:var(--border-radius-lg);display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:background .2s;border:1px solid transparent}.doubt-item-mini:hover{background:var(--background-tertiary)}.doubt-item-mini.active{background:var(--accent-color-light);border:1px solid var(--accent-color)}.mini-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--accent-color);box-shadow:0 0 8px var(--accent-color)}.doubt-item-mini.resolved .mini-status-dot{background:var(--success-color);box-shadow:0 0 8px var(--success-color)}.mini-status-indicator{display:flex;align-items:center;gap:.3rem;margin-left:auto}.mini-status-text{font-size:var(--ui-text-cap);font-weight:700;color:var(--text-tertiary)}.doubt-item-mini.resolved .mini-status-text{color:var(--success-color)}.doubt-item-mini.pending .mini-status-text,.doubt-item-mini.assigned .mini-status-text{color:var(--accent-color)}.doubt-item-mini.scheduled .mini-status-text{color:var(--warning-color, var(--accent-color))}.mini-info{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:.4rem}.mini-row-1{display:flex;align-items:center;gap:.4rem}.mini-row-1 .exam-tag,.mini-row-1 .subject-tag{font-size:var(--ui-text-cap);padding:2px 6px}.mini-meta{display:flex;align-items:center;gap:.4rem;font-size:var(--ui-text-meta);font-weight:600}.created-time-mini{color:var(--text-tertiary)}.mini-meta .student-name{color:var(--text-secondary);font-weight:700}.assigned-faculty{color:var(--accent-color);font-size:var(--ui-text-cap);font-weight:700;opacity:.8}.assigned-faculty-detail{font-size:var(--ui-text-meta);color:var(--text-tertiary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.membership-tag{font-size:.65rem;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:800;border:1px solid transparent}.membership-tag.free{background:var(--background-tertiary);color:var(--text-tertiary)}.membership-tag.pro{background:#3b82f61a;color:#3b82f6;border-color:#3b82f633}.membership-tag.ultra{background:#8b5cf61a;color:#8b5cf6;border-color:#8b5cf633}.membership-tag.super{background:#f59e0b1a;color:#f59e0b;border-color:#f59e0b33}.membership-tag.teacher{background:var(--accent-color-light);color:var(--accent-color)}.doubt-detail-view{flex:1;background:var(--background-primary);overflow:hidden;position:relative;display:flex;flex-direction:row;min-height:0}.doubt-detail-view.chat-open .detail-content-wrapper{flex:1}.detail-content-wrapper{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--border-primary);background:var(--background-secondary);position:sticky;top:0;z-index:10;width:100%;gap:1rem}.header-main-info{display:flex;align-items:center;gap:1.2rem;min-width:0;flex:1}.student-profile{display:flex;align-items:center;gap:1.2rem}.avatar{width:56px;height:56px;background:linear-gradient(135deg,var(--accent-color),var(--accent-color-dark));color:#fff;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.student-profile-simple{display:flex;flex-direction:column}.student-profile-simple .names-group h3{font-size:var(--ui-text-card);font-weight:800;margin-bottom:.1rem;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-row{display:flex;gap:.5rem;align-items:center;min-width:0}.membership-pill{font-size:var(--ui-text-cap);padding:2px 10px;border-radius:6px;text-transform:uppercase;font-weight:900;letter-spacing:.05em;width:fit-content}.membership-pill.free{background:var(--background-tertiary);color:var(--text-tertiary)}.membership-pill.pro{background:#dbeafe;color:#1e40af}.membership-pill.plus{background:#fef9c3;color:#854d0e}.membership-pill.ultra{background:#f5f3ff;color:#5b21b6}.membership-pill.super{background:#ffedd5;color:#9a3412}.detail-actions-row{display:flex;gap:.6rem;align-items:center;flex-shrink:0}.action-btn{padding:0 1rem;height:38px;border-radius:8px;font-weight:600;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;border:1px solid var(--border-primary)}.action-btn.chat-btn,.action-btn.reassign-btn{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--border-primary)}.action-btn.resolve-tick-btn{flex:0 0 42px;background:var(--button-success-bg);color:#fff;border:none;font-size:var(--ui-text-card)}.action-btn:hover{transform:translateY(-2px);box-shadow:var(--box-shadow)}.action-btn.resolve-tick-btn:hover{background:var(--button-success-hover-bg)}.detail-content{padding:1.5rem;width:100%;max-width:900px;display:flex;flex-direction:column}.doubt-description-box{background:var(--background-tertiary);padding:1.5rem;border-radius:var(--border-radius-lg);margin-bottom:2rem;border:1px solid var(--border-primary);position:relative}.doubt-description-box h4{margin-bottom:.75rem;font-size:var(--ui-text-card);font-weight:800;color:var(--text-primary);line-height:1.3}.doubt-description-box .post-content{line-height:1.6;color:var(--text-secondary);font-size:var(--ui-text-body)}.detail-image{margin-top:1.5rem;border-radius:var(--border-radius-xl);overflow:hidden;border:1px solid var(--border-secondary);box-shadow:var(--box-shadow-sm);max-width:450px;align-self:flex-start}.detail-image img{width:100%;max-height:350px;object-fit:contain;display:block;cursor:zoom-in;transition:transform .3s ease}.detail-image img:hover{transform:scale(1.02)}.scheduling-card{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-xl);overflow:hidden;margin-top:1.5rem;box-shadow:var(--box-shadow-sm)}.scheduling-card-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--accent-color-light),rgba(var(--brand-rgb-components),.05));border-bottom:1px solid var(--border-accent)}.scheduling-card-icon{width:36px;height:36px;border-radius:var(--border-radius-md);background:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:var(--ui-text-body);flex-shrink:0}.scheduling-card-header h4{font-size:var(--ui-text-body);font-weight:800;color:var(--text-primary);margin:0}.scheduling-card-header p{font-size:var(--ui-text-meta);color:var(--text-tertiary);margin:0;font-weight:500}.scheduling-card-body{padding:1.25rem}.scheduling-card>h4{display:flex;align-items:center;gap:.8rem;margin:0 0 .4rem;font-size:var(--ui-text-body);font-weight:800;color:var(--text-primary)}.scheduling-card>p{font-size:var(--ui-text-meta);color:var(--text-tertiary);margin-bottom:0}.scheduling-card form{display:flex;flex-direction:column;gap:0}.scheduling-card input{flex:unset;height:auto}.scheduling-card button{white-space:normal;padding:unset}.schedule-form-v2{display:flex;flex-direction:column;gap:1rem;margin-top:0}.schedule-form-v2 .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.schedule-form-v2 .form-group{display:flex;flex-direction:column;gap:.4rem}.schedule-form-v2 label{font-size:var(--ui-text-cap);font-weight:800;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.08em}.schedule-form-v2 .form-control{background:var(--background-tertiary);border:1.5px solid var(--border-primary);height:44px;border-radius:var(--border-radius-lg);padding:0 1rem;color:var(--text-primary);font-family:var(--font-family-sans);font-size:.9rem;font-weight:500;transition:var(--transition);width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none}.schedule-form-v2 .form-control:focus{border-color:var(--accent-color);background:var(--background-secondary);box-shadow:0 0 0 3px rgba(var(--brand-rgb-components),.15);outline:none}.schedule-form-v2 .form-control::placeholder{color:var(--text-placeholder)}.dark-mode .schedule-form-v2 .form-control{color-scheme:dark}.schedule-submit-btn{height:48px;width:100%;background:var(--button-primary-bg);color:var(--text-on-accent);border:none;border-radius:var(--border-radius-lg);font-weight:800;font-size:var(--ui-text-body);letter-spacing:.01em;margin-top:.25rem;transition:var(--transition);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem}.schedule-submit-btn:hover:not(:disabled){background:var(--button-primary-hover-bg);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--brand-rgb-components),.35)}.schedule-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.current-link{margin-top:1rem;padding:.75rem 1rem;background:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);display:flex;align-items:center;gap:.6rem;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-tertiary);overflow:hidden}.current-link a{color:var(--accent-color);font-weight:700;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;max-width:100%}.current-link a:hover{text-decoration:underline}.mobile-back-btn{display:none}.chat-side-panel{width:40%;min-width:350px;max-width:500px;border-left:1px solid var(--border-primary);background:var(--background-secondary);display:flex;flex-direction:column;height:100%;animation:slideInLeft .3s cubic-bezier(.4,0,.2,1);min-height:0}@keyframes slideInLeft{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.chat-side-panel .doubt-chat-page{height:100%!important;margin:0!important;border:none!important;border-radius:0!important;box-shadow:none!important;max-width:100%!important}.chat-side-panel .chat-body-v2{background:transparent!important}.chat-side-panel .chat-scroller{padding:1rem!important}.chat-side-panel .original-doubt-post{display:none!important}.chat-side-panel .discussion-divider{margin-bottom:1rem!important}@media (max-width: 1200px){.chat-side-panel{width:320px}}@media (max-width: 1024px){.chat-side-panel{position:fixed;top:0;right:0;width:100%;height:100%;z-index:1100}}.action-btn.chat-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.action-btn.assign-me-btn{background:var(--button-primary-bg);color:#fff;border:none}.action-btn.assign-me-btn:hover{background:var(--button-primary-hover-bg)}@media (max-width: 1024px){.faculty-doubts-container{padding:0;min-height:100vh;min-height:100dvh}.doubts-header{padding:1rem 1.5rem;background:var(--background-secondary);border-bottom:1px solid var(--border-primary)}.doubts-list-layout{margin-top:0;height:calc(100vh - 150px);height:calc(100dvh - 150px);gap:0}.doubts-sidebar{width:100%;border-radius:0;border:none;box-shadow:none;padding:1rem}.doubt-detail-view{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;border-radius:0;border:none;display:none;animation:slideInRight .3s cubic-bezier(.4,0,.2,1)}.doubts-list-layout.detail-active .doubt-detail-view{display:flex}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-back-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--accent-color);font-weight:800;font-size:var(--ui-text-body);cursor:pointer;padding:.5rem 0}.detail-header{flex-direction:column;align-items:flex-start;padding:1rem 1.5rem;gap:1.2rem}.header-main-info{flex-direction:column;align-items:flex-start;gap:.8rem;width:100%}.detail-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.detail-actions .btn{width:100%;justify-content:center;padding:.8rem}.detail-actions .btn:last-child{grid-column:span 2}.detail-content,.doubt-description-box{padding:1.5rem}.doubt-description-box h4{font-size:var(--ui-text-card)}.scheduling-card{padding:1.5rem}.scheduling-card form{flex-direction:column}.scheduling-card button{width:100%}}.empty-state-small{padding:3rem 2rem;text-align:center;color:var(--text-tertiary);font-weight:600}.empty-state-large{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary);gap:1.5rem;padding:4rem;text-align:center;background:var(--background-secondary)}.empty-state-large svg{opacity:.2;color:var(--text-primary)}.empty-state-large p{font-size:var(--ui-text-card);font-weight:600;max-width:300px;line-height:1.5}.reassign-box{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:1.25rem;margin-bottom:1.5rem;box-shadow:var(--box-shadow-sm)}.reassign-box h4{font-size:var(--ui-text-meta);text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);margin-bottom:.8rem;font-weight:800}.faculty-grid{display:flex;flex-wrap:wrap;gap:.6rem}.faculty-opt{padding:.4rem .8rem;background:var(--background-tertiary);border:1px solid var(--border-secondary);border-radius:8px;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.faculty-opt:hover{background:var(--accent-color-light);border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.faculty-opt:disabled{opacity:.6;cursor:not-allowed}.animate-slide-down{animation:slideDown .3s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.faculty-doubts-container.fd-page>.fd-page-head{margin:0;padding:20px 24px 12px}.faculty-doubts-container.fd-page .doubts-sidebar.fd-list{gap:12px;padding:0 16px 16px;background:transparent}.faculty-doubts-container.fd-page .doubts-sidebar.fd-list.collapsed{padding:0}@media (min-width: 1025px){.faculty-doubts-container.fd-page .doubts-sidebar.fd-list:not(.collapsed){width:400px}}@media (max-width: 1024px){.faculty-doubts-container.fd-page>.fd-page-head{padding:12px 16px}.faculty-doubts-container.fd-page .doubts-sidebar.fd-list{padding:0 16px 16px;border:0;border-radius:0}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.explainer-overlay-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-end;z-index:2000;animation:fadeInBackdrop .25s ease-out}.explainer-overlay-content{background:var(--background-secondary);color:var(--text-primary);border-radius:20px 20px 0 0;border:1px solid var(--border-primary);border-bottom:none;box-shadow:0 -4px 30px #00000026;width:100%;max-width:700px;max-height:75vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUpSheet .35s cubic-bezier(.16,1,.3,1)}.explainer-overlay-content:before{content:"";display:block;width:40px;height:4px;background:var(--border-secondary, #ccc);border-radius:2px;margin:10px auto 0;flex-shrink:0}.explainer-header{padding:1rem 1.5rem;background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.explainer-header h4{margin:0;font-size:var(--ui-text-body);color:var(--text-primary);font-weight:500}.explainer-header .theme-text{color:var(--accent-color);font-weight:600}.close-button{background:transparent;border:none;border-radius:50%;width:32px;height:32px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;transition:all .2s ease}.close-button:hover{background:var(--background-tertiary);color:var(--text-primary);transform:rotate(90deg)}.explainer-tabs{display:flex;padding:0 1.5rem;gap:1.5rem;background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary)}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem .5rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--ui-text-body);font-weight:500;cursor:pointer;transition:all .2s ease}.tab-button:hover{color:var(--text-primary);background-color:transparent}.tab-button.active{color:var(--accent-color);border-bottom-color:var(--accent-color);font-weight:600}.tab-button:disabled{opacity:.5;cursor:not-allowed}.explainer-body{padding:1.5rem 2rem;overflow-y:auto;flex-grow:1;background-color:var(--background-primary);display:flex;flex-direction:column;position:relative}.explanation-html-content{line-height:1.7;font-size:var(--ui-text-body);color:var(--text-primary);text-align:left}.explanation-html-content ul,.explanation-html-content ol{padding-left:1.5rem;margin-bottom:1rem}.explanation-html-content li{margin-bottom:.5rem}.loading-state{text-align:center;padding:4rem 1rem;color:var(--text-secondary)}.loading-state .spinner{width:38px;height:38px;margin:0 auto 1rem;border:4px solid var(--border-primary);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}.loading-state p{font-size:var(--ui-text-card);font-weight:500;color:var(--text-primary)}.error-state{color:var(--danger-color);background-color:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--border-radius-md);text-align:center;padding:2rem 1rem;font-weight:500}.explanation-html-content p,.explanation-html-content li{font-size:var(--ui-text-body);line-height:1.7;color:var(--text-primary);margin-bottom:1rem}.explanation-html-content b,.explanation-html-content strong{color:var(--text-primary);font-weight:700}.explanation-html-content .highlight-box{background-color:var(--background-tertiary);border-left:4px solid var(--accent-color);padding:1rem;margin:1rem 0;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0}.explanation-html-content code{background-color:var(--background-tertiary);padding:.2em .4em;border-radius:4px;font-family:var(--font-family-monospace);color:var(--accent-color);font-size:.9em}.concepts-list{text-align:center}.concepts-list p{font-size:var(--ui-text-card);color:var(--text-primary);margin-bottom:1.5rem}.concepts-list ul{list-style:none;padding:0;margin:0 auto;max-width:100%;display:flex;flex-direction:column;gap:.75rem}.concepts-list li{background:var(--background-secondary);padding:1rem;border-radius:var(--border-radius-md);font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;text-align:left;border:1px solid var(--border-primary);transition:all .2s ease-in-out;box-shadow:var(--box-shadow-xs)}.concepts-list li:hover{border-color:var(--accent-color);background-color:var(--background-hover);transform:translate(4px)}.concepts-list .concept-icon{color:var(--success-color);font-size:var(--ui-text-card);flex-shrink:0}.concept-clarity-prompt{margin-top:2rem;font-size:.9rem!important;color:var(--text-secondary)!important;opacity:.8}.concept-list-item{cursor:pointer}.sp-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px;margin:0 0 16px}.sp-head-main{min-width:0;flex:1 1 280px;display:flex;flex-direction:column;gap:4px}.sp-back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin:0 0 2px;padding:4px 0;border:none;background:none;color:var(--text-accent);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer}.sp-back:hover{text-decoration:underline}.sp-back:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:4px}.sp-title{margin:0;font-size:1.5rem;font-weight:700;line-height:1.25;letter-spacing:normal;text-wrap:balance;color:var(--text-primary)}.sp-sub{margin:0;max-width:70ch;color:var(--text-secondary);font-size:var(--ui-text-body);line-height:1.45}.sp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--ui-control-h);padding:0 18px;border:0;border-radius:var(--ui-radius-control);background:var(--background-tertiary);color:var(--text-primary);font:inherit;font-size:var(--ui-text-body);font-weight:600;cursor:pointer}.sp-btn.primary{background:var(--button-primary-bg);color:var(--text-on-primary-button);font-weight:700}.sp-btn.primary:hover{background:var(--accent-color-hover, var(--accent-color))}.sp-btn:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 480px){.sp-title{font-size:var(--ui-text-card)}.sp-actions{width:100%}.sp-actions>.sp-btn{flex:1;min-height:44px}}.os-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000}.os-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0c106b;opacity:0;transition:opacity .18s ease}.os-sheet{position:absolute;left:0;right:0;bottom:0;max-height:min(72vh,560px);max-height:min(72dvh,560px);display:flex;flex-direction:column;padding:8px 8px calc(12px + env(safe-area-inset-bottom,0px));background:var(--background-secondary);color:var(--text-primary);border-radius:22px 22px 0 0;box-shadow:0 -10px 30px #0a0e162e;transform:translateY(102%);transition:transform .22s ease;font-family:var(--font-family-sans)}.os-root.is-shown .os-scrim{opacity:1}.os-root.is-shown .os-sheet{transform:none}.os-handle{width:38px;height:4px;border-radius:4px;background:var(--border-secondary);margin:4px auto 10px;flex:none}.os-title{margin:0 12px 6px;font-size:var(--ui-text-card);font-weight:700;line-height:1.3;color:var(--text-primary);flex:none}.os-list{list-style:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain}.os-group{padding:14px 12px 4px;font-size:var(--ui-text-cap);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.os-subgroup{padding:10px 12px 2px 24px;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.os-option.is-indented{padding-left:24px}.os-fold{width:100%;min-height:50px;padding:10px 12px;border:0;border-radius:12px;background:none;display:flex;align-items:center;gap:10px;font:inherit;font-size:var(--ui-text-body);font-weight:600;color:var(--text-primary);text-align:left;cursor:pointer}.os-fold:hover{background:var(--background-tertiary)}.os-fold.has-on .os-label{color:var(--text-accent)}.os-fold .os-label{flex:1}.os-count{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-tertiary)}.os-fold-chev{width:18px;height:18px;color:var(--text-tertiary);transition:transform .18s ease}.os-fold.is-open .os-fold-chev{transform:rotate(180deg)}.os-option{width:100%;min-height:50px;padding:10px 12px;border:0;border-radius:12px;background:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;font-size:var(--ui-text-body);font-weight:500;color:var(--text-primary);text-align:left;cursor:pointer}.os-option:hover:not(:disabled){background:var(--background-tertiary)}.os-option.is-on{background:var(--accent-color-light);color:var(--text-accent);font-weight:600}.os-option:disabled{color:var(--text-placeholder);cursor:default}.os-option:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.os-option svg{width:18px;height:18px;flex:none}.os-label{min-width:0;overflow-wrap:anywhere}@media (min-width: 769px){.os-sheet{left:50%;right:auto;width:min(480px,100vw);transform:translate(-50%,102%);border-radius:22px 22px 0 0}.os-root.is-shown .os-sheet{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.os-sheet,.os-scrim{transition:none}}:root{--subject-color-physics: #2979ff;--subject-color-chemistry: #ab47bc;--subject-color-maths: #26a69a;--subject-color-biology: #66bb6a;--subject-color-default: var(--border-secondary);--kpi-color-exam-type: var(--info-color, #17a2b8);--kpi-color-score: hsl(var(--brand-hue, 211), var(--brand-saturation, 100%), var(--brand-lightness, 50%));--kpi-color-accuracy: #6f42c1;--kpi-color-time: #fd7e14;--kpi-color-rank: #ffc107;--kpi-color-exam-type-rgb: 23, 162, 184;--kpi-color-score-rgb: var(--brand-rgb-components, 0, 123, 255);--kpi-color-accuracy-rgb: 111, 66, 193;--kpi-color-time-rgb: 253, 126, 20;--kpi-color-rank-rgb: 255, 193, 7}.exam-result-detail-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background-color:var(--background-primary);color:var(--text-primary);padding:0}.result-page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);box-shadow:var(--shadow-sm);height:60px;flex-shrink:0;position:sticky;top:0;z-index:1010}.result-page-header h1{font-size:var(--ui-text-card);font-weight:500;margin:0;text-align:center;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--spacing-sm);color:var(--text-primary)}.result-page-header .btn-icon-only{background:transparent;border:none;font-size:1.4rem;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);cursor:pointer;transition:color .2s,background-color .2s}.result-page-header .btn-back{color:var(--text-primary)}.result-page-header .btn-back:hover{color:var(--text-accent);background-color:var(--background-hover)}.result-page-header .btn-close-page{color:var(--danger-color)}.result-page-header .btn-close-page:hover{color:var(--danger-color-darker, darkred);background-color:var(--danger-bg-subtle, rgba(220, 53, 69, .1))}.result-content-area{flex-grow:1;padding:var(--spacing-lg);overflow-y:auto}.exam-result-detail-page>.sa-page-head{margin:0;padding:0 var(--spacing-lg)}@media (max-width: 768px){.exam-result-detail-page>.sa-page-head{padding:0 var(--spacing-md)}}.result-card{background:var(--background-secondary, #ffffff);border-radius:16px;padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:0 10px 30px -5px #0000000d,0 8px 10px -6px #00000003;border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-color, #007bff),var(--accent-color, #6f42c1))}.result-card h2{font-size:var(--ui-text-card);font-weight:600;color:var(--text-accent);margin-top:0;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light);text-align:center}.performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.performance-item{padding:var(--spacing-lg);border-radius:16px;display:flex;align-items:center;gap:var(--spacing-md);border:1px solid rgba(0,0,0,.05);background:var(--background-primary, #ffffff);box-shadow:0 4px 6px #00000005;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s ease}.performance-item:hover{transform:translateY(-4px);box-shadow:0 15px 30px -10px #0000001a;border-color:#0000001a}.performance-item.kpi-exam-type{background-color:rgba(var(--kpi-color-exam-type-rgb),.07)}.performance-item.kpi-score{background-color:rgba(var(--kpi-color-score-rgb),.07)}.performance-item.kpi-accuracy{background-color:rgba(var(--kpi-color-accuracy-rgb),.07)}.performance-item.kpi-time{background-color:rgba(var(--kpi-color-time-rgb),.07)}.performance-item.kpi-rank{background-color:rgba(var(--kpi-color-rank-rgb),.07)}.performance-item .kpi-icon{font-size:1.6rem;flex-shrink:0}.performance-item.kpi-exam-type .kpi-icon{color:var(--kpi-color-exam-type)}.performance-item.kpi-score .kpi-icon{color:var(--kpi-color-score)}.performance-item.kpi-accuracy .kpi-icon{color:var(--kpi-color-accuracy)}.performance-item.kpi-time .kpi-icon{color:var(--kpi-color-time)}.performance-item.kpi-rank .kpi-icon{color:var(--kpi-color-rank)}.performance-item div{display:flex;flex-direction:column}.performance-item .kpi-label{font-size:var(--ui-text-cap);color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.performance-item .kpi-value{font-size:1.4rem;font-weight:800;color:var(--text-primary);line-height:1.2;letter-spacing:-.5px}.comparison-item.status-message{background:linear-gradient(135deg,var(--background-tertiary) 0%,var(--background-secondary) 100%)!important;border:1px solid var(--border-light)!important;box-shadow:0 4px 12px #00000008;margin-top:var(--spacing-md)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.results-hidden-text{font-style:italic;color:var(--text-placeholder);font-size:var(--ui-text-body)}.results-policy-notice{margin-top:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--info-bg-subtle, var(--info-bg));color:var(--info-color);border:1px solid var(--info-border, var(--info-color));border-radius:var(--border-radius-md);font-size:var(--ui-text-meta);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.results-policy-notice.centered{margin-left:auto;margin-right:auto;max-width:90%}.sectional-performance-card .sectional-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.section-item{background-color:var(--background-tertiary);padding:var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--border-light);border-left-width:5px;transition:border-left-color .3s ease}.section-item.subject-accent-physics{border-left-color:var(--subject-color-physics)}.section-item.subject-accent-chemistry{border-left-color:var(--subject-color-chemistry)}.section-item.subject-accent-maths{border-left-color:var(--subject-color-maths)}.section-item.subject-accent-biology{border-left-color:var(--subject-color-biology)}.section-item.subject-accent-default{border-left-color:var(--subject-color-default)}.section-item h3{font-size:var(--ui-text-card);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-primary)}.section-item p{font-size:var(--ui-text-meta);color:var(--text-secondary);margin-bottom:var(--spacing-xs);display:flex;justify-content:space-between}.section-item p .stat-label{font-weight:500}.section-item p strong{color:var(--text-primary);font-weight:600}.section-item p strong.score-positive{color:var(--success-color-darker, var(--success-color))}.section-item p strong.score-negative{color:var(--danger-color-darker, var(--danger-color))}.section-item p strong.accuracy-high{color:var(--success-color-darker, var(--success-color))}.section-item p strong.accuracy-medium{color:var(--warning-color-darker, var(--warning-color))}.section-item p strong.accuracy-low{color:var(--danger-color-darker, var(--danger-color))}.section-quick-stats{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px dashed var(--border-light);font-size:var(--ui-text-meta);display:flex;justify-content:space-between;flex-wrap:nowrap;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:5px}.section-quick-stats .quick-stat-item{color:var(--text-secondary);display:inline-block;text-align:center;flex-shrink:0;white-space:nowrap}.section-quick-stats .stat-number-correct{color:var(--success-color);font-weight:600}.section-quick-stats .stat-number-incorrect{color:var(--danger-color);font-weight:600}.section-quick-stats .stat-number-skipped{color:var(--text-secondary);font-weight:600}.subject-question-group{margin-bottom:var(--spacing-lg)}.subject-group-title{font-size:var(--ui-text-body);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light)}.question-analysis-card .question-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:var(--spacing-sm);max-height:300px;overflow-y:auto;padding:var(--spacing-xs);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm)}.palette-item{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;border:1px solid transparent}.palette-item:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.palette-item.status-correct{background-color:var(--success-bg);color:var(--success-color-darker, var(--success-color));border-color:var(--success-border, var(--success-color))}.palette-item.status-incorrect{background-color:var(--danger-bg);color:var(--danger-color-darker, var(--danger-color));border-color:var(--danger-border, var(--danger-color))}.palette-item.status-awaiting_evaluation{background-color:var(--warning-bg, #fff8e1);color:var(--warning-color-darker, #b45309);border-color:var(--warning-color, #f59e0b)}.palette-item.status-not_attempted{background-color:var(--background-tertiary);color:var(--text-secondary);border-color:var(--border-secondary)}.palette-item.status-unknown{background-color:var(--background-tertiary);color:var(--text-placeholder);border-color:var(--border-secondary)}.palette-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-md);font-size:var(--ui-text-meta);color:var(--text-secondary);margin-top:var(--spacing-lg)}.legend-item{display:inline-flex;align-items:center}.legend-color{width:12px;height:12px;border-radius:3px;margin-right:var(--spacing-xs);border:1px solid rgba(0,0,0,.1)}.legend-color.status-correct{background-color:var(--success-bg);border-color:var(--success-border)}.legend-color.status-incorrect{background-color:var(--danger-bg);border-color:var(--danger-border)}.legend-color.status-awaiting_evaluation{background-color:var(--warning-bg, #fff8e1);border-color:var(--warning-color, #f59e0b)}.legend-color.status-not_attempted{background-color:var(--background-tertiary);border-color:var(--border-secondary)}.topper-comparison-grid{display:grid;grid-template-columns:auto 1fr 1fr;gap:var(--spacing-sm) var(--spacing-md);align-items:center}.comparison-header{font-weight:600;font-size:.9rem;color:var(--text-secondary);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light);text-align:center}.your-stats-header{color:var(--text-accent)}.topper-stats-header{color:var(--warning-color)}.comparison-label{font-weight:500;font-size:var(--ui-text-meta);color:var(--text-primary);text-align:right;padding-right:var(--spacing-md)}.comparison-value{font-size:.9rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);text-align:center}.your-value{background-color:var(--accent-bg-subtle, rgba(var(--accent-color-rgb), .1));color:var(--text-accent-darker, var(--text-accent))}.topper-value{background-color:var(--warning-bg-subtle, rgba(var(--warning-color-rgb), .1));color:var(--warning-color-darker, var(--warning-color))}.result-page-actions{display:flex;margin-top:var(--spacing-xl);gap:var(--spacing-md);justify-content:space-between;flex-wrap:nowrap}.result-page-actions .btn{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);flex-grow:1;flex-basis:0;min-width:100px;border-radius:var(--border-radius-md);text-align:center}.result-page-actions .btn svg{font-size:1.1em;margin-right:6px}.loading-spinner-container,.no-data-message,.full-page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);min-height:300px}.full-page-error{color:var(--danger-color);gap:var(--spacing-md)}.full-page-error .btn{margin-top:var(--spacing-md)}@media (max-width: 768px){.result-page-header h1{font-size:var(--ui-text-body);font-weight:500}.performance-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.performance-item .kpi-value{font-size:var(--ui-text-body)}.sectional-performance-card .sectional-grid{grid-template-columns:1fr}.topper-comparison-grid{grid-template-columns:1fr;gap:var(--spacing-xs)}.comparison-header{text-align:left;padding-left:0;margin-bottom:var(--spacing-xs)}.comparison-label,.comparison-value{text-align:left;padding-left:0}.comparison-label{font-size:var(--ui-text-meta);color:var(--text-secondary)}.comparison-value{font-size:var(--ui-text-meta);background-color:transparent;padding:2px 0}.comparison-label:after{content:":";margin-right:var(--spacing-xs)}.your-value:before{content:"You: ";font-weight:500;color:var(--text-secondary)}.topper-value:before{content:"Rank 1: ";font-weight:500;color:var(--text-secondary)}.topper-comparison-grid>div:nth-child(3n+1){grid-column:1 / 2;margin-top:var(--spacing-sm)}.topper-comparison-grid>div:nth-child(3n+2){grid-column:1 / 2}.topper-comparison-grid>div:nth-child(3n+3){grid-column:1 / 2;padding-bottom:var(--spacing-sm);border-bottom:1px dashed var(--border-lighter)}.topper-comparison-grid>div:first-child{margin-top:0}.topper-comparison-grid>div:last-child{border-bottom:none}.topper-comparison-grid .comparison-header{display:none}.result-page-actions{flex-wrap:nowrap;justify-content:space-between}.result-page-actions .btn{flex-grow:1;flex-basis:calc(50% - (var(--spacing-md) / 2));max-width:calc(50% - (var(--spacing-md) / 2));min-width:0;padding:var(--spacing-sm) var(--spacing-xs);font-size:var(--ui-text-meta)}.section-quick-stats{font-size:var(--ui-text-cap)}}@media (max-width: 480px){.result-page-header h1{font-size:.9rem;font-weight:500}.result-content-area{padding:var(--spacing-md)}.result-card{padding:var(--spacing-sm)}.result-card h2{font-size:var(--ui-text-card);margin-bottom:var(--spacing-sm)}.performance-grid{grid-template-columns:1fr}.performance-item .kpi-icon{font-size:1.4rem}.performance-item .kpi-label{font-size:var(--ui-text-cap)}.performance-item .kpi-value{font-size:var(--ui-text-body)}.question-analysis-card .question-palette{grid-template-columns:repeat(auto-fill,minmax(35px,1fr));gap:var(--spacing-xs)}.palette-item{width:35px;height:35px;font-size:var(--ui-text-meta)}.subject-group-title{font-size:var(--ui-text-body)}.section-quick-stats{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:6px;font-size:var(--ui-text-cap);overflow-x:auto;padding-bottom:5px}.section-quick-stats .quick-stat-item{font-size:var(--ui-text-cap);flex-shrink:0;white-space:nowrap;margin-right:8px}.section-quick-stats .quick-stat-item:last-child{margin-right:0}.result-page-actions{flex-direction:row;justify-content:space-between;align-items:stretch}.result-page-actions .btn{flex-grow:1;flex-basis:calc(50% - (var(--spacing-md) / 2));max-width:calc(50% - (var(--spacing-md) / 2));min-width:0;font-size:var(--ui-text-meta);padding:var(--spacing-sm) 6px}.result-page-actions .btn svg{margin-right:4px}}.comparison-tile{padding-bottom:var(--spacing-md)}.comparison-tile .comparison-row{width:100%;margin-top:10px!important;padding-top:10px;border-top:1px dashed rgba(0,0,0,.08)}.comparison-tile .comparison-row>div:nth-child(2){background-color:#0000001a!important;opacity:.5}.comparison-tile .kpi-value{font-size:var(--ui-text-card)!important}.comparison-item.status-message{border-radius:12px!important;font-weight:500;letter-spacing:.3px}.exam-result-detail-page>.result-page-head+.result-content-area{padding:0 0 24px}.exam-result-detail-page>.result-page-head{margin-bottom:14px}.exam-result-detail-page .result-card{padding:16px;margin:0 0 16px;border:1px solid var(--border-primary);border-radius:var(--ui-radius-card);background:var(--background-secondary);box-shadow:var(--ui-card-shadow)}.exam-result-detail-page .result-card:before{content:none}.exam-result-detail-page .result-card h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:0;border:0;text-align:left;font-size:var(--ui-text-card);font-weight:700;line-height:1.3;color:var(--text-primary)}.exam-result-detail-page .result-card h2 svg{width:18px;height:18px;color:var(--text-secondary);margin:0!important}.exam-result-detail-page .result-card-count{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.exam-result-detail-page .result-card-hint,.exam-result-detail-page .no-data-text-small{margin:-4px 0 12px;font-size:var(--ui-text-meta);font-style:normal;line-height:1.45;color:var(--text-secondary)}.exam-result-detail-page .performance-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.exam-result-detail-page .performance-item{padding:12px 14px;gap:10px;border:1px solid var(--border-primary);border-radius:12px;background:var(--background-secondary);box-shadow:none}.exam-result-detail-page .performance-item:hover{transform:none;box-shadow:none;border-color:var(--border-primary)}.exam-result-detail-page .performance-item .kpi-icon{width:38px;height:38px;padding:9px;box-sizing:border-box;flex:none;border-radius:11px;font-size:1rem;background:color-mix(in srgb,currentColor 13%,transparent)}.exam-result-detail-page .performance-item .kpi-icon.success{color:var(--tone-green)}.exam-result-detail-page .performance-item .kpi-icon.danger{color:var(--tone-rose)}.exam-result-detail-page .performance-item .kpi-label{order:2;margin:0;font-size:var(--ui-text-meta);font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text-secondary)}.exam-result-detail-page .performance-item .kpi-value{order:1;font-size:var(--ui-text-card);font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text-primary)}@media (max-width: 480px){.exam-result-detail-page .performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-result-detail-page .performance-item{padding:10px 12px}}.exam-result-detail-page .question-analysis-card .question-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;max-height:none;overflow:visible;padding:0;border:0;border-radius:0}.exam-result-detail-page .palette-item{width:auto;min-width:0;height:44px;border:1px solid transparent;border-radius:var(--ui-radius-control, 12px);background:var(--background-tertiary);color:var(--text-secondary);font-family:inherit;font-size:var(--ui-text-body);font-weight:700;font-variant-numeric:tabular-nums;transition:border-color .15s ease,background-color .15s ease}.exam-result-detail-page .palette-item:hover{transform:none;box-shadow:none;border-color:var(--border-secondary)}.exam-result-detail-page .palette-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.exam-result-detail-page .palette-item.status-correct{background:color-mix(in srgb,var(--tone-green) 14%,transparent);color:var(--success-text, #15803D);border-color:transparent}.exam-result-detail-page .palette-item.status-incorrect{background:color-mix(in srgb,var(--tone-rose) 12%,transparent);color:var(--danger-text, #B91C1C);border-color:transparent}.exam-result-detail-page .palette-item:is(.status-partial,.status-awaiting_evaluation,.status-subjective_marked){background:color-mix(in srgb,var(--tone-amber) 16%,transparent);color:var(--warning-text, #B45309);border-color:transparent}.exam-result-detail-page .palette-item:is(.status-not_attempted,.status-unknown){background:var(--background-tertiary);color:var(--text-secondary);border-color:transparent}.exam-result-detail-page .palette-item:is(.status-correct,.status-incorrect,.status-partial,.status-awaiting_evaluation,.status-subjective_marked,.status-not_attempted,.status-unknown):hover{border-color:var(--border-secondary)}.exam-result-detail-page .palette-legend{justify-content:flex-start;gap:6px 16px;margin-top:14px;font-size:var(--ui-text-cap)}.exam-result-detail-page .legend-item{gap:6px}.exam-result-detail-page .legend-color{width:10px;height:10px;margin:0;border-radius:3px;border:1px solid var(--border-secondary);background:var(--background-tertiary)}.exam-result-detail-page .legend-color.status-correct{background:var(--tone-green);border-color:transparent}.exam-result-detail-page .legend-color.status-incorrect{background:var(--tone-rose);border-color:transparent}.exam-result-detail-page .legend-color:is(.status-partial,.status-awaiting_evaluation,.status-subjective_marked){background:var(--tone-amber);border-color:transparent}.exam-result-detail-page .assessment-result-ai-disclaimer,.exam-result-detail-page .result-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 14px;border:0;border-radius:12px;background:var(--accent-color-light);color:var(--text-primary);font-size:var(--ui-text-meta);line-height:1.5;text-align:left}.exam-result-detail-page .assessment-result-ai-disclaimer p{margin:0;display:flex;align-items:flex-start;gap:10px}.exam-result-detail-page :is(.assessment-result-ai-disclaimer,.result-note) svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--text-accent)}.exam-result-detail-page .result-note p{margin:0}.exam-result-detail-page .result-page-actions{justify-content:flex-start;flex-wrap:wrap;gap:10px;margin-top:8px}.exam-result-detail-page .result-page-actions .btn{flex:0 0 auto;max-width:none;min-width:0;min-height:var(--ui-control-h, 44px);padding:0 18px;border-radius:var(--ui-radius-control, 12px);font-size:var(--ui-text-body)}.exam-result-detail-page .result-page-actions .btn-back-to-list{background:var(--background-tertiary);color:var(--text-primary);border:1px solid transparent}.exam-result-detail-page .result-page-actions .btn-back-to-list:hover{background:var(--border-primary)}.exam-result-detail-page .result-page-actions .btn svg{width:18px;height:18px;margin:0}@media (max-width: 480px){.exam-result-detail-page .result-page-actions .btn{flex:1 1 0}}.exam-result-detail-page .result-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 16px;color:var(--text-secondary);font-size:var(--ui-text-body)}.exam-result-detail-page .result-state svg{width:20px;height:20px}.exam-result-detail-page .result-note.is-wait{background:color-mix(in srgb,var(--tone-amber) 14%,transparent)}.exam-result-detail-page .result-note.is-wait svg{color:var(--warning-text, #B45309)}.add-doubt-btn-wrapper{position:relative;display:inline-flex;align-items:center;z-index:10;margin-left:15px}.add-doubt-btn-wrapper .add-doubt-badge{position:absolute;top:-6px;right:-8px;font-size:.5rem;font-weight:800;letter-spacing:.08em;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:1px 5px;border-radius:6px;border:1.5px solid var(--background-secondary, #ffffff);z-index:20;line-height:1.3;pointer-events:none;white-space:nowrap;box-shadow:0 2px 4px #00000026}.btn-add-doubt-circular{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:none;cursor:pointer;background:#f59e0b;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;z-index:1;flex-shrink:0;padding:0;box-shadow:0 4px 15px #f59e0b4d}.btn-add-doubt-circular svg{font-size:var(--ui-text-card);stroke-width:2.5}.btn-add-doubt-circular:hover:not(:disabled){background:#d97706;color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #d9770666}.btn-add-doubt-circular:active:not(:disabled){transform:translateY(0) scale(.95)}.btn-add-doubt-circular.success{background:#10b981;color:#fff;border-color:#10b981}.btn-add-doubt-circular .icon-spin{animation:spin 1s linear infinite}.question-review-modal-header .add-doubt-btn-wrapper{margin-left:5px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.add-doubt-btn-wrapper .add-doubt-badge{font-size:.5rem;padding:1px 4px}}.iv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000ed;z-index:2200;display:flex;flex-direction:column;align-items:stretch;user-select:none;-webkit-user-select:none;touch-action:manipulation;overscroll-behavior:contain}.iv-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#141414d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.iv-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:#ffffff12;color:#ffffffe0;cursor:pointer;font-size:var(--ui-text-card);transition:background .12s;flex-shrink:0}.iv-btn:hover:not(:disabled){background:#ffffff2e}.iv-btn:disabled{opacity:.3;cursor:default}.iv-btn-close{background:#ef44442e;color:#fca5a5}.iv-btn-close:hover:not(:disabled){background:#ef444461!important}.iv-sep{width:1px;height:22px;background:#ffffff1f;margin:0 4px;flex-shrink:0}.iv-sep-push{margin-left:auto;width:0}.iv-zoom-pct{min-width:44px;text-align:center;color:#ffffffbf;font-size:var(--ui-text-meta);font-variant-numeric:tabular-nums;letter-spacing:.02em}.iv-canvas{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;touch-action:none;container-type:size}.iv-image{max-width:min(88vw,calc(88vh - 100px));max-height:min(88vw,calc(88vh - 100px));object-fit:contain;display:block;pointer-events:none;will-change:transform;border-radius:3px;transform-origin:center center;background:#fff}@supports (width: 1cqw){.iv-image{max-width:calc(100cqw - 24px);max-height:calc(100cqh - 24px)}.iv-image.is-sideways{max-width:calc(100cqh - 24px);max-height:calc(100cqw - 24px)}}.iv-image.is-settling{transition:transform .18s ease-out}@media (prefers-reduced-motion: reduce){.iv-image.is-settling{transition:none}}.iv-hint{text-align:center;font-size:var(--ui-text-cap);color:#ffffff47;padding:5px 12px 7px;flex-shrink:0;letter-spacing:.03em}.iv-hint kbd{display:inline-block;padding:1px 5px;border:1px solid rgba(255,255,255,.2);border-radius:3px;font-size:.68rem;font-family:inherit;background:#ffffff0f}.iv-btn-annotate{width:auto;padding:0 12px;gap:6px;background:#63b3ed2e;color:#90cdf4}.iv-btn-annotate:hover:not(:disabled){background:#63b3ed52!important}.iv-annot-toolbar{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#0f0f19eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0;flex-wrap:wrap;row-gap:4px}.iv-tool-group,.iv-color-group,.iv-width-group{display:flex;align-items:center;gap:3px}.iv-tool-btn{width:34px;height:34px}.iv-tool-btn.active{background:#63b3ed47;color:#90cdf4;outline:1.5px solid rgba(99,179,237,.5);outline-offset:-1px}.iv-color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;flex-shrink:0}.iv-color-swatch:hover{transform:scale(1.18)}.iv-color-swatch.selected{border-color:#fff;transform:scale(1.15);box-shadow:0 0 0 2px #ffffff4d}.iv-width-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:5px;background:#ffffff0f;cursor:pointer;transition:background .12s}.iv-width-btn:hover{background:#ffffff26}.iv-width-btn.active{background:#63b3ed38;outline:1.5px solid rgba(99,179,237,.45);outline-offset:-1px}.iv-width-dot{border-radius:50%;display:block;flex-shrink:0}.iv-btn-label{font-size:var(--ui-text-meta);white-space:nowrap}.iv-btn-save{width:auto;padding:0 14px;gap:6px;background:#48bb7838;color:#9ae6b4}.iv-btn-save:hover:not(:disabled){background:#48bb7861!important}.iv-btn-save:disabled{opacity:.35}.iv-btn-cancel{width:auto;padding:0 12px;gap:5px;background:#ef444424;color:#fca5a5}.iv-btn-cancel:hover:not(:disabled){background:#ef444447!important}.iv-spinner{animation:iv-spin .7s linear infinite}@keyframes iv-spin{to{transform:rotate(360deg)}}.iv-annot-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.iv-annot-image{max-width:92vw;max-height:calc(92vh - 110px);object-fit:contain;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:3px}.iv-annot-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.iv-text-input{position:absolute;border:none;background:transparent;outline:1px dashed rgba(255,255,255,.5);padding:2px 4px;font-family:var(--font-family-sans);font-weight:600;min-width:80px;color:inherit;caret-color:#fff;z-index:10}.iv-text-input::placeholder{color:#ffffff59}.iv-save-error{background:#ef4444d9;color:#fff;text-align:center;font-size:var(--ui-text-meta);padding:5px 12px;flex-shrink:0}.iv-hint-annot{color:#ffffff4d}.iv-hint-touch{display:none}@media (hover: none) and (pointer: coarse){.iv-hint-mouse{display:none}.iv-hint-touch{display:inline}.iv-hint{color:#ffffff8c;font-size:var(--ui-text-cap)}}.iv-close-float{display:none}@media (max-width: 768px){.iv-canvas{order:1}.iv-hint{order:2;padding:6px 12px 4px}.iv-toolbar{order:3;justify-content:center;flex-wrap:wrap;gap:6px;padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));border-bottom:0;border-top:1px solid rgba(255,255,255,.08)}.iv-toolbar .iv-btn{width:46px;height:46px;border-radius:12px;font-size:var(--ui-text-card)}.iv-toolbar .iv-btn-annotate{width:auto;padding:0 14px}.iv-toolbar .iv-sep{height:26px;margin:0 2px}.iv-toolbar .iv-sep-push,.iv-toolbar .iv-btn-close{display:none}.iv-toolbar .iv-zoom-pct{min-width:46px;font-size:var(--ui-text-meta)}.iv-close-float{display:flex;align-items:center;justify-content:center;position:absolute;z-index:2;top:calc(10px + env(safe-area-inset-top,0px));right:10px;width:46px;height:46px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:#141414b3;color:#fff;font-size:1.4rem;cursor:pointer}.iv-close-float:active{background:#3c3c3cd9}}@media (max-width: 600px){.iv-hint-annot{display:none}.iv-zoom-pct{min-width:36px}.iv-btn{width:32px;height:32px;font-size:var(--ui-text-body)}.iv-annot-toolbar{gap:3px;padding:5px 8px}.iv-btn-label{display:none}.iv-color-swatch{width:18px;height:18px}}.cpa-list{display:flex;flex-direction:column;gap:10px;width:100%}.cpa-photo{position:relative;width:100%;max-width:640px;background:#fff;cursor:zoom-in;border:1px solid var(--border-primary, #e5e7eb);border-radius:8px;overflow:hidden}.cpa-photo img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.cpa-overlay,.cpa-overlay svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.cpa-photo:focus-visible{outline:2px solid var(--accent-color, #6366f1);outline-offset:2px}.cpa-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;background:#000000ed;display:flex;flex-direction:column;overscroll-behavior:contain}.cpa-full-bar{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0;padding:calc(8px + env(safe-area-inset-top,0px)) 10px 8px}.cpa-full-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:#141414b3;color:#fff;font-size:var(--ui-text-card);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cpa-full-scroll{flex:1;min-height:0;overflow:auto;padding:0 10px calc(16px + env(safe-area-inset-bottom,0px))}.cpa-full-page{width:min(100%,900px);margin:0 auto}.cpa-full-page .cpa-photo{max-width:none;cursor:zoom-in;border:0;border-radius:4px}.cpa-full-page.is-zoomed{width:220%;max-width:none}.cpa-full-page.is-zoomed .cpa-photo{cursor:zoom-out}@media (min-width: 900px){.cpa-full-page.is-zoomed{width:1600px}}.cpa-steps{display:flex;flex-direction:column;gap:10px;width:100%;max-width:640px}.cpa-steps-q{border:1px solid var(--border-primary, #e5e7eb);border-radius:8px;padding:10px 12px;background:var(--background-primary, #fff)}.cpa-steps-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:var(--ui-text-meta, .875rem);color:var(--text-primary, #111827)}.cpa-steps-total{font-weight:700}.cpa-steps-q ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cpa-step{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:start;font-size:var(--ui-text-meta, .875rem);color:var(--text-primary, #111827)}.cpa-step-icon{margin-top:3px}.cpa-step-correct .cpa-step-icon{color:var(--success-color, #16a34a)}.cpa-step-partial .cpa-step-icon{color:var(--warning-color, #d97706)}.cpa-step-wrong .cpa-step-icon{color:var(--danger-color, #dc2626)}.cpa-step-missing .cpa-step-icon{color:var(--text-tertiary, #9ca3af)}.cpa-step-text{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.cpa-step-remark{color:var(--danger-text, #b91c1c);font-size:var(--ui-text-cap, .8rem)}.cpa-step-missing .cpa-step-remark{color:var(--text-tertiary, #6b7280)}.cpa-step-marks{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.cpa-steps-note{margin:8px 0 0;font-size:var(--ui-text-cap, .8rem);color:var(--text-secondary, #4b5563)}.question-review-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0c106b;opacity:0;visibility:hidden;pointer-events:none}.question-review-modal-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;animation:qrm-fade .16s ease-out}@keyframes qrm-fade{0%{opacity:0}to{opacity:1}}.question-review-modal{position:relative;display:flex;flex-direction:column;width:min(760px,100%);max-height:88vh;max-height:min(88dvh,920px);background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:20px;box-shadow:0 24px 48px -16px #0a0e164d;overflow:hidden;font-family:var(--font-family-sans)}.qrm-head{flex:none;display:flex;align-items:center;gap:8px;padding:14px 14px 10px 18px}.qrm-head-main{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.qrm-topic{flex:none;margin:-4px 18px 8px;font-size:var(--ui-text-meta);color:var(--text-secondary)}.qrm-title{margin:0;font-size:var(--ui-text-card);font-weight:700;line-height:1.3;color:var(--text-primary);white-space:nowrap}.qrm-result{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:var(--ui-text-meta);font-weight:700;white-space:nowrap;background:var(--background-tertiary);color:var(--text-secondary)}.qrm-result-marks{font-variant-numeric:tabular-nums}.qrm-result-marks:before{content:"·";margin-right:6px;opacity:.6}.qrm-result.is-right{background:color-mix(in srgb,var(--tone-green) 14%,transparent);color:var(--success-text, #15803D)}.qrm-result.is-wrong{background:color-mix(in srgb,var(--tone-rose) 12%,transparent);color:var(--danger-text, #B91C1C)}.qrm-result:is(.is-partial,.is-wait){background:color-mix(in srgb,var(--tone-amber) 16%,transparent);color:var(--warning-text, #B45309)}.question-review-modal .qrm-doubt{flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--border-primary);border-radius:999px;background:var(--background-secondary);color:var(--text-primary);font-family:inherit;font-size:var(--ui-text-meta);font-weight:600;white-space:nowrap;cursor:pointer}.question-review-modal .qrm-doubt:hover:not(:disabled){background:var(--background-tertiary)}.question-review-modal .qrm-doubt svg{width:16px;height:16px;flex:none}.question-review-modal .qrm-doubt.qs-help-done{background:color-mix(in srgb,var(--tone-green) 12%,transparent);border-color:transparent;color:var(--success-text, #15803D)}.qrm-close{flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;display:inline-grid;place-items:center;background:var(--background-tertiary);color:var(--text-secondary);cursor:pointer}.qrm-close:hover{background:var(--border-primary);color:var(--text-primary)}.qrm-close svg{width:18px;height:18px}.qrm-close:focus-visible,.qrm-chip:focus-visible,.qrm-subject:focus-visible,.qrm-nav-btn:focus-visible,.question-review-modal .qrm-doubt:focus-visible,.qrm-answer-image-thumb:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.qrm-subjects{flex:none;display:flex;gap:3px;margin:0 16px 10px;padding:3px;border-radius:12px;background:var(--background-tertiary);overflow-x:auto;scrollbar-width:none}.qrm-subjects::-webkit-scrollbar{display:none}.qrm-subject{flex:1 0 auto;height:34px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:var(--ui-text-meta);font-weight:600;white-space:nowrap;cursor:pointer}.qrm-subject.is-on{background:var(--background-secondary);color:var(--text-primary);box-shadow:0 1px 2px #1018281a}.qrm-strip{position:relative;flex:none;display:flex;gap:6px;padding:2px 16px 10px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-x:contain}.qrm-strip::-webkit-scrollbar{display:none}.qrm-chip{flex:none;min-width:38px;height:38px;padding:0 6px;border:1px solid transparent;border-radius:10px;display:inline-grid;place-items:center;background:var(--background-tertiary);color:var(--text-secondary);font-family:inherit;font-size:var(--ui-text-meta);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.qrm-chip:hover{border-color:var(--border-secondary)}.qrm-chip.status-correct{background:color-mix(in srgb,var(--tone-green) 14%,transparent);color:var(--success-text, #15803D)}.qrm-chip.status-incorrect{background:color-mix(in srgb,var(--tone-rose) 12%,transparent);color:var(--danger-text, #B91C1C)}.qrm-chip:is(.status-partial,.status-awaiting_evaluation,.status-subjective_marked){background:color-mix(in srgb,var(--tone-amber) 16%,transparent);color:var(--warning-text, #B45309)}.qrm-chip.is-current{border-color:var(--accent-color);box-shadow:inset 0 0 0 1px var(--accent-color)}.qrm-chip.is-current.status-not_attempted,.qrm-chip.is-current.status-unknown{color:var(--text-primary)}.qrm-legend{flex:none;display:flex;flex-wrap:wrap;gap:4px 14px;padding:0 16px 10px;font-size:var(--ui-text-cap);color:var(--text-secondary)}.qrm-legend-item{display:inline-flex;align-items:center;gap:6px}.qrm-legend-dot{width:10px;height:10px;flex:none;border-radius:3px;background:var(--background-tertiary);border:1px solid var(--border-secondary)}.qrm-legend-dot.status-correct{background:var(--tone-green);border-color:transparent}.qrm-legend-dot.status-incorrect{background:var(--tone-rose);border-color:transparent}.qrm-legend-dot:is(.status-partial,.status-awaiting_evaluation,.status-subjective_marked){background:var(--tone-amber);border-color:transparent}.question-review-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 18px 20px;border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:16px}.question-review-modal-body>*{flex-shrink:0}.qrm-section{display:flex;flex-direction:column;gap:10px;min-width:0}.qrm-label{margin:0;font-size:var(--ui-text-body);font-weight:700;line-height:1.3;color:var(--text-primary)}.qrm-html-content{font-size:var(--ui-text-body);line-height:1.6;color:var(--text-primary);overflow-wrap:anywhere;min-width:0}.qrm-html-content>:first-child{margin-top:0}.qrm-html-content>:last-child{margin-bottom:0}.qrm-html-content img{max-width:100%;height:auto}.qrm-html-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.qrm-html-content :is(th,td){padding:6px 8px;border:1px solid var(--border-primary);vertical-align:top;overflow-wrap:normal;word-break:normal;min-width:4.5em}.qrm-html-content :is(.MathJax,.MJXc-display,mjx-container[display=true],.katex-display){overflow-x:auto;overflow-y:hidden;max-width:100%}.qrm-passage{padding:12px 14px;border-radius:12px;background:var(--background-tertiary)}.qrm-part{padding:10px 14px;border-radius:12px;background:var(--background-tertiary)}.qrm-figures{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.qrm-figures img{display:block;max-width:min(100%,440px);max-height:300px;height:auto;object-fit:contain;border-radius:10px;border:1px solid var(--border-primary);background:#fff}.qrm-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.qrm-option{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--border-primary);border-radius:12px;background:var(--background-secondary)}.qrm-option-letter{flex:none;width:28px;height:28px;margin-top:1px;border-radius:50%;display:grid;place-items:center;background:var(--background-tertiary);color:var(--text-secondary);font-size:var(--ui-text-meta);font-weight:700}.qrm-option-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:3px}.qrm-option-body>img{display:block;max-width:100%;max-height:200px;object-fit:contain;border-radius:8px}.qrm-option.is-right{border-color:color-mix(in srgb,var(--tone-green) 55%,transparent);background:color-mix(in srgb,var(--tone-green) 7%,var(--background-secondary))}.qrm-option.is-wrong{border-color:color-mix(in srgb,var(--tone-rose) 55%,transparent);background:color-mix(in srgb,var(--tone-rose) 6%,var(--background-secondary))}.qrm-option.is-right .qrm-option-letter{background:var(--tone-green);color:#fff}.qrm-option.is-wrong .qrm-option-letter{background:var(--tone-rose);color:#fff}:root.dark-mode .qrm-option:is(.is-right,.is-wrong) .qrm-option-letter{color:var(--background-primary)}.qrm-option-tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--ui-text-cap);font-weight:700}.qrm-option-tag svg{width:14px;height:14px;flex:none}.qrm-option-tag.is-right{color:var(--success-text, #15803D)}.qrm-option-tag.is-wrong{color:var(--danger-text, #B91C1C)}.qrm-missing{margin:0;font-size:var(--ui-text-meta);color:var(--text-tertiary)}.qrm-summary{display:flex;flex-wrap:wrap;border:1px solid var(--border-primary);border-radius:12px;overflow:hidden}.qrm-sum{flex:1 1 90px;min-width:0;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-left:1px solid var(--border-primary);border-top:1px solid var(--border-primary);margin:-1px 0 0 -1px}.qrm-sum-k{font-size:var(--ui-text-cap);font-weight:600;color:var(--text-secondary)}.qrm-sum-v{font-size:var(--ui-text-body);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;white-space:pre-wrap}.qrm-sum-v.is-right{color:var(--success-text, #15803D)}.qrm-sum-v.is-wrong{color:var(--danger-text, #B91C1C)}.qrm-sum-v:is(.is-partial,.is-wait){color:var(--warning-text, #B45309)}.qrm-sum-v.is-muted{color:var(--text-tertiary);font-weight:600}.qrm-answer-html{padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--tone-green) 40%,transparent);background:color-mix(in srgb,var(--tone-green) 7%,var(--background-secondary))}.qrm-explanation-section{padding-top:16px;border-top:1px solid var(--border-primary)}.qrm-answer-images{display:flex;flex-wrap:wrap;gap:8px}.qrm-answer-image-thumb{width:104px;height:104px;padding:0;border:1px solid var(--border-primary);border-radius:12px;overflow:hidden;background:var(--background-tertiary);cursor:zoom-in}.qrm-answer-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.qrm-note{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-radius:12px;font-size:var(--ui-text-meta);line-height:1.5;background:var(--background-tertiary);color:var(--text-secondary)}.qrm-note b{color:var(--text-primary);font-weight:700}.qrm-note.is-ok{background:color-mix(in srgb,var(--tone-green) 10%,transparent)}.qrm-note.is-wait{background:color-mix(in srgb,var(--tone-amber) 14%,transparent);color:var(--warning-text, #B45309)}.qrm-note.is-bad{background:color-mix(in srgb,var(--tone-rose) 10%,transparent);color:var(--danger-text, #B91C1C)}.qrm-note-tag{align-self:flex-start;font-size:var(--ui-text-cap);font-weight:700;color:var(--warning-text, #B45309)}.qrm-note-text{color:var(--text-secondary);white-space:pre-wrap}.qrm-eval-box{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--border-primary);background:var(--background-primary)}.qrm-eval-box__label{font-size:var(--ui-text-meta);font-weight:700;color:var(--text-primary)}.qrm-eval-box__hint{font-weight:500;color:var(--text-tertiary)}.qrm-eval-box__row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.qrm-eval-box__input{width:88px;height:var(--ui-control-h, 44px);padding:0 10px;border:1px solid var(--border-secondary);border-radius:var(--ui-radius-control, 12px);background:var(--input-bg, var(--background-secondary));color:var(--text-primary);font-family:inherit;font-size:var(--ui-text-body);font-weight:700;text-align:center;-moz-appearance:textfield}.qrm-eval-box__input::-webkit-inner-spin-button,.qrm-eval-box__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qrm-eval-box__input:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--input-focus-shadow)}.qrm-eval-box__input--invalid{border-color:var(--danger-color, #ef4444)}.qrm-eval-box__save{height:var(--ui-control-h, 44px);padding:0 20px;border:0;border-radius:var(--ui-radius-control, 12px);background:var(--button-primary-bg);color:var(--text-on-primary-button);font-family:inherit;font-size:var(--ui-text-body);font-weight:700;white-space:nowrap;cursor:pointer}.qrm-eval-box__save:hover:not(:disabled){background:var(--button-primary-hover-bg)}.qrm-eval-box__save:disabled{opacity:.5;cursor:not-allowed}.qrm-eval-box__status{font-size:var(--ui-text-meta);font-weight:600}.qrm-eval-box__status--saved{color:var(--success-text, #15803D)}.qrm-eval-box__status--error{color:var(--danger-text, #B91C1C)}.qrm-eval-box__warning{font-size:var(--ui-text-meta);font-weight:500;color:var(--danger-text, #B91C1C)}.qrm-eval-box__remark{display:flex;flex-direction:column;gap:6px}.qrm-eval-box__remark-field{width:100%;min-height:64px;padding:10px 12px;border:1px solid var(--border-secondary);border-radius:var(--ui-radius-control, 12px);background:var(--input-bg, var(--background-secondary));color:var(--text-primary);font-family:inherit;font-size:var(--ui-text-body);resize:vertical}.qrm-eval-box__remark-field:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--input-focus-shadow)}.qrm-eval-box__remark-count{align-self:flex-end;font-size:var(--ui-text-cap);color:var(--text-tertiary)}.qrm-foot{flex:none;display:flex;align-items:center;gap:10px;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-primary);background:var(--background-secondary)}.qrm-pos{flex:1;text-align:center;font-size:var(--ui-text-meta);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.qrm-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:120px;height:var(--ui-control-h, 44px);padding:0 16px;border:1px solid transparent;border-radius:var(--ui-radius-control, 12px);background:var(--background-tertiary);color:var(--text-primary);font-family:inherit;font-size:var(--ui-text-body);font-weight:700;cursor:pointer}.qrm-nav-btn:hover:not(:disabled){background:var(--border-primary)}.qrm-nav-btn.is-next{background:var(--button-primary-bg);color:var(--text-on-primary-button)}.qrm-nav-btn.is-next:hover:not(:disabled){background:var(--button-primary-hover-bg)}.qrm-nav-btn:disabled{opacity:.45;cursor:not-allowed}.qrm-nav-btn svg{width:18px;height:18px;flex:none}@media (max-width: 600px){.question-review-modal-overlay{padding:0;align-items:flex-end}.question-review-modal{width:100%;height:calc(100vh - 12px);height:calc(100dvh - 12px);max-height:none;border-radius:20px 20px 0 0;border-bottom:0;animation:qrm-rise .2s ease-out}.qrm-head{padding:12px 12px 8px 16px}.question-review-modal-body{padding:14px 16px 18px}.qrm-nav-btn{flex:1 1 0;min-width:0}.qrm-pos{flex:none}}@keyframes qrm-rise{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@media (max-width: 360px){.question-review-modal .qrm-doubt{padding:0 10px}.qrm-title{font-size:var(--ui-text-body)}}@media (prefers-reduced-motion: reduce){.question-review-modal-overlay.is-open,.question-review-modal{animation:none}.qrm-strip{scroll-behavior:auto}}.subjective-image-upload{margin-top:12px}.btn-upload-answer-image{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px dashed var(--color-primary, #f97316);color:var(--color-primary, #f97316);background:transparent;border-radius:8px;cursor:pointer;font-size:.9rem}.btn-upload-answer-image:disabled{opacity:.5;cursor:not-allowed}.upload-hint{font-size:.78em;opacity:.7;margin-left:4px}.uploaded-answer-preview{display:flex;align-items:center;gap:12px;margin-top:8px}.uploaded-answer-thumb-wrap{position:relative;display:inline-block}.uploaded-answer-list{flex-wrap:wrap;gap:14px;margin-bottom:8px}.uploaded-answer-index{position:absolute;left:4px;bottom:4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#111827bf;color:#fff;font-size:var(--ui-text-cap);font-weight:600;line-height:18px;text-align:center}.uploaded-answer-thumb{width:100px;height:75px;object-fit:cover;border-radius:6px;border:1px solid var(--border-color, #ddd);display:block}.uploaded-answer-thumb.clickable{cursor:zoom-in;transition:transform .12s ease}.uploaded-answer-thumb.clickable:hover{transform:scale(1.03)}.uploaded-answer-remove{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:none;background:var(--color-danger, #ef4444);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #0000004d;font-size:var(--ui-text-meta);padding:0;line-height:1}.uploaded-answer-remove:hover:not(:disabled){background:#dc2626}.uploaded-answer-remove:disabled{opacity:.5;cursor:not-allowed}.image-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:2100;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:40px}.image-preview-full{max-width:95vw;max-height:90vh;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px #0009;cursor:default}.image-preview-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:var(--ui-text-card);cursor:pointer;display:flex;align-items:center;justify-content:center}.image-preview-close:hover{background:#ffffff40}.uploaded-answer-actions{display:flex;flex-direction:column;gap:6px}.upload-success-label{color:var(--color-success, #22c55e);font-size:.85em;display:flex;align-items:center;gap:4px}.btn-replace-image{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--ui-text-meta);border:1px solid var(--border-color, #ddd);background:transparent;border-radius:5px;cursor:pointer;color:var(--text-secondary, #666)}.upload-error-text{color:var(--color-danger, #ef4444);font-size:.85em;margin-top:6px}.crop-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:2000;display:flex;align-items:center;justify-content:center}.crop-modal{background:var(--background-primary, #1e2235);border-radius:12px;width:min(700px,96vw);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.crop-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color, #333)}.crop-modal-header h4{margin:0;display:flex;align-items:center;gap:6px;font-size:var(--ui-text-body)}.crop-modal-body{padding:16px;display:flex;justify-content:center;align-items:center;background:#111;overflow:auto}.crop-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid var(--border-color, #333)}.btn-enhance{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;border:1px solid var(--border-color, #555);background:transparent;cursor:pointer;font-size:.9rem;color:var(--text-primary, #fff)}.btn-enhance:disabled{opacity:.5;cursor:default}.btn-crop-upload{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:6px;border:none;background:var(--color-primary, #f97316);color:#fff;font-weight:600;cursor:pointer;font-size:.9rem}.btn-crop-upload:disabled{opacity:.5;cursor:not-allowed}.btn-icon{background:none;border:none;cursor:pointer;color:var(--text-secondary, #aaa);font-size:var(--ui-text-card);padding:4px}:root{--bp-sm: 480px;--bp-md: 768px;--bp-lg: 992px}.admin-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.admin-table{width:100%;border-collapse:collapse}.admin-layout,.admin-content-wrapper{max-width:100%;min-width:0}@media (max-width: 768px){.admin-layout,.admin-content-wrapper{overflow-x:clip}.admin-table td,.admin-table th{overflow-wrap:break-word}}.admin-page-container{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem;max-width:1600px;margin:0 auto;width:100%;min-width:0}.admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-primary)}.admin-page-header--stack{flex-direction:column;align-items:stretch;gap:.25rem}.admin-page-header .btn{flex-shrink:0}.admin-page-title{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.admin-page-intro{margin:0;font-size:var(--ui-text-body);color:var(--text-secondary)}@media (max-width: 768px){.admin-page-header{flex-direction:column;align-items:stretch;gap:.75rem}.admin-page-title{font-size:1.4rem}.admin-page-header .btn,.admin-page-header .admin-page-actions>.btn{width:100%;justify-content:center}}@media (max-width: 768px){.admin-form-grid.two-columns,.admin-form-grid{grid-template-columns:1fr}}@media (max-width: 480px){.kpi-grid,.inst-fee-grid,.inst-plan-grid{grid-template-columns:1fr}}td.admin-actions-cell{display:table-cell;text-align:right;white-space:nowrap;vertical-align:middle}td.admin-actions-cell>*{vertical-align:middle}td.admin-actions-cell>*+*{margin-left:.5rem}.admin-layout{display:grid;grid-template-columns:260px 1fr;grid-template-rows:100vh;grid-template-rows:100dvh;transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1)}.admin-layout.sidebar-collapsed{grid-template-columns:80px 1fr}.admin-content-wrapper{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background-color:var(--background-primary);min-height:0}.admin-main-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem var(--spacing-lg);border-bottom:1px solid var(--border-primary);background-color:var(--background-secondary);position:sticky;top:0;z-index:900}.mobile-menu-trigger{display:none;font-size:1.5rem;color:var(--text-secondary);background-color:transparent;border:none;padding:.5rem;margin-right:1rem;border-radius:var(--border-radius-md)}.mobile-menu-trigger:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.global-filter-container{margin-left:auto}.admin-filter-select{font-size:var(--font-size-sm);padding:.5rem 1rem;background-color:var(--input-bg);border:1px solid var(--border-secondary)}@media (min-width: 769px){.admin-filter-select{min-width:250px}}.admin-main-content{flex-grow:1;padding:var(--spacing-lg);display:flex;flex-direction:column;min-height:0}.admin-main-content--app-layout{padding:0!important;overflow:hidden!important}@media (max-width: 992px){.admin-layout{grid-template-columns:1fr}.admin-layout .admin-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .3s ease-in-out;z-index:1001;box-shadow:var(--box-shadow-lg)}.admin-layout.mobile-menu-open .admin-sidebar{transform:translate(0)}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu-trigger{display:block}.admin-sidebar .collapse-button{display:none}.admin-main-header{justify-content:flex-start}.admin-main-content{padding:var(--spacing-md)}}.admin-layout.has-asb{grid-template-columns:264px minmax(0,1fr);transition:grid-template-columns .25s cubic-bezier(.4,0,.2,1)}.admin-layout.has-asb.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.admin-main-header.atb{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:.6rem var(--spacing-lg);border-bottom:1px solid var(--border-primary);background-color:color-mix(in srgb,var(--background-secondary) 88%,transparent);backdrop-filter:saturate(160%) blur(8px);-webkit-backdrop-filter:saturate(160%) blur(8px);position:sticky;top:0;z-index:900}.atb .mobile-menu-trigger{display:none;font-size:1.4rem;color:var(--text-secondary);background-color:transparent;border:none;padding:.4rem;border-radius:var(--border-radius-md);flex-shrink:0}.atb .mobile-menu-trigger:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.atb-crumb{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:.88rem;white-space:nowrap;overflow:hidden}.atb-crumb-group{color:var(--text-tertiary);font-weight:500}.atb-crumb-sep{color:var(--border-secondary, var(--text-tertiary))}.atb-crumb-page{color:var(--text-primary);font-weight:700;overflow:hidden;text-overflow:ellipsis}.atb-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.atb-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--border-primary);background:var(--background-primary);color:var(--text-secondary);font:inherit;font-size:var(--ui-text-meta);font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.atb-btn:hover{color:var(--text-primary);border-color:var(--border-accent, var(--accent-color))}.atb-btn--primary{background:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-primary-button, #fff)}.atb-btn--primary:hover{background:var(--accent-color-hover, var(--accent-color));color:var(--text-on-primary-button, #fff)}.atb-chev{font-size:var(--ui-text-meta);opacity:.85}.atb-kbd{font-family:inherit;font-size:.64rem;font-weight:700;padding:1px 5px;border-radius:5px;border:1px solid var(--border-primary);background:var(--background-secondary);color:var(--text-tertiary)}.atb-trial{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--warning-border, rgba(217, 119, 6, .35));background:var(--warning-bg, rgba(245, 158, 11, .12));color:var(--warning-text, #b45309);font:inherit;font-size:var(--ui-text-cap);font-weight:700;cursor:pointer;white-space:nowrap}.atb-trial.is-ended{border-color:var(--danger-border, rgba(220, 38, 38, .35));background:var(--danger-bg, rgba(239, 68, 68, .1));color:var(--danger-color)}.atb-add{position:relative}.atb-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;padding:6px;border-radius:12px;border:1px solid var(--border-primary);background:var(--background-secondary);box-shadow:var(--box-shadow-lg, 0 12px 30px rgba(0, 0, 0, .18));z-index:950;display:flex;flex-direction:column;gap:2px}.atb-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--ui-text-meta);font-weight:600;text-align:left;cursor:pointer}.atb-menu-item:hover,.atb-menu-item:focus-visible{background:var(--accent-color-light);color:var(--text-accent);outline:none}.atb-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--background-tertiary);color:var(--text-secondary)}@media (max-width: 992px){.admin-layout.has-asb,.admin-layout.has-asb.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.admin-layout .asb{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);visibility:hidden;transition:transform .28s ease-in-out,visibility 0s linear .28s;z-index:1001;box-shadow:var(--box-shadow-lg)}.admin-layout.mobile-menu-open .asb{transform:translate(0);visibility:visible;transition:transform .28s ease-in-out,visibility 0s}.atb .mobile-menu-trigger{display:inline-flex}.admin-main-header.atb{padding:.5rem var(--spacing-md)}}@media (max-width: 768px){.atb-btn-label,.atb-kbd,.atb-chev{display:none}.atb-btn{padding:0 10px}.atb-trial span{max-width:9.5rem;overflow:hidden;text-overflow:ellipsis}.atb .global-filter-container .admin-filter-select{max-width:9.5rem}}@media (max-width: 480px){.atb-crumb-group,.atb-crumb-sep{display:none}.atb-trial{padding:0 9px}.atb-trial span{display:none}}@media (prefers-reduced-motion: reduce){.admin-layout.has-asb,.admin-layout .asb{transition:none}}.ai-credit-widget{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,#6366f1,#7c3aed 52%,#a855f7);color:#fff;box-shadow:0 8px 22px #6366f147;isolation:isolate}.ai-credit-widget.is-low{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 8px 22px #ef44444d}.ai-credit-widget[role=button]{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.ai-credit-widget[role=button]:hover{transform:translateY(-2px);box-shadow:0 14px 32px #6366f166}.ai-credit-widget[role=button].is-low:hover{box-shadow:0 14px 32px #ef44446b}.acw-glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(160px 160px at 92% -30%,rgba(255,255,255,.4),transparent 60%),radial-gradient(120px 120px at 6% 130%,rgba(255,255,255,.16),transparent 60%);pointer-events:none}.acw-header{display:flex;align-items:center;gap:8px}.acw-spark{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:#ffffff38;flex-shrink:0}.acw-spark svg{font-size:var(--ui-text-body)}.acw-title{font-weight:700;letter-spacing:.02em}.acw-balance{display:flex;align-items:baseline;gap:6px}.acw-balance-num{font-weight:800;line-height:1}.acw-balance-unit{opacity:.82;font-weight:600}.acw-progress-wrap{display:flex;flex-direction:column;gap:4px}.acw-progress{height:7px;border-radius:99px;background:#ffffff42;overflow:hidden}.acw-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#fff,#ffffffd1);transition:width .45s ease}.acw-progress-label{font-size:.68rem;opacity:.85}.acw-meta{display:flex;flex-wrap:wrap;gap:7px}.acw-chip{display:inline-flex;align-items:center;gap:5px;font-weight:600;border-radius:99px;background:#fff3;white-space:nowrap}.acw-chip--muted{background:#ffffff1f;opacity:.9}.acw-chip--link{background:#ffffff4d;font-weight:700}.acw-chip svg{font-size:.85em}.ai-credit-widget--dashboard{display:flex;flex-direction:row;align-items:center;gap:26px;padding:14px 22px;margin:4px 0 18px}.ai-credit-widget--dashboard .acw-primary{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.ai-credit-widget--dashboard .acw-detail{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-width:180px}.ai-credit-widget--dashboard .acw-balance-num{font-size:1.9rem}.ai-credit-widget--dashboard .acw-title{font-size:var(--ui-text-cap);text-transform:uppercase;opacity:.92}.ai-credit-widget--dashboard .acw-chip{font-size:var(--ui-text-cap);padding:4px 10px}@media (max-width: 640px){.ai-credit-widget--dashboard{flex-direction:column;align-items:stretch;gap:12px}.ai-credit-widget--dashboard .acw-detail{min-width:0}}.acw-skel{display:inline-block;border-radius:99px;background:#ffffff4d;animation:acw-pulse 1.2s ease-in-out infinite}.acw-skel--num{width:7.5rem;height:1.9rem;border-radius:8px}.acw-skel--line{width:12rem;max-width:100%;height:.68rem;margin:.12rem 0}.acw-skel--chip{width:5.5rem;height:1.55rem}.ai-credit-widget--sidebar .acw-skel{background:#6366f129}.ai-credit-widget--sidebar .acw-skel--num{width:5.5rem;height:1.5rem}.ai-credit-widget--sidebar .acw-skel--chip{width:3.6rem;height:1.1rem}@keyframes acw-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.acw-skel{animation:none}}.ai-credit-widget--sidebar{display:flex;flex-direction:column;gap:8px;padding:12px 14px;margin:10px 0}.ai-credit-widget--sidebar .acw-primary{display:flex;flex-direction:column;gap:6px}.ai-credit-widget--sidebar .acw-detail{display:flex;flex-direction:column;gap:8px}.ai-credit-widget--sidebar .acw-balance-num{font-size:1.5rem}.ai-credit-widget--sidebar .acw-title{font-size:var(--ui-text-cap)}.ai-credit-widget--sidebar .acw-chip{font-size:.66rem;padding:2px 7px}.ai-credit-widget--sidebar{background:linear-gradient(135deg,#eef2ff,#f3f0ff);color:#4338ca;box-shadow:0 3px 12px #6366f11f;border:1px solid rgba(99,102,241,.2)}.ai-credit-widget--sidebar[role=button]:hover{box-shadow:0 8px 20px #6366f133}.ai-credit-widget--sidebar .acw-glow{background:radial-gradient(140px 140px at 92% -30%,rgba(99,102,241,.1),transparent 60%)}.ai-credit-widget--sidebar .acw-spark{background:#6366f126;color:#6366f1}.ai-credit-widget--sidebar .acw-progress{background:#6366f129}.ai-credit-widget--sidebar .acw-progress-fill{background:linear-gradient(90deg,#6366f1,#a855f7)}.ai-credit-widget--sidebar .acw-progress-label{opacity:.7}.ai-credit-widget--sidebar .acw-chip{background:#6366f11f;color:#4338ca}.ai-credit-widget--sidebar .acw-chip--muted{background:#6366f112;color:#6d28d9;opacity:1}.ai-credit-widget--sidebar.is-low{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#b91c1c;border-color:#ef444447;box-shadow:0 3px 12px #ef444424}.ai-credit-widget--sidebar.is-low .acw-spark{background:#ef444429;color:#dc2626}.ai-credit-widget--sidebar.is-low .acw-chip{background:#ef44441f;color:#b91c1c}:root.dark-mode .ai-credit-widget--sidebar{background:linear-gradient(135deg,#6366f133,#a855f729);color:#c7d2fe;border:1px solid rgba(129,140,248,.3);box-shadow:0 3px 12px #00000040}:root.dark-mode .ai-credit-widget--sidebar[role=button]:hover{box-shadow:0 8px 20px #00000059}:root.dark-mode .ai-credit-widget--sidebar .acw-glow{background:radial-gradient(140px 140px at 92% -30%,rgba(129,140,248,.18),transparent 60%)}:root.dark-mode .ai-credit-widget--sidebar .acw-spark{background:#818cf838;color:#c7d2fe}:root.dark-mode .ai-credit-widget--sidebar .acw-progress{background:#ffffff1f}:root.dark-mode .ai-credit-widget--sidebar .acw-progress-fill{background:linear-gradient(90deg,#818cf8,#c084fc)}:root.dark-mode .ai-credit-widget--sidebar .acw-progress-label{opacity:.8}:root.dark-mode .ai-credit-widget--sidebar .acw-chip{background:#818cf82e;color:#c7d2fe}:root.dark-mode .ai-credit-widget--sidebar .acw-chip--muted{background:#818cf81a;color:#cbb6f7}:root.dark-mode .ai-credit-widget--sidebar.is-low{background:linear-gradient(135deg,#ef444438,#b91c1c2e);color:#fca5a5;border-color:#ef444461}:root.dark-mode .ai-credit-widget--sidebar.is-low .acw-spark{background:#ef44443d;color:#fca5a5}:root.dark-mode .ai-credit-widget--sidebar.is-low .acw-chip{background:#ef44442e;color:#fca5a5}.asb.teacher-sidebar .tsb-coins{display:inline-flex;align-items:center;gap:4px;font-size:var(--ui-text-cap);font-weight:700;color:var(--text-secondary)}.asb.teacher-sidebar .tsb-coins svg{color:#f5b301}.ui-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}@media (max-width: 768px){.ui-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.ui-chips::-webkit-scrollbar{display:none}}.ui-chip{flex:none;display:inline-flex;align-items:center;gap:6px;height:var(--ui-chip-h);max-width:100%;padding:0 12px 0 14px;border:1px solid var(--border-primary);border-radius:999px;background:var(--background-secondary);font:inherit;font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1;cursor:pointer;white-space:nowrap}.ui-chip:hover{border-color:var(--border-secondary)}.ui-chip.is-on{background:var(--accent-color-light);border-color:transparent;color:var(--text-accent)}.ui-chip:focus-visible,.ui-chip-select:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.ui-chip svg{width:16px;height:16px;flex:none;color:var(--text-tertiary)}.ui-chip.is-on svg{color:var(--text-accent)}.ui-chip-field{position:relative;flex:none;display:inline-flex;max-width:100%}.ui-chip-field>svg{position:absolute;right:11px;top:50%;width:16px;height:16px;transform:translateY(-50%);pointer-events:none;color:var(--text-tertiary)}.ui-chip-field>.ui-chip.is-on+svg{color:var(--text-accent)}.ui-chip-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;text-overflow:ellipsis;overflow:hidden;max-width:260px;field-sizing:content}.ui-chip-select option,.ui-chip-select optgroup{color:var(--text-primary);background:var(--background-secondary);font-weight:500}.ui-chip-clear{flex:none;height:var(--ui-chip-h);padding:0 6px;border:0;background:none;font:inherit;font-size:.875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.ui-chip-clear:hover{color:var(--text-accent)}.ui-chips-end{margin-left:auto;flex:none}.ui-seg{display:flex;padding:3px;gap:3px;background:var(--background-tertiary);border-radius:12px;min-width:0}.ui-seg>button{flex:1 1 0;min-width:0;height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:.875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.ui-seg>button.is-on,.ui-seg>button[aria-selected=true],.ui-seg>button[aria-pressed=true]{background:var(--background-secondary);color:var(--text-primary);box-shadow:0 1px 2px #0a0e1614}.ui-seg>button:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.ui-seg>button svg{width:17px;height:17px;flex:none}.ui-seg.is-icons{display:inline-flex;flex:none}.ui-seg.is-icons>button{flex:none;width:36px;padding:0}.ui-seg-badge{font-size:.6875rem;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--accent-color-light);color:var(--text-accent)}.ui-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:6px 2px 8px;font-size:var(--ui-text-card);font-weight:700;letter-spacing:-.005em;text-transform:none;color:var(--text-primary)}.ui-label>button,.ui-label>a{text-transform:none;letter-spacing:0;font:inherit;font-size:var(--ui-text-meta);font-weight:600;color:var(--text-accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:none}.ui-group{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--ui-radius-card);overflow:hidden}.ui-row{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;border:0;border-top:1px solid var(--border-primary);background:transparent;font:inherit;color:inherit;text-align:left}.ui-group>.ui-row:first-child,.ui-group>:first-child>.ui-row:first-child{border-top:0}button.ui-row,.ui-row.is-tap{cursor:pointer}button.ui-row:hover,.ui-row.is-tap:hover{background:var(--background-tertiary)}button.ui-row:focus-visible,.ui-row.is-tap:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.ui-row-tile{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;background:var(--background-tertiary);color:var(--text-secondary);font-size:var(--ui-text-body);font-weight:700}.ui-row-tile svg{width:19px;height:19px}.ui-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ui-row-title{font-size:var(--ui-text-body);font-weight:600;line-height:1.3;color:var(--text-primary);overflow-wrap:anywhere}.ui-row-title.is-clamp{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;font-size:var(--ui-text-meta);line-height:1.35;color:var(--text-secondary)}.ui-row-end{flex:none;display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:var(--ui-text-meta)}.ui-row-chev{width:18px;height:18px;flex:none;color:var(--text-tertiary);transition:transform .18s ease}.ui-row[aria-expanded=true] .ui-row-chev.is-toggle{transform:rotate(180deg)}.ui-sub{background:color-mix(in srgb,var(--background-tertiary) 45%,var(--background-secondary));border-top:1px solid var(--border-primary)}.ui-sub .ui-row{padding-left:64px;min-height:52px}.ui-sub-body{padding:12px 14px 14px;border-top:1px solid var(--border-primary);background:var(--background-primary)}.ui-sep:before{content:"·";margin-right:6px;color:var(--text-tertiary)}.ui-bar{height:4px;max-width:200px;margin-top:5px;border-radius:4px;background:var(--background-tertiary);overflow:hidden}.ui-bar>i{display:block;height:100%;border-radius:4px;background:var(--accent-color)}.ui-status{display:inline-flex;align-items:center;gap:5px;font-size:var(--ui-text-meta);font-weight:600;white-space:nowrap;color:var(--text-tertiary)}.ui-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.ui-status.is-new{color:var(--text-accent)}.ui-status.is-progress{color:var(--warning-text, #B45309)}.ui-status.is-done{color:var(--success-text, #15803D)}.ui-status.is-due{color:var(--danger-text, #B91C1C)}.ui-status.is-live{color:var(--danger-color)}.ui-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:6px;font-size:.6875rem;font-weight:800;line-height:1.5;white-space:nowrap;background:var(--accent-color);color:var(--text-on-accent)}.ui-card{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--ui-radius-card);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}.ui-card-title{margin:0;font-size:var(--ui-text-card);font-weight:700;line-height:1.3;color:var(--text-primary);overflow-wrap:anywhere}.ui-card-text{margin:0;font-size:var(--ui-text-body);line-height:1.55;color:var(--text-secondary)}.ui-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.ui-stat{padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0;border-left:1px solid var(--border-primary);border-top:1px solid var(--border-primary);margin:-1px 0 0 -1px}.ui-stat-value{font-size:1.25rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--text-primary)}.ui-stat-label{font-size:var(--ui-text-meta);color:var(--text-secondary)}@media (max-width: 768px){.ui-stats{grid-template-columns:1fr 1fr}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--ui-control-h);padding:0 18px;border:1px solid transparent;border-radius:var(--ui-radius-control);font:inherit;font-size:var(--ui-text-body);font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;background:var(--background-tertiary);color:var(--text-primary);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.ui-btn svg{width:18px;height:18px;flex:none}.ui-btn:hover:not(:disabled){background:var(--border-primary)}.ui-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn.is-primary{background:var(--button-primary-bg);color:var(--text-on-primary-button)}.ui-btn.is-primary:hover:not(:disabled){background:var(--button-primary-hover-bg)}.ui-btn.is-danger{background:var(--danger-bg);color:var(--danger-text, #B91C1C)}.ui-btn.is-ghost{background:transparent;color:var(--text-secondary)}.ui-btn.is-ghost:hover:not(:disabled){background:var(--background-tertiary);color:var(--text-primary)}.ui-btn.is-sm{height:36px;padding:0 14px;font-size:.875rem;border-radius:10px}.ui-btn.is-block{width:100%}.ui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:36px 20px;color:var(--text-secondary);background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--ui-radius-card)}.ui-empty svg{width:36px;height:36px;color:var(--text-tertiary);margin-bottom:6px}.ui-empty-title{margin:0;font-size:var(--ui-text-card);font-weight:700;color:var(--text-primary)}.ui-empty-text{margin:0;font-size:var(--ui-text-body);max-width:40ch}.ui-empty .ui-btn{margin-top:10px}.ui-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.ui-stack>.ui-label{margin-bottom:-8px}@media (prefers-reduced-motion: reduce){.ui-row-chev{transition:none}}.ui-btn.is-icon{width:var(--ui-control-h);padding:0}.ui-btn.is-sm.is-icon{width:36px}:root :is(.sp-title,.bt-title,.apx-title,.admin-page-title,.teacher-dashboard-header h1,.ca-title){font-size:var(--ui-text-page);font-weight:700;line-height:1.25;letter-spacing:-.01em;text-wrap:balance}:root :is(.sp-sub,.bt-sub,.apx-sub,.admin-page-intro,.teacher-dashboard-header p,.ca-sub){font-size:var(--ui-text-meta);line-height:1.45;color:var(--text-secondary)}@media (min-width: 769px){:root :is(.sp-title,.bt-title,.apx-title,.admin-page-title,.teacher-dashboard-header h1,.ca-title){font-size:1.5rem}:root :is(.sp-sub,.bt-sub,.apx-sub,.admin-page-intro,.teacher-dashboard-header p,.ca-sub){font-size:var(--ui-text-body)}}.ui-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-field-label{font-size:var(--ui-text-meta);font-weight:600;color:var(--text-secondary)}.ui-field-select{position:relative;display:block;min-width:0}.ui-select{display:block;width:100%;height:48px;padding:0 40px 0 14px;border:1px solid var(--border-secondary);border-radius:var(--ui-radius-control);background:var(--background-secondary);color:var(--text-primary);font:inherit;font-size:var(--ui-text-body);font-weight:500;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;text-overflow:ellipsis}.ui-select:focus-visible{outline:none;border-color:var(--accent-color);box-shadow:var(--input-focus-shadow)}.ui-select:disabled{cursor:not-allowed;color:var(--text-tertiary);background:var(--background-tertiary)}.ui-field-icon{position:absolute;right:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);pointer-events:none;color:var(--text-tertiary)}.ui-field-icon.is-spin{animation:ui-spin 1s linear infinite}@keyframes ui-spin{to{transform:translateY(-50%) rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ui-field-icon.is-spin{animation:none}}:root:root :is(.modal-overlay,.confirm-modal-overlay,.confirm-exit-overlay,.dashboard-modal-overlay,.admin-modal-overlay,.qs-dialog-backdrop,.custom-modal-overlay,.text-edit-modal-overlay,.crop-modal-overlay,.rb-modal-scrim){background-color:#0a0c106b;-webkit-backdrop-filter:none;backdrop-filter:none}:root:root :is(.modal-content-box,.confirm-modal-content,.confirm-exit-content,.dashboard-modal,.admin-modal-card,.qs-dialog,.custom-modal-box,.text-edit-modal,.crop-modal,.rb-modal){background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:20px;box-shadow:0 24px 48px -16px #0a0e164d;font-family:var(--font-family-sans)}:root:root :is(.confirm-modal-title,.confirm-exit-title,.admin-modal-title,.qs-dialog-title,.custom-modal-title,.modal-view-title,.modal-header h2,.modal-header h3,.dashboard-modal h2,.dashboard-modal h3,.rb-modal-head h2,.crop-modal-header h3){font-size:var(--ui-text-card);font-weight:700;line-height:1.3;letter-spacing:normal;color:var(--text-primary)}:root:root :is(.confirm-modal-message,.confirm-exit-message,.qs-dialog-text,.custom-modal-message,.modal-view-subtitle,.dashboard-modal>p,.rb-modal-note){font-size:var(--ui-text-body);line-height:1.5;color:var(--text-secondary)}:root:root :is(.confirm-modal-close,.confirm-exit-close,.admin-modal-close-btn,.modal-close-btn,.btn-close-modal){width:36px;height:36px;padding:0;border:0;border-radius:50%;display:inline-grid;place-items:center;background:var(--background-tertiary);color:var(--text-secondary);cursor:pointer}:root:root :is(.confirm-modal-close,.confirm-exit-close,.admin-modal-close-btn,.modal-close-btn,.btn-close-modal):hover{background:var(--border-primary);color:var(--text-primary)}:root:root :is(.confirm-modal-btn,.confirm-exit-btn,.btn-modal-primary,.btn-modal-secondary,.custom-modal-btn){min-height:var(--ui-control-h);padding:0 18px;border-radius:var(--ui-radius-control);font-family:inherit;font-size:var(--ui-text-body);font-weight:700}:root:root :is(.confirm-modal-btn.cancel,.confirm-exit-btn.cancel,.btn-modal-secondary){background:var(--background-tertiary);color:var(--text-primary);border:1px solid transparent}:root :is(.no-items-message,.empty-state-small,.sg-state,.syl-state){border:1px solid var(--border-primary);border-radius:var(--ui-radius-card);background:var(--background-secondary);color:var(--text-secondary)}:root :is(.no-items-message,.empty-state-small) h3{font-size:var(--ui-text-card);color:var(--text-primary)}:root{--tone-blue: #2563eb;--tone-purple: #7c3aed;--tone-green: #16a34a;--tone-amber: #d97706;--tone-sky: #0284c7;--tone-rose: #e11d48;--tone-teal: #0d9488;--tone-orange: #ea580c}:root.dark-mode{--tone-blue: #60a5fa;--tone-purple: #a78bfa;--tone-green: #4ade80;--tone-amber: #fbbf24;--tone-sky: #38bdf8;--tone-rose: #fb7185;--tone-teal: #2dd4bf;--tone-orange: #fb923c}.tone-blue{--tone: var(--tone-blue)}.tone-purple{--tone: var(--tone-purple)}.tone-green{--tone: var(--tone-green)}.tone-amber{--tone: var(--tone-amber)}.tone-sky{--tone: var(--tone-sky)}.tone-rose{--tone: var(--tone-rose)}.tone-teal{--tone: var(--tone-teal)}.tone-orange{--tone: var(--tone-orange)}.ui-row-tile[class*=tone-]{background:color-mix(in srgb,var(--tone) 14%,transparent);color:var(--tone)}.ui-bar>i[class*=tone-]{background:var(--tone)}:root{--ui-card-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 2px 6px -2px rgba(16, 24, 40, .06)}:root.dark-mode{--ui-card-shadow: none}:root :is(.ui-group,.ui-card,.ui-empty,.sd-card,.sd-stats,.sd>.practice-modes-selection-panel,.syl-facts,.syl-subjects,.bt-card,.bt-summary,.dpp-card,.assessment-card,.ra-card,.ra-kpi-strip,.selection-form-wrapper,.sg-card){box-shadow:var(--ui-card-shadow)}
