@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Icons;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/material-icons-latin-400-normal-kAwBdRge.woff2) format("woff2"),url(/assets/material-icons-latin-400-normal-B5tbEuci.woff) format("woff")}:root{--brand: #7c3aed;--brand-600: #6d28d9;--brand-500: #8b5cf6;--brand-400: #a78bfa;--brand-50: #f5f3ff;--brand-100: #ede9fe;--accent: #c026d3;--accent-600: #a21caf;--accent-50: #fdf4ff;--pink: #ec4899;--grad: linear-gradient(135deg, #6d28d9 0%, #7c3aed 45%, #a855f7 100%);--grad-soft: linear-gradient(135deg, #f5f3ff 0%, #fdf4ff 100%);--grad-sidebar: linear-gradient(185deg, #2e1065 0%, #4c1d95 55%, #5b21b6 100%);--bg: #f6f3fd;--surface: #ffffff;--surface-2: #faf8ff;--border: #e9e3f7;--border-strong: #d6cdee;--text-1: #1e1033;--text-2: #3f3157;--text-3: #6b5f86;--text-4: #9a8fb5;--success: #0f7a37;--success-bg: #e7f6ec;--warning: #a85703;--warning-bg: #fdf2e3;--danger: #dc2626;--danger-bg: #fdeaea;--info: #7c3aed;--info-bg: #f5f3ff;--font: "Plus Jakarta Sans Variable", "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-pill: 999px;--shadow-xs: 0 1px 2px rgba(76, 29, 149, .06);--shadow-sm: 0 2px 6px rgba(76, 29, 149, .07), 0 1px 2px rgba(76, 29, 149, .04);--shadow-md: 0 8px 22px rgba(76, 29, 149, .1);--shadow-lg: 0 18px 44px rgba(76, 29, 149, .16);--glow: 0 6px 18px rgba(124, 58, 237, .32);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sidebar-w: 264px;--sidebar-collapsed-w: 76px;--topbar-h: 68px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font);background-color:var(--bg);color:var(--text-1);line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--sp-5)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-6)}.page-header h1{font-size:1.6rem;font-weight:700;color:var(--text-1);letter-spacing:-.02em;margin:0;line-height:1.15}.page-header p{color:var(--text-3);font-size:.95rem;margin:var(--sp-1) 0 0}.page-header-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}h1,h2,h3,h4,h5,h6{color:var(--text-1);font-weight:600;line-height:1.25}a{color:var(--brand);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:.6rem 1.1rem;border:1px solid transparent;border-radius:var(--r-sm);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn .material-icons{font-size:1.15rem}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--brand);color:#fff;box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background-color:var(--brand-600);box-shadow:var(--shadow-sm)}.btn-accent{background-color:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background-color:var(--accent-600)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){background-color:#15803d}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-outline{background:var(--surface);color:var(--text-2);border-color:var(--border-strong)}.btn-outline:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:var(--brand-50)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-1)}.btn-sm{padding:.4rem .75rem;font-size:.82rem}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-6);margin-bottom:var(--sp-5)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.card-title{font-size:1.05rem;font-weight:600;margin:0}.card-footer{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border);display:flex;gap:var(--sp-3);flex-wrap:wrap}.form-group{margin-bottom:var(--sp-4)}.form-group label{display:block;font-weight:500;color:var(--text-2);font-size:.85rem;margin-bottom:var(--sp-2)}.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],input[type=datetime-local],select,textarea{width:100%;padding:.65rem .8rem;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:.92rem;font-family:inherit;color:var(--text-1);background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease}textarea{resize:vertical;min-height:90px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2.2rem}.form-control:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #4a1de926}.form-control::placeholder,input::placeholder,textarea::placeholder{color:var(--text-4)}.input-error{border-color:var(--danger)!important}.field-error{color:var(--danger);font-size:.78rem;margin-top:var(--sp-1)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4)}.table-container,.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.table thead th{background:var(--surface-2);color:var(--text-3);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border)}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background:var(--brand-50)}.table tbody tr:last-child td{border-bottom:none}.table .actions-cell{display:flex;gap:var(--sp-2);justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:4px;padding:.2rem .6rem;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;line-height:1.4;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.badge-success{background:var(--success-bg);color:var(--success);border-color:#bfe6cc}.badge-warning{background:var(--warning-bg);color:var(--warning);border-color:#f3dcb4}.badge-danger{background:var(--danger-bg);color:var(--danger);border-color:#f3c4c4}.badge-info{background:var(--info-bg);color:var(--brand);border-color:var(--brand-100)}.progress{width:100%;height:8px;background:var(--border);border-radius:var(--r-pill);overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand);border-radius:var(--r-pill);transition:width .3s ease}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-8) var(--sp-4);color:var(--text-3)}.empty-state .material-icons{font-size:3rem;opacity:.5;margin-bottom:var(--sp-3)}.spinner-sm{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.fade-in{animation:fadeIn .4s ease-out backwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.text-center{text-align:center}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.hidden{display:none!important}.katex-display,.katex-display.inline-only{display:inline-block!important;vertical-align:middle!important;margin:0 .25em!important;line-height:1!important}.katex{display:inline-block!important;vertical-align:middle!important}.katex .katex-html,.katex .katex-mathml{display:inline-block!important}.katex-block{display:block!important;margin:.8em 0!important}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{margin:0!important;padding:0!important;background:#fff!important;font-size:12pt!important;line-height:1.3!important}.navbar,.sidebar,.top-bar,.search-bar,.print-button-container,.grades-sidebar,button,.btn,input,.input,.mobile-nav{display:none!important}.printable-area,.print-only{display:block!important;visibility:visible!important}body>*:not(.printable-area):not(.print-only){display:none!important}table{border-collapse:collapse!important;width:100%!important}th,td{border:1px solid #000!important;padding:8px!important;font-size:11pt!important}th{background-color:#f0f0f0!important;font-weight:700!important}.page-break{page-break-before:always!important}.no-page-break{page-break-inside:avoid!important}}.a11y-clickable:focus-visible{outline:2px solid #6340b4;outline-offset:2px}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}html{scroll-behavior:smooth}body{background-color:var(--bg);background-image:radial-gradient(900px 480px at 8% -8%,rgba(168,85,247,.13),transparent 60%),radial-gradient(700px 420px at 100% 0%,rgba(192,38,211,.08),transparent 55%);background-attachment:fixed;letter-spacing:-.005em}::selection{background:#7c3aed38;color:var(--text-1)}*{scrollbar-width:thin;scrollbar-color:#c4b5fd transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:#c4b5fd;border-radius:99px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#a78bfa;background-clip:padding-box;border:2px solid transparent}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:700}.page-header h1{font-size:1.75rem;font-weight:800;position:relative;padding-left:16px}.page-header h1:before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:5px;border-radius:99px;background:linear-gradient(180deg,#7c3aed,#d946ef)}.btn{border-radius:12px;font-weight:700;letter-spacing:0;padding:.62rem 1.2rem}.btn-primary{background:var(--grad);box-shadow:var(--glow);border-color:transparent}.btn-primary:hover:not(:disabled){background:var(--grad);filter:brightness(1.07);box-shadow:0 10px 26px #7c3aed6b;transform:translateY(-1px)}.btn-accent{background:linear-gradient(135deg,#c026d3,#e879f9)}.btn-accent:hover:not(:disabled){background:linear-gradient(135deg,#a21caf,#d946ef)}.btn-outline{background:var(--surface);border:1.5px solid var(--border-strong);color:var(--brand-600)}.btn-outline:hover:not(:disabled){border-color:var(--brand);background:var(--brand-50);color:var(--brand-600)}.btn-ghost:hover:not(:disabled){background:var(--brand-50);color:var(--brand-600)}.card{border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);background:var(--surface)}.card-title{font-weight:700}.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],input[type=datetime-local],select,textarea{border:1.5px solid var(--border-strong);border-radius:12px;background-color:var(--surface-2)}.form-control:focus,input:focus,select:focus,textarea:focus{border-color:var(--brand);background-color:var(--surface);box-shadow:0 0 0 4px #7c3aed24}.form-group label{font-weight:700;color:var(--text-2);font-size:.8rem;letter-spacing:.01em}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}.table-container,.table-responsive{border-radius:var(--r-md);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.table thead th{background:linear-gradient(180deg,#f5f3ff,#ede9fe);color:var(--brand-600);font-weight:800;border-bottom:1px solid var(--border-strong)}.table tbody tr:nth-child(2n){background:#f5f3ff73}.table tbody tr:hover{background:var(--brand-100)}.badge{font-weight:700;padding:.25rem .7rem}.badge-info{color:var(--brand-600);border-color:var(--brand-100)}.progress>span{background:linear-gradient(90deg,#7c3aed,#d946ef)}.empty-state .material-icons{color:var(--brand-400);opacity:.8}@keyframes edunovaRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.content-wrapper>*{animation:edunovaRise .35s ease-out backwards}@media (prefers-reduced-motion: reduce){.content-wrapper>*,.fade-in{animation:none!important}*{scroll-behavior:auto!important;transition-duration:.01ms!important}}button,input,select,textarea{font-family:inherit}[data-theme=dark]{--brand: #8b5cf6;--brand-600: #7c3aed;--brand-500: #a78bfa;--brand-400: #c4b5fd;--brand-50: rgba(139, 92, 246, .12);--brand-100: rgba(139, 92, 246, .22);--accent: #e879f9;--accent-600: #d946ef;--accent-50: rgba(232, 121, 249, .12);--pink: #f472b6;--grad: linear-gradient(135deg, #6d28d9 0%, #8b5cf6 50%, #c026d3 100%);--grad-soft: linear-gradient(135deg, rgba(139,92,246,.14), rgba(232,121,249,.1));--grad-sidebar: linear-gradient(185deg, #14092b 0%, #1e0f3f 60%, #2a1257 100%);--bg: #0e0a1c;--surface: #1a1330;--surface-2: #231a42;--sidebar-bg: #14092b;--border: rgba(167, 139, 250, .14);--border-strong: rgba(167, 139, 250, .28);--text-1: #f5f3ff;--text-2: #ddd6fe;--text-3: #a79bc9;--text-4: #7a6ea0;--success: #34d399;--success-bg: rgba(52, 211, 153, .12);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .12);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--info: #a78bfa;--info-bg: rgba(167, 139, 250, .12);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 0 0 1px rgba(167, 139, 250, .05);--shadow-md: 0 6px 18px rgba(0, 0, 0, .55), 0 0 18px rgba(139, 92, 246, .08);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .65), 0 0 30px rgba(139, 92, 246, .14);--glow: 0 6px 20px rgba(139, 92, 246, .35)}[data-theme=dark]{color-scheme:dark}[data-theme=dark] body{background-color:var(--bg);color:var(--text-1);color-scheme:dark}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3{color:var(--text-1);text-shadow:0 0 14px rgba(167,139,250,.18)}[data-theme=dark] p,[data-theme=dark] .page-header p{color:var(--text-3)}[data-theme=dark] .card{background:var(--surface);border:1px solid rgba(156,148,184,.1);box-shadow:var(--shadow-sm);transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}[data-theme=dark] .card:hover{border-color:#8b5cf659;box-shadow:0 8px 28px #0000008c,0 0 22px #8b5cf62e}[data-theme=dark] .card-title,[data-theme=dark] .card-header h1,[data-theme=dark] .card-header h2,[data-theme=dark] .card-header h3{color:var(--text-1)}[data-theme=dark] .sidebar{background:var(--sidebar-bg)!important;border-right:1px solid var(--border);box-shadow:2px 0 18px #00000080}[data-theme=dark] .sidebar-header{border-bottom:1px solid var(--border-strong)}[data-theme=dark] .sidebar .logo-container h1,[data-theme=dark] .sidebar .user-info h4{color:var(--text-1)}[data-theme=dark] .sidebar .user-info p,[data-theme=dark] .nav-menu a{color:var(--text-3)}[data-theme=dark] .nav-menu a:hover,[data-theme=dark] .nav-menu li.active a{background:linear-gradient(90deg,#8b5cf62e,#8b5cf60a);color:var(--brand-500);box-shadow:inset 3px 0 0 var(--brand),0 0 16px #8b5cf640;text-shadow:0 0 10px rgba(167,139,250,.45)}[data-theme=dark] .nav-menu li.active .material-icons{color:var(--brand-500);text-shadow:0 0 12px rgba(167,139,250,.6)}[data-theme=dark] .user-profile{border-top:1px solid var(--border-strong)}[data-theme=dark] .user-initials{background:var(--brand-600);color:#fff;box-shadow:0 0 14px #8b5cf673}[data-theme=dark] .sidebar:not(:hover) .user-avatar:hover:after,[data-theme=dark] .sidebar:not(:hover) .user-info{background:var(--sidebar-bg);color:var(--text-1);border:1px solid var(--border-strong);box-shadow:0 0 18px #8b5cf633}[data-theme=dark] .top-bar,[data-theme=dark] .top-header{background:var(--surface)!important;border-bottom:1px solid var(--border);box-shadow:0 2px 10px #0006}[data-theme=dark] .search-bar{background:var(--bg);border:1px solid var(--border-strong)}[data-theme=dark] .search-bar input{color:var(--text-1)}[data-theme=dark] .search-bar .material-icons,[data-theme=dark] .message-btn,[data-theme=dark] .notification-btn{color:var(--text-3)}[data-theme=dark] .message-btn:hover,[data-theme=dark] .notification-btn:hover{background:var(--surface-2);color:var(--brand-500)}[data-theme=dark] .message-badge{background:var(--info);box-shadow:0 0 10px #a78bfa8c}[data-theme=dark] .notification-badge{background:var(--danger);box-shadow:0 0 10px #ef444499}[data-theme=dark] .form-control,[data-theme=dark] input[type=text],[data-theme=dark] input[type=email],[data-theme=dark] input[type=password],[data-theme=dark] input[type=number],[data-theme=dark] input[type=search],[data-theme=dark] input[type=date],[data-theme=dark] input[type=datetime-local],[data-theme=dark] select,[data-theme=dark] textarea{background:var(--bg);color:var(--text-1);border-color:var(--border-strong)}[data-theme=dark] .form-control:focus,[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #8b5cf633,0 0 14px #8b5cf640}[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}[data-theme=dark] .form-group label{color:var(--text-3)}[data-theme=dark] .switch input:checked+.slider{background-color:var(--accent);box-shadow:0 0 14px #a855f78c}[data-theme=dark] .switch input:checked+.slider:before{background-color:#f8f3ff;box-shadow:0 0 10px #a855f7cc}[data-theme=dark] .switch input:focus-visible+.slider{box-shadow:0 0 0 3px #a855f759,0 0 14px #a855f780}[data-theme=dark] .slider{background-color:var(--border-strong)}[data-theme=dark] input[type=checkbox]:checked,[data-theme=dark] input[type=radio]:checked{accent-color:var(--accent);filter:drop-shadow(0 0 6px rgba(168,85,247,.7))}[data-theme=dark] .btn-primary{background-color:var(--brand);color:#18041a;box-shadow:0 4px 16px #8b5cf659}[data-theme=dark] .btn-primary:hover:not(:disabled){background-color:var(--brand-500);box-shadow:0 6px 22px #8b5cf68c}[data-theme=dark] .btn-accent{background-color:var(--accent);color:#fff;box-shadow:0 4px 16px #a855f766}[data-theme=dark] .btn-accent:hover:not(:disabled){background-color:var(--accent-600);box-shadow:0 6px 22px #a855f799}[data-theme=dark] .btn-success{background-color:var(--success);color:#04231a;box-shadow:0 4px 16px #34d39959}[data-theme=dark] .btn-danger{background-color:var(--danger);color:#fff;box-shadow:0 4px 16px #ef444473}[data-theme=dark] .btn-danger:hover:not(:disabled){background-color:#dc2626;box-shadow:0 6px 22px #ef4444b3}[data-theme=dark] .btn-outline{background:var(--surface);color:var(--text-2);border-color:var(--border-strong)}[data-theme=dark] .btn-outline:hover:not(:disabled){border-color:var(--brand);color:var(--brand-500);background:var(--brand-50);box-shadow:0 0 14px #8b5cf640}[data-theme=dark] .btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-1)}[data-theme=dark] .logout-btn{background:#ef44441f;color:#fca5a5;border:1px solid rgba(239,68,68,.4)}[data-theme=dark] .logout-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 0 18px #ef444499}[data-theme=dark] .logout-btn:focus-visible{box-shadow:0 0 0 3px #ef444459,0 0 16px #ef444480}[data-theme=dark] .table-container,[data-theme=dark] .table-responsive{background:var(--surface);border-color:var(--border)}[data-theme=dark] .table th,[data-theme=dark] .table td{border-color:var(--border);color:var(--text-2)}[data-theme=dark] .table thead th{background:var(--surface-2);color:var(--text-3);border-color:var(--border)}[data-theme=dark] .table tbody tr:hover{background:var(--brand-50);box-shadow:inset 0 0 18px #8b5cf61a}[data-theme=dark] .badge{background:var(--surface-2);color:var(--text-2);border-color:var(--border-strong)}[data-theme=dark] .badge-success{background:var(--success-bg);color:var(--success);border-color:#34d39966}[data-theme=dark] .badge-warning{background:var(--warning-bg);color:var(--warning);border-color:#fbbf2466}[data-theme=dark] .badge-danger{background:var(--danger-bg);color:#fca5a5;border-color:#ef444466}[data-theme=dark] .badge-info{background:var(--info-bg);color:var(--brand-500);border-color:#8b5cf666}[data-theme=dark] .progress{background:var(--border-strong)}[data-theme=dark] .progress>span{background:linear-gradient(90deg,var(--brand),var(--brand-500));box-shadow:0 0 10px #8b5cf699}[data-theme=dark] .logout-modal-overlay{background:#070312b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}[data-theme=dark] .logout-modal{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg),0 0 40px #8b5cf614}[data-theme=dark] .modal-header{border-bottom-color:var(--border)}[data-theme=dark] .modal-body p{color:var(--text-2)}[data-theme=dark] .legal-content h4{color:var(--brand-500)}[data-theme=dark] .legal-content p,[data-theme=dark] .legal-content li{color:var(--text-2)}[data-theme=dark] .legal-content .last-update{color:var(--text-4)}[data-theme=dark] .success-notification{background:#070312b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}[data-theme=dark] .notification-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg),0 0 36px #8b5cf61a}[data-theme=dark] .loading-overlay{background:#0f0b19d9}[data-theme=dark] .spinner{border-color:#9c94b840;border-top-color:var(--brand)}[data-theme=dark] .mobile-nav{background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 14px #00000080}[data-theme=dark] .mobile-nav a{color:var(--text-3)}[data-theme=dark] .mobile-nav a:hover,[data-theme=dark] .mobile-nav a.active{background:var(--brand-50);color:var(--brand-500)}[data-theme=dark] .sidebar-backdrop{background:#07031299}[data-theme=dark] body,[data-theme=dark] .card,[data-theme=dark] .sidebar,[data-theme=dark] .top-bar,[data-theme=dark] .settings-section,[data-theme=dark] .form-control,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] .btn,[data-theme=dark] .table-container{transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease}.theme-transition,.theme-transition *{transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease!important}[data-theme=dark] a:focus-visible,[data-theme=dark] button:focus-visible,[data-theme=dark] .setting-item.clickable:focus-visible{outline:none;box-shadow:0 0 0 3px #8b5cf659,0 0 16px #8b5cf673}[data-theme=dark] .nav-menu .material-icons{transition:color .25s ease,text-shadow .25s ease}[data-theme=dark] .setting-item{background:var(--surface-2);border:1px solid var(--border)}[data-theme=dark] .setting-item:hover{background:var(--bg)}[data-theme=dark] .setting-item.clickable:hover{border-color:var(--brand);background:var(--brand-50);box-shadow:0 0 16px #8b5cf62e}[data-theme=dark] .setting-icon{color:var(--brand-500);filter:drop-shadow(0 0 6px rgba(167,139,250,.5))}[data-theme=dark] .setting-text h3{color:var(--text-1)}[data-theme=dark] .setting-text p{color:var(--text-3)}[data-theme=dark] .chevron{color:var(--text-4)}[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--brand-600),var(--accent-600));border-radius:999px;border:2px solid var(--bg)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--brand-500),var(--accent))}[data-theme=dark] .dashboard-header h1{color:var(--text-1);text-shadow:0 0 16px rgba(167,139,250,.2)}[data-theme=dark] .dashboard-header p{color:var(--text-3)}[data-theme=dark] .stat-card{background:var(--surface);border:1px solid rgba(156,148,184,.1);box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}[data-theme=dark] .stat-card:hover{transform:translateY(-4px);border-color:#8b5cf666;box-shadow:0 10px 28px #0000008c,0 0 22px #8b5cf633}[data-theme=dark] .stat-icon{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-600) 100%);box-shadow:0 4px 14px #8b5cf666;color:#18041a}[data-theme=dark] .stat-info h3{color:var(--text-1);text-shadow:0 0 12px rgba(167,139,250,.15)}[data-theme=dark] .stat-info p{color:var(--text-3)}[data-theme=dark] .quick-actions h2,[data-theme=dark] .recent-activity h2{color:var(--text-1)}[data-theme=dark] .action-btn{background:var(--surface);border:2px solid var(--border-strong);color:var(--text-2);transition:all .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}[data-theme=dark] .action-btn:hover{border-color:var(--brand);background:var(--brand-50);color:var(--brand-500);transform:translateY(-2px);box-shadow:0 8px 22px #8b5cf62e,0 0 18px #8b5cf633}[data-theme=dark] .action-btn .material-icons{color:var(--brand-500);filter:drop-shadow(0 0 8px rgba(167,139,250,.45))}[data-theme=dark] .action-btn span:last-child{color:inherit}[data-theme=dark] .activity-item{background:var(--surface);border:1px solid rgba(156,148,184,.1);transition:border-color .3s ease,box-shadow .3s ease}[data-theme=dark] .activity-item:hover{border-color:#8b5cf666;box-shadow:0 0 18px #8b5cf626}[data-theme=dark] .activity-icon{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#04231a;box-shadow:0 4px 12px #10b98166}[data-theme=dark] .activity-content p{color:var(--text-1)}[data-theme=dark] .activity-content small,[data-theme=dark] .empty-activity{color:var(--text-3)}[data-theme=dark] .empty-activity p{color:var(--text-2)}[data-theme=dark] .empty-activity small{color:var(--text-4)}[data-theme=dark] .mini-spinner{border-color:#9c94b840;border-top-color:var(--brand)}[data-theme=dark] .modal-overlay{background:#070312b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .modal-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg),0 0 40px #8b5cf614}[data-theme=dark] .modal-header{background:var(--surface-2);border-bottom-color:var(--border)}[data-theme=dark] .modal-header h3{color:var(--text-1)}[data-theme=dark] .close-button{color:var(--text-3)}[data-theme=dark] .close-button:hover{background:var(--border-strong);color:var(--text-1)}[data-theme=dark] .modal-body{background:var(--surface)}[data-theme=dark] .form-group label{color:var(--text-2)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select{background:var(--bg);color:var(--text-1);border-color:var(--border-strong)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #8b5cf633,0 0 14px #8b5cf640}[data-theme=dark] .modal-actions{border-top-color:var(--border)}[data-theme=dark] .cancel-button{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border-strong)}[data-theme=dark] .cancel-button:hover{background:var(--border-strong)}[data-theme=dark] .save-button{background:var(--brand);color:#18041a;box-shadow:0 4px 14px #8b5cf659}[data-theme=dark] .save-button:hover:not(:disabled){background:var(--brand-500)}[data-theme=dark] .primary-button{background:var(--success);color:#04231a;box-shadow:0 4px 14px #10b98159}[data-theme=dark] .primary-button:hover{background:#059669}[data-theme=dark] .modal-description{background:var(--brand-50);border:1px solid var(--brand-100)}[data-theme=dark] .modal-description p{color:var(--brand-500)}[data-theme=dark] .current-grades h4,[data-theme=dark] .current-subjects h4,[data-theme=dark] .reports-section h4{color:var(--text-1)}[data-theme=dark] .grade-item,[data-theme=dark] .subject-item{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border-strong)}[data-theme=dark] .report-card{background:var(--surface);border:1px solid var(--border)}[data-theme=dark] .report-card:hover{background:var(--brand-50);border-color:var(--brand);box-shadow:0 0 16px #8b5cf62e}[data-theme=dark] .report-info h5{color:var(--text-1)}[data-theme=dark] .report-info p{color:var(--text-3)}[data-theme=dark] .profile-card{background:linear-gradient(135deg,#160f2a,#4a1de9 60%,#b508d2);box-shadow:0 8px 32px #8b5cf62e;border:1px solid rgba(139,92,246,.25)}[data-theme=dark] .profile-info h2{color:#f2f1f9}[data-theme=dark] .profile-name{color:#f2f1f9e6}[data-theme=dark] .profile-role{color:#f2f1f9b3}[data-theme=dark] .countdown-timer-section{background:linear-gradient(135deg,#3e17c7,#6d28d9);box-shadow:0 10px 40px #6d28d959}[data-theme=dark] .countdown-setup-btn{background:linear-gradient(135deg,#b508d2,#a855f7);color:#18041a;box-shadow:0 4px 16px #8b5cf666}[data-theme=dark] .countdown-setup-btn:hover{box-shadow:0 6px 22px #a855f78c}[data-theme=dark] .notification-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}[data-theme=dark] .notification-title{color:var(--text-1)}[data-theme=dark] .notification-success .notification-title,[data-theme=dark] .notification-success .notification-message{color:var(--success)}[data-theme=dark] .notification-error .notification-title,[data-theme=dark] .notification-error .notification-message{color:#fca5a5}[data-theme=dark] .notification-message{color:var(--text-2)}[data-theme=dark] .notification-close{color:var(--text-3)}[data-theme=dark] .notification-close:hover{background:var(--surface-2);color:var(--text-1)}[data-theme=dark] .fullscreen-modal-overlay.fullscreen-modal-overlay{background:#070312d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .fullscreen-modal-content.fullscreen-modal-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg),0 0 40px #8b5cf61a}[data-theme=dark] .modal-header.modal-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand) 50%,var(--brand-400) 100%);color:#18041a}[data-theme=dark] .plan-meta-top.plan-meta-top,[data-theme=dark] .plan-meta.plan-meta{background:var(--surface-2);border-left:4px solid var(--brand);color:var(--text-2)}[data-theme=dark] .plan-meta-top.plan-meta-top p,[data-theme=dark] .plan-meta.plan-meta p{color:var(--text-2)}[data-theme=dark] .plan-content-fullscreen.plan-content-fullscreen{background:var(--surface);color:var(--text-1);border:1px solid var(--border)}[data-theme=dark] .plan-content-fullscreen .plan-text,[data-theme=dark] .plan-content-fullscreen .plan-text h1,[data-theme=dark] .plan-content-fullscreen .plan-text h2,[data-theme=dark] .plan-content-fullscreen .plan-text h3,[data-theme=dark] .plan-content-fullscreen .plan-text h4,[data-theme=dark] .plan-content-fullscreen .plan-text strong,[data-theme=dark] .plan-content-fullscreen .plan-text em{color:var(--text-1)}[data-theme=dark] .plan-content-fullscreen .plan-text .section-title{color:#18041a}[data-theme=dark] .plan-content-fullscreen .plan-text .subsection-title{color:var(--text-2);background:var(--surface-2);border-left:5px solid var(--brand)}[data-theme=dark] .plan-content-fullscreen .plan-text .video-source{color:var(--text-3);background:var(--surface-2)}[data-theme=dark] .plan-content-fullscreen .plan-text .video-link{color:var(--brand-500)}[data-theme=dark] .plan-content-fullscreen .plan-text .video-card{background:var(--surface-2);border:1px solid var(--border-strong)}[data-theme=dark] .plan-content-fullscreen .plan-text .ai-h3{background:var(--surface-2);color:var(--brand-500);border-left:4px solid var(--brand)}[data-theme=dark] .plan-content-fullscreen .plan-text .ai-h4{background:var(--surface-2);color:var(--text-2);border-left:3px solid var(--border-strong)}[data-theme=dark] .plan-content-fullscreen .plan-text .ai-list li,[data-theme=dark] .plan-content-fullscreen .plan-text ol li{background:var(--surface-2);border:1px solid var(--border-strong)}[data-theme=dark] .plan-content-fullscreen .plan-text .ai-list li::marker,[data-theme=dark] .plan-content-fullscreen .plan-text ol li::marker,[data-theme=dark] .plan-content-fullscreen .plan-text li::marker{color:var(--brand-500)}[data-theme=dark] .plan-content-fullscreen .plan-text .ai-table{border:2px solid var(--brand)}[data-theme=dark] .plan-content-fullscreen .plan-text .ai-table th{background:var(--brand);color:#18041a;border:1px solid var(--brand-600)}[data-theme=dark] .plan-content-fullscreen .plan-text .ai-table td{background:var(--surface-2);border:1px solid var(--border);color:var(--text-1)}[data-theme=dark] .plan-content-fullscreen .plan-text .ai-table tr:nth-child(2n) td{background:var(--surface)}[data-theme=dark] .plan-content-fullscreen .plan-text .video-unavailable{background:#ef44441a;border:1px solid rgba(239,68,68,.35);color:#fca5a5}[data-theme=dark] .plan-content-fullscreen .plan-text .video-unavailable-icon,[data-theme=dark] .plan-content-fullscreen .plan-text .video-unavailable-title,[data-theme=dark] .plan-content-fullscreen .plan-text .video-unavailable-message,[data-theme=dark] .plan-content-fullscreen .plan-text .video-unavailable-url{color:#fca5a5}[data-theme=dark] .plan-content-fullscreen .plan-text .no-videos-message{background:var(--surface-2);color:var(--text-3);border:2px dashed var(--border-strong)}[data-theme=dark] .plan-content-fullscreen .plan-text .video-status-badge.available{background:#34d39924;color:#6ee7b7}[data-theme=dark] .plan-content-fullscreen .plan-text .video-status-badge.unavailable{background:#ef444424;color:#fca5a5}[data-theme=dark] .plan-content-fullscreen .plan-text .video-status-badge.checking{background:#fbbf2424;color:#fcd34d}[data-theme=dark] .plan-content-fullscreen .plan-text .check{color:#6ee7b7}[data-theme=dark] .math-large-block.math-large-block,[data-theme=dark] .katex-display.katex-display{background:var(--surface-2)!important}[data-theme=dark] .fullscreen-modal-content,[data-theme=dark] .fullscreen-modal-content *,[data-theme=dark] .plan-content-fullscreen,[data-theme=dark] .plan-content-fullscreen *{color:var(--text-1)!important}[data-theme=dark] .fullscreen-modal-content h2,[data-theme=dark] .fullscreen-modal-content h3,[data-theme=dark] .plan-content-fullscreen h2,[data-theme=dark] .plan-content-fullscreen h3,[data-theme=dark] .fullscreen-modal-content .section-title,[data-theme=dark] .fullscreen-modal-content .subsection-title,[data-theme=dark] .plan-content-fullscreen .section-title,[data-theme=dark] .plan-content-fullscreen .subsection-title{background:linear-gradient(135deg,#461fae,#5627e9)!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.45);border:1px solid rgba(167,139,250,.35)!important}[data-theme=dark] .fullscreen-modal-content h3,[data-theme=dark] .plan-content-fullscreen h3,[data-theme=dark] .fullscreen-modal-content .subsection-title,[data-theme=dark] .plan-content-fullscreen .subsection-title{background:linear-gradient(135deg,#251c40,#2c1f5e)!important;color:var(--text-1)!important;border-left:5px solid var(--brand)!important;text-shadow:none}[data-theme=dark] .plan-content-fullscreen p,[data-theme=dark] .plan-content-fullscreen li,[data-theme=dark] .plan-content-fullscreen span{color:var(--text-1)!important}[data-theme=dark] .fullscreen-modal-content a,[data-theme=dark] .plan-content-fullscreen a,[data-theme=dark] .plan-content-fullscreen .video-link{color:var(--brand-500)!important}[data-theme=dark] .plan-content-fullscreen .video-unavailable,[data-theme=dark] .plan-content-fullscreen .video-unavailable *,[data-theme=dark] .plan-content-fullscreen .no-videos-message,[data-theme=dark] .plan-content-fullscreen .no-videos-message *{color:#fca5a5!important}[data-theme=dark] .plan-content-fullscreen .video-status-badge.available,[data-theme=dark] .plan-content-fullscreen .video-status-badge.available *{color:#6ee7b7!important}[data-theme=dark] .plan-content-fullscreen .video-status-badge.unavailable,[data-theme=dark] .plan-content-fullscreen .video-status-badge.unavailable *{color:#fca5a5!important}[data-theme=dark] .plan-content-fullscreen .video-status-badge.checking,[data-theme=dark] .plan-content-fullscreen .video-status-badge.checking *{color:#fcd34d!important}[data-theme=dark] .plan-content-fullscreen table,[data-theme=dark] .plan-content-fullscreen table *{color:var(--text-1)!important;background:var(--surface-2)!important;border-color:var(--border-strong)!important}[data-theme=dark] .plan-content-fullscreen table th{background:var(--brand)!important;color:#18041a!important}[data-theme=dark] .plan-content-fullscreen table tr:nth-child(2n) td{background:var(--surface)!important}[data-theme=dark] .plan-content-fullscreen .ai-table th,[data-theme=dark] .plan-content-fullscreen .ai-table th *{color:#fff!important;background:linear-gradient(135deg,#461fae,#5627e9,#4f1fd6)!important}[data-theme=dark] .plan-content-fullscreen .ai-table td,[data-theme=dark] .plan-content-fullscreen .ai-table td *{color:var(--text-1)!important}[data-theme=dark] .plan-content-fullscreen .ai-table tr:nth-child(2n) td,[data-theme=dark] .plan-content-fullscreen .ai-table tr:nth-child(2n) td *{background:var(--surface)!important}[data-theme=dark] body{background-image:radial-gradient(900px 480px at 8% -8%,rgba(139,92,246,.16),transparent 60%),radial-gradient(700px 420px at 100% 0%,rgba(232,121,249,.08),transparent 55%)}[data-theme=dark] .pg-app .nav-menu li.active a,[data-theme=dark] .nav-menu a.active{background:linear-gradient(90deg,#8b5cf62e,#8b5cf60a);color:var(--brand-500);box-shadow:inset 3px 0 0 var(--brand),0 0 16px #8b5cf640}[data-theme=dark] .pg-app .nav-menu li.active a .material-icons,[data-theme=dark] .nav-menu a.active .material-icons{color:var(--brand-500)}[data-theme=dark] .pg-boletines .btn-preset{background:var(--brand-50);color:var(--brand-400)}[data-theme=dark] .pg-boletines .btn-preset:hover{background:var(--brand-100)}[data-theme=dark] .pg-boletines .preset-menu{background:var(--surface-2);border-color:var(--border-strong)}[data-theme=dark] .pg-boletines .preset-option{color:var(--text-1)}[data-theme=dark] .pg-boletines .preset-option:hover{background:var(--brand-50)}[data-theme=dark] .pg-consent-gate .consent-modal{background:var(--surface);color:var(--text-1)}[data-theme=dark] .pg-consent-gate .consent-check{color:var(--text-1)}[data-theme=dark] .pg-directors-group .director-chip{background:var(--warning-bg);color:var(--warning)}[data-theme=dark] .pg-grades .grades-table tr.failing:hover{background:#f8717138!important}[data-theme=dark] .pg-grades .grades-table tr.losing:hover{background:#fbbf2433!important}[data-theme=dark] .pg-grades .fullscreen-warning,[data-theme=dark] .pg-recoveries .fullscreen-warning,[data-theme=dark] .pg-recoveries .no-subject-message{background:var(--warning-bg)!important;color:var(--warning);border-color:#fbbf244d}[data-theme=dark] .pg-grades .plan-guidelines,[data-theme=dark] .pg-grades .plan-text h3,[data-theme=dark] .pg-grades .plan-text .subsection-title,[data-theme=dark] .pg-grades .plan-text .dia{background:var(--surface-2);color:var(--text-1)}[data-theme=dark] .pg-grades .plan-text .video-unavailable-icon{background:#f8717140}[data-theme=dark] .pg-grades .plan-text .video-status-badge.unavailable{background:var(--danger-bg);color:var(--danger)}[data-theme=dark] .pg-grades .plan-text .video-status-badge.checking{background:var(--warning-bg);color:var(--warning)}[data-theme=dark] .pg-grades .plan-text .math-large-block,[data-theme=dark] .pg-grades .plan-text .katex-display{background:var(--surface-2);color:var(--text-1)}[data-theme=dark] .pg-grades .plan-text .math-large{color:var(--brand-400)}[data-theme=dark] .pg-recoveries .fullscreen-modal-content{background:var(--surface)}[data-theme=dark] .pg-recoveries .plan-meta-top,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text h3,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .subsection-title,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .ai-h3{background:var(--surface-2);color:var(--text-1)}[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text h4,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .ai-h4,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .video-source{background:var(--surface-2);color:var(--text-2)}[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .video-card,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .ai-list li,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text ol li,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .ai-table td,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .no-videos-message{background:var(--surface);color:var(--text-1)}[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .ai-table tr:nth-child(2n) td{background:var(--surface-2)}[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .ai-table tr:hover td{background:var(--brand-50)}[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .video-unavailable,[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .video-status-badge.unavailable{background:var(--danger-bg);color:var(--danger)}[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .video-unavailable-icon{background:#f8717140}[data-theme=dark] .pg-recoveries .plan-content-fullscreen .plan-text .video-status-badge.checking{background:var(--warning-bg);color:var(--warning)}[data-theme=dark] .pg-recoveries .plan-text .math-large-block,[data-theme=dark] .pg-recoveries .plan-text .katex-display{background:var(--surface-2);color:var(--text-1)}[data-theme=dark] .pg-recoveries .plan-text .math-large{color:var(--brand-400)}[data-theme=dark] .pg-notification-details .success-notification .notification-content{background:var(--surface);color:var(--text-1)}[data-theme=dark] .pg-parents .unlinked-footer{background:var(--warning-bg);border-color:#fbbf244d}[data-theme=dark] .pg-parents .delete-btn:hover,[data-theme=dark] .pg-subjects .delete-btn:hover,[data-theme=dark] .pg-teachers .delete-icon-button:hover{background:var(--danger-bg)}[data-theme=dark] .pg-periods .status-badge.automatic{background:var(--warning-bg);color:var(--warning)}[data-theme=dark] .pg-periods .admin-notice{background:var(--warning-bg);border-color:#fbbf244d;color:var(--text-2)}[data-theme=dark] .pg-periods .success-message{color:var(--success)}[data-theme=dark] .pg-students .sin-salon-btn{background:var(--warning-bg);color:var(--warning)}[data-theme=dark] .pg-students .salon-pick-btn{background:var(--brand-50);color:var(--brand-400)}[data-theme=dark] .pg-subjects .edit-btn:hover{background:var(--warning-bg)}.pg-app .app-container{display:flex;min-height:100vh;position:relative}.pg-app .sidebar{position:fixed;top:14px;left:14px;height:calc(100vh - 28px);width:var(--sidebar-collapsed-w);background:var(--grad-sidebar);color:#fff;display:flex;flex-direction:column;border-radius:26px;z-index:1000;overflow:visible;box-shadow:0 18px 44px #2e106561,inset 0 1px #ffffff1a;transition:width .32s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1),opacity .6s ease;transform:translate(-130%);opacity:0}.pg-app .sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(220px 160px at 100% 0%,rgba(232,121,249,.28),transparent 70%),radial-gradient(200px 200px at 0% 100%,rgba(167,139,250,.22),transparent 70%);pointer-events:none}.pg-app .sidebar>*{position:relative}.pg-app .sidebar:hover{width:var(--sidebar-w)}.pg-app .sidebar.sidebar-animated{transform:translate(0);opacity:1;animation:sidebarEntrance .7s cubic-bezier(.22,1,.36,1) forwards}@keyframes sidebarEntrance{0%{transform:translate(-130%);opacity:0}to{transform:translate(0);opacity:1}}.pg-app .main-content{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh;margin-left:0;transition:margin-left .3s ease}.pg-app .sidebar.sidebar-animated~.main-content{margin-left:calc(var(--sidebar-collapsed-w) + 28px)}.pg-app .sidebar-header{padding:22px 12px 16px;display:flex;justify-content:center}.pg-app .logo-container{display:flex;align-items:center;gap:12px;justify-content:flex-start;width:100%;padding:8px;border-radius:18px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);overflow:hidden}.pg-app .sidebar:not(:hover) .logo-container{justify-content:center;padding:8px 0}.pg-app .logo{width:42px;height:42px;flex-shrink:0;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}.pg-app .logo-container h1{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0;color:#fff;white-space:nowrap;text-shadow:none}.pg-app .logo-container h1 span{color:#f0abfc}.pg-app .sidebar:not(:hover) .logo-container h1{opacity:0;visibility:hidden;width:0}.pg-app .nav-menu{flex:1;min-height:0;padding:6px 12px 10px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.pg-app .nav-menu::-webkit-scrollbar{width:0}.pg-app .nav-menu ul{list-style:none;padding:0;margin:0}.pg-app .nav-menu li{margin-bottom:4px}.pg-app .nav-menu a{display:flex;align-items:center;gap:14px;padding:0 14px;height:46px;color:#ffffffc7;text-decoration:none;border-radius:14px;white-space:nowrap;font-weight:600;position:relative;transition:background .2s ease,color .2s ease,transform .2s ease}.pg-app .nav-menu .material-icons{font-size:22px;flex-shrink:0}.pg-app .menu-text{font-size:14px;transition:opacity .2s ease}.pg-app .sidebar:not(:hover) .nav-menu a{justify-content:center;padding:0}.pg-app .sidebar:not(:hover) .menu-text{opacity:0;visibility:hidden;width:0;overflow:hidden}.pg-app .nav-menu a:hover{background:#ffffff1f;color:#fff}.pg-app .nav-menu li.active a{background:#fff;color:#5b21b6;box-shadow:0 8px 20px #18063a59}.pg-app .nav-menu li.active a .material-icons{color:#7c3aed}.pg-app .nav-menu li.active a:after{content:"";position:absolute;right:12px;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#c026d3,#7c3aed)}.pg-app .sidebar:not(:hover) .nav-menu li.active a:after{display:none}.pg-app .sidebar.sidebar-animated .nav-menu li{animation:menuItemIn .5s cubic-bezier(.22,1,.36,1) both}.pg-app .sidebar.sidebar-animated .nav-menu li:nth-child(1){animation-delay:.08s}.pg-app .sidebar.sidebar-animated .nav-menu li:nth-child(2){animation-delay:.12s}.pg-app .sidebar.sidebar-animated .nav-menu li:nth-child(3){animation-delay:.16s}.pg-app .sidebar.sidebar-animated .nav-menu li:nth-child(4){animation-delay:.2s}.pg-app .sidebar.sidebar-animated .nav-menu li:nth-child(5){animation-delay:.24s}.pg-app .sidebar.sidebar-animated .nav-menu li:nth-child(6){animation-delay:.28s}.pg-app .sidebar.sidebar-animated .nav-menu li:nth-child(n+7){animation-delay:.32s}@keyframes menuItemIn{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}.pg-app .user-profile{margin:0 12px 14px;padding:10px;border-radius:18px;background:#ffffff17;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px;position:relative}.pg-app .sidebar:not(:hover) .user-profile{justify-content:center;padding:8px 0}.pg-app .user-avatar img,.pg-app .user-initials{width:40px;height:40px;border-radius:14px;flex-shrink:0;cursor:pointer}.pg-app .user-avatar .user-image{object-fit:cover}.pg-app .user-initials{background:linear-gradient(135deg,#c026d3,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}.pg-app .user-info{min-width:0}.pg-app .user-info h4{margin:0 0 2px;font-size:13.5px;color:#fff;font-weight:700;text-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-app .user-info p{margin:0;font-size:11.5px;color:#ffffffa8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-app .sidebar:not(:hover) .user-info{position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);opacity:0;visibility:hidden;pointer-events:none;white-space:nowrap;background:#2e1065;padding:8px 12px;border-radius:10px;box-shadow:var(--shadow-md)}.pg-app .sidebar:hover .user-info{opacity:1;visibility:visible;position:static;transform:none}.pg-app .sidebar.sidebar-animated .user-profile{animation:menuItemIn .6s cubic-bezier(.22,1,.36,1) .4s both}.pg-app .user-initials-text{font-size:14px;color:#fff;margin-left:10px}.pg-app .top-bar{position:sticky;top:0;z-index:50;margin:14px 22px 0;min-height:var(--topbar-h);padding:10px 14px 10px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;background:#ffffffc7;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-sm);color:var(--text-1)}.pg-app .top-bar-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.pg-app .search-bar{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1.5px solid var(--border);padding:8px 16px;border-radius:99px;flex:1;max-width:420px;color:var(--text-3);transition:border-color .2s,box-shadow .2s}.pg-app .search-bar:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px #7c3aed1f}.pg-app .search-bar .material-icons{font-size:20px;color:var(--brand-500)}.pg-app .search-bar input{border:none!important;background:none!important;box-shadow:none!important;outline:none;flex:1;padding:2px 0;font-size:14px}.pg-app .top-bar-actions{display:flex;align-items:center;gap:10px;position:relative}.pg-app .notification-container,.pg-app .message-container{position:relative;display:inline-block}.pg-app .notification-btn,.pg-app .message-btn{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-600);cursor:pointer;border-radius:14px;transition:background .2s,transform .2s,box-shadow .2s}.pg-app .notification-btn:hover,.pg-app .message-btn:hover{background:var(--brand-100);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.pg-app .notification-badge,.pg-app .message-badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;font-size:11px;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.pg-app .notification-badge{background:#ef4444}.pg-app .message-badge{background:linear-gradient(135deg,#c026d3,#7c3aed)}.pg-app .notification-btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.pg-app .menu-toggle-btn{display:none;width:42px;height:42px;align-items:center;justify-content:center;background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-600);cursor:pointer;border-radius:14px}.pg-app .theme-toggle{display:flex;align-items:center;gap:10px}.pg-app .switch{position:relative;display:inline-block;width:50px;height:26px}.pg-app .switch input{opacity:0;width:0;height:0}.pg-app .slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#cbd5e1;transition:.3s;border-radius:26px}.pg-app .slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background:#fff;transition:.3s;border-radius:50%}.pg-app input:checked+.slider{background:var(--grad)}.pg-app input:checked+.slider:before{transform:translate(24px)}.pg-app .content-wrapper{flex:1;padding:26px 26px 34px;overflow-y:auto}.pg-app .footer{background:var(--surface-2);border-top:1px solid var(--border);padding:20px 30px;display:flex;justify-content:space-between;align-items:center}.pg-app .footer-links{display:flex;gap:20px}.pg-app .footer-links a{color:var(--text-3);font-size:14px}.pg-app .footer-links a:hover{color:var(--brand)}.pg-app .mobile-nav{display:none;position:fixed;left:12px;right:12px;bottom:12px;background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg);justify-content:space-around;padding:8px 6px;z-index:1000}.pg-app .mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--text-3);font-size:11px;font-weight:700;padding:6px 10px;border-radius:14px;transition:background .2s}.pg-app .mobile-nav a .material-icons{font-size:22px}.pg-app .mobile-nav a.active{background:var(--grad);color:#fff;box-shadow:var(--glow)}.pg-app .sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#1e103380;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999}.pg-app .loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#f6f3fdcc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .3s ease}.pg-app .loading-overlay.hidden{opacity:0;pointer-events:none}.pg-app .spinner{width:42px;height:42px;border:4px solid rgba(124,58,237,.18);border-top-color:#7c3aed;border-radius:50%;animation:spin .9s linear infinite}@media (max-width: 768px){.pg-app .menu-toggle-btn{display:inline-flex}.pg-app .sidebar,.pg-app .sidebar.sidebar-animated{top:0;left:0;height:100vh;width:272px!important;border-radius:0 26px 26px 0;transform:translate(-105%)!important;opacity:1!important;animation:none!important;z-index:1001}.pg-app .sidebar.open{transform:translate(0)!important}.pg-app .sidebar .menu-text,.pg-app .sidebar .logo-container h1,.pg-app .sidebar .user-info{opacity:1!important;visibility:visible!important;width:auto!important;position:static!important;transform:none!important;background:none!important;padding:0!important}.pg-app .sidebar .nav-menu a{justify-content:flex-start!important;padding:0 14px!important}.pg-app .sidebar-backdrop.show{display:block}.pg-app .sidebar~.main-content,.pg-app .sidebar.sidebar-animated~.main-content{margin-left:0!important}.pg-app .top-bar{margin:10px 12px 0;padding:8px 10px 8px 12px;border-radius:18px}.pg-app .content-wrapper{padding:18px 14px 100px}.pg-app .search-bar{max-width:100%}.pg-app .mobile-nav{display:flex;padding-bottom:calc(8px + env(safe-area-inset-bottom))}}@media (min-width: 769px) and (max-width: 1100px){.pg-app .content-wrapper{padding:22px 18px 30px}}.pg-app .main-content.full-width{margin-left:0;width:100%}[data-theme=dark] .pg-app .top-bar{background:#1a1330c7;border-color:var(--border)}[data-theme=dark] .pg-app .notification-badge,[data-theme=dark] .pg-app .message-badge{border-color:var(--surface)}[data-theme=dark] .pg-app .mobile-nav{background:#1a1330eb}[data-theme=dark] .pg-app .loading-overlay{background:#0e0a1cd1}[data-theme=dark] .pg-app .footer{background:var(--surface)}.pg-dialog .app-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px;animation:app-dialog-fade-in .15s ease}@keyframes app-dialog-fade-in{0%{opacity:0}to{opacity:1}}.pg-dialog .app-dialog-box{background:var(--surface);border-radius:16px;padding:28px 26px 22px;max-width:400px;width:100%;box-shadow:var(--shadow-lg);text-align:center;animation:app-dialog-pop-in .18s ease}@keyframes app-dialog-pop-in{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.pg-dialog .app-dialog-icon{width:52px;height:52px;border-radius:50%;background:var(--brand-50);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.pg-dialog .app-dialog-icon .material-icons{color:var(--brand);font-size:26px}.pg-dialog .app-dialog-box.danger .app-dialog-icon{background:var(--danger-bg)}.pg-dialog .app-dialog-box.danger .app-dialog-icon .material-icons{color:var(--danger)}.pg-dialog .app-dialog-title{color:var(--text-1);font-size:1.1rem;font-weight:700;margin:0 0 8px}.pg-dialog .app-dialog-message{color:var(--text-3);font-size:.9rem;line-height:1.55;margin:0 0 22px;white-space:pre-line}.pg-dialog .app-dialog-actions{display:flex;gap:10px;justify-content:center}.pg-dialog .app-dialog-btn{flex:1;padding:11px 18px;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;border:1px solid var(--border);transition:all .15s ease}.pg-dialog .app-dialog-btn.cancel{background:var(--surface-2);color:var(--text-2)}.pg-dialog .app-dialog-btn.cancel:hover{border-color:var(--text-3)}.pg-dialog .app-dialog-btn.confirm{background:var(--brand);border-color:var(--brand);color:#fff}.pg-dialog .app-dialog-btn.confirm:hover{background:var(--brand-600)}.pg-dialog .app-dialog-btn.confirm.danger{background:var(--danger);border-color:var(--danger)}.pg-dialog .app-dialog-btn.confirm.danger:hover{background:#b3261e}.pg-dialog .app-dialog-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-1);font-size:.95rem;margin-bottom:18px;outline:none}.pg-dialog .app-dialog-input:focus{border-color:var(--brand)}.toasts{position:fixed;right:18px;bottom:18px;z-index:3000;display:flex;flex-direction:column;gap:10px}.toast{background:var(--surface);color:var(--text-1);border:1px solid var(--border-strong);border-left:4px solid var(--brand);box-shadow:var(--shadow-lg);border-radius:12px;padding:12px 16px;min-width:240px;max-width:360px;font-size:.9rem}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.pg-messages-dropdown .messages-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:420px;min-height:220px;max-height:min(600px,78vh);display:flex;flex-direction:column;background:var(--surface);border-radius:18px;box-shadow:0 24px 60px #160f2a38,0 4px 14px #160f2a14;border:1px solid var(--border);z-index:1000;animation:dropdownSlide .22s cubic-bezier(.2,.8,.2,1);overflow:hidden}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pg-messages-dropdown .dd-header{padding:18px 20px 14px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--brand) 0%,#4f1fd6 100%);color:#fff}.pg-messages-dropdown .dd-title{display:flex;align-items:center;gap:12px}.pg-messages-dropdown .dd-title-icon{width:40px;height:40px;border-radius:12px;background:#ffffff2e;display:flex;align-items:center;justify-content:center;font-size:22px}.pg-messages-dropdown .dd-title h3{margin:0;font-size:17px;font-weight:700;letter-spacing:.2px}.pg-messages-dropdown .dd-title small{opacity:.85;font-size:12px}.pg-messages-dropdown .close-btn{background:#ffffff26;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .18s ease}.pg-messages-dropdown .close-btn:hover{background:#ffffff4d}.pg-messages-dropdown .close-btn .material-icons{font-size:18px}.pg-messages-dropdown .close-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.pg-messages-dropdown .dd-tabs{display:flex;gap:6px;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}.pg-messages-dropdown .dd-tab{flex:1;border:none;background:transparent;padding:8px 6px;border-radius:10px;font-size:12.5px;font-weight:600;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .18s ease}.pg-messages-dropdown .dd-tab:hover{background:var(--surface);color:var(--text-1)}.pg-messages-dropdown .dd-tab.active{background:var(--surface);color:var(--brand);box-shadow:0 1px 4px #160f2a1a}.pg-messages-dropdown .dd-count{background:var(--border);color:var(--text-2);font-size:11px;padding:1px 7px;border-radius:999px}.pg-messages-dropdown .dd-count.hot{background:#ef4444;color:#fff}.pg-messages-dropdown .combined-list{flex:1;overflow-y:auto;padding:4px 0 8px}.pg-messages-dropdown .dd-group-label{padding:12px 20px 6px;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-4)}.pg-messages-dropdown .dd-item{position:relative;display:flex;gap:12px;align-items:flex-start;padding:12px 20px;cursor:pointer;transition:background .15s ease,opacity .3s ease,transform .3s ease}.pg-messages-dropdown .dd-item:hover{background:var(--surface-2)}.pg-messages-dropdown .dd-item.unread{background:color-mix(in srgb,var(--brand) 6%,transparent)}.pg-messages-dropdown .dd-item.unread:hover{background:color-mix(in srgb,var(--brand) 12%,transparent)}.pg-messages-dropdown .dd-item.deleting{opacity:0;transform:translate(40px)}.pg-messages-dropdown .dd-avatar{width:42px;height:42px;border-radius:14px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 3px 8px #160f2a26}.pg-messages-dropdown .dd-avatar img{width:100%;height:100%;object-fit:cover}.pg-messages-dropdown .dd-avatar .material-icons{font-size:22px}.pg-messages-dropdown .dd-body{flex:1;min-width:0}.pg-messages-dropdown .dd-row{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.pg-messages-dropdown .dd-item-title{font-size:14px;font-weight:600;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-messages-dropdown .dd-item.unread .dd-item-title{font-weight:700}.pg-messages-dropdown .dd-time{font-size:11px;color:var(--text-4);white-space:nowrap}.pg-messages-dropdown .dd-sender{display:flex;align-items:center;gap:8px;margin:3px 0 4px;min-width:0}.pg-messages-dropdown .dd-chip{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.pg-messages-dropdown .dd-from{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-messages-dropdown .dd-text{font-size:13px;color:var(--text-2);line-height:1.45;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pg-messages-dropdown .dd-dot{position:absolute;top:16px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.pg-messages-dropdown .empty-state{padding:46px 24px;text-align:center;color:var(--text-3)}.pg-messages-dropdown .empty-state .material-icons{font-size:56px;margin-bottom:10px;color:var(--brand);opacity:.35}.pg-messages-dropdown .empty-state p{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-2)}.pg-messages-dropdown .empty-state small{font-size:12.5px}.pg-messages-dropdown .dropdown-footer{padding:10px 14px;border-top:1px solid var(--border);background:var(--surface-2);display:flex;gap:8px}.pg-messages-dropdown .mark-all-read-btn,.pg-messages-dropdown .delete-notifications-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border:none;border-radius:10px;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .18s ease}.pg-messages-dropdown .mark-all-read-btn{flex:1;background:var(--brand);color:#fff}.pg-messages-dropdown .mark-all-read-btn:hover:not(:disabled){filter:brightness(1.08)}.pg-messages-dropdown .mark-all-read-btn:disabled{background:var(--border-strong);color:var(--text-3);cursor:not-allowed;opacity:.7}.pg-messages-dropdown .delete-notifications-btn{background:transparent;color:var(--text-2);border:1px solid var(--border-strong)}.pg-messages-dropdown .delete-notifications-btn:hover{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.pg-messages-dropdown .mark-all-read-btn .material-icons,.pg-messages-dropdown .delete-notifications-btn .material-icons{font-size:17px}.pg-messages-dropdown .combined-list::-webkit-scrollbar{width:6px}.pg-messages-dropdown .combined-list::-webkit-scrollbar-track{background:transparent}.pg-messages-dropdown .combined-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}[data-theme=dark] .pg-messages-dropdown .messages-dropdown{box-shadow:0 24px 60px #000000b3,0 0 30px #b508d21f;border-color:var(--border-strong)}[data-theme=dark] .pg-messages-dropdown .dd-header{background:linear-gradient(135deg,#160f2a,#6a1674);border-bottom:1px solid rgba(181,8,210,.25)}[data-theme=dark] .pg-messages-dropdown .dd-title-icon{background:#b508d233;color:var(--brand-500)}[data-theme=dark] .pg-messages-dropdown .dd-tab.active{color:var(--brand-500);box-shadow:0 0 0 1px var(--border-strong)}[data-theme=dark] .pg-messages-dropdown .dd-item.unread{background:color-mix(in srgb,var(--brand) 10%,transparent)}[data-theme=dark] .pg-messages-dropdown .dd-item.unread:hover{background:color-mix(in srgb,var(--brand) 16%,transparent)}[data-theme=dark] .pg-messages-dropdown .dd-chip{filter:brightness(1.45) saturate(.9)}[data-theme=dark] .pg-messages-dropdown .dd-avatar{box-shadow:0 0 14px #00000080}[data-theme=dark] .pg-messages-dropdown .dd-dot{background:var(--brand-500);box-shadow:0 0 0 3px #b508d240,0 0 10px #b508d299}[data-theme=dark] .pg-messages-dropdown .mark-all-read-btn{background:var(--brand);color:#18041a}[data-theme=dark] .pg-messages-dropdown .mark-all-read-btn:disabled{background:var(--surface-2);color:var(--text-4)}[data-theme=dark] .pg-messages-dropdown .delete-notifications-btn:hover{background:var(--danger-bg);color:#fca5a5;border-color:#ef444466}[data-theme=dark] .pg-messages-dropdown .empty-state .material-icons{color:var(--brand-500);opacity:.5}@media (max-width: 480px){.pg-messages-dropdown .messages-dropdown{width:calc(100vw - 24px);max-width:none;right:12px;position:fixed;top:64px}}.pg-notification-details .notification-details-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#160f2a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .3s ease-out}.pg-notification-details .notification-details-modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);max-width:600px;width:100%;max-height:85vh;overflow:hidden;animation:slideIn .3s ease-out;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.pg-notification-details .modal-header{padding:24px 28px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--surface-2)}.pg-notification-details .header-info{display:flex;align-items:center;gap:16px;flex:1}.pg-notification-details .notification-icon{width:48px;height:48px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.pg-notification-details .notification-icon .material-icons{font-size:24px;color:#fff}.pg-notification-details .header-text h2{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--text-1);line-height:1.3}.pg-notification-details .meta-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pg-notification-details .sender{font-size:14px;color:var(--text-2);font-weight:500;display:flex;align-items:center;gap:8px}.pg-notification-details .sender-profile-picture{width:24px;height:24px;border-radius:50%;object-fit:cover;object-position:center}.pg-notification-details .sender-initials{width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.pg-notification-details .date{font-size:13px;color:var(--text-3)}.pg-notification-details .close-button{background:none;border:none;padding:8px;border-radius:var(--r-sm);cursor:pointer;color:var(--text-3);transition:all .18s ease;margin-left:12px}.pg-notification-details .close-button:hover{background:var(--surface-2);color:var(--text-1)}.pg-notification-details .close-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pg-notification-details .close-button .material-icons{font-size:20px}.pg-notification-details .modal-content{flex:1;padding:28px;overflow-y:auto}.pg-notification-details .message-container{margin-bottom:24px}.pg-notification-details .message-text{font-size:16px;line-height:1.6;color:var(--text-1);background:var(--surface-2);padding:20px;border-radius:var(--r-md);border-left:4px solid var(--border-strong);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;display:-webkit-box;display:box;-webkit-line-clamp:8;line-clamp:8;-webkit-box-orient:vertical;box-orient:vertical}.pg-notification-details .notification-status{margin-top:12px;display:flex;align-items:center}.pg-notification-details .status-indicator{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2)}.pg-notification-details .status-indicator .material-icons{font-size:8px;color:var(--success)}.pg-notification-details .reply-section{border-top:1px solid var(--border);padding-top:24px}.pg-notification-details .reply-header h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-1)}.pg-notification-details .reply-form{display:flex;flex-direction:column;gap:12px}.pg-notification-details .reply-textarea{width:100%;padding:12px 16px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:14px;line-height:1.5;font-family:inherit;resize:vertical;transition:border-color .18s ease,box-shadow .18s ease;background:var(--surface);color:var(--text-1)}.pg-notification-details .reply-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #4a1de926}.pg-notification-details .reply-actions{display:flex;justify-content:flex-end;gap:12px}.pg-notification-details .cancel-reply-btn{padding:10px 20px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text-2);font-weight:500;cursor:pointer;transition:all .18s ease}.pg-notification-details .cancel-reply-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand);color:var(--brand)}.pg-notification-details .cancel-reply-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pg-notification-details .cancel-reply-btn:disabled{opacity:.5;cursor:not-allowed}.pg-notification-details .send-reply-btn{padding:10px 20px;background:var(--brand);border:none;border-radius:var(--r-sm);color:#fff;font-weight:600;cursor:pointer;transition:all .18s ease;box-shadow:var(--shadow-xs)}.pg-notification-details .send-reply-btn:hover:not(:disabled){background:var(--brand-600);box-shadow:var(--shadow-sm)}.pg-notification-details .send-reply-btn:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.pg-notification-details .send-reply-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.pg-notification-details .own-notification-info{border-top:1px solid var(--border);padding-top:24px}.pg-notification-details .info-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--info-bg);border:1px solid var(--brand-100);border-radius:var(--r-sm);color:var(--brand);font-size:14px}.pg-notification-details .info-message .material-icons{font-size:18px}.pg-notification-details .modal-footer{padding:20px 28px;border-top:1px solid var(--border);background:var(--surface-2)}.pg-notification-details .mark-read-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--success);color:#fff;border:none;border-radius:var(--r-sm);font-weight:500;cursor:pointer;transition:all .18s ease;box-shadow:var(--shadow-xs)}.pg-notification-details .mark-read-btn:hover{background:#15803d;box-shadow:var(--shadow-sm)}.pg-notification-details .mark-read-btn:focus-visible{outline:2px solid var(--success);outline-offset:2px}.pg-notification-details .mark-read-btn .material-icons{font-size:16px}@media (max-width: 768px){.pg-notification-details .notification-details-modal{width:100%;max-height:90vh;margin:0}.pg-notification-details .modal-header{padding:20px 20px 16px}.pg-notification-details .modal-content{padding:20px}.pg-notification-details .modal-footer{padding:16px 20px}.pg-notification-details .header-info{gap:12px}.pg-notification-details .notification-icon{width:40px;height:40px}.pg-notification-details .notification-icon .material-icons{font-size:20px}.pg-notification-details .header-text h2{font-size:18px}.pg-notification-details .reply-actions{flex-direction:column}.pg-notification-details .cancel-reply-btn,.pg-notification-details .send-reply-btn{width:100%}}@media (max-width: 480px){.pg-notification-details .notification-details-overlay{padding:0;align-items:flex-end}.pg-notification-details .notification-details-modal{max-height:95vh;border-radius:var(--r-lg) var(--r-lg) 0 0}}.pg-notification-details .modal-content::-webkit-scrollbar{width:6px}.pg-notification-details .modal-content::-webkit-scrollbar-track{background:transparent}.pg-notification-details .modal-content::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.pg-notification-details .modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-4)}.pg-notification-details .success-notification{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pg-notification-details .success-notification.show{opacity:1;visibility:visible}.pg-notification-details .success-notification .notification-content{background:#fff;border-radius:24px;padding:40px;text-align:center;color:#333;box-shadow:0 20px 40px #0003;transform:scale(.8) translateY(20px);transition:all .3s cubic-bezier(.34,1.56,.64,1);max-width:400px;width:90%;position:relative;overflow:hidden}.pg-notification-details .success-notification.show .notification-content{transform:scale(1) translateY(0)}.pg-notification-details .checkmark-circle{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;position:relative;animation:circlePulse .2s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 15px 30px #10b9814d}@keyframes circlePulse{0%{transform:scale(0) rotate(0);box-shadow:0 0 #10b981b3}50%{transform:scale(1.05) rotate(180deg);box-shadow:0 0 0 10px #10b98100}to{transform:scale(1) rotate(360deg);box-shadow:0 0 #10b98100}}.pg-notification-details .checkmark{width:50px;height:50px;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;fill:none;animation:checkmarkDraw .3s ease-out forwards .2s;opacity:0;filter:drop-shadow(0 3px 6px rgba(16,185,129,.3))}@keyframes checkmarkDraw{0%{stroke-dasharray:166;stroke-dashoffset:166;opacity:1;transform:scale(.5)}50%{stroke-dashoffset:83;opacity:1;transform:scale(1.02)}to{stroke-dasharray:166;stroke-dashoffset:0;opacity:1;transform:scale(1)}}.pg-notification-details .success-notification .notification-content h3{font-size:24px;font-weight:700;margin:0 0 12px;color:#1e1a2c;letter-spacing:-.025em}.pg-notification-details .success-notification .notification-content p{font-size:16px;margin:0;color:#514a68;font-weight:500;line-height:1.4}.pg-notification-details .success-notification:not(.show){animation:notificationFadeOut .5s ease-in forwards}@keyframes notificationFadeOut{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}[data-theme=dark] .pg-notification-details .success-notification .notification-content h3{color:var(--text-1)}.pg-consent-gate .consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#130f19bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.pg-consent-gate .consent-modal{background:#fff;color:#211a2e;width:100%;max-width:640px;max-height:90vh;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000059}.pg-consent-gate .consent-header{padding:1.5rem 1.5rem .5rem}.pg-consent-gate .consent-header h2{margin:0 0 .35rem;font-size:1.3rem}.pg-consent-gate .consent-header p{margin:0;color:#504a5a;font-size:.9rem}.pg-consent-gate .consent-tabs{display:flex;gap:.25rem;padding:0 1.5rem;border-bottom:1px solid #e5e2ea}.pg-consent-gate .consent-tab{background:none;border:none;padding:.6rem .75rem;font-weight:600;font-size:.85rem;color:#504a5a;cursor:pointer;border-bottom:3px solid transparent}.pg-consent-gate .consent-tab.active{color:#6340b4;border-bottom-color:#6340b4}.pg-consent-gate .consent-tab:focus-visible,.pg-consent-gate .consent-check input:focus-visible,.pg-consent-gate .consent-logout:focus-visible,.pg-consent-gate .consent-confirm:focus-visible{outline:2px solid #6340b4;outline-offset:2px}.pg-consent-gate .consent-body{padding:1rem 1.5rem;overflow-y:auto;flex:1;font-size:.9rem;line-height:1.5}.pg-consent-gate .consent-body h4{margin:1rem 0 .35rem;font-size:.95rem}.pg-consent-gate .consent-body h4:first-child{margin-top:0}.pg-consent-gate .consent-checks{padding:.75rem 1.5rem;border-top:1px solid #e5e2ea;display:flex;flex-direction:column;gap:.5rem}.pg-consent-gate .consent-check{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:#211a2e;cursor:pointer}.pg-consent-gate .consent-check input{margin-top:.15rem;width:1.05rem;height:1.05rem;flex-shrink:0}.pg-consent-gate .consent-error{margin:0 1.5rem;color:#b91c1c;font-size:.85rem}.pg-consent-gate .consent-actions{padding:1rem 1.5rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.pg-consent-gate .consent-logout{background:none;border:none;color:#716b7b;font-size:.8rem;text-decoration:underline;cursor:pointer;padding:.4rem 0}.pg-consent-gate .consent-confirm{background:#6340b4;color:#fff;border:none;border-radius:8px;padding:.65rem 1.25rem;font-weight:600;font-size:.9rem;cursor:pointer}.pg-consent-gate .consent-confirm:disabled{background:#ad9bd5;cursor:not-allowed}.pg-not-found .nf-root{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-5);padding:var(--sp-6) var(--sp-4);background:radial-gradient(1100px 520px at 50% -10%,var(--brand-50),transparent 60%),linear-gradient(180deg,#f6f4fc 0%,var(--bg) 100%);text-align:center;animation:nfFade .4s ease-out both}@keyframes nfFade{0%{opacity:0}to{opacity:1}}.pg-not-found .nf-card{position:relative;width:100%;max-width:460px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--sp-8) var(--sp-6) var(--sp-6);overflow:hidden;animation:nfRise .45s cubic-bezier(.22,1,.36,1) both}@keyframes nfRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.pg-not-found .nf-accent{position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-500) 55%,var(--accent) 100%)}.pg-not-found .nf-illustration{display:flex;justify-content:center;margin-bottom:var(--sp-5)}.pg-not-found .nf-illustration svg{width:148px;height:148px;animation:nfFloat 4s ease-in-out infinite}@keyframes nfFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.pg-not-found .nf-eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);background:var(--brand-50);border:1px solid var(--brand-100);padding:.25rem .7rem;border-radius:var(--r-pill);margin-bottom:var(--sp-4)}.pg-not-found .nf-title{margin:0 0 var(--sp-3);font-size:1.55rem;font-weight:800;color:var(--text-1);letter-spacing:-.02em;line-height:1.2}.pg-not-found .nf-text{margin:0 auto var(--sp-5);max-width:380px;font-size:.96rem;color:var(--text-3);line-height:1.6}.pg-not-found .nf-text strong{color:var(--text-2);font-weight:700}.pg-not-found .nf-status{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem .9rem;margin-bottom:var(--sp-5);border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:.85rem;font-weight:500}.pg-not-found .nf-dot{width:9px;height:9px;border-radius:50%;background:var(--warning);box-shadow:0 0 #d9770680;animation:nfPulse 1.6s ease-out infinite}@keyframes nfPulse{0%{box-shadow:0 0 #d9770680}70%{box-shadow:0 0 0 10px #d9770600}to{box-shadow:0 0 #d9770600}}.pg-not-found .nf-actions{display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap}.pg-not-found .nf-actions .btn{min-width:140px}.pg-not-found .nf-footer{margin:0;font-size:.8rem;color:var(--text-3);letter-spacing:.01em}@media (max-width: 480px){.pg-not-found .nf-card{padding:var(--sp-6) var(--sp-4) var(--sp-5)}.pg-not-found .nf-title{font-size:1.35rem}.pg-not-found .nf-illustration svg{width:124px;height:124px}.pg-not-found .nf-actions{flex-direction:column}.pg-not-found .nf-actions .btn{width:100%}}.pg-connection-lost{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:block;overflow:auto;background:var(--bg, #f6f4fc)}.pg-generation-notifications .gen-notifications-stack{position:fixed;left:auto;right:16px;bottom:env(safe-area-inset-bottom,16px);z-index:9999;display:flex;flex-direction:column-reverse;gap:10px;max-width:calc(100vw - 32px);width:320px}.pg-generation-notifications .gen-notification{background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-md);padding:10px 12px;cursor:pointer;animation:gen-notif-in .25s ease-out;transition:transform .15s ease,box-shadow .15s ease}.pg-generation-notifications .gen-notification:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pg-generation-notifications .gen-notification.done{border-color:var(--success)}.pg-generation-notifications .gen-notification.error{border-color:var(--danger)}@keyframes gen-notif-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.pg-generation-notifications .gen-notif-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.pg-generation-notifications .gen-notif-icon{font-size:14px}.pg-generation-notifications .gen-notif-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--text-1)}.pg-generation-notifications .gen-notif-progress-wrapper{width:100%;height:8px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden;margin-bottom:4px;border-radius:var(--r-pill)}.pg-generation-notifications .gen-notif-progress-bar{height:100%;background:var(--brand);transition:width .3s ease;border-radius:var(--r-pill)}.pg-generation-notifications .gen-notification.done .gen-notif-progress-bar{background:var(--success)}.pg-generation-notifications .gen-notification.error .gen-notif-progress-bar{background:var(--danger)}.pg-generation-notifications .gen-notif-text{font-size:11px;color:var(--text-3);font-weight:500}@media (max-width: 480px){.pg-generation-notifications .gen-notifications-stack{left:16px;right:16px;width:auto;max-width:none}}.pg-login .login-container{display:flex;min-height:100vh;width:100%;transition:opacity 1s ease-out;background:var(--surface)}.pg-login .fade-out{opacity:0}.pg-login .left-panel{position:relative;flex:1.05;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px;overflow:hidden;color:#fff;background:radial-gradient(900px 600px at 15% 10%,#7c3aed 0%,transparent 60%),radial-gradient(700px 600px at 90% 90%,#c026d3 0%,transparent 55%),linear-gradient(160deg,#2e1065,#4c1d95 55%,#5b21b6)}.pg-login .orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;animation:drift 14s ease-in-out infinite}.pg-login .orb-1{width:320px;height:320px;top:-90px;right:-70px;background:radial-gradient(circle at 30% 30%,#e879f9,transparent 70%)}.pg-login .orb-2{width:240px;height:240px;bottom:-60px;left:-50px;background:radial-gradient(circle at 60% 40%,#a78bfa,transparent 70%);animation-delay:-5s}.pg-login .orb-3{width:120px;height:120px;top:52%;right:12%;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 70%);animation-delay:-9s}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(18px,-22px)}}.pg-login .logo-container{position:relative;z-index:1;text-align:center;max-width:420px}.pg-login .logo-badge{width:132px;height:132px;margin:0 auto 26px;display:flex;align-items:center;justify-content:center;border-radius:38px;background:#ffffff24;border:1px solid rgba(255,255,255,.28);box-shadow:0 24px 60px #18063a73,inset 0 1px #ffffff59;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pg-login .school-logo{width:96px;height:96px;filter:drop-shadow(0 8px 16px rgba(24,6,58,.4))}.pg-login .logo-container h1{font-size:3rem;font-weight:800;letter-spacing:-.03em;color:#fff;margin:0 0 8px;text-shadow:none}.pg-login .logo-container h1 span{color:#f0abfc}.pg-login .logo-container>p{font-size:1.1rem;color:#ffffffd1;margin:0 0 28px}.pg-login .feature-chips{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;margin:0}.pg-login .feature-chips li{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:700;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:left}.pg-login .feature-chips .material-icons{font-size:20px;color:#f0abfc}.pg-login .brand-foot{position:absolute;bottom:24px;z-index:1;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:#ffffff8c;margin:0}.pg-login .right-panel{flex:.95;display:flex;align-items:center;justify-content:center;padding:40px 28px;background:radial-gradient(600px 400px at 100% 0%,rgba(168,85,247,.09),transparent 70%),var(--surface)}.pg-login .login-form-container{width:100%;max-width:420px}.pg-login .form-header{margin-bottom:30px}.pg-login .form-header h2{font-size:2rem;font-weight:800;color:var(--text-1);letter-spacing:-.03em;margin:0 0 8px;text-align:left}.pg-login .form-header p{color:var(--text-3);font-size:.95rem;margin:0;text-align:left}.pg-login .spam-hint{display:flex;align-items:center;gap:6px;margin-top:12px!important;font-size:13px!important;font-weight:500!important;color:#b45309!important;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:8px 12px}.pg-login .spam-hint .material-icons{font-size:18px}.pg-login .form-group{margin-bottom:20px}.pg-login .form-group label{display:block;font-size:.8rem;font-weight:700;color:var(--text-2);margin-bottom:8px;letter-spacing:.01em}.pg-login .input-group{position:relative}.pg-login .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:20px!important;color:var(--brand-400);pointer-events:none;transition:color .2s}.pg-login .input-group:focus-within .input-icon{color:var(--brand)}.pg-login .form-input{width:100%;height:52px;padding:0 46px!important;font-size:.97rem;border:1.5px solid var(--border-strong)!important;border-radius:14px!important;background:var(--surface-2)!important;color:var(--text-1);transition:border-color .2s,box-shadow .2s,background .2s}.pg-login .form-input:focus{outline:none;border-color:var(--brand)!important;background:var(--surface)!important;box-shadow:0 0 0 4px #7c3aed24}.pg-login .password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:10px;color:var(--text-3);cursor:pointer;transition:background .2s,color .2s}.pg-login .password-toggle:hover{background:var(--brand-50);color:var(--brand)}.pg-login .password-toggle .material-icons{font-size:20px}.pg-login .login-btn{width:100%;height:54px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;border:none;border-radius:14px;background:var(--grad);color:#fff;font-size:1rem;font-weight:800;font-family:inherit;letter-spacing:.01em;cursor:pointer;box-shadow:0 12px 28px #7c3aed61;transition:transform .2s,box-shadow .2s,filter .2s}.pg-login .login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 34px #7c3aed75;filter:brightness(1.05)}.pg-login .login-btn:active:not(:disabled){transform:translateY(0)}.pg-login .login-btn:disabled{opacity:.75;cursor:wait}.pg-login .login-btn.success{background:#10b981!important;box-shadow:0 10px 24px #10b98159!important}.pg-login .login-btn.error{background:#ef4444!important;box-shadow:0 10px 24px #ef444459!important}.pg-login .loading-spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pg-login .secondary-link-btn{display:block;width:100%;margin-top:14px;padding:10px;background:none;border:none;color:var(--brand-600);font-size:.9rem;font-weight:700;text-align:center;cursor:pointer;border-radius:12px;transition:background .2s}.pg-login .secondary-link-btn:hover{background:var(--brand-50)}.pg-login .error-message{background:#fef2f2;color:#b91c1c;padding:12px 16px;border-radius:14px;margin:18px 0 0;font-size:.9rem;font-weight:600;text-align:center;border:1px solid #fecaca;opacity:0;transform:translateY(-12px);max-height:0;overflow:hidden;transition:opacity .4s ease-out,transform .4s ease-out,max-height .4s ease-out,padding .4s}.pg-login .error-message.visible{opacity:1;transform:translateY(0);max-height:120px}.pg-login .error-message.hide{opacity:0;transform:translateY(-12px)}.pg-login .footer-text{margin-top:34px;padding-top:18px;border-top:1px solid var(--border);text-align:center}.pg-login .footer-text p{color:var(--text-4);font-size:.78rem;margin:0}@media (max-width: 900px){.pg-login .login-container{flex-direction:column}.pg-login .left-panel{flex:none;padding:36px 24px 44px}.pg-login .logo-badge{width:92px;height:92px;border-radius:28px;margin-bottom:16px}.pg-login .school-logo{width:66px;height:66px}.pg-login .logo-container h1{font-size:2.2rem}.pg-login .logo-container>p{margin-bottom:0}.pg-login .feature-chips,.pg-login .brand-foot{display:none}.pg-login .right-panel{padding:30px 20px 40px}}[data-theme=dark] .pg-login .right-panel{background:radial-gradient(600px 400px at 100% 0%,rgba(139,92,246,.14),transparent 70%),var(--surface)}[data-theme=dark] .pg-login .spam-hint{background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24!important}[data-theme=dark] .pg-login .error-message{background:#f871711f;border-color:#f871714d;color:#fca5a5}.pg-dashboard .dashboard-content{width:100%;max-width:1200px;margin:0 auto;padding:20px;position:relative}.pg-dashboard .greeting-text{font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#6932f1,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:#6340b4;background-clip:text;margin:0;display:flex;justify-content:center;flex-wrap:wrap;gap:2px}.pg-dashboard .greeting-letter{display:inline-block;animation:letterPopIn .8s ease-out forwards;opacity:0;transform:scale(.5)}.pg-dashboard .notification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;animation:notificationFadeIn .3s ease-out}@keyframes notificationFadeIn{0%{opacity:0}to{opacity:1}}.pg-dashboard .notification-content{background:#fff;border-radius:12px;padding:30px 40px;box-shadow:0 10px 30px #0000004d;display:flex;align-items:center;gap:20px;max-width:500px;width:90%;animation:notificationSlideIn .3s ease-out;position:relative}@keyframes notificationSlideIn{0%{transform:translateY(-30px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.pg-dashboard .notification-success{border-left:5px solid #28a745}.pg-dashboard .notification-error{border-left:5px solid #dc3545}.pg-dashboard .notification-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;flex-shrink:0}.pg-dashboard .notification-success .notification-icon{background:linear-gradient(135deg,#28a745,#20c997)}.pg-dashboard .notification-error .notification-icon{background:linear-gradient(135deg,#dc3545,#fd7e14)}.pg-dashboard .checkmark{width:32px;height:32px}.pg-dashboard .checkmark__check{stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:48;stroke-dashoffset:48;animation:checkmarkStroke .6s cubic-bezier(.65,0,.45,1) forwards}@keyframes checkmarkStroke{to{stroke-dashoffset:0}}.pg-dashboard .error-mark{width:32px;height:32px}.pg-dashboard .error-mark__x{stroke:#fff;stroke-width:3;stroke-linecap:round;fill:none;stroke-dasharray:48;stroke-dashoffset:48;animation:errorMarkStroke .6s cubic-bezier(.65,0,.45,1) forwards}@keyframes errorMarkStroke{to{stroke-dashoffset:0}}.pg-dashboard .notification-body{flex:1;display:flex;flex-direction:column;gap:4px}.pg-dashboard .notification-title{font-size:18px;font-weight:700;color:#1e1a2c;letter-spacing:-.025em}.pg-dashboard .notification-success .notification-title{color:#155724}.pg-dashboard .notification-error .notification-title{color:#721c24}.pg-dashboard .notification-message{font-size:15px;font-weight:500;color:#333;line-height:1.4}.pg-dashboard .notification-success .notification-message{color:#155724}.pg-dashboard .notification-error .notification-message{color:#721c24}.pg-dashboard .notification-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:18px;color:#6f6c7d;cursor:pointer;padding:5px;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.pg-dashboard .notification-close:hover{background:#0000001a;color:#4c4957}.pg-dashboard .countdown-timer-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:15px 20px;box-shadow:0 4px 15px #00000026;border:1px solid rgba(255,255,255,.2);min-width:280px}.pg-dashboard .countdown-timer-card .countdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.pg-dashboard .countdown-timer-card .countdown-header h3{color:#fff;font-size:14px;font-weight:600;margin:0}.pg-dashboard .countdown-timer-card .countdown-display{display:flex;justify-content:center;align-items:center;gap:6px}.pg-dashboard .countdown-timer-card .countdown-unit{background:#fff3;border-radius:8px;padding:8px 12px;min-width:45px;text-align:center}.pg-dashboard .countdown-timer-card .countdown-value{display:block;font-size:22px;font-weight:700;color:#fff;line-height:1}.pg-dashboard .countdown-timer-card .countdown-separator{font-size:20px;font-weight:700;color:#fff;opacity:.6}.pg-dashboard .countdown-timer-card .countdown-end-date{margin-top:8px;text-align:center;color:#ffffffe6;font-size:11px;display:flex;align-items:center;justify-content:center;gap:5px}.pg-dashboard .countdown-timer-card .countdown-end-date .material-icons{font-size:14px}.pg-dashboard .countdown-timer-card .countdown-config-btn{background:#fff3;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer}.pg-dashboard .countdown-timer-card .countdown-config-btn .material-icons{color:#fff;font-size:14px}.pg-dashboard .countdown-timer-section{background:linear-gradient(135deg,#8d67e9,#764ba2);border-radius:16px;padding:30px;margin-top:30px;box-shadow:0 10px 40px #8d67e966}.pg-dashboard .countdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.pg-dashboard .countdown-header h3{color:#fff;font-size:20px;font-weight:600;margin:0}.pg-dashboard .countdown-end-date{margin-top:15px;text-align:center;color:#ffffffe6;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}.pg-dashboard .countdown-end-date .material-icons{font-size:18px}.pg-dashboard .countdown-config-btn{background:#fff3;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.pg-dashboard .countdown-config-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.pg-dashboard .countdown-config-btn .material-icons{color:#fff;font-size:20px}.pg-dashboard .countdown-display{display:flex;justify-content:center;align-items:center;gap:10px}.pg-dashboard .countdown-unit{background:#ffffff26;border-radius:12px;padding:15px 20px;min-width:80px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pg-dashboard .countdown-value{display:block;font-size:36px;font-weight:700;color:#fff;line-height:1}.pg-dashboard .countdown-label{display:block;font-size:12px;color:#fffc;margin-top:5px;text-transform:uppercase;letter-spacing:1px}.pg-dashboard .countdown-separator{font-size:32px;font-weight:700;color:#fff;opacity:.6}@media (max-width: 768px){.pg-dashboard .countdown-timer-section{padding:20px}.pg-dashboard .countdown-unit{padding:10px 12px;min-width:60px}.pg-dashboard .countdown-value{font-size:24px}.pg-dashboard .countdown-label{font-size:10px}.pg-dashboard .countdown-separator{font-size:20px}}.pg-dashboard .countdown-setup-section{margin-top:30px;text-align:center}.pg-dashboard .countdown-setup-btn{background:linear-gradient(135deg,#8d67e9,#764ba2);color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 15px #8d67e966}.pg-dashboard .countdown-setup-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8d67e999}.pg-dashboard .countdown-setup-btn .material-icons{font-size:24px}.pg-dashboard .mini-spinner{width:24px;height:24px;border:3px solid #e5e2f0;border-top:3px solid #653df4;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle;margin-right:8px}.pg-dashboard .stat-number{display:inline-block;min-width:40px;text-align:left}.pg-dashboard .stat-number.loading{visibility:hidden}.pg-dashboard .stat-info h3{display:inline-flex;align-items:center;vertical-align:middle;margin:0;min-height:38px}.pg-dashboard .stat-info p{margin:4px 0 0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pg-dashboard .user-profile-section{margin-bottom:40px}.pg-dashboard .profile-card{background:linear-gradient(135deg,#4a1de9,#5127f1);border-radius:16px;padding:30px;display:flex;flex-direction:column;align-items:center;gap:20px;box-shadow:0 8px 32px #4a1de933;color:#fff}.pg-dashboard .profile-main-content{display:flex;align-items:center;gap:20px;width:100%;flex-wrap:wrap}.pg-dashboard .profile-main-content .countdown-timer-card{margin-left:auto}.pg-dashboard .profile-greeting{width:100%;text-align:center;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.2);margin-bottom:8px}.pg-dashboard .profile-greeting .greeting-text{font-size:1.8rem;font-weight:700;margin:0;display:inline;font-family:inherit;letter-spacing:1px}.pg-dashboard .profile-greeting .greeting-letter{display:inline;animation:letterPopIn .3s ease-out forwards;opacity:0;transform:scale(.5)}@keyframes letterPopIn{0%{opacity:0;transform:scale(.5) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.pg-dashboard .profile-info{flex:1;min-width:150px}.pg-dashboard .profile-card .countdown-timer-card{flex-shrink:0;margin-left:auto}.pg-dashboard .profile-avatar{position:relative;width:80px;height:80px;flex-shrink:0}.pg-dashboard .profile-avatar img,.pg-dashboard .profile-initials{width:80px;height:80px;border-radius:50%;border:3px solid rgba(255,255,255,.2)}.pg-dashboard .profile-avatar img{object-fit:cover}.pg-dashboard .profile-initials{background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pg-dashboard .profile-info h2{color:#fff;font-size:28px;font-weight:700;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.pg-dashboard .profile-name{color:#ffffffe6;font-size:16px;font-weight:500;margin:0 0 4px}.pg-dashboard .profile-role{color:#ffffffb3;font-size:14px;margin:0;font-weight:400}.pg-dashboard .profile-subjects{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;padding:0}.pg-dashboard .subject-badge-small{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.35);font-size:.75rem;font-weight:700;letter-spacing:.02em}.pg-dashboard .subject-badge-small.director-badge-dashboard{background:#fef3c740;border-color:#fcd34d99;color:#fff7ed}.pg-dashboard .dashboard-header{text-align:center;margin-bottom:40px}.pg-dashboard .dashboard-header h1{color:#251e3b;font-size:36px;font-weight:700;margin:0 0 10px}.pg-dashboard .dashboard-header p{color:#6c648b;font-size:18px;margin:0}.pg-dashboard .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.pg-dashboard .stat-card{background:#f9f8fc;border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 12px #0000000d;border:1px solid #e5e2f0;transition:transform .3s ease,box-shadow .3s ease}.pg-dashboard .stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.pg-dashboard .stat-icon{width:60px;height:60px;background:linear-gradient(135deg,#653df4,#4f1fd6);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;box-shadow:0 4px 12px #653df44d}.pg-dashboard .stat-info h3{color:#251e3b;font-size:32px;font-weight:700;margin:0 0 4px}.pg-dashboard .stat-info p{color:#6c648b;font-size:14px;margin:0;font-weight:500}.pg-dashboard .quick-actions{margin-bottom:40px}.pg-dashboard .quick-actions h2{color:#251e3b;font-size:24px;font-weight:600;margin:0 0 20px}.pg-dashboard .actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.pg-dashboard .action-btn{background:#fff;border:2px solid #e5e2f0;border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:all .3s ease;text-decoration:none;color:#3d3751}.pg-dashboard .action-btn:hover{border-color:#653df4;background:#fef0ff;transform:translateY(-2px);box-shadow:0 8px 20px #653df41a}.pg-dashboard .action-btn .material-icons{font-size:32px;color:#653df4}.pg-dashboard .action-btn span:last-child{font-size:14px;font-weight:600;text-align:center}.pg-dashboard .recent-activity h2{color:#251e3b;font-size:24px;font-weight:600;margin:0 0 20px}.pg-dashboard .activity-list{display:flex;flex-direction:column;gap:16px}.pg-dashboard .activity-item{background:#f9f8fc;border-radius:12px;padding:16px;display:flex;align-items:center;gap:16px;border:1px solid #e5e2f0}.pg-dashboard .activity-icon{width:40px;height:40px;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0}.pg-dashboard .activity-content p{color:#251e3b;font-size:14px;margin:0 0 4px;font-weight:500}.pg-dashboard .activity-content small{color:#6c648b;font-size:12px}.pg-dashboard .empty-activity{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9c94b8;text-align:center}.pg-dashboard .empty-activity .material-icons{font-size:48px;margin-bottom:12px;opacity:.5}.pg-dashboard .empty-activity p{margin:0;font-size:15px;color:#6c648b;font-weight:500}.pg-dashboard .empty-activity small{font-size:13px;color:#9c94b8;margin-top:4px}@media (max-width: 768px){.pg-dashboard .dashboard-content{padding:15px;max-width:100%}.pg-dashboard .greeting-text{font-size:1.4rem}.pg-dashboard .stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.pg-dashboard .actions-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width: 480px){.pg-dashboard .dashboard-content{padding:10px}.pg-dashboard .greeting-text{font-size:1.1rem}.pg-dashboard .actions-grid{grid-template-columns:1fr}.pg-dashboard .activity-item{flex-direction:column;text-align:center;gap:12px}.pg-dashboard .empty-activity{text-align:center;padding:30px 20px}.pg-dashboard .stats-grid{grid-template-columns:1fr}}.pg-dashboard .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pg-dashboard .modal-content{background:#fff;border-radius:12px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.pg-dashboard .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e2f0;background:#f9f8fc;border-radius:12px 12px 0 0}.pg-dashboard .modal-header h3{margin:0;color:#251e3b;font-size:20px;font-weight:600}.pg-dashboard .close-button{background:none;border:none;font-size:18px;color:#6c648b;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.pg-dashboard .close-button:hover{background:#e5e2f0;color:#3d3751}.pg-dashboard .modal-body{padding:24px}.pg-dashboard .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.pg-dashboard .form-group{display:flex;flex-direction:column;gap:6px}.pg-dashboard .form-group label{font-weight:500;color:#3d3751;font-size:14px}.pg-dashboard .form-group input,.pg-dashboard .form-group select{padding:10px 12px;border:1px solid #d3d1db;border-radius:6px;font-size:14px;transition:border-color .2s}.pg-dashboard .form-group input:focus,.pg-dashboard .form-group select:focus{outline:none;border-color:#653df4;box-shadow:0 0 0 3px #653df41a}.pg-dashboard .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #e5e2f0}.pg-dashboard .cancel-button,.pg-dashboard .save-button,.pg-dashboard .primary-button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.pg-dashboard .cancel-button{background:#f4f3f6;color:#3d3751;border:1px solid #d3d1db}.pg-dashboard .cancel-button:hover{background:#e6e5eb}.pg-dashboard .save-button{background:#653df4;color:#fff}.pg-dashboard .save-button:hover:not(:disabled){background:#5627e9}.pg-dashboard .save-button:disabled{opacity:.5;cursor:not-allowed}.pg-dashboard .primary-button{background:#10b981;color:#fff}.pg-dashboard .primary-button:hover{background:#059669}.pg-dashboard .modal-description{margin-bottom:20px;padding:16px;background:#fef0ff;border:1px solid #ccc0fd;border-radius:6px}.pg-dashboard .modal-description p{margin:0;color:#461fae;font-size:14px}.pg-dashboard .current-grades,.pg-dashboard .current-subjects{margin-bottom:20px}.pg-dashboard .current-grades h4,.pg-dashboard .current-subjects h4{margin:0 0 12px;color:#3d3751;font-size:16px}.pg-dashboard .grades-list,.pg-dashboard .subjects-list{display:flex;flex-wrap:wrap;gap:8px}.pg-dashboard .grade-item,.pg-dashboard .subject-item{background:#f4f3f6;color:#3d3751;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.pg-dashboard .reports-section h4{margin:0 0 16px;color:#3d3751;font-size:18px}.pg-dashboard .reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.pg-dashboard .report-card{background:#f9f8fc;border:1px solid #e5e2f0;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:12px}.pg-dashboard .report-card:hover{background:#fef0ff;border-color:#653df4;transform:translateY(-1px);box-shadow:0 4px 12px #653df41a}.pg-dashboard .report-icon{font-size:24px;flex-shrink:0}.pg-dashboard .report-info h5{margin:0 0 4px;color:#251e3b;font-size:14px;font-weight:600}.pg-dashboard .report-info p{margin:0;color:#6c648b;font-size:12px;line-height:1.4}@media (max-width: 768px){.pg-dashboard .modal-content{width:95%;margin:10px}.pg-dashboard .form-row{grid-template-columns:1fr;gap:12px}.pg-dashboard .modal-actions{flex-direction:column-reverse}.pg-dashboard .cancel-button,.pg-dashboard .save-button,.pg-dashboard .primary-button{width:100%}.pg-dashboard .reports-grid{grid-template-columns:1fr}.pg-dashboard .report-card{flex-direction:column;text-align:center;gap:8px}}[data-theme=dark] .pg-dashboard .dashboard-header h1{color:var(--text-1);text-shadow:0 0 16px rgba(232,58,246,.2)}[data-theme=dark] .pg-dashboard .dashboard-header p{color:var(--text-3)}[data-theme=dark] .pg-dashboard .stat-card{background:var(--surface);border:1px solid rgba(156,148,184,.1);box-shadow:0 4px 12px #0006}[data-theme=dark] .pg-dashboard .stat-card:hover{transform:translateY(-4px);border-color:#b508d266;box-shadow:0 10px 28px #0000008c,0 0 22px #b508d233}[data-theme=dark] .pg-dashboard .stat-icon{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-600) 100%);box-shadow:0 4px 14px #b508d266;color:#18041a}[data-theme=dark] .pg-dashboard .stat-info h3{color:var(--text-1);text-shadow:0 0 12px rgba(232,58,246,.15)}[data-theme=dark] .pg-dashboard .stat-info p{color:var(--text-3)}[data-theme=dark] .pg-dashboard .quick-actions h2,[data-theme=dark] .pg-dashboard .recent-activity h2{color:var(--text-1)}[data-theme=dark] .pg-dashboard .action-btn{background:var(--surface);border:2px solid var(--border-strong);color:var(--text-2)}[data-theme=dark] .pg-dashboard .action-btn:hover{border-color:var(--brand);background:var(--brand-50);color:var(--brand-500);transform:translateY(-2px);box-shadow:0 8px 22px #b508d22e,0 0 18px #b508d233}[data-theme=dark] .pg-dashboard .action-btn .material-icons{color:var(--brand-500);filter:drop-shadow(0 0 8px rgba(232,58,246,.45))}[data-theme=dark] .pg-dashboard .action-btn span:last-child{color:inherit}[data-theme=dark] .pg-dashboard .activity-item{background:var(--surface);border:1px solid rgba(156,148,184,.1)}[data-theme=dark] .pg-dashboard .activity-item:hover{border-color:#b508d266;box-shadow:0 0 18px #b508d226}[data-theme=dark] .pg-dashboard .activity-icon{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#04231a;box-shadow:0 4px 12px #10b98166}[data-theme=dark] .pg-dashboard .activity-content p{color:var(--text-1)}[data-theme=dark] .pg-dashboard .activity-content small,[data-theme=dark] .pg-dashboard .empty-activity{color:var(--text-3)}[data-theme=dark] .pg-dashboard .empty-activity p{color:var(--text-2)}[data-theme=dark] .pg-dashboard .empty-activity small{color:var(--text-3)}[data-theme=dark] .pg-dashboard .mini-spinner{border-color:#9c94b840;border-top-color:var(--brand)}[data-theme=dark] .pg-dashboard .profile-card{background:linear-gradient(135deg,#160f2a,#4a1de9 60%,#b508d2);box-shadow:0 8px 32px #b508d22e;border:1px solid rgba(181,8,210,.25)}[data-theme=dark] .pg-dashboard .profile-info h2{color:#f2f1f9}[data-theme=dark] .pg-dashboard .profile-name{color:#f2f1f9e6}[data-theme=dark] .pg-dashboard .profile-role{color:#f2f1f9b3}[data-theme=dark] .pg-dashboard .countdown-timer-section{background:linear-gradient(135deg,#3e17c7,#6d28d9);box-shadow:0 10px 40px #6d28d959}[data-theme=dark] .pg-dashboard .countdown-setup-btn{background:linear-gradient(135deg,#b508d2,#a855f7);color:#18041a;box-shadow:0 4px 16px #b508d266}[data-theme=dark] .pg-dashboard .countdown-setup-btn:hover{box-shadow:0 6px 22px #a855f78c}[data-theme=dark] .pg-dashboard .modal-overlay{background:#070312b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .pg-dashboard .modal-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg),0 0 40px #b508d214}[data-theme=dark] .pg-dashboard .modal-header{background:var(--surface-2);border-bottom-color:var(--border)}[data-theme=dark] .pg-dashboard .modal-header h3{color:var(--text-1)}[data-theme=dark] .pg-dashboard .close-button{color:var(--text-3)}[data-theme=dark] .pg-dashboard .close-button:hover{background:var(--border-strong);color:var(--text-1)}[data-theme=dark] .pg-dashboard .modal-body{background:var(--surface)}[data-theme=dark] .pg-dashboard .form-group label{color:var(--text-2)}[data-theme=dark] .pg-dashboard .form-group input,[data-theme=dark] .pg-dashboard .form-group select{background:var(--bg);color:var(--text-1);border-color:var(--border-strong)}[data-theme=dark] .pg-dashboard .form-group input:focus,[data-theme=dark] .pg-dashboard .form-group select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #b508d233,0 0 14px #b508d240}[data-theme=dark] .pg-dashboard .modal-actions{border-top-color:var(--border)}[data-theme=dark] .pg-dashboard .cancel-button{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border-strong)}[data-theme=dark] .pg-dashboard .cancel-button:hover{background:var(--border-strong)}[data-theme=dark] .pg-dashboard .save-button{background:var(--brand);color:#18041a;box-shadow:0 4px 14px #b508d259}[data-theme=dark] .pg-dashboard .save-button:hover:not(:disabled){background:var(--brand-500)}[data-theme=dark] .pg-dashboard .primary-button{background:var(--success);color:#04231a;box-shadow:0 4px 14px #10b98159}[data-theme=dark] .pg-dashboard .primary-button:hover{background:#059669}[data-theme=dark] .pg-dashboard .modal-description{background:var(--brand-50);border:1px solid var(--brand-100)}[data-theme=dark] .pg-dashboard .modal-description p{color:var(--brand-500)}[data-theme=dark] .pg-dashboard .current-grades h4,[data-theme=dark] .pg-dashboard .current-subjects h4,[data-theme=dark] .pg-dashboard .reports-section h4{color:var(--text-1)}[data-theme=dark] .pg-dashboard .grade-item,[data-theme=dark] .pg-dashboard .subject-item{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border-strong)}[data-theme=dark] .pg-dashboard .report-card{background:var(--surface);border:1px solid var(--border)}[data-theme=dark] .pg-dashboard .report-card:hover{background:var(--brand-50);border-color:var(--brand);box-shadow:0 0 16px #b508d22e}[data-theme=dark] .pg-dashboard .report-info h5{color:var(--text-1)}[data-theme=dark] .pg-dashboard .report-info p{color:var(--text-3)}[data-theme=dark] .pg-dashboard .notification-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}[data-theme=dark] .pg-dashboard .notification-title{color:var(--text-1)}[data-theme=dark] .pg-dashboard .notification-success .notification-title,[data-theme=dark] .pg-dashboard .notification-success .notification-message{color:var(--success)}[data-theme=dark] .pg-dashboard .notification-error .notification-title,[data-theme=dark] .pg-dashboard .notification-error .notification-message{color:#fca5a5}[data-theme=dark] .pg-dashboard .notification-message{color:var(--text-2)}[data-theme=dark] .pg-dashboard .notification-close{color:var(--text-3)}[data-theme=dark] .pg-dashboard .notification-close:hover{background:var(--surface-2);color:var(--text-1)}.pg-dashboard .role-banner{display:flex;align-items:center;gap:18px;padding:20px 24px;margin-bottom:28px;border-radius:18px;background:linear-gradient(135deg,var(--brand-50) 0%,color-mix(in srgb,var(--accent, #9564f0) 12%,var(--surface)) 100%);border:1px solid var(--border-strong)}.pg-dashboard .role-banner-icon{width:56px;height:56px;border-radius:16px;flex-shrink:0;background:linear-gradient(135deg,var(--brand),var(--accent, #8248e3));display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 35%,transparent)}.pg-dashboard .role-banner-icon .material-icons{color:#fff;font-size:30px}.pg-dashboard .role-banner-text h3{margin:0 0 4px;font-size:18px;color:var(--text-1)}.pg-dashboard .role-banner-text p{margin:0;font-size:14px;color:var(--text-3);line-height:1.5}.pg-dashboard .quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.pg-dashboard .quick-card{--qc: #653df4;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;padding:16px 18px;border-radius:16px;background:var(--surface);border:1.5px solid var(--border-strong);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;font-family:inherit;color:var(--text-1)}.pg-dashboard .quick-card:hover{transform:translateY(-3px);border-color:var(--qc);box-shadow:0 12px 26px color-mix(in srgb,var(--qc) 22%,transparent)}.pg-dashboard .quick-card:focus-visible{outline:3px solid color-mix(in srgb,var(--qc) 45%,transparent);outline-offset:2px}.pg-dashboard .quick-icon{width:46px;height:46px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--qc) 14%,transparent)}.pg-dashboard .quick-icon .material-icons{color:var(--qc);font-size:26px}.pg-dashboard .quick-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pg-dashboard .quick-text strong{font-size:14.5px;color:var(--text-1)}.pg-dashboard .quick-text small{font-size:12px;color:var(--text-3)}.pg-dashboard .quick-arrow{color:var(--text-4);font-size:20px;transition:transform .2s ease,color .2s ease}.pg-dashboard .quick-card:hover .quick-arrow{color:var(--qc);transform:translate(4px)}.pg-dashboard .scale-card{margin-bottom:36px}.pg-dashboard .scale-card h2{color:var(--text-1);font-size:24px;font-weight:600;margin:0 0 4px}.pg-dashboard .scale-sub{margin:0 0 16px;color:var(--text-3);font-size:14px}.pg-dashboard .scale-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.pg-dashboard .scale-item{--sc: #653df4;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:16px 10px;border-radius:16px;background:var(--surface);border:1.5px solid var(--border-strong)}.pg-dashboard .scale-letter{width:44px;height:44px;border-radius:50%;color:#fff;font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;background:var(--sc);box-shadow:0 6px 14px color-mix(in srgb,var(--sc) 35%,transparent)}.pg-dashboard .scale-item strong{font-size:13.5px;color:var(--text-1)}.pg-dashboard .scale-item small{font-size:12px;color:var(--text-3)}.pg-dashboard .notification-preview h4{margin:0 0 10px;font-size:14px;color:var(--text-1)}.pg-dashboard .notification-preview h4 small{color:var(--text-3);font-weight:400}.pg-dashboard .np-modal{background:var(--surface);border-radius:16px;border:1px solid var(--border-strong);overflow:hidden;box-shadow:0 8px 24px #160f2a1f}.pg-dashboard .np-header{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--surface-2);border-bottom:1px solid var(--border-strong)}.pg-dashboard .np-icon{width:48px;height:48px;border-radius:12px;background:#4523f1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003;flex-shrink:0}.pg-dashboard .np-icon .material-icons{color:#fff;font-size:24px}.pg-dashboard .np-header-text{min-width:0}.pg-dashboard .np-header-text h2{margin:0 0 6px;font-size:18px;font-weight:600;color:var(--text-1);line-height:1.3;word-break:break-word}.pg-dashboard .np-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pg-dashboard .np-sender{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--text-2)}.pg-dashboard .np-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.pg-dashboard .np-initials{width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.pg-dashboard .np-date{font-size:13px;color:var(--text-3)}.pg-dashboard .np-body{padding:20px}.pg-dashboard .np-message{font-size:15px;line-height:1.6;color:var(--text-1);background:var(--surface-2);padding:16px 18px;border-radius:12px;border-left:4px solid var(--border-strong);white-space:pre-wrap;word-break:break-word}.pg-dashboard .np-status{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;color:var(--text-2)}.pg-dashboard .np-status .material-icons{font-size:8px;color:var(--success, #16a34a)}.pg-dashboard .np-recipient{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;color:var(--text-2)}.pg-dashboard .np-recipient .material-icons{font-size:16px;color:var(--brand)}[data-theme=dark] .pg-dashboard .role-banner{background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%);border-color:#b508d240;box-shadow:0 0 22px #b508d214}[data-theme=dark] .pg-dashboard .role-banner-icon{box-shadow:0 6px 18px #b508d259}[data-theme=dark] .pg-dashboard .quick-card{border-color:var(--border-strong)}[data-theme=dark] .pg-dashboard .quick-icon{background:color-mix(in srgb,var(--qc) 22%,transparent)}[data-theme=dark] .pg-dashboard .quick-icon .material-icons{color:color-mix(in srgb,var(--qc) 55%,#ffffff)}[data-theme=dark] .pg-dashboard .quick-card:hover{background:color-mix(in srgb,var(--qc) 10%,var(--surface));box-shadow:0 10px 26px #00000080,0 0 20px color-mix(in srgb,var(--qc) 28%,transparent)}[data-theme=dark] .pg-dashboard .quick-card:hover .quick-arrow{color:color-mix(in srgb,var(--qc) 55%,#ffffff)}[data-theme=dark] .pg-dashboard .scale-letter{box-shadow:0 0 16px color-mix(in srgb,var(--sc) 55%,transparent)}[data-theme=dark] .pg-dashboard .np-modal{box-shadow:0 10px 30px #0000008c,0 0 22px #b508d214}[data-theme=dark] .pg-dashboard .np-message{border-left-color:var(--brand)}@media (max-width: 600px){.pg-dashboard .role-banner{flex-direction:column;text-align:center}.pg-dashboard .quick-grid{grid-template-columns:1fr}}
