@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0f172a;--surface-color:#1e293b;--surface-hover:#334155;--primary-color:#6366f1;--primary-glow:#6366f166;--secondary-color:#ec4899;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#ffffff1a;--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--font-family:"Outfit", sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.2s ease;--transition-normal:.3s ease;--glass-bg:#1e293bb3;--glass-border:#ffffff14}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;line-height:1.5;display:flex}#root{width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.2}a{color:var(--primary-color);transition:color var(--transition-fast);text-decoration:none}a:hover{color:#818cf8}.app-container{width:100%;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;padding:2rem;display:flex;overflow-y:auto}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:0 8px 32px #0003}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.95rem;font-weight:500;font-family:var(--font-family);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-color), #818cf8);color:#fff;box-shadow:0 4px 15px var(--primary-glow)}.btn-primary:hover{box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff1a}.input-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.input-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.input-field{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);transition:all var(--transition-fast);background:#0003;padding:.8rem 1rem;font-size:1rem}.input-field:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.text-gradient{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.action-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff1a;justify-content:center;align-items:center;display:flex}.action-btn:hover{color:var(--text-primary);background:#ffffff1a;transform:translateY(-2px)}.edit-btn:hover{color:#818cf8;background:#6366f11a;border-color:#6366f166}.delete-btn:hover{color:#ef4444;background:#ef44441a;border-color:#ef444466}.keep-alive-hidden{display:none!important}.keep-alive-active{display:contents}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.2"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.sidebar{border-right:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);background-color:#1e293b66;flex-direction:column;width:280px;padding:1.5rem 1rem;transition:width .3s,padding .3s;display:flex}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding:0 .5rem;display:flex}.logo-container{align-items:center;gap:.75rem;display:flex}.logo-icon{color:var(--primary-color)}.logo-text{letter-spacing:-.5px;font-size:1.5rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;display:flex}.sidebar-section-title{color:var(--text-secondary);letter-spacing:1px;margin-bottom:.5rem;padding-left:.5rem;font-size:.75rem;font-weight:700}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;text-align:left;width:100%;font-size:1rem;font-weight:500;font-family:var(--font-family);background:0 0;border:none;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.nav-item:hover{color:var(--text-primary);background-color:#ffffff0d;transform:translate(4px)}.nav-item.active{color:var(--primary-color);border-left:3px solid var(--primary-color);border-radius:0 var(--radius-md) var(--radius-md) 0;background:linear-gradient(90deg,#6366f126,#0000)}.nav-item.active svg{color:var(--primary-color)}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:.5rem;margin-top:auto;padding-top:1.5rem;display:flex}.sidebar-profile{border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff0d;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem;display:flex}.profile-avatar{background:#ffffff12;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;font-weight:700;display:flex}.profile-info{flex-direction:column;display:flex;overflow:hidden}.profile-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.profile-role{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.sidebar.collapsed{align-items:center;width:80px;padding:1.5rem .5rem}.sidebar.collapsed .logo-text,.sidebar.collapsed .sidebar-section-title,.sidebar.collapsed .profile-info{display:none}.sidebar.collapsed .logo-container{justify-content:center;width:100%}.sidebar.collapsed .sidebar-header{flex-direction:column;align-items:center;gap:1rem;width:100%;margin-bottom:2rem;padding:0;display:flex}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:.8rem}.sidebar.collapsed .nav-item span{display:none}.sidebar.collapsed .sidebar-profile{justify-content:center;width:100%;padding:.5rem 0}.sidebar.collapsed .sidebar-profile .profile-avatar{margin:0}.menu-toggle-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex}.menu-toggle-btn:hover{color:var(--text-primary);background:#ffffff0d}.page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-title{margin-bottom:.25rem;font-size:1.8rem}.page-subtitle{color:var(--text-secondary);font-size:.95rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex}.stat-icon-wrapper{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon-wrapper.success{color:var(--success-color);background:#10b98126}.stat-icon-wrapper.primary{color:var(--primary-color);background:#6366f126}.stat-icon-wrapper.warning{color:var(--warning-color);background:#f59e0b26}.stat-content{flex:1}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.85rem;font-weight:500}.stat-value{margin-bottom:.25rem;font-size:1.8rem}.stat-trend{align-items:center;gap:.25rem;font-size:.85rem;display:flex}.stat-trend.success{color:var(--success-color)}.stat-trend.danger{color:var(--danger-color)}.panel-title{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.2rem}.chart-placeholder{justify-content:center;align-items:flex-end;height:300px;padding-top:2rem;display:flex}.chart-bars{align-items:flex-end;gap:2rem;height:100%;display:flex}.bar{background:linear-gradient(180deg, var(--primary-color), #6366f133);border-radius:4px 4px 0 0;width:40px;transition:height 1s ease-out;position:relative}.bar.warning{background:linear-gradient(180deg, var(--danger-color), #ef444433)}.bar-value{color:var(--text-primary);font-size:.8rem;font-weight:600;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.bar-label{color:var(--text-secondary);white-space:nowrap;font-size:.8rem;position:absolute;bottom:-25px;left:50%;transform:translate(-50%)}.dashboard-content-grid{grid-template-columns:1.4fr 1fr;gap:1.5rem;margin-top:2rem;display:grid}@media (width<=1024px){.dashboard-content-grid{grid-template-columns:1fr}}.btn-refresh{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);background:#ffffff0d;padding:.5rem}.btn-refresh:hover{color:var(--text-primary);background:#ffffff1a}.no-data-placeholder{height:250px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;font-size:.95rem;display:flex}.activity-list{flex-direction:column;gap:.75rem;max-height:300px;display:flex;overflow-y:auto}.activity-item{border-radius:var(--radius-sm);transition:background var(--transition-fast);background:#00000026;border:1px solid #ffffff08;align-items:flex-start;gap:1rem;padding:.75rem;display:flex}.activity-item:hover{background:#ffffff08}.activity-icon-wrapper{color:var(--primary-color);border-radius:var(--radius-sm);background:#6366f11a;justify-content:center;align-items:center;padding:.5rem;display:flex}.activity-details{flex-direction:column;flex:1;gap:.15rem;display:flex}.activity-header{justify-content:space-between;align-items:center;display:flex}.activity-student{color:var(--text-primary);font-size:.9rem;font-weight:500}.activity-desc{color:var(--text-secondary);margin:0;font-size:.8rem}.activity-time{color:var(--text-secondary);opacity:.7;align-self:flex-end;font-size:.7rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0f172acc;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:500px;max-height:85vh;display:flex;box-shadow:0 10px 40px #0000004d}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-title{font-size:1.2rem;font-weight:600}.modal-close-btn{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close-btn:hover{color:var(--danger-color)}.modal-body{padding:1.5rem;overflow-y:auto}.modal-container.modal-lg{max-width:800px}.modal-container.modal-xl{width:90vw;max-width:90vw;height:90vh;max-height:90vh}.filters-bar{gap:1rem;margin-bottom:1.5rem;display:flex}.search-box{flex:1;align-items:center;display:flex;position:relative}.search-icon{color:var(--text-secondary);position:absolute;left:1rem}.search-input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);transition:all var(--transition-fast);background:#0003;padding:.8rem 1rem .8rem 2.8rem;font-size:.95rem}.search-input:focus{border-color:var(--primary-color);background:#0000004d;outline:none}.table-container{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);padding:1rem;font-size:.85rem;font-weight:500}.data-table td{vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:1.25rem 1rem}.user-info{align-items:center;gap:1rem;display:flex}.avatar{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:.9rem;font-weight:600;display:flex}.user-name{margin-bottom:.2rem;font-weight:500}.user-email{color:var(--text-secondary);font-size:.85rem}.badge{border-radius:var(--radius-full);padding:.35rem .75rem;font-size:.8rem;font-weight:500;display:inline-block}.badge-success{color:var(--success-color);background:#10b98126;border:1px solid #10b9814d}.badge-danger{color:var(--danger-color);background:#ef444426;border:1px solid #ef44444d}.badge-warning{color:var(--warning-color);background:#f59e0b26;border:1px solid #f59e0b4d}.btn-link{color:var(--primary-color);font-family:var(--font-family);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;font-weight:500}.btn-link:hover{color:#818cf8;text-decoration:underline}.materials-grid{grid-template-columns:1.15fr .85fr;gap:1.5rem;display:grid}.step-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:14px;margin-bottom:1.25rem;padding:1.25rem;transition:all .2s}.step-card:hover{border-color:#6366f140}.step-card-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.step-number{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:flex;box-shadow:0 4px 12px #6366f159}.step-title{color:#fff;margin:0;font-size:.95rem;font-weight:700}.step-subtitle{color:var(--text-secondary);margin:0;font-size:.75rem}.objective-cards-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=768px){.objective-cards-grid{grid-template-columns:1fr}}.objective-card{cursor:pointer;background:#ffffff08;border:2px solid #ffffff14;border-radius:12px;flex-direction:column;gap:.6rem;padding:1.1rem;transition:all .25s;display:flex;position:relative}.objective-card:hover{background:#6366f10f;border-color:#6366f166;transform:translateY(-2px)}.objective-card.selected{background:linear-gradient(135deg,#6366f126 0%,#a855f71a 100%);border-color:#6366f1;box-shadow:0 0 20px #6366f140}.objective-card-header{align-items:center;gap:.6rem;display:flex}.objective-card-icon{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.objective-card-icon.pos{color:#818cf8;background:#6366f133}.objective-card-icon.pre{color:#34d399;background:#10b98133}.objective-card-title{color:#fff;font-size:.9rem;font-weight:700}.objective-card-desc{color:var(--text-secondary);font-size:.75rem;line-height:1.35}.advanced-accordion-header{cursor:pointer;color:var(--text-secondary);background:#ffffff08;border:1px solid #ffffff12;border-radius:10px;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.advanced-accordion-header:hover{color:#fff;background:#ffffff0f}.advanced-accordion-content{background:#00000026;border:1px solid #ffffff0d;border-top:none;border-radius:0 0 10px 10px;margin-bottom:1rem;padding:1rem}.dropzones-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (width<=1200px){.dropzones-grid{grid-template-columns:1fr}}.category-dropzone{border-radius:var(--radius-md);text-align:center;transition:all var(--transition-normal);cursor:pointer;background:linear-gradient(145deg,#1e293b66,#0f172a33);border:2px dashed #ffffff1f;flex-direction:column;align-items:center;gap:.5rem;min-height:120px;padding:1rem;display:flex}.category-dropzone:hover{border-color:var(--cat-color,var(--primary-color));background:linear-gradient(145deg,#6366f10f,#1e293b80);transform:translateY(-2px);box-shadow:0 6px 20px #0003}.category-dropzone.drag-active{border-color:var(--cat-color,var(--primary-color));box-shadow:0 0 16px color-mix(in srgb, var(--cat-color,var(--primary-color)) 30%, transparent);background:#6366f11f;transform:scale(1.02)}.cat-dropzone-header{align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.cat-icon{font-size:1.1rem}.cat-label{color:var(--text-primary)}.cat-dropzone-hint{color:var(--text-secondary);margin:0;font-size:.75rem}.cat-dropzone-add{color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:#ffffff0d;align-items:center;gap:.3rem;margin-top:auto;padding:.25rem .6rem;font-size:.75rem;display:inline-flex}.category-dropzone:hover .cat-dropzone-add{color:var(--cat-color,var(--primary-color));background:#ffffff1a}.cat-files-list{text-align:left;flex-direction:column;gap:.3rem;width:100%;display:flex}.cat-file-item{background:#ffffff0d;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.75rem;display:flex}.cat-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cat-file-size{color:var(--text-secondary);white-space:nowrap;font-size:.65rem}.remove-file-btn{color:var(--danger-color);cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;align-items:center;padding:.1rem;display:flex}.remove-file-btn:hover{opacity:.7}.mode-toggle{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#0003;display:flex;overflow:hidden}.toggle-btn{font-size:.85rem;font-weight:500;font-family:var(--font-family);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1rem;display:flex}.toggle-btn.active{background:linear-gradient(135deg, var(--primary-color), #818cf8);color:#fff;box-shadow:0 2px 10px var(--primary-glow)}.toggle-btn:not(.active):hover{color:var(--text-primary);background:#ffffff0d}.batch-students-list{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#00000026;max-height:200px;margin-top:.5rem;padding:.75rem;overflow-y:auto}.batch-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.batch-student-item{cursor:pointer;transition:background var(--transition-fast);border-radius:4px;align-items:center;gap:.5rem;padding:.35rem .25rem;font-size:.85rem;display:flex}.batch-student-item:hover{background:#ffffff0a}.batch-student-item input[type=checkbox]{accent-color:var(--primary-color);width:16px;height:16px}.context-section{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.context-toggle-btn{width:100%;color:var(--text-secondary);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);background:#0000001a;border:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;font-weight:500;display:flex}.context-toggle-btn:hover{color:var(--text-primary);background:#0003}.context-toggle-btn>:last-child{margin-left:auto}.context-fields{flex-direction:column;gap:.25rem;padding:1rem;display:flex}.context-fields .input-group{margin-bottom:.5rem}.context-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=600px){.context-row{grid-template-columns:1fr}}.grade-inputs{align-items:center;gap:.5rem;display:flex}.grade-inputs .input-field{text-align:center;flex:1}.grade-separator{color:var(--text-secondary);font-size:1.2rem;font-weight:600}.analysis-list{flex-direction:column;gap:1rem;display:flex}.analysis-card{border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all var(--transition-fast);background:#0003;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.analysis-card:hover{background:linear-gradient(90deg,#1e293be6,#1e293b99);border-color:#6366f166;transform:translate(4px);box-shadow:0 4px 15px #0003}.analysis-icon{border-radius:var(--radius-md);background:#6366f11a;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.text-primary{color:var(--primary-color)}.analysis-details{flex:1;min-width:0}.analysis-details h4{margin-bottom:.25rem;font-size:1rem}.analysis-details p{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem}.analysis-meta{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.analysis-meta .date{color:var(--text-secondary)}.analysis-meta .badge{align-items:center;gap:.25rem;padding:.2rem .5rem;display:flex}.badge-subject{color:#818cf8;background:#6366f11f;border:1px solid #6366f140}.badge-info{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf840}.badge-grade{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b40}.analysis-grade{color:var(--text-primary);font-weight:600}.evolution-up{color:var(--success-color);font-weight:700}.evolution-down{color:var(--danger-color);font-weight:700}.timeline-mode .analysis-card{padding-left:2.5rem;position:relative}.timeline-dot-wrapper{flex-direction:column;align-items:center;display:flex;position:absolute;top:1.25rem;left:.75rem}.timeline-dot{z-index:1;border-radius:50%;flex-shrink:0;width:12px;height:12px}.dot-success{background:var(--success-color);box-shadow:0 0 8px #10b98166}.dot-warning{background:var(--warning-color);box-shadow:0 0 8px #f59e0b66}.dot-danger{background:var(--danger-color);box-shadow:0 0 8px #ef444466}.timeline-line{background:#ffffff1a;flex:1;width:2px;min-height:40px;margin-top:4px}.ai-analyze-btn{letter-spacing:.5px;background:linear-gradient(135deg,#6366f1,#ec4899);padding:1rem;font-size:1.05rem;box-shadow:0 4px 20px #ec48994d}.ai-analyze-btn:hover{box-shadow:0 6px 25px #ec489980}@keyframes pulse-glow{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.ai-icon{animation:2s infinite pulse-glow}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.custom-select-wrapper{width:100%;position:relative}.custom-select-dropdown{border-radius:var(--radius-md);z-index:100;background:#1e293b;border:1px solid #ffffff1a;max-height:200px;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #0006}.dropdown-item{cursor:pointer;color:var(--text-primary);transition:background var(--transition-fast);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.9rem;display:flex}.dropdown-item:hover{background:#ffffff0d}.dropdown-item.selected{color:var(--primary-color);background:#6366f133;font-weight:500}.dropdown-no-results{color:var(--text-secondary);text-align:center;padding:1rem;font-size:.9rem}.student-class{color:var(--text-secondary);font-size:.8rem}.plan-context-summary{flex-wrap:wrap;gap:.5rem;display:flex}.plan-files-section{background:#ffffff08;border-radius:8px;flex-direction:column;gap:.25rem;padding:.75rem;font-size:.85rem;display:flex}.plan-files-label{color:var(--text-secondary);margin-bottom:.25rem;font-weight:600}.plan-file-link{align-items:center;gap:.4rem;width:fit-content;text-decoration:underline;display:inline-flex}.file-type-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.1rem .4rem;font-size:.65rem;font-weight:600}.ft-prova{color:#818cf8;background:#6366f126}.ft-gabarito{color:#10b981;background:#10b98126}.ft-material{color:#f59e0b;background:#f59e0b26}.study-plan-markdown{color:#e2e8f0;max-height:480px;padding-right:.75rem;font-size:.95rem;line-height:1.8;overflow-y:auto}.study-plan-markdown::-webkit-scrollbar{width:6px}.study-plan-markdown::-webkit-scrollbar-track{background:0 0}.study-plan-markdown::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.study-plan-markdown::-webkit-scrollbar-thumb:hover{background:#fff3}.study-plan-markdown h1{color:#a5b4fc;border-bottom:1px solid #ffffff1a;margin:1.5rem 0 1rem;padding-bottom:.4rem;font-size:1.5rem;font-weight:700}.study-plan-markdown h2{color:#818cf8;margin:1.25rem 0 .75rem;font-size:1.2rem;font-weight:600}.study-plan-markdown h3{color:#38bdf8;margin:1rem 0 .5rem;font-size:1.05rem;font-weight:600}.study-plan-markdown p{color:#cbd5e1;margin-bottom:.75rem}.study-plan-markdown ul,.study-plan-markdown ol{color:#cbd5e1;margin-bottom:1rem;padding-left:1.5rem}.study-plan-markdown li{margin-bottom:.4rem}.study-plan-markdown li::marker{color:#6366f1}.study-plan-markdown strong{color:#f8fafc;font-weight:600}.study-plan-markdown em{color:#94a3b8;font-style:italic}.study-plan-markdown table{border-collapse:collapse;background:#00000026;border-radius:6px;width:100%;margin:1.25rem 0;font-size:.85rem;overflow:hidden}.study-plan-markdown th,.study-plan-markdown td{text-align:left;border:1px solid #ffffff14;padding:.65rem 1rem}.study-plan-markdown th{color:#a5b4fc;background:#6366f114;font-weight:600}.study-plan-markdown tr:hover{background:#ffffff05}.study-plan-markdown blockquote{color:#94a3b8;background:#6366f10a;border-left:4px solid #6366f1;border-radius:0 8px 8px 0;margin:1rem 0;padding:.75rem 1.25rem}.study-plan-markdown code{color:#f43f5e;background:#ffffff0f;border-radius:4px;padding:.15rem .35rem;font-family:monospace;font-size:.85em}.study-plan-markdown hr{border:none;border-top:1px solid #ffffff14;margin:1.5rem 0}.plan-file-link-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f11a;color:var(--text-primary)!important;background:#ffffff14!important;border-color:#6366f14d!important}.plan-modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}@media print{.sidebar,aside,.sidebar-header,.sidebar-nav,.sidebar-footer,header,footer,nav,button,.btn,.no-print,.plan-modal-footer,.modal-header,.modal-close-btn,.plan-context-summary,.plan-files-section,.study-plan-tasks-panel,.panel-header,.mode-toggle,.input-group,.btn-block,.materials-grid h4,h4+button{display:none!important}h4:has(+div .print-area){display:none!important}.materials-grid>div:first-child,.materials-grid>form>div:first-child{display:none!important}.modal-overlay{background:0 0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.modal-container{box-shadow:none!important;background:0 0!important;border:none!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.modal-body{max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}html,body,#root,.app-container,.main-content,.materials-grid,.glass-panel,form,.study-plan-layout,.study-plan-markdown,.plan-markdown-preview{width:100%!important;max-width:100%!important;box-shadow:none!important;background:0 0!important;border:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.print-area{color:#000!important;background:#fff!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;font-family:Outfit,Inter,Arial,sans-serif!important;font-size:11pt!important;line-height:1.5!important;display:block!important;overflow:visible!important}.print-area h1,.print-area h2,.print-area h3,.print-area h4{color:#000!important;margin-top:1.2rem!important;margin-bottom:.8rem!important;font-weight:700!important}.print-area h2{border-bottom:1px solid #000!important;padding-bottom:5px!important;font-size:16pt!important}.print-area ul,.print-area ol{margin-bottom:1.25rem!important;margin-left:20px!important}.print-area li{margin-bottom:.5rem!important}.print-area table{border-collapse:collapse!important;width:100%!important;margin-bottom:1.5rem!important}.print-area th,.print-area td{text-align:left!important;border:1px solid #666!important;padding:6px 10px!important;font-size:10pt!important}.print-area th{background:#eaeaea!important;font-weight:700!important}}.document-paper{color:#1e293b;border-radius:var(--radius-sm);box-sizing:border-box;text-align:left;background-color:#fff;border:1px solid #ffffff1a;width:100%;max-width:800px;min-height:842px;margin:0 auto;padding:3rem 2.5rem;font-family:Outfit,Inter,sans-serif;font-size:10.5pt;line-height:1.6;box-shadow:0 10px 25px -5px #0006,0 8px 10px -6px #0006}.document-paper .markdown-body-render{color:#1e293b!important}.document-paper th{background:#f1f5f9;font-weight:700}@media print{.document-paper{color:#000!important;box-shadow:none!important;background:#fff!important;border:none!important;width:100%!important;max-width:100%!important;min-height:auto!important;margin:0!important;padding:0!important}}.modern-exam-header{border-radius:var(--radius-sm);color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:1.5rem;padding:1.25rem;box-shadow:inset 0 1px 2px #00000005}.exam-header-main{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.exam-logo-box{align-items:center;gap:.75rem;display:flex}.exam-logo-circle{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary-color), #818cf8);color:#fff;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.exam-logo-icon{color:#fff!important}.exam-institution-info{text-align:left;flex-direction:column;display:flex}.exam-school-title{letter-spacing:.5px;text-transform:uppercase;color:#0f172a;font-size:.85rem;font-weight:700}.exam-sub-title{color:#64748b;font-size:.7rem;font-weight:500}.exam-badge{color:var(--primary-color);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;background:#6366f11a;border:1px solid #6366f140;padding:.2rem .6rem;font-size:.7rem;font-weight:700}.exam-header-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.75rem;display:grid}.exam-field{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:.15rem;padding:.4rem .6rem;display:flex}.exam-field.col-span-2{grid-column:span 2}.exam-field.col-span-3{grid-column:span 3}.exam-field-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.6rem;font-weight:700}.exam-field-value{color:#1e293b;font-size:.8rem;font-weight:600}.exam-field-value.line-placeholder{border-bottom:1px dashed #cbd5e1;height:1.1rem;margin-bottom:1px}.exam-doc-title{text-align:center;color:#0f172a;text-transform:uppercase;letter-spacing:.5px;margin-top:1.25rem;margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.exam-divider{background:#e2e8f0;height:1px;margin-top:.75rem}@media print{.modern-exam-header{box-shadow:none!important;color:#000!important;background:#fff!important;border:2px solid #000!important;border-radius:0!important;margin-bottom:15px!important;padding:12px!important}.exam-logo-circle{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;box-shadow:none!important;background:#fff!important;border:2px solid #000!important}.exam-logo-icon{color:#000!important}.exam-school-title{color:#000!important;font-size:10pt!important}.exam-sub-title{color:#000!important;font-size:8pt!important}.exam-badge{color:#000!important;background:#fff!important;border:1px solid #000!important;font-size:7pt!important}.exam-header-grid{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin-top:6px!important}.exam-field{background:#fff!important;border:1px solid #000!important;border-radius:0!important;padding:3px 6px!important}.exam-field-label{color:#000!important;font-size:7pt!important}.exam-field-value{color:#000!important;font-size:9pt!important}.exam-field-value.line-placeholder{border-bottom:1px solid #000!important}.exam-doc-title{color:#000!important;margin-top:10px!important;font-size:12pt!important}.exam-divider{background:0 0!important;border-bottom:1px solid #000!important;margin-top:8px!important}}.ai-chat-logs-panel{flex-direction:column;height:590px;display:flex}.panel-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.ai-logs-container{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0f172a66;flex-direction:column;flex:1;min-height:380px;padding:1rem;display:flex;position:relative;overflow:hidden}.empty-logs-state{text-align:center;max-width:320px;color:var(--text-secondary);flex-direction:column;align-items:center;gap:.75rem;margin:auto;display:flex}.empty-logs-state h4{color:var(--text-primary);margin:0}.empty-logs-state p{margin:0;font-size:.8rem;line-height:1.4}.animate-bounce-slow{animation:3s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.logs-chat-feed{flex-direction:column;flex:1;gap:1rem;padding-right:.5rem;display:flex;overflow-y:auto}.logs-chat-feed::-webkit-scrollbar{width:6px}.logs-chat-feed::-webkit-scrollbar-track{background:0 0}.logs-chat-feed::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.logs-chat-feed::-webkit-scrollbar-thumb:hover{background:#fff3}.log-bubble-wrapper{flex-direction:column;width:100%;animation:.3s cubic-bezier(.16,1,.3,1) slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.log-bubble{border-radius:var(--radius-md);max-width:90%;padding:.75rem 1rem;font-size:.85rem;line-height:1.4;box-shadow:0 4px 12px #00000026}.log-bubble-wrapper.info .log-bubble{background:#1e293bcc;border:1px solid #ffffff14;border-top-left-radius:2px;align-self:flex-start}.log-bubble-wrapper.agent .log-bubble{color:#e0e7ff;background:#6366f126;border:1px solid #6366f14d;border-top-right-radius:2px;align-self:flex-end}.log-bubble-wrapper.tool .log-bubble{color:#fef3c7;background:#f59e0b1a;border:1px solid #f59e0b40;border-top-left-radius:2px;align-self:flex-start}.log-bubble-wrapper.error .log-bubble{color:#fee2e2;background:#ef444426;border:1px solid #ef44444d;border-top-left-radius:2px;align-self:flex-start}.log-bubble-wrapper.success .log-bubble{color:#d1fae5;background:#10b98126;border:1px solid #10b9814d;border-top-right-radius:2px;align-self:flex-end}.log-bubble-header{color:var(--text-secondary);border-bottom:1px solid #ffffff0d;align-items:center;gap:.5rem;margin-bottom:.35rem;padding-bottom:.25rem;font-size:.75rem;display:flex}.log-type-icon{font-size:.85rem}.log-sender-name{color:var(--text-primary);font-weight:600}.log-time{opacity:.8;margin-left:auto;font-size:.7rem}.log-message-content{white-space:pre-wrap;word-break:break-word}.typing-indicator-wrapper{border-radius:var(--radius-md);background:#1e293b80;align-self:flex-start;align-items:center;gap:.3rem;width:fit-content;padding:.5rem 1rem;display:flex}.typing-dot{background:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typing}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.recent-analyses-bottom{transition:all var(--transition-normal)}.history-toggle-btn:hover{opacity:.85}.history-toggle-btn h3{color:var(--text-primary);font-size:1.1rem;font-weight:600}.analysis-list-bottom{grid-template-columns:1fr;gap:1rem;animation:.3s ease-out slideDown;display:grid}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-4px)}to{opacity:1;max-height:300px;transform:translateY(0)}}.materials-tabs{border-bottom:1px solid var(--border-color);gap:1rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.tab-btn{font-size:.9rem;font-weight:600;font-family:var(--font-family);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.5rem;padding:.65rem 1.25rem;display:flex}.tab-btn:hover{color:var(--text-primary);background:#ffffff0a}.tab-btn.active{color:var(--primary-color);background:#6366f11f;box-shadow:inset 0 0 0 1px #6366f133}.materials-manager-panel{animation:fadeIn var(--transition-normal) ease-out}.bimestre-columns-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1rem;display:grid}.bimestre-column-card{border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-normal);background:#0f172a59;flex-direction:column;min-height:400px;display:flex;overflow:hidden}.bimestre-column-card:hover{border-color:#6366f159;transform:translateY(-2px);box-shadow:0 8px 30px #0000004d}.bimestre-column-header{border-bottom:1px solid var(--border-color);background:#6366f10d;padding:.85rem 1.25rem}.bimestre-column-header h4{color:var(--text-primary);letter-spacing:.5px;margin:0;font-size:.95rem;font-weight:700}.bimestre-column-content{flex-direction:column;flex:1;gap:1.25rem;padding:1.25rem;display:flex}.class-material-upload-zone{border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--transition-normal);background:#00000026;border:2px dashed #ffffff1f;flex-direction:column;justify-content:center;align-items:center;min-height:90px;padding:1.5rem 1rem;display:flex}.class-material-upload-zone:hover{border-color:var(--primary-color);background:#6366f10a}.class-material-upload-zone .upload-icon{color:var(--text-secondary);transition:color var(--transition-fast), transform var(--transition-normal)}.class-material-upload-zone:hover .upload-icon{color:var(--primary-color);transform:translateY(-2px)}.class-material-upload-zone .upload-text{color:var(--text-secondary);margin-top:.35rem;font-size:.75rem;font-weight:600}.class-material-upload-zone:hover .upload-text{color:var(--text-primary)}.class-materials-list{flex-direction:column;flex:1;gap:.75rem;display:flex}.no-materials-text{color:var(--text-secondary);opacity:.6;text-align:center;margin:auto;padding:2rem 0;font-size:.8rem;font-style:italic}.class-material-item{border-radius:var(--radius-sm);transition:all var(--transition-fast);background:#ffffff08;border:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.class-material-item:hover{background:#ffffff0f;border-color:#6366f133}.material-item-details{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.material-item-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.825rem;font-weight:500;overflow:hidden}.material-item-size{color:var(--text-secondary);font-size:.7rem}.delete-material-btn{color:#ef4444a6;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;display:flex}.delete-material-btn:hover{color:var(--danger-color);background:#ef44441a}.auto-materials-alert{animation:.3s cubic-bezier(.16,1,.3,1) slideIn}.document-paper.study-plan-markdown,.document-paper.study-plan-markdown p,.document-paper.study-plan-markdown ul,.document-paper.study-plan-markdown ol,.document-paper.study-plan-markdown li,.document-paper.study-plan-markdown span{color:#1e293b!important}.document-paper.study-plan-markdown h1,.document-paper.study-plan-markdown h2,.document-paper.study-plan-markdown h3,.document-paper.study-plan-markdown h4,.document-paper.study-plan-markdown h5,.document-paper.study-plan-markdown h6{color:#0f172a!important}.document-paper.study-plan-markdown strong{color:#0f172a!important;font-weight:700!important}.document-paper.study-plan-markdown em{color:#475569!important;font-style:italic!important}.document-paper.study-plan-markdown blockquote{color:#334155!important;background:#f8fafc!important;border-left-color:#4f46e5!important}.document-paper.study-plan-markdown table{background:#fff!important;border:1px solid #e2e8f0!important}.document-paper.study-plan-markdown th,.document-paper.study-plan-markdown td{color:#334155!important;border:1px solid #cbd5e1!important}.document-paper.study-plan-markdown th{color:#0f172a!important;background:#f1f5f9!important}.upload-progress-container{flex-direction:column;gap:.5rem;width:100%;padding:.25rem 0;animation:.3s ease-out fadeInProgress;display:flex}@keyframes fadeInProgress{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.upload-progress-header{justify-content:center;align-items:center;gap:.5rem;display:flex}.upload-progress-spinner{color:var(--primary-color)}.upload-progress-counter{color:var(--primary-color);letter-spacing:.5px;font-size:.8rem;font-weight:700}.upload-progress-filename{color:var(--text-secondary);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 .5rem;font-size:.7rem;overflow:hidden}.upload-progress-bar-track{background:#ffffff0f;border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.upload-progress-bar-fill{background:linear-gradient(90deg,#6366f1,#818cf8,#a78bfa) 0 0/200% 100%;border-radius:999px;min-width:2%;height:100%;transition:width .6s cubic-bezier(.25,.46,.45,.94);position:relative}.upload-progress-bar-fill.animating{animation:2s ease-in-out infinite progressShimmer}@keyframes progressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.upload-progress-bar-fill.has-errors{background:linear-gradient(90deg,#6366f1,#f59e0b,#ef4444)}.upload-progress-percentage{color:var(--text-secondary);text-align:center;letter-spacing:.3px;font-size:.65rem;font-weight:500}.upload-progress-icon-done{color:#10b981;animation:.4s cubic-bezier(.175,.885,.32,1.275) popIn}@keyframes popIn{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.upload-progress-label-done{color:#10b981;font-size:.75rem;font-weight:700}.upload-progress-icon-error{color:#ef4444;animation:.5s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.upload-progress-label-error{color:#ef4444;font-size:.75rem;font-weight:700}.upload-progress-errors{flex-direction:column;gap:.25rem;margin-top:.15rem;display:flex}.upload-progress-error-item{color:#f87171;align-items:center;gap:.35rem;font-size:.6rem;line-height:1.2;display:flex}.upload-progress-error-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty-agents-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-top:2rem;padding:4rem 2rem;display:flex}.empty-agents-container h3{margin-bottom:.5rem;font-size:1.4rem;font-weight:600}.empty-agents-container p{color:var(--text-secondary);max-width:400px}.agents-tabs-container{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172a66;border:1px solid #ffffff12;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:.5rem;display:flex}.agents-tabs-list{flex-wrap:wrap;gap:.5rem;display:flex}.agents-tab-btn{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.agents-tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.agents-tab-btn.active{color:#a5b4fc;background:#6366f133;border-color:#6366f166;box-shadow:0 0 15px #6366f126}.agents-tab-badge{border-radius:var(--radius-full);background:#ffffff1a;padding:.1rem .45rem;font-size:.72rem;font-weight:600}.agents-tab-btn.active .agents-tab-badge{color:#fff;background:#6366f159}.agents-search-wrapper{flex:1;min-width:260px;max-width:380px;position:relative}.agents-search-input{border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff1a;outline:none;padding:.55rem .9rem .55rem 2.25rem;font-size:.85rem}.agents-search-input:focus{border-color:var(--primary-color);background:#ffffff12;box-shadow:0 0 0 2px #6366f133}.agents-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.agents-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.agent-card{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:100%;transition:all var(--transition-normal);background:#11182799;border:1px solid #ffffff14;flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex;position:relative;overflow:hidden}.agent-card:before{content:"";background:linear-gradient(90deg, var(--primary-color), #ec4899);opacity:.8;width:100%;height:4px;position:absolute;top:0;left:0}.agent-card.card-draft:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.agent-card:hover{border-color:#ffffff29;transform:translateY(-4px);box-shadow:0 14px 32px #00000059,0 0 20px #6366f11f}.agent-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.agent-icon-wrapper{border-radius:var(--radius-md);background:#6366f126;border:1px solid #6366f14d;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.agent-icon-wrapper.icon-draft{background:#f59e0b26;border-color:#f59e0b4d}.agent-icon{color:var(--primary-color)}.agent-icon-wrapper.icon-draft .agent-icon{color:#f59e0b}.agent-header-right{align-items:center;gap:.6rem;display:flex}.agent-actions{gap:.4rem;display:flex}.icon-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff1a;justify-content:center;align-items:center;display:flex}.icon-btn:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff40}.icon-btn.text-success:hover{color:#34d399;background:#10b98126;border-color:#10b9814d}.icon-btn.text-warning:hover{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b4d}.icon-btn.text-danger:hover{color:var(--danger-color);background:#ef444426;border-color:#ef44444d}.agent-card-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.15rem;font-weight:600;line-height:1.35}.agent-desc-text{color:var(--text-secondary);margin-bottom:.75rem;font-size:.82rem;line-height:1.45}.agent-badges{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.85rem;display:flex}.badge-published{color:#34d399;border-radius:var(--radius-full);background:#10b98126;border:1px solid #10b9814d;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-draft{color:#fbbf24;border-radius:var(--radius-full);background:#f59e0b26;border:1px solid #f59e0b4d;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.agent-badge-subject{color:#f472b6;border-radius:var(--radius-full);background:#ec48991f;border:1px solid #ec489940;padding:.2rem .55rem;font-size:.72rem;font-weight:500}.agent-roles-section{border-radius:var(--radius-md);background:#0003;border:1px solid #ffffff0d;flex-direction:column;gap:.35rem;margin-bottom:.85rem;padding:.6rem .75rem;display:flex}.agent-roles-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.7rem;font-weight:600}.agent-roles-pills{flex-wrap:wrap;gap:.35rem;display:flex}.role-pill{border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.7rem;font-weight:500;display:inline-flex}.agent-prompt-preview{color:var(--text-secondary);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.agent-card-footer{border-top:1px solid #ffffff0f;margin-top:auto;padding-top:.85rem}.agent-temp-info{flex-direction:column;gap:.4rem;display:flex}.temp-header{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.temp-bar-bg{border-radius:var(--radius-full);background:#0000004d;height:5px;overflow:hidden}.temp-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,#6366f1,#ec4899);height:100%}.modal-roles-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;margin-top:.35rem;display:grid}.role-checkbox-card{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;background:#ffffff08;border:1px solid #ffffff1a;align-items:center;gap:.6rem;padding:.65rem .85rem;display:flex}.role-checkbox-card:hover{background:#ffffff0f;border-color:#fff3}.role-checkbox-card.selected{background:#6366f126;border-color:#6366f166}.role-checkbox-icon{font-size:1.15rem}.role-checkbox-label{color:var(--text-primary);font-size:.85rem;font-weight:500}.publish-toggle-box{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#ffffff08;border:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-top:.5rem;padding:.9rem 1rem;display:flex}.publish-toggle-box:hover{background:#ffffff0f}.publish-toggle-info{flex-direction:column;gap:.2rem;display:flex}.publish-toggle-title{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.publish-toggle-sub{color:var(--text-secondary);font-size:.78rem}.custom-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.custom-switch input{opacity:0;width:0;height:0}.custom-switch-slider{cursor:pointer;background-color:#ffffff26;border-radius:24px;transition:all .3s;position:absolute;inset:0}.custom-switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.custom-switch input:checked+.custom-switch-slider{background-color:#10b981}.custom-switch input:checked+.custom-switch-slider:before{transform:translate(20px)}.settings-container{flex-direction:column;height:100%;display:flex}.settings-grid{grid-template-columns:1fr;width:100%;max-width:1200px;margin-top:1rem;display:grid}.settings-grid-narrow{max-width:680px}.settings-form{flex-direction:column;gap:1.5rem;display:flex}.settings-section-header{align-items:center;gap:1rem;display:flex}.settings-section-header h3{color:var(--text-primary);margin-bottom:.15rem;font-size:1.15rem;font-weight:600}.settings-section-header p{color:var(--text-secondary);font-size:.85rem}.section-icon{border-radius:var(--radius-md);width:44px;height:44px;color:var(--primary-color);background:#6366f11a;flex-shrink:0;justify-content:center;align-items:center;padding:.6rem;display:flex}.settings-divider{background:linear-gradient(90deg, var(--border-color) 0%, #ffffff05 100%);width:100%;height:1px;margin:.25rem 0}.alert-banner{border-radius:var(--radius-md);animation:fadeIn var(--transition-normal);border:1px solid #0000;align-items:center;gap:.75rem;padding:1rem;font-size:.9rem;font-weight:500;display:flex}.alert-banner.success{color:var(--success-color);background:#10b98126;border-color:#10b98140}.alert-banner.error{color:var(--danger-color);background:#ef444426;border-color:#ef444440}.label-with-help{justify-content:space-between;align-items:center;width:100%;display:flex}.help-link{color:var(--text-secondary);transition:color var(--transition-fast);align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.help-link:hover{color:var(--primary-color)}.password-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.input-icon-left{color:var(--text-secondary);pointer-events:none;transition:color var(--transition-fast);align-items:center;display:flex;position:absolute;left:1rem}.input-field.with-icons{width:100%;padding-left:2.75rem;padding-right:3rem}.input-field.with-icons:focus+.input-icon-left{color:var(--primary-color)}.password-toggle-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex;position:absolute;right:.75rem}.password-toggle-btn:hover{color:var(--text-primary);background:#ffffff0d}.input-helper-text{color:var(--text-secondary);margin-top:.25rem;font-size:.8rem;line-height:1.4}.key-configured-status{color:var(--success-color);align-items:center;gap:.25rem;font-weight:500;display:inline-flex}.inline-success-icon{flex-shrink:0}.settings-footer{justify-content:flex-end;margin-top:1rem;display:flex}.btn-save{min-width:180px}.settings-tabs{border-bottom:1px solid var(--border-color);gap:1rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.settings-tab{color:var(--text-secondary);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;display:flex}.settings-tab:hover{color:var(--text-primary)}.settings-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.users-list-wrapper{width:100%;margin-top:.5rem}.users-table{border-collapse:collapse;text-align:left;width:100%}.users-table th,.users-table td{border-bottom:1px solid var(--border-color);padding:.85rem 1rem}.users-table th{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;font-size:.85rem;font-weight:600}.users-table tbody tr{transition:background-color var(--transition-fast)}.users-table tbody tr:hover{background-color:#ffffff05}.user-table-cell-profile{align-items:center;gap:.75rem;display:flex}.user-table-avatar{width:32px;height:32px;color:var(--text-primary);background:#ffffff0d;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex}.user-table-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.user-table-email{color:var(--text-secondary);font-size:.75rem}.role-selector-select{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);background:#0000004d;outline:none;padding:.4rem .8rem;font-size:.85rem}.role-selector-select:focus{border-color:var(--primary-color)}.role-selector-select:disabled{opacity:.6;cursor:not-allowed}.role-selector-select option{background-color:var(--surface-color);color:var(--text-primary)}.users-loading-placeholder{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.spinner-element{border:2px solid #ffffff0d;border-top-color:var(--primary-color);border-radius:50%;width:28px;height:28px}.permissions-modal-container{flex-direction:column;gap:1.5rem;display:flex}.permissions-modal-subtitle{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.permissions-modal-columns{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (width<=768px){.permissions-modal-columns{grid-template-columns:1fr}}.permissions-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#00000026;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.permissions-card h4{color:var(--text-primary);border-bottom:1px solid #ffffff0d;margin-bottom:.25rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.permissions-list{flex-direction:column;gap:.75rem;max-height:240px;padding-right:.25rem;display:flex;overflow-y:auto}.permissions-list::-webkit-scrollbar{width:4px}.permissions-list::-webkit-scrollbar-track{background:0 0}.permissions-list::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1a}.permission-checkbox-label{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);align-items:center;gap:.6rem;font-size:.875rem;display:flex}.permission-checkbox-label:hover{color:var(--primary-color)}.permission-checkbox-label input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer;width:15px;height:15px}.no-meta-text{color:var(--text-secondary);text-align:center;margin:1rem 0;font-size:.8rem;font-style:italic}.permissions-modal-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;margin-top:.5rem;padding-top:1.25rem;display:flex}.status-badge{border-radius:var(--radius-full);border:1px solid #0000;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.8rem;font-weight:500;display:inline-flex}.status-badge.approved{color:var(--success-color);background:#10b9811f;border-color:#10b98133}.status-badge.pending{color:var(--warning-color);background:#f59e0b1f;border-color:#f59e0b33}.approval-action-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;transition:all var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff14;justify-content:center;align-items:center;display:flex}.approval-action-btn:hover{transform:translateY(-1px)}.approval-action-btn.approve:hover{color:var(--success-color);background:#10b9812e;border-color:#10b98166}.approval-action-btn.reject:hover{color:var(--danger-color);background:#ef44442e;border-color:#ef444466}.settings-matrix-panel{width:100%;max-width:100%!important}.matrix-table-wrapper{border-radius:var(--radius-lg);background:#0f172a66;border:1px solid #ffffff14;margin-top:.5rem;overflow-x:auto;box-shadow:0 4px 20px #0003}.matrix-table{border-collapse:collapse;width:100%;font-size:.9rem}.matrix-table thead{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#1e293bb3;border-bottom:1px solid #ffffff1a;position:sticky;top:0}.matrix-th-menu{text-align:left;color:var(--text-primary);min-width:250px;padding:1rem 1.25rem;font-weight:600}.matrix-th-role{text-align:center;min-width:120px;padding:.85rem .5rem}.matrix-th-admin{background:#6366f114}.role-col-header{flex-direction:column;align-items:center;gap:.3rem;display:flex}.role-col-icon{font-size:1.25rem;line-height:1}.role-col-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.role-col-actions{align-items:center;gap:.35rem;margin-top:.15rem;font-size:.72rem;display:flex}.role-col-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.1rem .25rem;font-weight:500;transition:all .2s}.role-col-btn:hover{background:#6366f126;text-decoration:underline}.role-col-sep{color:#fff3}.role-col-locked-badge{color:#a5b4fc;background:#6366f126;border:1px solid #6366f14d;border-radius:4px;align-items:center;gap:.25rem;margin-top:.15rem;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-flex}.matrix-section-row{background:#ffffff05;border-top:1px solid #ffffff0f;border-bottom:1px solid #ffffff0a}.matrix-section-badge{letter-spacing:.08em;color:#94a3b8;padding:.45rem 1.25rem;font-size:.72rem;font-weight:700;display:inline-block}.matrix-item-row{border-bottom:1px solid #ffffff0a;transition:background .15s}.matrix-item-row:hover{background:#ffffff06}.matrix-td-menu{padding:.75rem 1.25rem}.matrix-menu-info{align-items:center;gap:.85rem;display:flex}.matrix-menu-icon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--primary-color);background:#6366f11a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.matrix-menu-label{color:var(--text-primary);font-size:.9rem;font-weight:500;display:block}.matrix-menu-path{color:var(--text-secondary);opacity:.75;font-family:monospace;font-size:.75rem}.matrix-td-check{text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem}.matrix-td-locked{cursor:default}.matrix-check-box{color:#ffffff26;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin:0 auto;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.matrix-td-check:not(.matrix-td-locked):hover .matrix-check-box{border-color:#6366f166;transform:scale(1.08)}.matrix-check-box.active{color:#10b981;background:#10b98133;border-color:#10b98180;box-shadow:0 0 12px #10b98133}.matrix-check-box.locked{color:#a5b4fc;background:#6366f12e;border-color:#6366f166}.unchecked-icon{opacity:.3}.document-preview-container{box-sizing:border-box;flex-direction:column;flex:1;gap:0;width:100%;min-height:0;margin:0 auto;display:flex}.document-toolbar{background:var(--surface-color,#1e293b);border-bottom:1px solid var(--border-color,#ffffff14);box-sizing:border-box;z-index:5;flex-shrink:0;justify-content:space-between;align-items:center;padding:.65rem 1.25rem;display:flex}.toolbar-title-section{color:var(--text-primary,#fff);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.toolbar-actions{align-items:center;gap:.5rem;display:flex}.btn-toolbar{cursor:pointer;color:var(--text-secondary,#94a3b8);box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;height:32px;padding:5px 12px;font-size:.78rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-toolbar:hover:not(:disabled){color:var(--text-primary,#fff);background:#ffffff1a;border-color:#fff3}.btn-toolbar:disabled{opacity:.5;cursor:not-allowed}.btn-toolbar.btn-primary{background:var(--primary-color,#6366f1);color:#fff;border:none;font-weight:600}.btn-toolbar.btn-primary:hover:not(:disabled){background:var(--primary-hover,#4f46e5);box-shadow:0 0 12px #6366f14d}.a4-wrapper{box-sizing:border-box;background-color:#1a1f2e;background-image:radial-gradient(circle at 20%,#6366f108 0%,#0000 50%),radial-gradient(circle at 80% 20%,#818cf805 0%,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;flex-direction:column;flex:1;align-items:center;gap:3rem;width:100%;min-height:0;padding:3rem 2rem;display:flex;overflow-y:auto}.document-paper{box-sizing:border-box;text-align:left;border:none;border-radius:2px;flex-direction:column;flex-shrink:0;width:100%;max-width:794px;height:max-content;min-height:1122px;margin:0 auto;padding:3.5rem 3rem 2.5rem;font-family:Outfit,Inter,-apple-system,sans-serif;font-size:10.5pt;line-height:1.7;display:flex;position:relative;box-shadow:0 1px 3px #0000001f,0 4px 6px #00000014,0 12px 24px #0000001f,0 24px 48px #00000014;color:#1e293b!important;background:#fff!important}.markdown-body-render{flex:1}.page-footer{text-align:center;color:#94a3b8;letter-spacing:.08em;border-top:1px solid #e2e8f0;margin-top:auto;padding-top:1rem;font-size:.7rem;font-weight:500}.document-paper,.document-paper p,.document-paper span,.document-paper li,.document-paper ul,.document-paper ol,.document-paper td,.document-paper th,.document-paper div:not(.document-exam-logo-circle){color:#1e293b!important}.document-paper h1,.document-paper h2,.document-paper h3,.document-paper h4,.document-paper h5,.document-paper h6{margin-top:1.5rem;margin-bottom:.75rem;font-weight:700;color:#0f172a!important}.document-paper h1{border-bottom:2px solid #e2e8f0;padding-bottom:.35rem;font-size:1.55rem}.document-paper h2{border-bottom:1px solid #cbd5e1;padding-bottom:.25rem;font-size:1.3rem}.document-paper h3{font-size:1.1rem}.document-paper p{margin-bottom:.85rem}.document-paper ul,.document-paper ol{margin-bottom:1.1rem;margin-left:1.5rem}.document-paper li{margin-bottom:.4rem}.document-paper strong{font-weight:700;color:#0f172a!important}.document-paper table{border-collapse:collapse;width:100%;margin-bottom:1.5rem}.document-paper th,.document-paper td{text-align:left;border:1px solid #cbd5e1;padding:8px 12px}.document-paper th{font-weight:700;background:#f1f5f9!important}.document-paper img{border-radius:4px;max-width:100%;height:auto;margin:1.5rem auto;display:block;box-shadow:0 2px 8px #0000000d}.document-paper hr{border:0;border-top:1px dashed #cbd5e1;margin:1.5rem 0}.question-heading{page-break-after:avoid;break-after:avoid;page-break-inside:avoid;break-inside:avoid}.discursive-lines-group{flex-direction:column;width:100%;display:flex;margin-top:1.25rem!important;margin-bottom:1.5rem!important}.discursive-line-field{width:100%;height:2rem;border-bottom:1px dotted #94a3b8!important}.document-exam-header-box{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;margin-bottom:1.5rem;padding:1.25rem}.document-exam-header-top{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.document-exam-logo-section{align-items:center;gap:.75rem;display:flex}.document-exam-logo-circle{background:linear-gradient(135deg, var(--primary-color,#6366f1), #818cf8);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.document-exam-logo-icon{color:#fff!important}.document-exam-school-info{flex-direction:column;display:flex}.document-exam-school-name{text-transform:uppercase;color:#0f172a;letter-spacing:.5px;font-size:.85rem;font-weight:700}.document-exam-school-type{color:#64748b;font-size:.7rem;font-weight:500}.document-exam-badge{color:#475569;text-transform:uppercase;letter-spacing:.5px;background:#e2e8f0;border-radius:4px;padding:3px 10px;font-size:.65rem;font-weight:700}.document-exam-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.document-exam-grid-full{grid-column:span 3}.document-exam-grid-half{grid-column:span 2}.document-exam-field{color:#475569;align-items:baseline;gap:.25rem;font-size:.8rem;display:flex}.document-exam-field-label{color:#0f172a;white-space:nowrap;font-weight:600}.document-exam-field-value{color:#1e293b;border-bottom:1px dotted #cbd5e1;flex-grow:1;min-height:18px;padding-left:2px}.document-exam-doc-title{text-align:center;color:#0f172a;text-transform:uppercase;margin-top:1.25rem;font-size:1.15rem;font-weight:800}@media print{.sidebar,.document-toolbar,.page-footer,.canvas-header,.canvas-tabs,.chat-history-sidebar,.chat-input-area-wrapper,.chat-welcome-screen,.chat-messages-feed,.canvas-textarea{display:none!important}html,body{background:#fff!important;margin:0!important;padding:0!important}#root,.app-container,.main-content,.chat-page-container,.chat-main-container,.chat-canvas-drawer,.canvas-body,.canvas-preview-pane,.document-preview-container,.a4-wrapper{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;box-shadow:none!important;flex:unset!important;inset:unset!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important;transform:none!important}.document-paper{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;box-shadow:none!important;color:#000!important;flex-shrink:unset!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:.5cm 1cm!important;display:block!important;position:relative!important}.document-paper+.document-paper{page-break-before:always;break-before:page}.document-paper h1,.document-paper h2,.document-paper h3{page-break-after:avoid;break-after:avoid}.document-paper li,.document-paper blockquote,.document-exam-header-box,.discursive-lines-group{page-break-inside:avoid;break-inside:avoid}.discursive-line-field{border-bottom:1px dotted #666!important}}.plans-page-container{flex-direction:column;gap:1.5rem;display:flex}.filters-panel{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.filters-header{border-bottom:1px solid #ffffff0d;align-items:center;gap:.5rem;padding-bottom:.75rem;display:flex}.filters-title{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:600}.clear-filters-btn{color:#f87171;cursor:pointer;background:#ef444414;border:1px solid #ef444433;border-radius:6px;align-items:center;gap:.3rem;margin-left:auto;padding:4px 10px;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.clear-filters-btn:hover{color:#ef4444;background:#ef444426;border-color:#ef444466}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.search-input-wrapper{width:100%;position:relative}.search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-field{padding-left:2.25rem!important}.empty-plans-container{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-plans-container h3{color:var(--text-primary);margin:.5rem 0;font-size:1.25rem}.empty-plans-container p{max-width:400px;font-size:.9rem}.plans-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.plan-card{flex-direction:column;gap:1rem;height:100%;padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.plan-card:hover{border-color:#6366f140;transform:translateY(-2px);box-shadow:0 8px 24px #6366f114}.plan-card-header{justify-content:space-between;align-items:center;display:flex}.plan-icon-wrapper{color:var(--primary-color);background:#6366f11a;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;display:flex}.plan-card-actions{gap:.5rem;display:flex}.plan-card-body{flex-direction:column;flex-grow:1;gap:.6rem;display:flex}.plan-card-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600;line-height:1.4}.plan-card-student{color:var(--text-secondary);align-items:center;gap:.4rem;margin:0;font-size:.85rem;display:flex}.student-class-badge{color:var(--text-secondary);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;padding:1px 6px;font-size:.7rem;font-weight:500}.plan-card-badges{flex-wrap:wrap;gap:.4rem;margin:.2rem 0;display:flex}.plan-prompt-preview{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;height:3.8em;margin:0;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.plan-card-date{color:var(--text-muted);margin-top:auto;padding-top:.5rem;font-size:.75rem}.plan-card-footer{border-top:1px solid #ffffff0d;margin-top:auto;padding-top:1rem}.modal-sub-tab-btn:hover{color:var(--text-primary)!important;background:#ffffff14!important}.tutor-chat-container{box-shadow:inset 0 2px 8px #0003}.tutor-chat-container .markdown-body-render p{margin-bottom:.5rem}.tutor-chat-container .markdown-body-render p:last-child{margin-bottom:0}.flashcard-side{text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;transition:transform .6s;display:flex;box-shadow:0 4px 20px #00000040}.tutor-quiz-container button:hover:not(:disabled){color:var(--text-primary)!important;background:#ffffff14!important;border-color:#ffffff26!important}.performance-page-container{flex-direction:column;gap:1.5rem;display:flex}.performance-filters-panel{padding:1.25rem 1.5rem}.metrics-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.metric-kpi-card{align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.kpi-icon-wrapper{border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.kpi-blue{color:#60a5fa;background:#3b82f614;border:1px solid #3b82f626}.kpi-green{color:#34d399;background:#10b98114;border:1px solid #10b98126}.kpi-yellow{color:#fbbf24;background:#f59e0b14;border:1px solid #f59e0b26}.kpi-details{flex-direction:column;gap:2px;display:flex}.kpi-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.kpi-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.kpi-sub-label{color:var(--text-muted);font-size:.7rem}.performance-charts-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1.5rem;display:grid}.chart-card{flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.chart-card-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.chart-card-subtitle{color:var(--text-secondary);margin:0 0 1rem;font-size:.8rem;line-height:1.4}.chart-loading,.no-chart-data{text-align:center;height:240px;color:var(--text-secondary);background:#0000001a;border:1px dashed #ffffff0f;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:.85rem;display:flex}.chart-wrapper{background:#00000026;border:1px solid #ffffff0d;border-radius:8px;justify-content:center;align-items:center;padding:1rem;display:flex}.svg-chart text{font-family:inherit}.chart-dot-group:hover circle{r:7;stroke-width:3px;transition:r .15s,stroke-width .15s}.failure-list{flex-direction:column;gap:1rem;max-height:260px;padding-right:.25rem;display:flex;overflow-y:auto}.failure-item{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;display:flex}.failure-meta{justify-content:space-between;align-items:center;display:flex}.failure-subject-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.failure-count-badge{color:#f87171;background:#ef444414;border:1px solid #ef444433;border-radius:4px;padding:1px 6px;font-size:.7rem;font-weight:500}.progress-bar-wrapper{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.progress-bar-fill{border-radius:3px;height:100%;transition:width .3s}.failure-footer{justify-content:space-between;display:flex}.pdf-converter-container{max-width:1200px;margin:0 auto;padding:1.5rem;animation:.4s ease-in-out fadeIn}.pdf-converter-header{margin-bottom:2rem}.pdf-converter-header h2{color:var(--text-primary);margin-bottom:.5rem;font-size:1.85rem;font-weight:700}.pdf-converter-header p{color:var(--text-secondary);font-size:.95rem}.pdf-converter-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=992px){.pdf-converter-grid{grid-template-columns:2fr 1fr}}.dropzone-container{border-radius:var(--radius-lg);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff03;border:2px dashed #6366f133;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.dropzone-container:hover,.dropzone-container.drag-active{border-color:var(--primary-color);background:#6366f108;box-shadow:0 8px 32px #6366f114}.dropzone-icon{color:var(--primary-color);borderRadius:var(--radius-md);background:#6366f11a;margin-bottom:.5rem;padding:1rem;transition:transform .2s}.dropzone-container:hover .dropzone-icon{transform:translateY(-5px)}.dropzone-text{color:var(--text-primary);font-size:1rem;font-weight:500}.dropzone-subtext{color:var(--text-secondary);font-size:.85rem}.images-list-container{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.image-row-card{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff0d;align-items:center;gap:1.25rem;padding:1rem;transition:all .2s;display:flex}.image-row-card:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translate(4px)}.page-badge{color:var(--primary-color);background:#6366f11f;border-radius:50%;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.thumbnail-preview{object-fit:cover;border-radius:var(--radius-sm);background:#000;border:1px solid #ffffff14;width:50px;height:50px}.image-details{flex:1;min-width:0}.image-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.15rem;font-size:.9rem;font-weight:600;overflow:hidden}.image-meta{color:var(--text-secondary);font-size:.75rem}.image-actions{gap:.35rem;display:flex}.btn-icon{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex}.btn-icon:hover:not(:disabled){color:var(--text-primary);background:#ffffff0d}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-icon.delete-btn:hover{color:#ef4444;background:#ef44441a}.settings-column{flex-direction:column;gap:1.5rem;display:flex}.settings-card{padding:1.5rem}.settings-card h3{color:var(--text-primary);border-bottom:1px solid #ffffff0d;margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.btn-convert{background:var(--primary-color);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.85rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.btn-convert:hover:not(:disabled){opacity:.95;box-shadow:0 0 16px #6366f14d}.btn-convert:disabled{color:var(--text-secondary);cursor:not-allowed;background:#ffffff0d;border:1px solid #ffffff0d}.progress-bar-container{background:#ffffff0d;border-radius:3px;width:100%;height:6px;margin-top:.5rem;overflow:hidden}.progress-bar-fill{background:var(--primary-color);height:100%;transition:width .2s ease-in-out}.floating-debug-btn{color:#e2e8f0;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:999;background:#1e202ae6;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s ease-in-out;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #0006}.floating-debug-btn:hover{background:#2d303ef2;border-color:#ffffff4d;transform:scale(1.08);box-shadow:0 12px 32px #0009}.pulse-icon{color:#60a5fa}.debug-badge-count{color:#fff;background:#3b82f6;border:2px solid #1e202a;border-radius:10px;padding:2px 6px;font-size:.65rem;font-weight:700;position:absolute;top:-4px;right:-4px}.debug-drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:flex-end;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.debug-drawer-container{color:#e2e8f0;background:#18191e;border-left:1px solid #ffffff1a;flex-direction:column;width:480px;max-width:100vw;height:100vh;font-family:inherit;animation:.25s ease-out slideInRight;display:flex;box-shadow:-8px 0 32px #0009}.debug-drawer-header{background:#1e2026;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;display:flex}.debug-drawer-title{align-items:center;gap:.6rem;display:flex}.debug-drawer-title h2{color:#f8fafc;margin:0;font-size:1.15rem;font-weight:600}.header-icon{color:#60a5fa}.debug-drawer-actions{align-items:center;gap:.5rem;display:flex}.btn-refresh-debug{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.btn-refresh-debug:hover:not(:disabled){color:#60a5fa;background:#3b82f633;border-color:#60a5fa66}.btn-refresh-debug:disabled{opacity:.5;cursor:not-allowed}.spin-icon{animation:.8s linear infinite spin}.btn-close-debug{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.btn-close-debug:hover{color:#fff;background:#ffffff1a}.debug-drawer-body{flex-direction:column;flex:1;gap:1.25rem;padding:1.25rem 1.25rem 3rem;display:flex;overflow-y:auto}.debug-drawer-body::-webkit-scrollbar{width:6px}.debug-drawer-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.debug-section{background:#20222a;border:1px solid #ffffff14;border-radius:12px;flex-shrink:0;min-height:fit-content;overflow:hidden}.debug-section-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;transition:background .15s;display:flex}.debug-section-header:hover{background:#ffffff0d}.section-title-left{color:#f1f5f9;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.debug-summary-grid{grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem;display:grid}.summary-card{background:#272933;border:1px solid #ffffff0f;border-radius:10px;align-items:flex-start;gap:.75rem;padding:.85rem;display:flex}.summary-icon{color:#94a3b8;background:#ffffff0f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.summary-info{flex-direction:column;display:flex;overflow:hidden}.summary-label{color:#94a3b8;font-size:.75rem;font-weight:500}.summary-val{color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-size:1.05rem;font-weight:700;overflow:hidden}.summary-sub{color:#64748b;font-size:.7rem}.costs-by-type-list{flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.cost-type-item{background:#272933;border:1px solid #ffffff0a;border-radius:8px;justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.cost-type-right{flex-direction:column;align-items:flex-end;display:flex}.cost-type-amount{color:#f1f5f9;font-size:.85rem;font-weight:700}.cost-type-tokens{color:#64748b;font-size:.7rem}.badge-pill{letter-spacing:.5px;text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:.65rem;font-weight:800;display:inline-block}.badge-thought{color:#c084fc;background:#8b5cf633;border:1px solid #8b5cf666}.badge-embedded{color:#34d399;background:#10b98133;border:1px solid #10b98166}.badge-final{color:#f87171;background:#ef444433;border:1px solid #ef444466}.badge-extract{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66}.badge-compressor{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f666}.badge-rerank{color:#f472b6;background:#ec489933;border:1px solid #ec489966}.badge-default{color:#cbd5e1;background:#94a3b833;border:1px solid #94a3b866}.timeline-steps-list{flex-direction:column;gap:.6rem;padding:.75rem 1rem 1rem;display:flex}.timeline-step-row{background:#272933;border:1px solid #ffffff0a;border-radius:8px;justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.timeline-step-left{align-items:center;gap:.6rem;display:flex;overflow:hidden}.timeline-step-meta{flex-direction:column;display:flex;overflow:hidden}.timeline-model-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.78rem;font-weight:500;overflow:hidden}.timeline-latency{color:#64748b;font-size:.68rem}.timeline-step-right{flex-direction:column;align-items:flex-end;display:flex}.timeline-tokens{color:#cbd5e1;font-size:.75rem}.timeline-cost{color:#94a3b8;font-size:.7rem;font-weight:600}.interactions-list{flex-direction:column;gap:1rem;padding:.75rem 1rem 1rem;display:flex}.interaction-turn-card{background:#272933;border:1px solid #ffffff0f;border-radius:10px;flex-direction:column;gap:.6rem;padding:.85rem;display:flex}.turn-timestamp-row{justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.turn-role-human{color:#94a3b8;letter-spacing:.5px;font-weight:700}.turn-role-ai{color:#60a5fa;letter-spacing:.5px;font-weight:700}.turn-time{color:#64748b}.turn-steps-list{flex-direction:column;gap:.5rem;margin-top:.4rem;display:flex}.turn-step-subcard{background:#1e2028;border:1px solid #ffffff0a;border-radius:6px;padding:.55rem .75rem}.subcard-header{justify-content:space-between;align-items:center;display:flex}.subcard-model{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;max-width:170px;font-size:.75rem;overflow:hidden}.btn-view-step-json{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;transition:all .15s}.btn-view-step-json:hover{color:#60a5fa;background:#ffffff14}.subcard-metrics{justify-content:space-between;align-items:center;margin-top:4px;font-size:.72rem;display:flex}.subcard-tokens{color:#94a3b8}.subcard-cost{color:#f1f5f9;font-weight:600}.debug-empty-text{color:#94a3b8;text-align:center;margin:0;padding:1.5rem 1rem;font-size:.82rem}.json-modal-overlay{z-index:10005;background:#000000bf;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1.5rem;display:flex;position:fixed;top:0;left:0}.json-modal-box{background:#18191e;border:1px solid #ffffff26;border-radius:12px;flex-direction:column;width:500px;max-width:90vw;max-height:80vh;display:flex;box-shadow:0 16px 40px #000c}.json-modal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.json-modal-header h3{color:#f8fafc;margin:0;font-size:.95rem}.json-modal-content{color:#38bdf8;background:#111216;border-radius:0 0 12px 12px;margin:0;padding:1rem 1.25rem;font-family:monospace;font-size:.75rem;overflow-y:auto}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.chat-page-container{background:var(--bg-color);height:calc(100vh - 4rem);margin:-2rem;display:flex;position:relative;overflow:hidden}.chat-history-sidebar{z-index:10;-webkit-backdrop-filter:blur(12px);background:#0f172ab3;border-right:1px solid #ffffff0f;flex-direction:column;width:280px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.chat-history-sidebar.collapsed{border-right:none;width:0;overflow:hidden}.sidebar-header-chat{align-items:center;gap:.5rem;padding:1rem 1rem .75rem;display:flex}.btn-new-chat{border-radius:var(--radius-md);color:var(--primary-color);cursor:pointer;background:linear-gradient(135deg,#6366f126,#8b5cf61a);border:1px solid #6366f140;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.7rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.btn-new-chat:hover{background:linear-gradient(135deg, var(--primary-color), #8b5cf6);color:#fff;border-color:#0000;transform:translateY(-1px);box-shadow:0 4px 15px #6366f14d}.sidebar-close-btn-inner{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.sidebar-close-btn-inner:hover{color:var(--text-primary);background:#ffffff14}.chat-search-wrapper{align-items:center;margin-bottom:.5rem;padding:0 .75rem;display:flex;position:relative}.chat-search-icon{color:var(--text-secondary);pointer-events:none;opacity:.5;position:absolute;left:1.5rem}.chat-search-input{border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:.8rem;font-family:var(--font-family);background:#ffffff0a;border:1px solid #0000;padding:.55rem 2rem .55rem 2.25rem;transition:all .2s}.chat-search-input:focus{background:#ffffff0f;border-color:#6366f166;outline:none}.chat-search-input::placeholder{color:var(--text-secondary);opacity:.6}.chat-search-clear{width:18px;height:18px;color:var(--text-secondary);cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;right:1.25rem}.chat-search-clear:hover{background:var(--primary-color);color:#fff}.chat-selection-toolbar{border-radius:var(--radius-md);opacity:0;background:#ffffff08;border:1px solid #ffffff0f;justify-content:space-between;align-items:center;max-height:0;margin:.25rem .75rem;padding:.35rem .6rem;font-size:.75rem;transition:all .25s;display:flex;overflow:hidden}.chat-sessions-list.manage-mode~.chat-selection-toolbar,.chat-selection-toolbar.visible,.chat-selection-toolbar{opacity:1;max-height:50px}.btn-select-all-chats{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.35rem;padding:2px 4px;font-size:.75rem;transition:color .15s;display:flex}.btn-select-all-chats:hover{color:var(--text-primary)}.btn-bulk-delete-chats{color:#ef4444;cursor:pointer;background:#ef44441f;border:1px solid #ef444433;border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.7rem;font-weight:600;transition:all .15s;display:flex}.btn-bulk-delete-chats:hover{color:#fff;background:#ef4444}.chat-item-checkbox{width:14px;height:14px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.chat-sessions-list{flex-direction:column;flex:1;gap:1px;padding:.25rem .5rem;display:flex;overflow-y:auto}.history-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);opacity:.6;margin:0;padding:.75rem .75rem .35rem;font-size:.65rem;font-weight:700}.chat-session-item{color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .65rem;font-size:.85rem;transition:all .15s;display:flex;position:relative}.chat-session-item:hover{color:var(--text-primary);background:#ffffff0d}.chat-session-item.active{color:var(--primary-color);background:#6366f11a;font-weight:500}.chat-session-item.active:before{content:"";background:var(--primary-color);border-radius:0 3px 3px 0;width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.chat-session-item.selected{background:#6366f114}.chat-title-wrapper{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.chat-title-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-item-actions{opacity:0;gap:.15rem;transition:opacity .15s;display:flex}.chat-session-item:hover .chat-item-actions{opacity:1}.action-btn-mini{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:all .15s;display:flex}.action-btn-mini:hover{color:var(--text-primary);background:#ffffff1a}.action-btn-mini.delete-btn:hover{color:#ef4444;background:#ef44441a}.chat-main-container{background:var(--bg-color);flex-direction:column;flex:1;min-width:0;height:100%;display:flex;position:relative}.floating-sidebar-toggle{z-index:10;color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#1e293bcc;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex;position:absolute;top:1rem;left:1rem;box-shadow:0 4px 12px #0003}.floating-sidebar-toggle:hover{background:#6366f126;border-color:#6366f14d;transform:scale(1.05)}.chat-welcome-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:820px;margin:0 auto;padding:2rem;display:flex;overflow-y:auto}.greeting-title{text-align:center;letter-spacing:-1.5px;margin-bottom:.5rem;font-size:3rem;font-weight:700;line-height:1.15}.text-gradient-gemini{background:linear-gradient(74deg,#4285f4 0%,#9b72cb 30%,#d96570 70%,#f3af4a 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.greeting-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:2.5rem;font-size:1.15rem;font-weight:400}.suggestions-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;width:100%;display:grid}.suggestion-card{cursor:pointer;text-align:left;background:#1e293b66;border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;gap:.75rem;padding:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.suggestion-card:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#0000,#0000);border-radius:14px;padding:1px;transition:background .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.suggestion-card:first-child:hover:before{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.suggestion-card:nth-child(2):hover:before{background:linear-gradient(135deg,#06b6d4,#3b82f6)}.suggestion-card:nth-child(3):hover:before{background:linear-gradient(135deg,#f59e0b,#ef4444)}.suggestion-card:nth-child(4):hover:before{background:linear-gradient(135deg,#10b981,#06b6d4)}.suggestion-card:hover{background:#ffffff0a;transform:translateY(-3px);box-shadow:0 8px 25px #0003}.suggestion-icon-container{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.suggestion-card:first-child .suggestion-icon-container{color:#a78bfa;background:linear-gradient(135deg,#6366f133,#8b5cf626)}.suggestion-card:nth-child(2) .suggestion-icon-container{color:#67e8f9;background:linear-gradient(135deg,#06b6d433,#3b82f626)}.suggestion-card:nth-child(3) .suggestion-icon-container{color:#fbbf24;background:linear-gradient(135deg,#f59e0b33,#ef444426)}.suggestion-card:nth-child(4) .suggestion-icon-container{color:#34d399;background:linear-gradient(135deg,#10b98133,#06b6d426)}.suggestion-card h4{color:var(--text-primary);margin-bottom:.15rem;font-size:.9rem;font-weight:600}.suggestion-card p{color:var(--text-secondary);opacity:.8;font-size:.8rem;line-height:1.4}.chat-messages-feed{overscroll-behavior:contain;flex-direction:column;flex:1;gap:1.25rem;width:100%;max-width:960px;margin:0 auto;padding:2rem;display:flex;overflow-y:auto}.message-row{width:100%;animation:.3s cubic-bezier(.4,0,.2,1) messageSlideIn;display:flex}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}}.message-row.user{justify-content:flex-end}.message-row.model{justify-content:flex-start}.message-bubble{word-break:break-word;overflow-wrap:break-word;word-wrap:break-word;border-radius:18px;max-width:80%;padding:1rem 1.35rem;position:relative}.message-row.user .message-bubble{color:var(--text-primary);background:#6366f126;border:1px solid #6366f133;border-bottom-right-radius:6px;padding:.9rem 1.25rem;box-shadow:0 2px 8px #0000001a}.message-row.model .message-bubble{color:var(--text-primary);background:0 0;border:none;border-bottom-left-radius:6px;gap:1rem;width:100%;max-width:100%;padding:.75rem 0;display:flex;position:relative}.model-avatar{color:var(--primary-color);background:#6366f11a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:.15rem;display:flex;position:relative}.model-content-wrapper{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.message-meta{color:var(--text-secondary);opacity:.45;margin-top:.5rem;font-size:.7rem;display:block}.message-row.user .message-meta{color:var(--text-secondary);text-align:right;opacity:.45}.markdown-body-chat{word-break:break-word;overflow-wrap:break-word;word-wrap:break-word;text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;font-size:.93rem;line-height:1.75}.markdown-body-chat p{margin-bottom:.85rem}.markdown-body-chat p:last-child{margin-bottom:0}.markdown-body-chat code{color:#e2e8f0;background:#00000059;border-radius:5px;padding:.15rem .4rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem}.markdown-body-chat pre{background:#0a0f1ee6;border:1px solid #ffffff0f;border-radius:10px;margin:.75rem 0;padding:1rem;position:relative;overflow-x:auto}.markdown-body-chat pre code{color:#e2e8f0;background:0 0;border-radius:0;padding:0;font-size:.82rem}.code-block-wrapper{position:relative}.code-copy-btn{color:var(--text-secondary);cursor:pointer;opacity:0;z-index:2;background:#ffffff14;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:.3rem;padding:4px 8px;font-size:.7rem;transition:all .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.code-block-wrapper:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{color:var(--primary-color);background:#6366f133;border-color:#6366f166}.code-copy-btn.copied{color:#10b981;background:#10b98133;border-color:#10b98166}.code-lang-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);opacity:.5;z-index:2;font-size:.65rem;font-weight:600;position:absolute;top:.5rem;left:.75rem}.markdown-body-chat ul,.markdown-body-chat ol{text-align:left;margin:.75rem 0;padding-left:1.75rem}.markdown-body-chat li{margin-bottom:.35rem;line-height:1.7}.markdown-body-chat table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.85rem}.markdown-body-chat th,.markdown-body-chat td{text-align:left;border:1px solid #ffffff14;padding:.45rem .65rem}.markdown-body-chat th{background:#ffffff0a;font-weight:600}.markdown-body-chat img{object-fit:contain;border-radius:10px;max-width:100%;max-height:350px;margin:.75rem 0;box-shadow:0 4px 12px #0003}.chat-img-wrapper{max-width:100%;margin:.75rem 0;display:block;position:relative}.chat-img-wrapper img{object-fit:contain;max-height:350px;margin:0;display:block}.chat-img-refresh-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffb3;cursor:pointer;opacity:0;z-index:2;background:#0f172acc;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;bottom:10px;right:10px}.chat-img-wrapper:hover .chat-img-refresh-btn{opacity:1}.chat-img-refresh-btn:hover{color:#fff;background:#6366f1cc;border-color:#6366f199;transform:scale(1.1)}.chat-img-refresh-btn.loading{opacity:1;pointer-events:none}.chat-img-refresh-btn.loading svg{animation:.8s linear infinite spin}.img-retry-placeholder{background:#6366f10f;border:1px dashed #6366f140;border-radius:10px;align-items:center;gap:.75rem;margin:.75rem 0;padding:.6rem 1rem;display:flex}.img-retry-text{color:var(--text-secondary);flex:1;font-size:.82rem}.img-retry-btn{color:var(--primary);cursor:pointer;white-space:nowrap;background:#6366f126;border:1px solid #6366f14d;border-radius:8px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.img-retry-btn:hover{background:#6366f140;border-color:#6366f180}.img-retry-btn.loading{opacity:.7;pointer-events:none}.img-retry-btn.loading svg{animation:.8s linear infinite spin}.image-loading-indicator{color:var(--text-secondary);background:linear-gradient(90deg,#6366f10d,#6366f11a,#6366f10d) 0 0/200% 100%;border-radius:10px;align-items:center;gap:.6rem;margin:.5rem 0;padding:.6rem 1rem;font-size:.82rem;animation:2s ease-in-out infinite shimmer;display:flex}.image-loading-spinner{border:2px solid #6366f133;border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.markdown-body-chat blockquote{color:var(--text-secondary);background:#6366f10a;border-left:3px solid #6366f159;border-radius:0 10px 10px 0;margin:1rem 0;padding:.75rem 1.25rem;font-style:italic}.markdown-body-chat hr{border:none;border-top:1px solid #ffffff0f;margin:1rem 0}.markdown-body-chat h1,.markdown-body-chat h2,.markdown-body-chat h3,.markdown-body-chat h4{text-align:left;letter-spacing:-.01em;margin-top:1.25rem;margin-bottom:.6rem;font-weight:600;line-height:1.3}.markdown-body-chat h1{font-size:1.35rem}.markdown-body-chat h2{font-size:1.15rem}.markdown-body-chat h3{font-size:1.05rem}.markdown-body-chat strong{color:var(--text-primary);font-weight:600}.message-actions-row{border-top:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.msg-action-btn{color:var(--text-secondary);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px 8px;transition:all .2s;display:flex}.msg-action-btn:hover{color:var(--text-primary);opacity:1;background:#ffffff0f}.msg-action-btn.btn-canvas{opacity:.6;border:1px solid #ffffff14;border-radius:20px;gap:.35rem;margin-left:.25rem;padding:4px 12px;font-size:.78rem;font-weight:500}.msg-action-btn.btn-canvas:hover{color:var(--primary-color);opacity:1;background:#6366f11a;border-color:#6366f14d}.msg-token-info{color:var(--text-secondary);white-space:nowrap;opacity:.5;background:#ffffff0a;border-radius:20px;align-items:center;gap:.25rem;margin-left:auto;padding:.2rem .5rem;font-size:.65rem;display:inline-flex}.user-msg-actions{opacity:0;margin-top:.2rem;transition:opacity .15s}.message-row.user:hover .user-msg-actions{opacity:1}.rag-thoughts-details{background:#ffffff05;border:1px solid #ffffff0d;border-radius:10px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.8rem}.rag-thoughts-details summary{cursor:pointer;color:var(--text-secondary);outline:none;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;list-style:none;display:flex}.rag-thoughts-details summary::-webkit-details-marker{display:none}.rag-thoughts-details summary:hover{color:var(--text-primary)}.rag-thoughts-content{color:var(--text-secondary);white-space:pre-wrap;border-top:1px dashed #ffffff0f;margin-top:.5rem;padding-top:.5rem;font-size:.8rem;line-height:1.4}.typing-indicator-chat{align-items:center;gap:.3rem;padding:.5rem 0;display:flex}.typing-dot{background:var(--primary-color);opacity:.6;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typingBounce}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.animate-pulse{animation:1.8s cubic-bezier(.4,0,.6,1) infinite custom-pulse}@keyframes custom-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.05)}}.chat-input-area-wrapper{background:linear-gradient(transparent, var(--bg-color) 20%);flex-direction:column;align-items:center;padding:.75rem 2rem 1rem;display:flex}.input-selectors-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;width:100%;max-width:960px;margin-bottom:.5rem;display:flex;position:relative;overflow:visible}.input-selectors-row .select-chat-config{color:var(--text-primary);cursor:pointer;font-size:.74rem;font-weight:500;font-family:var(--font-family);background:#1e293b80;border:1px solid #ffffff14;border-radius:20px;outline:none;flex-shrink:0;max-width:155px;padding:.3rem .6rem;transition:all .2s}.input-selectors-row .select-chat-config:hover{background:#1e293bcc;border-color:#ffffff1f}.input-selectors-row .select-chat-config:focus{border-color:#6366f180}.chat-tools-wrapper{z-index:100;flex-shrink:0;align-items:center;display:flex;position:relative}.chat-tools-btn{color:var(--text-primary);font-size:.74rem;font-weight:500;font-family:var(--font-family);cursor:pointer;white-space:nowrap;background:#1e293b80;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:.35rem;padding:.3rem .65rem;transition:all .2s;display:inline-flex}.chat-tools-btn:hover{color:var(--primary-color);background:#1e293bcc;border-color:#ffffff26}.chat-tools-btn.active{color:var(--primary-color);background:#6366f126;border-color:#6366f166}.chat-tools-badge{color:#fff;background:#10b981;border-radius:9999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.68rem;font-weight:700;display:inline-flex}.chat-tools-popover{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;background:#0f172af5;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:.65rem;min-width:290px;max-width:320px;padding:.85rem;animation:.15s fadeInUp;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 12px 36px #00000080,0 0 0 1px #6366f126}.chat-tools-popover-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.chat-tool-item{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;transition:all .15s;display:flex}.chat-tool-item:hover{background:#ffffff0d;border-color:#ffffff1a}.chat-tool-item.active{background:#6366f114;border-color:#6366f140}.chat-tool-item-left{flex:1;align-items:center;gap:.6rem;display:flex}.chat-tool-icon-box{width:28px;height:28px;color:var(--text-secondary);background:#ffffff0a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.chat-tool-icon-box.active{color:#818cf8;background:#6366f133}.chat-tool-name{color:var(--text-primary);font-size:.8rem;font-weight:600}.chat-tool-desc{color:var(--text-muted);margin-top:.1rem;font-size:.7rem;line-height:1.25}.chat-tool-checkbox{width:16px;height:16px;accent-color:var(--primary-color,#6366f1);cursor:pointer;flex-shrink:0}.chat-tool-image-block{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;gap:.45rem;padding:.6rem .65rem;display:flex}.chat-tool-image-header{align-items:center;gap:.6rem;display:flex}.chat-tool-image-options{border-top:1px solid #ffffff0a;flex-direction:column;gap:.35rem;padding-top:.3rem;display:flex}.chat-tool-radio-option{color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.3rem .4rem;font-size:.74rem;transition:all .15s;display:flex}.chat-tool-radio-option:hover{color:var(--text-primary);background:#ffffff0a}.chat-tool-radio-option.selected{color:var(--text-primary);font-weight:500}.chat-tool-radio-option input[type=radio]{accent-color:var(--primary-color,#6366f1);cursor:pointer;width:14px;height:14px}.image-config-qty-input{width:38px;color:var(--text-primary);text-align:center;background:#1e293be6;border:1px solid #ffffff26;border-radius:5px;margin-left:auto;padding:.15rem .25rem;font-size:.72rem}.image-config-qty-input:focus{border-color:#6366f180;outline:none}.chat-input-container-floating{-webkit-backdrop-filter:blur(16px);background:#1e293b73;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;width:100%;max-width:960px;padding:.6rem 1rem;transition:all .3s;display:flex;box-shadow:0 2px 12px #0000001a}.chat-input-container-floating:focus-within{border-color:#6366f166;box-shadow:0 4px 20px #0000001f,0 0 0 2px #6366f10f}.input-row-inner{align-items:flex-end;gap:.5rem;display:flex}.chat-textarea-gemini{resize:none;color:var(--text-primary);font-family:var(--font-family);background:0 0;border:none;outline:none;flex:1;min-height:26px;max-height:160px;padding:.5rem 0;font-size:.95rem;line-height:1.55}.chat-textarea-gemini::placeholder{color:var(--text-secondary);opacity:.4}.chat-input-container-floating.disabled-no-agent{opacity:.85;background:#0f172a73;border-color:#ffffff0d}.chat-input-container-floating.disabled-no-agent .chat-textarea-gemini{cursor:not-allowed;opacity:.6}.chat-input-container-floating.disabled-no-agent .chat-send-btn{opacity:.3;cursor:not-allowed;pointer-events:none}.input-footer-row{color:var(--text-secondary);opacity:.4;justify-content:space-between;align-items:center;padding:.15rem .25rem 0;font-size:.68rem;display:flex}.char-counter{font-variant-numeric:tabular-nums;transition:color .2s}.char-counter.warning{color:#f59e0b;opacity:1}.char-counter.danger{color:#ef4444;opacity:1}.keyboard-hint{align-items:center;gap:.25rem;display:flex}.keyboard-hint kbd{font-size:.65rem;font-family:var(--font-family);background:#ffffff0f;border-radius:3px;padding:1px 4px}.chat-send-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.chat-send-btn:hover{background:#818cf8;transform:scale(1.05);box-shadow:0 2px 8px #6366f14d}.chat-send-btn:disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.3;background:#ffffff0a;transform:none}.chat-stop-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;animation:1.5s ease-in-out infinite stopPulse;display:flex}@keyframes stopPulse{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 6px #ef444400}}.chat-stop-btn:hover{background:#dc2626;transform:scale(1.05)}.chat-stop-btn:active{transform:scale(.95)}.chat-disclaimer{color:var(--text-secondary);text-align:center;opacity:.35;max-width:960px;margin-top:.5rem;font-size:.7rem}.scroll-to-bottom-fab{color:var(--text-primary);cursor:pointer;z-index:5;-webkit-backdrop-filter:blur(12px);background:#1e293be6;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.75rem;transition:all .2s;animation:.3s ease-out fabBounce;display:flex;position:absolute;bottom:10.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #00000040}@keyframes fabBounce{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.scroll-to-bottom-fab:hover{background:#6366f133;border-color:#6366f166}.chat-page-container.canvas-active .chat-main-container{max-width:35%}.chat-canvas-drawer{z-index:20;background:#0f172a;border-left:1px solid #ffffff0f;flex-direction:column;width:65%;height:100%;animation:.3s ease-out slideInRight;display:flex}.canvas-header{background:#1e293b4d;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.canvas-header-left{color:var(--text-primary);align-items:center;gap:.5rem;display:flex}.canvas-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.9rem;font-weight:600;overflow:hidden}.canvas-toolbar{background:#1e293b66;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:.2rem;padding:3px;display:flex}.toolbar-section{align-items:center;gap:.1rem;display:flex}.toolbar-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px;transition:all .15s;display:flex}.toolbar-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff0f}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-divider{background:#ffffff0f;width:1px;height:14px;margin:0 3px}.canvas-header-right{align-items:center;gap:.4rem;display:flex}.btn-canvas-close{color:var(--text-primary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .7rem;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.btn-canvas-close:hover{background:#ffffff14}.btn-canvas-send{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .85rem;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.btn-canvas-send:hover{background:#818cf8;transform:translateY(-1px)}.canvas-body{background:var(--bg-color);flex-direction:column;flex:1;padding:1.25rem;display:flex;overflow-y:auto}.canvas-tabs{border-bottom:1px solid #ffffff0d;gap:.4rem;margin-bottom:.75rem;padding-bottom:.4rem;display:flex}.canvas-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .65rem;font-size:.8rem;font-weight:500;transition:all .15s}.canvas-tab-btn:hover{color:var(--text-primary)}.canvas-tab-btn.active{color:var(--primary-color);background:#6366f11f}.canvas-textarea{color:var(--text-primary);font-family:var(--font-family);resize:none;background:#1e293b33;border:1px solid #ffffff0f;border-radius:10px;outline:none;flex:1;padding:1.25rem;font-size:.9rem;line-height:1.6}.canvas-textarea:focus{border-color:#6366f14d}.canvas-preview-pane{background:#1e293b1a;border:1px solid #ffffff0f;border-radius:10px;flex:1;padding:1.25rem;overflow-y:auto}.chat-toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1.5rem;right:1.5rem}.chat-toast{color:var(--text-primary);pointer-events:auto;-webkit-backdrop-filter:blur(12px);background:#1e293bf2;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:.65rem;min-width:260px;max-width:380px;padding:.75rem 1rem;font-size:.82rem;font-weight:500;animation:.3s ease-out chatToastSlideIn;display:flex;box-shadow:0 8px 25px #0000004d}.chat-toast-fade-out{animation:.3s ease-out forwards chatToastFadeOut}@keyframes chatToastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes chatToastFadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.chat-toast-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.chat-toast-icon-success{background:#10b981}.chat-toast-icon-success:before{content:"✓"}.chat-toast-icon-error{background:#ef4444}.chat-toast-icon-error:before{content:"✕"}.chat-toast-icon-info{background:#3b82f6}.chat-toast-icon-info:before{content:"i";font-style:italic}.chat-toast-icon-warning{background:#f59e0b}.chat-toast-icon-warning:before{content:"!"}.chat-toast-message{flex:1;line-height:1.4}.chat-skeleton-list{flex-direction:column;gap:.6rem;padding:0 .75rem;display:flex}.chat-skeleton-item{border-radius:8px;align-items:center;gap:.65rem;padding:.6rem;display:flex}.chat-skeleton-icon{background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%) 0 0/200% 100%;border-radius:6px;flex-shrink:0;width:22px;height:22px;animation:1.5s infinite skeletonShimmer}.chat-skeleton-lines{flex-direction:column;flex:1;gap:.35rem;display:flex}.chat-skeleton-line{background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%) 0 0/200% 100%;border-radius:4px;height:7px;animation:1.5s infinite skeletonShimmer}.chat-skeleton-line.short{width:40%}.chat-skeleton-line.long{width:80%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chat-sessions-list::-webkit-scrollbar{width:4px}.chat-messages-feed::-webkit-scrollbar{width:4px}.chat-welcome-screen::-webkit-scrollbar{width:4px}.chat-sessions-list::-webkit-scrollbar-track{background:0 0}.chat-messages-feed::-webkit-scrollbar-track{background:0 0}.chat-welcome-screen::-webkit-scrollbar-track{background:0 0}.chat-sessions-list::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.chat-messages-feed::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.chat-welcome-screen::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.chat-sessions-list::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.chat-messages-feed::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.chat-welcome-screen::-webkit-scrollbar-thumb:hover{background:#ffffff1f}@media (width<=768px){.chat-history-sidebar{width:280px;height:100%;position:absolute;top:0;left:0}.chat-history-sidebar.collapsed{transform:translate(-100%)}.suggestions-grid{grid-template-columns:1fr}.greeting-title{font-size:2rem}.greeting-subtitle{font-size:1rem}.message-bubble{max-width:95%}.message-row.model .message-bubble{max-width:100%}.chat-page-container.canvas-active .chat-main-container{display:none}.chat-canvas-drawer{width:100%}.chat-input-area-wrapper{padding:.5rem 1rem .75rem}.chat-messages-feed{padding:1rem}.input-selectors-row{gap:.3rem}.input-selectors-row .select-chat-config{padding:.3rem .6rem;font-size:.7rem}}@media (width<=480px){.greeting-title{font-size:1.75rem}.suggestion-card{padding:1rem}.suggestion-card h4{font-size:.85rem}}.select-chat-config{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;max-width:160px;font-size:.85rem;font-family:var(--font-family);outline:none;padding:.4rem .8rem;transition:border-color .15s}.select-chat-config:focus{border-color:var(--primary-color)}.source-ref-container{margin:.25rem 0}.source-ref-wrapper{width:100%;margin:.25rem 0;display:inline-block}.source-ref-btn{border-radius:var(--radius-md);color:var(--primary-color);font-size:.78rem;font-family:var(--font-family);cursor:pointer;white-space:nowrap;background:#6366f114;border:1px solid #6366f133;align-items:center;gap:.4rem;padding:.35rem .75rem;transition:all .2s;display:inline-flex}.source-ref-btn:hover{background:#6366f126;border-color:#6366f166;transform:translateY(-1px)}.source-ref-btn.expanded{background:#6366f11f;border-color:#6366f159;border-bottom-right-radius:0;border-bottom-left-radius:0}.source-ref-chevron{transition:transform .25s}.source-ref-chevron.rotated{transform:rotate(180deg)}.source-ref-panel{border-radius:0 0 var(--radius-md) var(--radius-md);-webkit-backdrop-filter:blur(8px);background:#0f172a99;border:1px solid #6366f133;border-top:none;padding:.75rem 1rem;animation:.2s ease-out slideDown}.source-ref-panel-header{border-bottom:1px solid #ffffff0f;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.4rem;font-size:.82rem;display:flex}.source-ref-panel-header strong{color:var(--text-primary);font-weight:600}.source-ref-file-icon{font-size:1rem}.source-ref-id{color:var(--primary-color);letter-spacing:.02em;background:#6366f126;border-radius:4px;margin-left:auto;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.source-ref-panel-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:200px;font-size:.8rem;line-height:1.55;overflow-y:auto}.source-ref-panel-text::-webkit-scrollbar{width:4px}.source-ref-panel-text::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:2px}.source-ref-ellipsis{color:var(--primary-color);font-weight:600}.source-ref-badge{border-radius:var(--radius-md);color:var(--text-secondary);font-size:.75rem;font-family:var(--font-family);background:#64748b1a;border:1px solid #64748b33;align-items:center;gap:.3rem;padding:.2rem .55rem;display:inline-flex}.source-ref-badge.source-ref-general{color:#eab308;background:#eab30814;border-color:#eab30833}.exam-mode-toggle{align-items:center;display:flex}.exam-mode-btn{border-radius:var(--radius-md);color:var(--text-secondary);font-size:.78rem;font-family:var(--font-family);cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;align-items:center;gap:.35rem;padding:.35rem .55rem;transition:all .2s;display:inline-flex}.exam-mode-btn:hover{color:var(--primary-color);background:#6366f114;border-color:#6366f133}.exam-mode-btn.active{color:var(--primary-color);background:#6366f11f;border-color:#6366f159}.chat-quiz-container{padding:.5rem 0;animation:.3s ease-out fadeInQuiz}@keyframes fadeInQuiz{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-quiz-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.chat-quiz-counter{color:var(--text-secondary);font-size:.8rem;font-weight:600}.chat-quiz-score{color:var(--primary-color);background:#6366f11a;border-radius:6px;padding:2px 10px;font-size:.8rem;font-weight:600}.chat-quiz-progress{background:#ffffff0f;border-radius:2px;height:4px;margin-bottom:1rem;overflow:hidden}.chat-quiz-progress-fill{background:linear-gradient(90deg, var(--primary-color), #818cf8);border-radius:2px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.chat-quiz-question{color:var(--text-primary);margin-bottom:1rem;font-size:1rem;font-weight:600;line-height:1.5}.chat-quiz-question p{margin:0}.chat-quiz-options{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.chat-quiz-option{color:var(--text-secondary);text-align:left;cursor:pointer;width:100%;font-size:.9rem;font-family:var(--font-family);background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;transition:all .2s;display:flex}.chat-quiz-option:hover:not(:disabled){color:var(--text-primary);background:#6366f10f;border-color:#6366f133}.chat-quiz-option.selected{border-color:var(--primary-color);color:var(--text-primary);background:#6366f11a}.chat-quiz-option.correct{color:#10b981;background:#10b9811f;border-color:#10b981;font-weight:600}.chat-quiz-option.wrong{color:#ef4444;background:#ef44441f;border-color:#ef4444}.chat-quiz-option:disabled{cursor:default}.chat-quiz-option-letter{flex-shrink:0;min-width:1.5rem;font-weight:700}.chat-quiz-option-text{flex:1}.chat-quiz-option-text p,.chat-quiz-option-text span{margin:0}.chat-quiz-feedback{border-radius:10px;margin-bottom:1rem;padding:1rem;animation:.25s ease-out fadeInQuiz}.chat-quiz-feedback.correct{background:#10b9810f;border:1px solid #10b98126}.chat-quiz-feedback.wrong{background:#ef44440f;border:1px solid #ef444426}.chat-quiz-feedback-label{margin-bottom:.4rem;font-size:.9rem;font-weight:700;display:block}.chat-quiz-feedback.correct .chat-quiz-feedback-label{color:#10b981}.chat-quiz-feedback.wrong .chat-quiz-feedback-label{color:#ef4444}.chat-quiz-feedback-text{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.chat-quiz-feedback-text p{margin:0}.chat-quiz-actions{justify-content:flex-end;display:flex}.chat-quiz-btn-primary{background:var(--primary-color);color:#fff;font-size:.88rem;font-weight:600;font-family:var(--font-family);cursor:pointer;border:none;border-radius:8px;padding:.55rem 1.4rem;transition:all .2s}.chat-quiz-btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.chat-quiz-btn-primary:disabled{opacity:.5;cursor:default}.chat-quiz-finished{text-align:center;padding:1.5rem 1rem;animation:.3s ease-out fadeInQuiz}.chat-quiz-finished-icon{margin-bottom:.75rem;font-size:3rem}.chat-quiz-finished-title{color:var(--text-primary);margin:0 0 .4rem;font-size:1.4rem;font-weight:700}.chat-quiz-finished-score{color:var(--text-secondary);margin:0 0 1rem;font-size:1rem}.chat-quiz-finished-score strong{color:var(--primary-color)}.chat-quiz-finished-bar{background:#ffffff0f;border-radius:4px;max-width:300px;height:8px;margin-bottom:1.25rem;margin-left:auto;margin-right:auto;overflow:hidden}.chat-quiz-finished-bar-fill{background:linear-gradient(90deg,#10b981,#34d399);border-radius:4px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.svg-mode-toggle{align-items:center;display:flex}.svg-mode-btn{border-radius:var(--radius-md);color:var(--text-secondary);font-size:.78rem;font-family:var(--font-family);cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;align-items:center;gap:.35rem;padding:.35rem .55rem;transition:all .2s;display:inline-flex}.svg-mode-btn:hover{color:var(--primary-color);background:#6366f114;border-color:#6366f133}.svg-mode-btn.active{color:var(--primary-color);background:#6366f11f;border-color:#6366f159}.svg-diagram-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172aa6;border:1px solid #6366f140;border-radius:12px;margin:1rem 0;padding:.75rem 1rem;animation:.3s ease-out fadeInSvg;box-shadow:0 4px 16px #00000040}@keyframes fadeInSvg{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.svg-diagram-header{border-bottom:1px solid #ffffff0f;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.4rem;display:flex}.svg-diagram-icon{font-size:.95rem}.svg-diagram-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.svg-diagram-body{justify-content:center;align-items:center;padding:.25rem 0;display:flex;overflow-x:auto}.svg-diagram-body svg{border-radius:8px;max-width:100%;height:auto;display:block}.people-container{flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;padding:2rem;display:flex}.people-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.people-title-group h1{margin-bottom:.25rem;font-size:1.85rem;font-weight:700}.people-subtitle{color:var(--text-secondary);font-size:.95rem}.people-actions{align-items:center;gap:.75rem;display:flex}.people-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.role-tabs{background:var(--bg-tertiary,#ffffff0d);border-radius:var(--radius-md,8px);gap:4px;padding:4px;display:flex}.tab-btn{color:var(--text-secondary);border-radius:var(--radius-sm,6px);cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.tab-btn.active{background:var(--primary-color,#6366f1);color:#fff;font-weight:600;box-shadow:0 2px 4px #0003}.search-box{min-width:280px;position:relative}.search-box input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:.55rem 1rem .55rem 2.4rem;font-size:.9rem}.search-box .search-icon{color:var(--text-secondary);position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.people-table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-secondary);overflow-x:auto}.people-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.people-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:#00000026;padding:.85rem 1rem;font-weight:600}.people-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:.85rem 1rem}.people-table tbody tr:hover{background:#ffffff05}.status-badge{text-transform:capitalize;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge.ativo{color:#4ade80;background:#22c55e26}.status-badge.pendente{color:#facc15;background:#eab30826}.status-badge.bloqueado,.status-badge.inadimplente{color:#f87171;background:#ef444426}.role-badge{color:#818cf8;background:#6366f126;border-radius:4px;margin-right:.25rem;padding:.15rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.modal-tabs{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;display:flex}.modal-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1.2rem;font-weight:500}.modal-tab-btn.active{color:var(--primary-color,#6366f1);border-bottom-color:var(--primary-color,#6366f1);font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.form-group input,.form-group select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:.6rem .8rem;font-size:.9rem}.checkbox-group{flex-wrap:wrap;gap:1rem;margin-top:.4rem;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.financial-container{flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;padding:2rem;display:flex}.financial-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.financial-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.metric-card{border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-color);align-items:center;gap:1rem;padding:1.25rem;display:flex}.metric-icon-box{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.metric-info h3{color:var(--text-secondary);margin-bottom:.2rem;font-size:.8rem;font-weight:500}.metric-value{color:var(--text-primary);font-size:1.4rem;font-weight:700}.financial-nav-tabs{border-bottom:1px solid var(--border-color);gap:.5rem;display:flex}.financial-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.financial-tab-btn.active{color:var(--primary-color,#6366f1);border-bottom-color:var(--primary-color,#6366f1);font-weight:600}.financial-table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-secondary);overflow-x:auto}.financial-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.financial-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:#00000026;padding:.85rem 1rem;font-weight:600}.financial-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:.85rem 1rem}.invoice-status-badge{border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.invoice-status-badge.received,.invoice-status-badge.confirmed{color:#4ade80;background:#22c55e26}.invoice-status-badge.pending{color:#facc15;background:#eab30826}.invoice-status-badge.overdue{color:#f87171;background:#ef444426}.pix-modal-box{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex}.pix-qrcode-img{border:4px solid #fff;border-radius:8px;width:200px;height:200px}.pix-copia-cola-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);resize:none;padding:.6rem;font-family:monospace;font-size:.8rem}.my-plan-hero{grid-template-columns:1fr auto;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:grid}.my-plan-greeting h2{background:linear-gradient(135deg,#fff 0%,#c084fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .25rem;font-size:1.6rem;font-weight:800}.my-plan-greeting p{color:var(--text-secondary);margin:0;font-size:.9rem}.my-plan-mini-kpis{align-items:center;gap:1rem;display:flex}.mini-kpi{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;align-items:center;min-width:90px;padding:.75rem 1rem;transition:all .2s;display:flex}.mini-kpi:hover{background:#6366f114;border-color:#6366f133}.mini-kpi-value{color:#fff;font-size:1.4rem;font-weight:800;line-height:1}.mini-kpi-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-top:.25rem;font-size:.65rem}.my-plan-ai-banner{background:linear-gradient(135deg,#6366f11f 0%,#a855f71f 100%);border:1px solid #6366f14d;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.my-plan-ai-banner-text{align-items:center;gap:.75rem;display:flex}.my-plan-ai-icon{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:.6rem;display:flex;box-shadow:0 4px 15px #6366f166}.my-plan-ai-label{color:#a855f7;text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:700}.my-plan-ai-title{color:#fff;margin:.15rem 0 0;font-size:.95rem;font-weight:700}.weekly-timeline{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.timeline-day{cursor:default;background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;flex:1;align-items:center;min-width:120px;padding:.75rem .5rem;transition:all .25s;display:flex}.timeline-day.has-plans{cursor:pointer;background:#6366f10a;border-color:#6366f133}.timeline-day.has-plans:hover{background:#6366f11a;border-color:#6366f180;transform:translateY(-3px);box-shadow:0 8px 20px #6366f126}.timeline-day.today{background:#6366f114;border-color:#6366f166;box-shadow:0 0 15px #6366f126}.timeline-day-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;font-size:.65rem;font-weight:700}.timeline-day-indicator{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin:.4rem 0;font-size:.75rem;font-weight:700;display:flex}.timeline-day-indicator.completed{color:#34d399;background:#10b98133;border:1px solid #10b98166}.timeline-day-indicator.partial{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66}.timeline-day-indicator.empty{color:var(--text-muted);background:#ffffff0d;border:1px solid #ffffff1a}.timeline-day-count{color:var(--primary-color);font-size:.65rem;font-weight:600}.timeline-day-subjects{color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:140px;margin-top:2px;font-size:.6rem;overflow:hidden}.weekly-timeline-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:2rem;font-size:.85rem;display:flex}.subject-progress-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.subject-progress-card{cursor:default;border-radius:12px;padding:1rem 1.25rem;transition:all .2s}.subject-progress-card:hover{border-color:#6366f14d;transform:translateY(-2px)}.subject-progress-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.subject-progress-name{color:#fff;font-size:.95rem;font-weight:700}.subject-trend-badge{border-radius:9999px;padding:2px 8px;font-size:.7rem;font-weight:600}.subject-trend-badge.up{color:#34d399;background:#10b98126}.subject-trend-badge.down{color:#f87171;background:#ef444426}.subject-trend-badge.stable{color:#fbbf24;background:#f59e0b26}.subject-progress-stats{gap:1.5rem;margin-bottom:.6rem;font-size:.8rem;display:flex}.subject-stat{flex-direction:column;display:flex}.subject-stat-value{color:#fff;font-size:.95rem;font-weight:700}.subject-stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem}.subject-progress-bar{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.subject-progress-fill{background:linear-gradient(90deg,#6366f1 0%,#a855f7 100%);border-radius:3px;height:100%;transition:width .5s}.hub-cards-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.hub-card{cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;transition:all .25s;display:flex}.hub-card:hover{border-color:#6366f166;transform:translateY(-3px);box-shadow:0 8px 25px #0000004d}.hub-card-icon{border-radius:14px;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;display:flex}.hub-card-icon.focus{color:#818cf8;background:linear-gradient(135deg,#6366f133,#a855f733)}.hub-card-icon.quiz{color:#34d399;background:linear-gradient(135deg,#10b98133,#05966933)}.hub-card-icon.flashcards{color:#fbbf24;background:linear-gradient(135deg,#f59e0b33,#d9770633)}.hub-card-title{color:#fff;font-size:.9rem;font-weight:700}.hub-card-desc{color:var(--text-secondary);font-size:.75rem;line-height:1.4}.tasks-section{margin-bottom:1.5rem}.tasks-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.tasks-header h3{align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:700;display:flex}.tasks-progress-text{color:var(--text-secondary);font-size:.8rem}.tasks-progress-bar{background:#ffffff0f;border-radius:4px;height:8px;margin-bottom:1rem;overflow:hidden}.tasks-progress-fill{background:linear-gradient(90deg,#6366f1 0%,#10b981 100%);border-radius:4px;height:100%;transition:width .5s}.task-list{flex-direction:column;gap:.5rem;max-height:320px;display:flex;overflow-y:auto}.task-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:.75rem;padding:.6rem .75rem;transition:all .15s;display:flex}.task-item:hover{background:#ffffff0f}.task-item.completed{opacity:.5}.task-checkbox{cursor:pointer;color:#0000;background:0 0;border:2px solid #fff3;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.task-checkbox:hover{border-color:#6366f1}.task-checkbox.checked{color:#fff;background:#10b981;border-color:#10b981}.task-info{flex:1;min-width:0}.task-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.task-item.completed .task-title{color:var(--text-muted);text-decoration:line-through}.task-subject-badge{color:var(--text-secondary);background:#ffffff0f;border-radius:4px;margin-top:2px;padding:1px 6px;font-size:.6rem;display:inline-block}.achievements-section{margin-bottom:1.5rem}.achievements-section h3{align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.1rem;font-weight:700;display:flex}.achievements-grid{flex-wrap:wrap;gap:.75rem;display:flex}.achievement-badge{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .2s;display:flex}.achievement-badge:hover{background:#6366f114;transform:scale(1.03)}.achievement-badge.locked{opacity:.35;filter:grayscale(.8)}.achievement-icon{font-size:1.4rem}.achievement-info{flex-direction:column;display:flex}.achievement-title{color:#fff;font-size:.75rem;font-weight:700}.achievement-desc{color:var(--text-muted);font-size:.6rem}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-title-row h3{align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:700;display:flex}.my-plan-loading{height:70vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.tasks-filter-pills{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.tasks-filter-pill{color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:9999px;padding:.3rem .6rem;font-size:.7rem;transition:all .15s}.tasks-filter-pill:hover,.tasks-filter-pill.active{color:#818cf8;background:#6366f126;border-color:#6366f166}.my-plan-empty{text-align:center;color:var(--text-secondary);padding:3rem 2rem}.my-plan-empty-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.day-study-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9998;background:#000000e0;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.day-study-modal{background:linear-gradient(#131525 0%,#0c0d18 100%);border:1px solid #6366f133;border-radius:16px;flex-direction:column;width:100%;max-width:1100px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0009,0 0 40px #6366f114}.day-study-header{border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.day-study-header-left{align-items:center;gap:1rem;display:flex}.day-study-back-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;padding:.5rem;transition:all .2s;display:flex}.day-study-back-btn:hover{color:#818cf8;background:#6366f126;border-color:#6366f166}.day-study-title{color:#fff;margin:0;font-size:1.2rem;font-weight:700}.day-study-subtitle{color:var(--text-secondary);font-size:.8rem}.day-study-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.5rem;transition:color .2s}.day-study-close-btn:hover{color:#f87171}.day-study-analysis-selector{border-bottom:1px solid #ffffff0a;flex-shrink:0;gap:.5rem;padding:.75rem 1.5rem;display:flex;overflow-x:auto}.analysis-selector-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.analysis-selector-btn:hover{background:#6366f114;border-color:#6366f14d}.analysis-selector-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.day-study-analysis-info{background:#ffffff05;border-bottom:1px solid #ffffff0f;flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;padding:.75rem 1.5rem;display:grid}.analysis-info-item{flex-direction:column;gap:2px;display:flex}.analysis-info-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem}.analysis-info-value{color:var(--text-primary);font-size:.9rem;font-weight:600}.day-study-tabs{border-bottom:1px solid #ffffff14;flex-wrap:wrap;flex-shrink:0;gap:.5rem;padding:.75rem 1.5rem;display:flex}.day-study-tab{color:var(--text-secondary);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.day-study-tab:hover{color:#818cf8;background:#6366f114;border-color:#6366f14d}.day-study-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.day-study-content{flex:1;min-height:0;padding:1.25rem 1.5rem;overflow-y:auto}.study-plan-tab-content{height:100%}.study-plan-layout{grid-template-columns:7fr 3fr;gap:1.25rem;height:100%;display:grid}.study-plan-doc{flex-direction:column;width:100%;display:flex}.study-plan-tasks-panel{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:1rem;max-height:500px;padding:1.25rem;display:flex;overflow-y:auto}.study-plan-tasks-header{justify-content:space-between;align-items:center;display:flex}.study-plan-tasks-header h4{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:600}.study-plan-tasks-percent{color:var(--text-secondary);background:#ffffff0f;border-radius:10px;padding:2px 8px;font-size:.75rem}.study-plan-tasks-bar{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.study-plan-tasks-bar-fill{background:var(--primary-color);height:100%;transition:width .3s}.study-plan-tasks-loading,.study-plan-tasks-empty{color:var(--text-muted);text-align:center;padding:1rem;font-size:.8rem}.study-plan-tasks-list{flex-direction:column;gap:.75rem;display:flex}.study-plan-task-item{background:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.study-plan-task-item input[type=checkbox]{cursor:pointer;margin-top:3px}.study-plan-task-text{flex-direction:column;gap:2px;display:flex}.study-plan-task-title{color:var(--text-primary);font-size:.85rem;font-weight:500}.study-plan-task-title.done{color:var(--text-muted);text-decoration:line-through}.study-plan-task-desc{color:var(--text-secondary);font-size:.75rem}.tutor-tab-container{background:#00000026;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;height:calc(92vh - 360px);min-height:400px;display:flex;overflow:hidden}.tutor-chat-messages{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.tutor-empty-state{height:100%;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.tutor-empty-state h4{color:#fff;margin:1rem 0 .25rem}.tutor-empty-state p{max-width:380px;font-size:.85rem}.tutor-suggestions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.tutor-suggestions button{color:#818cf8;cursor:pointer;background:#6366f114;border:1px solid #6366f133;border-radius:8px;padding:6px 14px;font-size:.78rem;transition:all .2s}.tutor-suggestions button:hover{background:#6366f133;border-color:#6366f166}.tutor-message{border-radius:12px;max-width:80%;padding:10px 14px;font-size:.9rem;line-height:1.4}.tutor-message.user{background:var(--primary-color);color:#fff;border-bottom-right-radius:2px;align-self:flex-end}.tutor-message.assistant{color:#fff;background:#ffffff0f;border-bottom-left-radius:2px;align-self:flex-start}.tutor-message-label{opacity:.6;margin-bottom:4px;font-size:.75rem;font-weight:700}.tutor-thoughts{box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;width:100%;margin-bottom:10px;padding:8px 12px;font-size:.82rem}.tutor-thoughts summary{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:.5rem;font-weight:600;display:flex}.tutor-thoughts-content{color:#fff9;white-space:pre-wrap;border-left:2px solid #6366f180;margin-top:8px;padding-left:10px;font-style:italic;line-height:1.4}.tutor-tab-container .markdown-body-render p{margin-bottom:.5rem}.tutor-tab-container .markdown-body-render p:last-child{margin-bottom:0}.tutor-input-bar{background:#0000001a;border-top:1px solid #ffffff0f;gap:.5rem;padding:.75rem;display:flex}.tutor-input-bar .input-field{flex:1;margin-bottom:0}.tutor-send-btn{padding:0 1.25rem!important}.quiz-tab-container{background:#00000026;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;justify-content:center;min-height:400px;padding:1.5rem;display:flex}.quiz-center-state{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.quiz-active{flex-direction:column;gap:1.25rem;display:flex}.quiz-header-bar{justify-content:space-between;align-items:center;display:flex}.quiz-question-counter{color:var(--text-secondary);font-size:.8rem;font-weight:600}.quiz-score-badge{color:var(--primary-color);background:#6366f11a;border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:600}.quiz-progress{background:#ffffff0f;border-radius:2px;height:4px;overflow:hidden}.quiz-progress-fill{background:var(--primary-color);height:100%;transition:width .3s}.quiz-question-text{color:var(--text-primary);margin:.5rem 0;font-size:1.05rem;font-weight:600}.quiz-options{flex-direction:column;gap:.75rem;display:flex}.quiz-option-btn{color:var(--text-secondary);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:flex-start;gap:8px;width:100%;padding:12px 16px;font-size:.9rem;transition:all .2s;display:flex}.quiz-option-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff14;border-color:#ffffff26}.quiz-option-btn.selected{border-color:var(--primary-color);color:var(--text-primary);background:#6366f11a}.quiz-option-btn.correct{color:#10b981;background:#10b98126;border-color:#10b981;font-weight:600}.quiz-option-btn.wrong{color:#ef4444;background:#ef444426;border-color:#ef4444}.quiz-option-letter{flex-shrink:0;font-weight:700}.quiz-option-text{flex:1}.quiz-explanation{background:#10b9810d;border:1px solid #10b98126;border-radius:8px;padding:1rem;font-size:.85rem}.quiz-explanation-label{color:#10b981;margin-bottom:4px;font-weight:700;display:block}.quiz-explanation-text{color:var(--text-secondary)}.quiz-actions{justify-content:flex-end;margin-top:.5rem;display:flex}.quiz-finished{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem;display:flex}.quiz-finished-icon{color:#10b981;background:#10b9811a;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:2.5rem;display:flex}.quiz-finished h3{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.quiz-finished p{color:var(--text-secondary);margin:0}.flashcards-tab-container{background:#00000026;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:1.5rem;display:flex}.flashcards-center-state{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.flashcards-active{flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:480px;display:flex}.flashcards-counter-row{justify-content:space-between;align-self:stretch;align-items:center;display:flex}.flashcards-counter{color:var(--text-secondary);font-size:.8rem;font-weight:600}.flashcards-hint{color:var(--text-secondary);font-size:.8rem}.flashcard-3d-card{cursor:pointer;perspective:1000px;width:100%;height:240px;position:relative}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:absolute}.flashcard-3d-card.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-side{backface-visibility:hidden;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;display:flex;position:absolute;box-shadow:0 8px 32px #0000004d}.flashcard-front{background:linear-gradient(135deg,#6366f126,#ffffff08);border:1px solid #6366f140}.flashcard-back{background:linear-gradient(135deg,#10b98126,#ffffff08);border:1px solid #10b98140;transform:rotateY(180deg)}.flashcard-side-label{text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;font-size:.7rem;font-weight:700}.front-label{color:var(--primary-color)}.back-label{color:#10b981}.flashcard-side-text{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.back-text{font-size:1.05rem;font-weight:500;line-height:1.5}.flashcards-nav-btns{gap:1rem;width:100%;margin-top:.5rem;display:flex}.flashcards-nav-btns .btn{flex:1;justify-content:center}@media (width<=768px){.my-plan-hero{grid-template-columns:1fr}.my-plan-mini-kpis{flex-wrap:wrap;justify-content:center}.hub-cards-grid,.subject-progress-grid{grid-template-columns:1fr}.weekly-timeline{overflow-x:auto}.study-plan-layout{grid-template-columns:1fr}.day-study-overlay{padding:0}.day-study-modal{border-radius:0;max-width:100%;max-height:100vh}.day-study-tabs{flex-wrap:nowrap;overflow-x:auto}}.neural-bg-container{pointer-events:none;z-index:0;background-color:#0c0d14;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.neural-canvas{z-index:2;will-change:transform;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.neural-ambient-glow{filter:blur(90px);pointer-events:none;opacity:.35;z-index:1;border-radius:50%;animation:18s ease-in-out infinite alternate ambientFloat;position:absolute}.neural-ambient-glow.glow-1{background:radial-gradient(circle,#6366f173 0%,#6366f100 70%);width:550px;height:550px;top:-120px;left:-100px}.neural-ambient-glow.glow-2{background:radial-gradient(circle,#06b6d459 0%,#06b6d400 70%);width:600px;height:600px;animation-duration:22s;animation-delay:-7s;bottom:-150px;right:-120px}.neural-ambient-glow.glow-3{background:radial-gradient(circle,#a855f740 0%,#a855f700 70%);width:450px;height:450px;animation-duration:16s;animation-delay:-12s;top:40%;left:60%}.neural-vignette-overlay{pointer-events:none;z-index:3;background:radial-gradient(circle,#0c0d1466 0%,#0c0d14d9 100%);width:100%;height:100%;position:absolute;top:0;left:0}@keyframes ambientFloat{0%{transform:translate(0)scale(1)}50%{transform:translate(40px,-30px)scale(1.1)}to{transform:translate(-30px,35px)scale(.95)}}.login-container{background-color:#0c0d14;flex-direction:column;justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:2rem 1.5rem;display:flex;position:relative;overflow:hidden}.login-logo{z-index:10;justify-content:center;align-items:center;gap:.6rem;margin-bottom:2.5rem;display:flex;position:relative}.login-logo .logo-icon{color:#6366f1;filter:drop-shadow(0 0 16px #6366f199)}.login-logo .logo-text{color:#f1f5f9;letter-spacing:-.5px;text-shadow:0 2px 10px #00000080;font-size:2.1rem;font-weight:700}.login-logo .logo-text .text-gradient{background:linear-gradient(135deg,#6366f1 0%,#a855f7 50%,#06b6d4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.login-form-area{z-index:10;width:100%;max-width:420px;position:relative}.login-input-label{color:#94a3b8;margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.login-input-wrapper{align-items:center;margin-bottom:1.25rem;display:flex;position:relative}.login-input-wrapper .input-icon-left{color:#64748b;pointer-events:none;z-index:1;position:absolute;left:.9rem}.login-input-field{-webkit-backdrop-filter:blur(12px);color:#e2e8f0;width:100%;font-family:var(--font-family,"Inter", sans-serif);background:#121420a6;border:1px solid #ffffff17;border-radius:10px;padding:.85rem .9rem .85rem 2.75rem;font-size:.95rem;transition:border-color .25s,box-shadow .25s,background .25s}.login-input-field:focus{background:#161928d9;border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f133,0 0 20px #6366f126}.login-input-field::placeholder{color:#475569}.login-password-toggle{color:#64748b;cursor:pointer;z-index:1;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex;position:absolute;right:.75rem}.login-password-toggle:hover{color:#94a3b8}.login-input-field[data-type=select],.login-form-area select.login-input-field{appearance:none;cursor:pointer;padding-right:2.5rem}.login-btn-primary{color:#fff;width:100%;font-family:var(--font-family,"Inter", sans-serif);cursor:pointer;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.85rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .25s;display:flex}.login-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4338ca,#6366f1);transform:translateY(-1px);box-shadow:0 4px 20px #6366f159}.login-btn-primary:active:not(:disabled){transform:translateY(0)}.login-btn-primary:disabled{opacity:.5;cursor:not-allowed}.login-footer-links{justify-content:center;align-items:center;gap:0;margin-top:1.5rem;display:flex}.login-footer-links .footer-link{color:#64748b;font-family:var(--font-family,"Inter", sans-serif);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.85rem;transition:color .2s}.login-footer-links .footer-link:hover{color:#818cf8}.login-footer-links .footer-divider{color:#334155;-webkit-user-select:none;user-select:none;font-size:.85rem}.login-copyright{text-align:center;color:#64748b;z-index:10;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;font-size:.75rem;display:flex;position:relative}.login-copyright span{white-space:nowrap}.login-alert{border-radius:8px;align-items:flex-start;gap:.6rem;margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.85rem;line-height:1.4;display:flex}.login-alert-danger{color:#fca5a5;background:#ef44441a;border:1px solid #ef444433}.login-alert-success{color:#a7f3d0;background:#10b9811a;border:1px solid #10b98133}.login-forgot-desc{color:#94a3b8;margin-bottom:1.25rem;font-size:.88rem;line-height:1.5}.login-back-link{color:#64748b;width:100%;font-family:var(--font-family,"Inter", sans-serif);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.35rem;margin-top:1.25rem;font-size:.85rem;transition:color .2s;display:flex}.login-back-link:hover{color:#818cf8}.login-section-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-top:.5rem;margin-bottom:1rem;font-size:.8rem;font-weight:600}.login-forgot-inline{text-align:right;margin-top:-.75rem;margin-bottom:.75rem;display:block}.login-forgot-inline button{color:#64748b;font-family:var(--font-family,"Inter", sans-serif);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;transition:color .2s}.login-forgot-inline button:hover{color:#818cf8}@keyframes login-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-spinner{animation:1s linear infinite login-spin}@media (width<=480px){.login-container{padding:1.5rem 1rem}.login-logo .logo-text{font-size:1.6rem}.login-form-area{max-width:100%}}.set-password-container{background:var(--bg-primary,#0a0e1a);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.set-password-background-glow{pointer-events:none;z-index:0;background:radial-gradient(at 30% 20%,#6366f11f 0%,#0000 50%),radial-gradient(at 70% 80%,#a855f714 0%,#0000 50%);width:140%;height:140%;position:absolute;top:-40%;left:-20%}.set-password-card-wrapper{z-index:1;width:100%;max-width:440px;padding:2rem;position:relative}.set-password-logo{justify-content:center;align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.set-password-logo .logo-icon{color:var(--primary-color,#6366f1)}.set-password-logo .logo-text{color:var(--text-primary,#fff);letter-spacing:-.5px;font-size:1.75rem;font-weight:800}.set-password-card{padding:2.5rem}.set-password-title{color:var(--text-primary,#fff);margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.set-password-subtitle{color:var(--text-secondary,#94a3b8);margin-bottom:1.75rem;font-size:.9rem;line-height:1.5}.set-password-form{flex-direction:column;gap:1.25rem;display:flex}.set-password-form .input-group{flex-direction:column;gap:.35rem;display:flex}.set-password-form .input-label{color:var(--text-secondary,#94a3b8);font-size:.85rem;font-weight:600}.set-password-form .input-wrapper{align-items:center;display:flex;position:relative}.set-password-form .input-icon{color:var(--text-secondary,#94a3b8);pointer-events:none;z-index:1;position:absolute;left:.85rem}.set-password-form .input-field-with-icon{border:1px solid var(--border-color,#ffffff14);width:100%;color:var(--text-primary,#fff);background:#ffffff0a;border-radius:8px;padding:.75rem .85rem .75rem 2.75rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.set-password-form .input-field-with-icon:focus{border-color:var(--primary-color,#6366f1);outline:none;box-shadow:0 0 0 3px #6366f126}.set-password-alert{border-radius:8px;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;padding:.85rem 1rem;font-size:.85rem;line-height:1.4;display:flex}.set-password-alert-danger{color:#f87171;background:#ef44441f;border:1px solid #ef444433}.set-password-alert-success{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e33}.set-password-alert-info{color:#818cf8;background:#6366f11f;border:1px solid #6366f133}.set-password-strength{gap:.25rem;margin-top:.25rem;display:flex}.set-password-strength-bar{background:#ffffff14;border-radius:2px;flex:1;height:3px;transition:background .3s}.set-password-strength-bar.active{background:var(--primary-color,#6366f1)}.set-password-strength-bar.active.weak{background:#ef4444}.set-password-strength-bar.active.medium{background:#f59e0b}.set-password-strength-bar.active.strong{background:#22c55e}.set-password-hint{color:var(--text-secondary,#94a3b8);margin-top:.15rem;font-size:.75rem}.set-password-footer{text-align:center;margin-top:1.5rem}.set-password-footer .btn-link{color:var(--primary-color,#6366f1);cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .2s}.set-password-footer .btn-link:hover{color:var(--primary-hover,#818cf8);text-decoration:underline}.set-password-loading{color:var(--text-secondary,#94a3b8);flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.set-password-loading .spinner{animation:1s linear infinite spin}@media (width<=480px){.set-password-card-wrapper{padding:1rem}.set-password-card{padding:1.5rem}}
