@import"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body{background-color:#0f172a}body{font-family:Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{font-family:Roboto,sans-serif}html[data-v-3898b292],body[data-v-3898b292]{margin:0;padding:0;width:100%;height:100%;overflow:hidden}[data-v-3898b292]{margin:0;padding:0;box-sizing:border-box}.login-page[data-v-3898b292]{font-family:Geist,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-optical-sizing:auto;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);background-color:#0f172a;overflow:hidden}.login-page[data-v-3898b292]:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);top:-250px;right:-250px;animation:pulse-3898b292 8s ease-in-out infinite}.login-page[data-v-3898b292]:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(168,85,247,.1) 0%,transparent 70%);bottom:-200px;left:-200px;animation:pulse-3898b292 10s ease-in-out infinite reverse}@keyframes pulse-3898b292{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.login-card[data-v-3898b292]{display:flex;flex-direction:column;gap:2rem;background:#1e293bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2.5rem;border-radius:1.25rem;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.08);width:100%;max-width:400px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.login-card[data-v-3898b292]:hover{transform:translateY(-2px);box-shadow:0 12px 48px #0009,0 0 0 1px #ffffff1a;border-color:#ffffff26}.login-header h1[data-v-3898b292]{font-size:1.875rem;font-weight:700;margin:0;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.025em}.login-header p[data-v-3898b292]{font-size:.9375rem;color:#94a3b8;margin-top:.5rem;line-height:1.5}.login-form[data-v-3898b292]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-3898b292]{display:flex;flex-direction:column}.form-group label[data-v-3898b292]{font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:#e2e8f0;letter-spacing:-.01em}.form-group input[data-v-3898b292]{width:100%;padding:.875rem 1rem;border:1.5px solid rgba(255,255,255,.08);border-radius:.625rem;color:#f1f5f9;background:#0f172a99;font-size:.9375rem;transition:all .2s ease;box-sizing:border-box}.form-group input[data-v-3898b292]::placeholder{color:#64748b}.form-group input[data-v-3898b292]:hover{border-color:#ffffff26;background:#0f172acc}.form-group input[data-v-3898b292]:focus{outline:none;border-color:#6366f1;background:#0f172ae6;box-shadow:0 0 0 3px #6366f11a,0 1px 3px #0000000d}.form-group input[data-v-3898b292]:focus::placeholder{color:#475569}.form-remember[data-v-3898b292]{display:flex;align-items:center;gap:.625rem;cursor:pointer;-webkit-user-select:none;user-select:none}.form-remember input[type=checkbox][data-v-3898b292]{width:18px;height:18px;border:1.5px solid rgba(255,255,255,.2);border-radius:.375rem;cursor:pointer;transition:all .2s ease;accent-color:#6366f1}.form-remember input[type=checkbox][data-v-3898b292]:hover{border-color:#6366f1}.form-remember input[type=checkbox][data-v-3898b292]:focus{outline:2px solid rgba(99,102,241,.2);outline-offset:2px}.form-remember label[data-v-3898b292]{font-size:.875rem;color:#cbd5e1;margin:0;cursor:pointer;font-weight:500}.form-options[data-v-3898b292]{display:flex;justify-content:space-between;align-items:center}.forgot-link[data-v-3898b292]{font-size:.875rem;color:#6366f1;background:none;border:none;cursor:pointer;font-weight:500;transition:all .2s ease}.forgot-link[data-v-3898b292]:hover{color:#4f46e5;text-decoration:underline}.error-message[data-v-3898b292]{color:#fca5a5;font-size:.875rem;padding:.75rem 1rem;background:#7f1d1d4d;border:1px solid rgba(248,113,113,.3);border-radius:.5rem;display:flex;align-items:center;gap:.5rem;animation:slideIn-3898b292 .3s ease}@keyframes slideIn-3898b292{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-login[data-v-3898b292]{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5,#4338ca);color:#fff;border:none;padding:.875rem 1rem;border-radius:.625rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #6366f14d;letter-spacing:-.01em;position:relative;overflow:hidden}.btn-login[data-v-3898b292]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-login[data-v-3898b292]:hover:not(:disabled):before{left:100%}.btn-login[data-v-3898b292]:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca,#3730a3);transform:translateY(-1px);box-shadow:0 8px 24px #6366f166}.btn-login[data-v-3898b292]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #6366f133}.btn-login[data-v-3898b292]:disabled{background:#6366f14d;color:#fff6;cursor:not-allowed;transform:none;box-shadow:none}.btn-login[data-v-3898b292]:focus-visible{outline:3px solid rgba(99,102,241,.3);outline-offset:2px}.btn-login .icon[data-v-3898b292]{font-size:1.125rem}@media(max-width:480px){.login-card[data-v-3898b292]{padding:2rem 1.5rem;gap:1.5rem}.login-header h1[data-v-3898b292]{font-size:1.5rem}}.btn-login.loading[data-v-3898b292]{position:relative;color:transparent}.btn-login.loading[data-v-3898b292]:before{display:none}.btn-login.loading[data-v-3898b292]:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-3898b292 .6s linear infinite}.btn-login.loading .icon[data-v-3898b292]{display:none}@keyframes spin-3898b292{to{transform:rotate(360deg)}}.auth-footer[data-v-3898b292]{display:flex;justify-content:center;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}.auth-footer-text[data-v-3898b292]{font-size:.875rem;color:#94a3b8}.auth-footer-link[data-v-3898b292]{font-size:.875rem;color:#6366f1;background:none;border:none;cursor:pointer;font-weight:600;transition:all .2s ease;padding:0;text-decoration:none}.auth-footer-link[data-v-3898b292]:hover{color:#4f46e5;text-decoration:underline}.forgot-page[data-v-091099cf]{font-family:Geist,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);background-color:#0f172a;overflow:hidden}.forgot-page[data-v-091099cf]:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);top:-250px;right:-250px;animation:pulse-091099cf 8s ease-in-out infinite}.forgot-page[data-v-091099cf]:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(168,85,247,.1) 0%,transparent 70%);bottom:-200px;left:-200px;animation:pulse-091099cf 10s ease-in-out infinite reverse}@keyframes pulse-091099cf{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.forgot-card[data-v-091099cf]{display:flex;flex-direction:column;gap:2rem;background:#1e293bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2.5rem;border-radius:1.25rem;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.08);width:100%;max-width:400px;position:relative;z-index:1}.forgot-header h1[data-v-091099cf]{font-size:1.875rem;font-weight:700;margin:0;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.forgot-header p[data-v-091099cf]{font-size:.9375rem;color:#94a3b8;margin-top:.5rem}.forgot-form[data-v-091099cf]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-091099cf]{display:flex;flex-direction:column}.form-group label[data-v-091099cf]{font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:#e2e8f0}.form-group input[data-v-091099cf]{width:100%;padding:.875rem 1rem;border:1.5px solid rgba(255,255,255,.08);border-radius:.625rem;color:#f1f5f9;background:#0f172a99;font-size:.9375rem;transition:all .2s ease}.form-group input[data-v-091099cf]::placeholder{color:#64748b}.form-group input[data-v-091099cf]:focus{outline:none;border-color:#6366f1;background:#0f172ae6;box-shadow:0 0 0 3px #6366f11a}.error-message[data-v-091099cf]{color:#fca5a5;font-size:.875rem;padding:.75rem 1rem;background:#7f1d1d4d;border:1px solid rgba(248,113,113,.3);border-radius:.5rem}.success-message[data-v-091099cf]{color:#86efac;font-size:.875rem;padding:.75rem 1rem;background:#1665344d;border:1px solid rgba(74,222,128,.3);border-radius:.5rem}.btn-submit[data-v-091099cf]{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5,#4338ca);color:#fff;border:none;padding:.875rem 1rem;border-radius:.625rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #6366f14d}.btn-submit[data-v-091099cf]:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca,#3730a3);transform:translateY(-1px);box-shadow:0 8px 24px #6366f166}.btn-submit[data-v-091099cf]:disabled{background:#6366f14d;color:#fff6;cursor:not-allowed}.btn-submit .icon[data-v-091099cf]{width:18px;height:18px}.auth-footer[data-v-091099cf]{display:flex;justify-content:center;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}.auth-footer-link[data-v-091099cf]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6366f1;background:none;border:none;cursor:pointer;font-weight:600;transition:all .2s ease}.auth-footer-link[data-v-091099cf]:hover{color:#4f46e5}.icon-small[data-v-091099cf]{width:16px;height:16px}.reset-page[data-v-3c72c77e]{font-family:Geist,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);background-color:#0f172a;overflow:hidden}.reset-page[data-v-3c72c77e]:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);top:-250px;right:-250px;animation:pulse-3c72c77e 8s ease-in-out infinite}.reset-page[data-v-3c72c77e]:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(168,85,247,.1) 0%,transparent 70%);bottom:-200px;left:-200px;animation:pulse-3c72c77e 10s ease-in-out infinite reverse}@keyframes pulse-3c72c77e{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.reset-card[data-v-3c72c77e]{display:flex;flex-direction:column;gap:2rem;background:#1e293bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2.5rem;border-radius:1.25rem;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.08);width:100%;max-width:400px;position:relative;z-index:1}.reset-header h1[data-v-3c72c77e]{font-size:1.875rem;font-weight:700;margin:0;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.reset-header p[data-v-3c72c77e]{font-size:.9375rem;color:#94a3b8;margin-top:.5rem}.reset-form[data-v-3c72c77e]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-3c72c77e]{display:flex;flex-direction:column}.form-group label[data-v-3c72c77e]{font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:#e2e8f0}.form-group input[data-v-3c72c77e]{width:100%;padding:.875rem 1rem;border:1.5px solid rgba(255,255,255,.08);border-radius:.625rem;color:#f1f5f9;background:#0f172a99;font-size:.9375rem;transition:all .2s ease}.form-group input[data-v-3c72c77e]::placeholder{color:#64748b}.form-group input[data-v-3c72c77e]:focus{outline:none;border-color:#6366f1;background:#0f172ae6;box-shadow:0 0 0 3px #6366f11a}.error-message[data-v-3c72c77e]{color:#fca5a5;font-size:.875rem;padding:.75rem 1rem;background:#7f1d1d4d;border:1px solid rgba(248,113,113,.3);border-radius:.5rem}.btn-submit[data-v-3c72c77e]{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5,#4338ca);color:#fff;border:none;padding:.875rem 1rem;border-radius:.625rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #6366f14d}.btn-submit[data-v-3c72c77e]:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca,#3730a3);transform:translateY(-1px);box-shadow:0 8px 24px #6366f166}.btn-submit[data-v-3c72c77e]:disabled{background:#6366f14d;color:#fff6;cursor:not-allowed}.btn-submit .icon[data-v-3c72c77e]{width:18px;height:18px}.success-state[data-v-3c72c77e]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.success-icon[data-v-3c72c77e]{width:64px;height:64px;color:#4ade80}.success-state h1[data-v-3c72c77e]{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.success-state p[data-v-3c72c77e]{font-size:.9375rem;color:#94a3b8;margin:0}.success-state .btn-submit[data-v-3c72c77e]{margin-top:1rem;width:100%}.privacy-page[data-v-4ba9b7bc]{font-family:Geist,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);padding:2rem}.privacy-container[data-v-4ba9b7bc]{max-width:800px;margin:0 auto}.privacy-header[data-v-4ba9b7bc]{margin-bottom:3rem}.header-actions[data-v-4ba9b7bc]{display:flex;justify-content:flex-end;margin-bottom:2rem}.btn-login[data-v-4ba9b7bc]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:.625rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 16px #6366f14d}.btn-login[data-v-4ba9b7bc]:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 8px 24px #6366f166}.header-content[data-v-4ba9b7bc]{text-align:center}.header-icon[data-v-4ba9b7bc]{width:64px;height:64px;color:#6366f1;margin-bottom:1.5rem}.privacy-header h1[data-v-4ba9b7bc]{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .75rem;line-height:1.3}.last-update[data-v-4ba9b7bc]{font-size:.875rem;color:#64748b}.privacy-content[data-v-4ba9b7bc]{display:flex;flex-direction:column;gap:2rem}.intro-section[data-v-4ba9b7bc]{background:#1e293b99;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.5rem}.intro-section p[data-v-4ba9b7bc]{color:#94a3b8;line-height:1.7;margin:0}.policy-section[data-v-4ba9b7bc]{background:#1e293b99;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.5rem}.section-header[data-v-4ba9b7bc]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.section-icon[data-v-4ba9b7bc]{width:24px;height:24px;color:#6366f1;flex-shrink:0}.policy-section h2[data-v-4ba9b7bc]{font-size:1.25rem;font-weight:600;color:#f1f5f9;margin:0}.policy-section p[data-v-4ba9b7bc]{color:#94a3b8;line-height:1.7;margin:0 0 1rem}.policy-section p[data-v-4ba9b7bc]:last-child{margin-bottom:0}.contact-info[data-v-4ba9b7bc]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#6366f11a;border-radius:.5rem;margin-top:1rem}.contact-info span[data-v-4ba9b7bc]{color:#94a3b8;font-size:.875rem}.contact-info a[data-v-4ba9b7bc]{color:#6366f1;text-decoration:none;font-weight:500}.contact-info a[data-v-4ba9b7bc]:hover{text-decoration:underline}.data-list[data-v-4ba9b7bc],.purpose-list[data-v-4ba9b7bc],.third-party-list[data-v-4ba9b7bc],.rights-list[data-v-4ba9b7bc]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.data-list li[data-v-4ba9b7bc],.purpose-list li[data-v-4ba9b7bc],.third-party-list li[data-v-4ba9b7bc],.rights-list li[data-v-4ba9b7bc]{color:#94a3b8;line-height:1.6;padding-left:1.5rem;position:relative}.data-list li[data-v-4ba9b7bc]:before,.purpose-list li[data-v-4ba9b7bc]:before,.third-party-list li[data-v-4ba9b7bc]:before,.rights-list li[data-v-4ba9b7bc]:before{content:"";position:absolute;left:0;top:.6rem;width:6px;height:6px;background:#6366f1;border-radius:50%}.data-list li strong[data-v-4ba9b7bc],.third-party-list li strong[data-v-4ba9b7bc]{color:#e2e8f0}.policy-section a[data-v-4ba9b7bc]{color:#6366f1;text-decoration:none}.policy-section a[data-v-4ba9b7bc]:hover{text-decoration:underline}.deletion-section[data-v-4ba9b7bc]{border-color:#f9731633;background:#f973160d}.deletion-section .section-icon[data-v-4ba9b7bc]{color:#f97316}@media(max-width:640px){.privacy-page[data-v-4ba9b7bc]{padding:1rem}.privacy-header h1[data-v-4ba9b7bc]{font-size:1.5rem}.header-icon[data-v-4ba9b7bc]{width:48px;height:48px}.policy-section[data-v-4ba9b7bc]{padding:1.25rem}.policy-section h2[data-v-4ba9b7bc]{font-size:1.125rem}}.page-header[data-v-56e037a5]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.header-content[data-v-56e037a5]{display:flex;flex-direction:column}h1[data-v-56e037a5]{font-size:2rem;font-weight:700;color:#fff;margin-bottom:8px}.subtitle[data-v-56e037a5]{font-size:1.1rem;color:#94a3b8}.header-actions[data-v-56e037a5]{display:flex;gap:12px}.content-card[data-v-d4952258]{background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:40px;min-height:300px}.state-container[data-v-d4952258]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;min-height:200px}.state-container p[data-v-d4952258]{font-size:1.1rem;color:#cbd5e1;margin-bottom:8px}.loading-text[data-v-d4952258]{color:#cbd5e1}.error-text[data-v-d4952258]{color:#f87171!important}.hint[data-v-d4952258]{font-size:.9rem;color:#64748b}.search-container[data-v-c101f34b]{position:relative;margin-bottom:24px}.search-icon[data-v-c101f34b]{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#64748b;pointer-events:none}.search-input[data-v-c101f34b]{width:100%;padding:14px 16px 14px 48px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:1rem;color:#fff;outline:none;transition:all .2s ease}.search-input[data-v-c101f34b]::placeholder{color:#64748b}.search-input[data-v-c101f34b]:focus{border-color:#60a5fa80;box-shadow:0 0 0 3px #60a5fa1a}.student-card[data-v-526f4e5f]{background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:8px;transition:all .2s ease;cursor:pointer;min-height:90px}.student-card[data-v-526f4e5f]:hover{border-color:#60a5fa66;transform:translateY(-2px)}.student-name[data-v-526f4e5f]{font-size:1.15rem;font-weight:600;color:#fff;margin:0}.student-grade[data-v-526f4e5f]{font-size:.95rem;color:#60a5fa;font-weight:500}.modal[data-v-856c81fd]{transition:max-width .3s ease}.modal.modal-wide[data-v-856c81fd]{max-width:600px}.header-actions[data-v-856c81fd]{display:flex;align-items:center;gap:8px}.bulk-toggle-btn[data-v-856c81fd]{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#94a3b8;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.bulk-toggle-btn[data-v-856c81fd]:hover{background-color:#ffffff1a;color:#fff;border-color:#ffffff40}.bulk-toggle-btn.active[data-v-856c81fd]{background-color:#60a5fa26;border-color:#60a5fa66;color:#60a5fa}.bulk-toggle-btn .icon[data-v-856c81fd]{width:16px;height:16px}.textarea[data-v-856c81fd]{min-height:200px;resize:vertical;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.5}.hint[data-v-856c81fd]{margin-top:8px;font-size:.8rem;color:#64748b;line-height:1.4}.hint code[data-v-856c81fd]{background-color:#ffffff1a;padding:2px 6px;border-radius:4px;font-size:.8rem;color:#94a3b8}.page[data-v-10611916]{padding:20px 0}.primary-btn[data-v-10611916]{display:flex;align-items:center;gap:8px;background-color:#60a5fa;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.primary-btn[data-v-10611916]:hover{background-color:#3b82f6}.primary-btn .icon[data-v-10611916]{width:18px;height:18px}.students-grid[data-v-10611916]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.modal.modal-sm[data-v-4eaae83f]{max-width:400px}.confirm-content[data-v-4eaae83f]{padding:24px}.confirm-content h3[data-v-4eaae83f]{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 16px}.confirm-content p[data-v-4eaae83f]{color:#94a3b8;font-size:.95rem;line-height:1.6;margin:0 0 24px}.confirm-content[data-v-4eaae83f] strong{color:#fff}.submit-btn.danger[data-v-4eaae83f]{background-color:#ef4444}.submit-btn.danger[data-v-4eaae83f]:hover:not(:disabled){background-color:#dc2626}.page[data-v-a3cddf1f]{padding:20px 0}.back-btn[data-v-a3cddf1f]{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:10px 16px;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .2s ease;margin-bottom:24px}.back-btn[data-v-a3cddf1f]:hover{background:#ffffff0d;color:#fff;border-color:#fff3}.back-btn .icon[data-v-a3cddf1f]{width:18px;height:18px}.student-content[data-v-a3cddf1f]{display:flex;flex-direction:column;gap:24px}.student-header[data-v-a3cddf1f]{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px}.avatar[data-v-a3cddf1f]{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#3b82f6);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff}.header-info[data-v-a3cddf1f]{display:flex;flex-direction:column;gap:8px}.header-info h1[data-v-a3cddf1f]{font-size:1.75rem;font-weight:700;color:#fff;margin:0}.grade-badge[data-v-a3cddf1f]{display:inline-block;width:fit-content;background:#60a5fa26;color:#60a5fa;padding:6px 12px;border-radius:6px;font-size:.9rem;font-weight:500}.counselor-info[data-v-a3cddf1f]{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:.95rem;margin-top:4px}.counselor-icon[data-v-a3cddf1f]{width:16px;height:16px;color:#f59e0b}.header-actions[data-v-a3cddf1f]{display:flex;gap:12px;margin-left:auto}.action-btn[data-v-a3cddf1f]{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn .icon[data-v-a3cddf1f]{width:16px;height:16px}.info-btn[data-v-a3cddf1f]{background-color:#60a5fa26;border:1px solid rgba(96,165,250,.3);color:#60a5fa;padding:10px}.info-btn[data-v-a3cddf1f]:hover{background-color:#60a5fa40;border-color:#60a5fa80}.info-btn .icon[data-v-a3cddf1f]{width:20px;height:20px}.delete-btn[data-v-a3cddf1f]{background-color:#f8717126;border:1px solid rgba(248,113,113,.3);color:#f87171}.delete-btn[data-v-a3cddf1f]:hover{background-color:#f8717140;border-color:#f8717180}.actions-grid[data-v-a3cddf1f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.action-card[data-v-a3cddf1f]{display:flex;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.action-card[data-v-a3cddf1f]:hover:not(.disabled){transform:translateY(-2px);border-color:#fff3;box-shadow:0 8px 24px #0000004d}.action-card.disabled[data-v-a3cddf1f]{opacity:.5;cursor:not-allowed}.action-icon[data-v-a3cddf1f]{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-icon .icon[data-v-a3cddf1f]{width:28px;height:28px}.action-icon.assignments[data-v-a3cddf1f]{background:linear-gradient(135deg,#60a5fa33,#3b82f633);color:#60a5fa}.action-icon.sessions[data-v-a3cddf1f]{background:linear-gradient(135deg,#a78bfa33,#8b5cf633);color:#a78bfa}.action-icon.parent-contacts[data-v-a3cddf1f]{background:linear-gradient(135deg,#34d39933,#10b98133);color:#34d399}.action-icon.books[data-v-a3cddf1f]{background:linear-gradient(135deg,#fbbf2433,#f59e0b33);color:#fbbf24}.action-info[data-v-a3cddf1f]{flex:1}.action-info h3[data-v-a3cddf1f]{font-size:1.15rem;font-weight:600;color:#fff;margin:0 0 4px}.action-info p[data-v-a3cddf1f]{font-size:.9rem;color:#94a3b8;margin:0}@media(max-width:768px){.student-header[data-v-a3cddf1f]{flex-direction:column;text-align:center}.header-actions[data-v-a3cddf1f]{margin-left:0;margin-top:16px}}.action-card-wrapper[data-v-a3cddf1f]{display:flex;flex-direction:column;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.action-card-wrapper .action-card[data-v-a3cddf1f]{border:none;border-radius:0;background:transparent}.action-card-wrapper .action-card[data-v-a3cddf1f]:hover{transform:none;box-shadow:none;background:#ffffff08}.chevron-icon[data-v-a3cddf1f]{width:20px;height:20px;color:#64748b;margin-left:auto;flex-shrink:0}.recent-items[data-v-a3cddf1f]{padding:0 20px 16px;display:flex;flex-direction:column;gap:8px}.no-items[data-v-a3cddf1f]{font-size:.85rem;color:#64748b;font-style:italic;padding:4px 0}.recent-item[data-v-a3cddf1f]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background-color:#ffffff08;border-radius:8px;cursor:pointer;transition:all .2s ease}.recent-item[data-v-a3cddf1f]:hover{background-color:#ffffff14}.item-title[data-v-a3cddf1f]{font-size:.9rem;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:12px}.item-date[data-v-a3cddf1f]{font-size:.8rem;color:#64748b;flex-shrink:0}.page[data-v-7d530c33]{padding:20px 0;max-width:800px;margin:0 auto}.back-btn[data-v-7d530c33]{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:10px 16px;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .2s ease;margin-bottom:24px}.back-btn[data-v-7d530c33]:hover{background:#ffffff0d;color:#fff;border-color:#fff3}.back-btn .icon[data-v-7d530c33]{width:18px;height:18px}.info-content[data-v-7d530c33]{display:flex;flex-direction:column;gap:24px}.page-header[data-v-7d530c33]{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px}.header-left[data-v-7d530c33]{display:flex;align-items:center;gap:16px}.avatar[data-v-7d530c33]{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#3b82f6);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff}.header-text h1[data-v-7d530c33]{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.subtitle[data-v-7d530c33]{color:#94a3b8;font-size:.95rem;margin:4px 0 0}.save-btn[data-v-7d530c33]{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#60a5fa,#3b82f6);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.save-btn[data-v-7d530c33]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.save-btn[data-v-7d530c33]:disabled{opacity:.5;cursor:not-allowed}.save-btn .icon[data-v-7d530c33]{width:18px;height:18px}.success-message[data-v-7d530c33]{background-color:#4ade801a;border:1px solid rgba(74,222,128,.3);color:#4ade80;padding:12px 16px;border-radius:8px;font-size:.9rem}.error-message[data-v-7d530c33]{background-color:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171;padding:12px 16px;border-radius:8px;font-size:.9rem}.form-section[data-v-7d530c33]{background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px}.form-section h2[data-v-7d530c33]{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:600;color:#fff;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.section-icon[data-v-7d530c33]{width:20px;height:20px;color:#60a5fa}.form-grid[data-v-7d530c33]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-group[data-v-7d530c33]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-7d530c33]{font-size:.9rem;font-weight:500;color:#cbd5e1}.input[data-v-7d530c33]{width:100%;padding:12px 16px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;transition:all .2s ease}.input[data-v-7d530c33]:focus{outline:none;border-color:#60a5fa;background-color:#ffffff14}.input[data-v-7d530c33]::placeholder{color:#64748b}.input.readonly[data-v-7d530c33]{background-color:#ffffff05;color:#94a3b8;cursor:not-allowed;border-color:#ffffff0d}.field-icon[data-v-7d530c33]{width:14px;height:14px;color:#60a5fa;vertical-align:middle;margin-right:4px}.tckn-group[data-v-7d530c33]{grid-column:span 2}.tckn-input-wrapper[data-v-7d530c33]{display:flex;gap:12px;align-items:center}.tckn-input-wrapper .input[data-v-7d530c33]{flex:1;max-width:300px}.tckn-save-btn[data-v-7d530c33]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tckn-save-btn[data-v-7d530c33]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.tckn-save-btn[data-v-7d530c33]:disabled{opacity:.5;cursor:not-allowed}.tckn-save-btn .icon[data-v-7d530c33]{width:14px;height:14px}.readonly-section[data-v-7d530c33]{background:linear-gradient(135deg,#1e293b,#283548)}.info-grid[data-v-7d530c33]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item[data-v-7d530c33]{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:#ffffff08;border-radius:8px}.info-label[data-v-7d530c33]{font-size:.85rem;color:#94a3b8}.info-value[data-v-7d530c33]{font-size:.95rem;font-weight:500;color:#fff}@media(max-width:640px){.page-header[data-v-7d530c33]{flex-direction:column;gap:16px;text-align:center}.header-left[data-v-7d530c33]{flex-direction:column}.save-btn[data-v-7d530c33]{width:100%;justify-content:center}}.date-picker-container[data-v-6e6cd3cd]{position:relative;width:100%}.date-input-wrapper[data-v-6e6cd3cd]{position:relative;cursor:pointer}.date-input[data-v-6e6cd3cd]{width:100%;padding:12px 16px 12px 40px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.95rem;cursor:pointer;transition:all .2s ease}.date-input-wrapper:hover .date-input[data-v-6e6cd3cd]{background-color:#ffffff14;border-color:#fff3}.date-input-wrapper.active .date-input[data-v-6e6cd3cd]{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa33}.calendar-icon[data-v-6e6cd3cd]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#94a3b8;pointer-events:none}.calendar-dropdown[data-v-6e6cd3cd]{position:fixed;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.15);border-radius:12px;box-shadow:0 10px 40px #00000080;z-index:9999;overflow:hidden}.calendar-header[data-v-6e6cd3cd]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}.current-month[data-v-6e6cd3cd]{font-weight:600;color:#fff;font-size:.95rem}.nav-btn[data-v-6e6cd3cd]{background:#ffffff0d;border:none;border-radius:6px;padding:6px;color:#94a3b8;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.nav-btn[data-v-6e6cd3cd]:hover{background:#ffffff1a;color:#fff}.nav-btn .icon[data-v-6e6cd3cd]{width:16px;height:16px}.weekdays[data-v-6e6cd3cd]{display:grid;grid-template-columns:repeat(7,1fr);padding:12px 16px 8px;gap:4px}.weekday[data-v-6e6cd3cd]{text-align:center;font-size:.8rem;color:#64748b;font-weight:500}.days-grid[data-v-6e6cd3cd]{display:grid;grid-template-columns:repeat(7,1fr);padding:0 16px 16px;gap:4px}.day-btn[data-v-6e6cd3cd]{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;font-size:.9rem;color:#fff;cursor:pointer;transition:all .2s ease}.day-btn[data-v-6e6cd3cd]:hover:not(.disabled):not(.selected){background:#ffffff0d}.day-btn.other-month[data-v-6e6cd3cd]{color:#475569}.day-btn.today[data-v-6e6cd3cd]{color:#60a5fa;font-weight:600;background:#60a5fa1a}.day-btn.selected[data-v-6e6cd3cd]{background:#60a5fa;color:#fff;font-weight:600}.day-btn.disabled[data-v-6e6cd3cd]{opacity:.3;cursor:not-allowed}.calendar-footer[data-v-6e6cd3cd]{padding:12px 16px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end}.today-btn[data-v-6e6cd3cd]{background:#60a5fa26;border:1px solid rgba(96,165,250,.3);color:#60a5fa;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.today-btn[data-v-6e6cd3cd]:hover{background:#60a5fa40}.fade-slide-enter-active[data-v-6e6cd3cd],.fade-slide-leave-active[data-v-6e6cd3cd]{transition:opacity .2s ease,transform .2s ease}.fade-slide-enter-from[data-v-6e6cd3cd],.fade-slide-leave-to[data-v-6e6cd3cd]{opacity:0;transform:translateY(-10px)}.form-group label[data-v-cab447f6]{display:flex;align-items:center;gap:6px}.textarea[data-v-cab447f6]{resize:vertical;min-height:80px;font-family:inherit}.page[data-v-7673e2d5]{padding:20px 0}.top-bar[data-v-7673e2d5]{display:flex;align-items:center;gap:16px;margin-bottom:20px}.back-btn[data-v-7673e2d5]{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:8px 14px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.back-btn[data-v-7673e2d5]:hover{background:#ffffff0d;color:#fff;border-color:#fff3}.back-btn .icon[data-v-7673e2d5]{width:16px;height:16px}.page-title[data-v-7673e2d5]{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.assignments-content[data-v-7673e2d5]{display:flex;flex-direction:column;gap:16px}.page-header[data-v-7673e2d5]{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px}.header-left[data-v-7673e2d5]{display:flex;align-items:center;gap:16px}.avatar[data-v-7673e2d5]{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#3b82f6);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff}.header-text h1[data-v-7673e2d5]{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.subtitle[data-v-7673e2d5]{color:#94a3b8;font-size:.95rem;margin:4px 0 0}.header-stats[data-v-7673e2d5]{display:flex;gap:12px;margin-left:auto}.stat-item[data-v-7673e2d5]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.9rem;font-weight:500}.stat-item .stat-icon[data-v-7673e2d5]{width:16px;height:16px}.stat-item.pending[data-v-7673e2d5]{background:#fbbf2426;color:#fbbf24}.stat-item.completed[data-v-7673e2d5]{background:#4ade8026;color:#4ade80}.add-btn[data-v-7673e2d5]{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#60a5fa,#3b82f6);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.add-btn[data-v-7673e2d5]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.add-btn .icon[data-v-7673e2d5]{width:18px;height:18px}.loading-state[data-v-7673e2d5]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;color:#94a3b8}.loading-spinner[data-v-7673e2d5]{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#60a5fa;border-radius:50%;animation:spin-7673e2d5 1s linear infinite}@keyframes spin-7673e2d5{to{transform:rotate(360deg)}}.empty-state[data-v-7673e2d5]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 24px;text-align:center;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px}.empty-icon[data-v-7673e2d5]{width:64px;height:64px;color:#475569}.empty-state h3[data-v-7673e2d5]{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.empty-state p[data-v-7673e2d5]{color:#94a3b8;font-size:.95rem;margin:0}.add-first-btn[data-v-7673e2d5]{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#60a5fa26;border:1px dashed rgba(96,165,250,.4);border-radius:8px;color:#60a5fa;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;margin-top:8px}.add-first-btn[data-v-7673e2d5]:hover{background:#60a5fa40;border-color:#60a5fa99}.add-first-btn .icon[data-v-7673e2d5]{width:18px;height:18px}.assignments-list[data-v-7673e2d5]{display:flex;flex-direction:column;gap:12px}.assignment-card[data-v-7673e2d5]{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .2s ease}.assignment-card[data-v-7673e2d5]:hover{background:linear-gradient(135deg,#1e293b,#3d4f69);border-color:#ffffff26}.assignment-card.completed[data-v-7673e2d5]{opacity:.6}.assignment-card.overdue[data-v-7673e2d5]:not(.completed){border-left:3px solid #f87171}.assignment-card.urgent[data-v-7673e2d5]:not(.completed){border-left:3px solid #fbbf24}.assignment-card.soon[data-v-7673e2d5]:not(.completed){border-left:3px solid #60a5fa}.toggle-btn[data-v-7673e2d5]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.toggle-btn[data-v-7673e2d5]:hover{background:#ffffff1a}.check-icon[data-v-7673e2d5]{width:26px;height:26px;color:#475569;transition:all .2s ease}.check-icon.completed[data-v-7673e2d5]{color:#4ade80}.assignment-content[data-v-7673e2d5]{flex:1;min-width:0}.assignment-title[data-v-7673e2d5]{font-size:1.1rem;font-weight:600;color:#fff;margin:0}.completed .assignment-title[data-v-7673e2d5]{text-decoration:line-through;color:#94a3b8}.due-date[data-v-7673e2d5]{display:flex;align-items:center;gap:6px;font-size:.85rem;padding:6px 12px;border-radius:6px;white-space:nowrap;background:#ffffff0d;color:#94a3b8}.due-date.overdue[data-v-7673e2d5]{background:#f8717126;color:#f87171}.due-date.urgent[data-v-7673e2d5]{background:#fbbf2426;color:#fbbf24}.due-date.soon[data-v-7673e2d5]{background:#60a5fa26;color:#60a5fa}.due-date.completed[data-v-7673e2d5]{background:#4ade8026;color:#4ade80}.calendar-icon[data-v-7673e2d5]{width:14px;height:14px}.assignment-description[data-v-7673e2d5]{font-size:1rem;color:#fff;font-weight:500;margin:0;line-height:1.5}.completed .assignment-description[data-v-7673e2d5]{color:#64748b}.assignment-actions[data-v-7673e2d5]{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.assignment-card:hover .assignment-actions[data-v-7673e2d5]{opacity:1}.icon-btn[data-v-7673e2d5]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.icon-btn .icon[data-v-7673e2d5]{width:18px;height:18px}.icon-btn.edit[data-v-7673e2d5]{color:#94a3b8}.icon-btn.edit[data-v-7673e2d5]:hover{background:#60a5fa26;color:#60a5fa}.icon-btn.delete[data-v-7673e2d5]{color:#94a3b8}.icon-btn.delete[data-v-7673e2d5]:hover{background:#f8717126;color:#f87171}@media(max-width:768px){.page-header[data-v-7673e2d5]{flex-direction:column;text-align:center}.header-stats[data-v-7673e2d5]{margin-left:0}.add-btn[data-v-7673e2d5]{width:100%;justify-content:center}.assignment-actions[data-v-7673e2d5]{opacity:1}}.modal.modal-wide[data-v-0477f98a]{max-width:600px}.textarea[data-v-0477f98a]{resize:vertical;min-height:120px}.page[data-v-466e1bf8]{padding:20px 0}.top-bar[data-v-466e1bf8]{display:flex;align-items:center;gap:16px;margin-bottom:20px}.back-btn[data-v-466e1bf8]{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:8px 14px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.back-btn[data-v-466e1bf8]:hover{background:#ffffff0d;color:#fff;border-color:#fff3}.back-btn .icon[data-v-466e1bf8]{width:16px;height:16px}.page-title[data-v-466e1bf8]{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.sessions-content[data-v-466e1bf8]{display:flex;flex-direction:column;gap:16px}.page-header[data-v-466e1bf8]{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px 24px}.header-left[data-v-466e1bf8]{display:flex;align-items:center;gap:16px}.avatar[data-v-466e1bf8]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#3b82f6);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff}.header-text h2[data-v-466e1bf8]{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.add-btn[data-v-466e1bf8]{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#60a5fa,#3b82f6);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.add-btn[data-v-466e1bf8]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.add-btn .icon[data-v-466e1bf8]{width:16px;height:16px}.loading-state[data-v-466e1bf8]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;color:#94a3b8}.loading-spinner[data-v-466e1bf8]{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#60a5fa;border-radius:50%;animation:spin-466e1bf8 1s linear infinite}@keyframes spin-466e1bf8{to{transform:rotate(360deg)}}.empty-state[data-v-466e1bf8]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 24px;text-align:center;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px}.empty-icon[data-v-466e1bf8]{width:64px;height:64px;color:#475569}.empty-state h3[data-v-466e1bf8]{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.empty-state p[data-v-466e1bf8]{color:#94a3b8;font-size:.95rem;margin:0}.add-first-btn[data-v-466e1bf8]{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#60a5fa26;border:1px dashed rgba(96,165,250,.4);border-radius:8px;color:#60a5fa;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;margin-top:8px}.add-first-btn[data-v-466e1bf8]:hover{background:#60a5fa40;border-color:#60a5fa99}.add-first-btn .icon[data-v-466e1bf8]{width:18px;height:18px}.sessions-list[data-v-466e1bf8]{display:flex;flex-direction:column;gap:12px}.session-card[data-v-466e1bf8]{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .2s ease}.session-card[data-v-466e1bf8]:hover{background:linear-gradient(135deg,#1e293b,#3d4f69);border-color:#ffffff26}.session-content-wrapper[data-v-466e1bf8]{flex:1;min-width:0}.session-content[data-v-466e1bf8]{font-size:1rem;color:#fff;font-weight:500;margin:0;line-height:1.5}.date-badge[data-v-466e1bf8]{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#94a3b8;background:#ffffff0d;padding:6px 12px;border-radius:6px;white-space:nowrap}.date-badge .icon[data-v-466e1bf8]{width:14px;height:14px}.session-actions[data-v-466e1bf8]{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.session-card:hover .session-actions[data-v-466e1bf8]{opacity:1}.icon-btn[data-v-466e1bf8]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.icon-btn .icon[data-v-466e1bf8]{width:18px;height:18px}.icon-btn.edit[data-v-466e1bf8]{color:#94a3b8}.icon-btn.edit[data-v-466e1bf8]:hover{background:#60a5fa26;color:#60a5fa}.icon-btn.delete[data-v-466e1bf8]{color:#94a3b8}.icon-btn.delete[data-v-466e1bf8]:hover{background:#f8717126;color:#f87171}@media(max-width:768px){.page-header[data-v-466e1bf8]{flex-direction:column;text-align:center}.add-btn[data-v-466e1bf8]{width:100%;justify-content:center}.session-card[data-v-466e1bf8]{flex-direction:column;align-items:flex-start;gap:12px}.session-actions[data-v-466e1bf8]{opacity:1}}.icon-wrapper[data-v-be566c23]{width:48px;height:48px;border-radius:10px;background:#60a5fa26;display:flex;align-items:center;justify-content:center;color:#60a5fa;flex-shrink:0}.icon-wrapper .icon[data-v-be566c23]{width:24px;height:24px}.code-badge[data-v-be566c23]{display:inline-block;font-size:.8rem;padding:2px 8px;background:#ffffff0d;color:#94a3b8;border-radius:6px;font-family:monospace}.toggle-btn[data-v-be566c23]{position:relative;width:44px;height:24px;background:#374151;border:none;border-radius:12px;cursor:pointer;margin-left:auto;transition:background-color .2s ease}.toggle-btn[data-v-be566c23]:hover{background:#4b5563}.toggle-btn.active[data-v-be566c23]{background:#22c55e}.toggle-btn.active[data-v-be566c23]:hover{background:#16a34a}.toggle-slider[data-v-be566c23]{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle-btn.active .toggle-slider[data-v-be566c23]{transform:translate(20px)}.modal.modal-wide[data-v-ee63a7b6]{max-width:600px}.textarea[data-v-ee63a7b6]{resize:vertical;min-height:120px}.page[data-v-5762d7d9]{padding:20px 0}.top-bar[data-v-5762d7d9]{display:flex;align-items:center;gap:16px;margin-bottom:20px}.back-btn[data-v-5762d7d9]{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:8px 14px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.back-btn[data-v-5762d7d9]:hover{background:#ffffff0d;color:#fff;border-color:#fff3}.back-btn .icon[data-v-5762d7d9]{width:16px;height:16px}.page-title[data-v-5762d7d9]{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.contacts-content[data-v-5762d7d9]{display:flex;flex-direction:column;gap:16px}.page-header[data-v-5762d7d9]{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px 24px}.header-left[data-v-5762d7d9]{display:flex;align-items:center;gap:16px}.avatar[data-v-5762d7d9]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#a78bfa,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff}.header-text h2[data-v-5762d7d9]{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.add-btn[data-v-5762d7d9]{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#a78bfa,#8b5cf6);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.add-btn[data-v-5762d7d9]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.add-btn .icon[data-v-5762d7d9]{width:16px;height:16px}.loading-state[data-v-5762d7d9]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;color:#94a3b8}.loading-spinner[data-v-5762d7d9]{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#a78bfa;border-radius:50%;animation:spin-5762d7d9 1s linear infinite}@keyframes spin-5762d7d9{to{transform:rotate(360deg)}}.empty-state[data-v-5762d7d9]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 24px;text-align:center;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px}.empty-icon[data-v-5762d7d9]{width:64px;height:64px;color:#475569}.empty-state h3[data-v-5762d7d9]{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.empty-state p[data-v-5762d7d9]{color:#94a3b8;font-size:.95rem;margin:0}.add-first-btn[data-v-5762d7d9]{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#a78bfa26;border:1px dashed rgba(167,139,250,.4);border-radius:8px;color:#a78bfa;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;margin-top:8px}.add-first-btn[data-v-5762d7d9]:hover{background:#a78bfa40;border-color:#a78bfa99}.add-first-btn .icon[data-v-5762d7d9]{width:18px;height:18px}.contacts-list[data-v-5762d7d9]{display:flex;flex-direction:column;gap:12px}.contact-card[data-v-5762d7d9]{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .2s ease}.contact-card[data-v-5762d7d9]:hover{background:linear-gradient(135deg,#1e293b,#3d4f69);border-color:#ffffff26}.contact-content-wrapper[data-v-5762d7d9]{flex:1;min-width:0}.contact-description[data-v-5762d7d9]{font-size:1rem;color:#fff;font-weight:500;margin:0;line-height:1.5}.date-badge[data-v-5762d7d9]{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#94a3b8;background:#ffffff0d;padding:6px 12px;border-radius:6px;white-space:nowrap}.date-badge .icon[data-v-5762d7d9]{width:14px;height:14px}.contact-actions[data-v-5762d7d9]{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.contact-card:hover .contact-actions[data-v-5762d7d9]{opacity:1}.icon-btn[data-v-5762d7d9]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.icon-btn .icon[data-v-5762d7d9]{width:18px;height:18px}.icon-btn.edit[data-v-5762d7d9]{color:#94a3b8}.icon-btn.edit[data-v-5762d7d9]:hover{background:#a78bfa26;color:#a78bfa}.icon-btn.delete[data-v-5762d7d9]{color:#94a3b8}.icon-btn.delete[data-v-5762d7d9]:hover{background:#f8717126;color:#f87171}@media(max-width:768px){.page-header[data-v-5762d7d9]{flex-direction:column;text-align:center}.add-btn[data-v-5762d7d9]{width:100%;justify-content:center}.contact-card[data-v-5762d7d9]{flex-direction:column;align-items:flex-start;gap:12px}.contact-actions[data-v-5762d7d9]{opacity:1}}.avatar-wrapper.orange[data-v-713266ce]{background:linear-gradient(135deg,#f59e0b,#d97706)}.role-badge.orange[data-v-713266ce]{background:#f59e0b26;color:#fbbf24}.search-input[data-v-713266ce]:focus{border-color:#10b981}.avatar-wrapper.green[data-v-8af89cab]{background:linear-gradient(135deg,#10b981,#059669)}.role-badge.green[data-v-8af89cab]{background:#10b98126;color:#34d399}.search-input[data-v-8af89cab]:focus{border-color:#10b981}.action-btn.edit[data-v-8af89cab]:hover{background:#10b98126;color:#34d399}.modal-header[data-v-5110eecb]{align-items:flex-start}.header-info[data-v-5110eecb]{display:flex;align-items:flex-start;gap:14px}.header-icon[data-v-5110eecb]{width:28px;height:28px;color:#60a5fa;margin-top:2px}.date-text[data-v-5110eecb]{font-size:.9rem;color:#94a3b8;margin:4px 0 0;text-transform:capitalize}.modal-body[data-v-5110eecb]{max-height:60vh;overflow-y:auto}.empty-state[data-v-5110eecb]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px;color:#94a3b8;text-align:center}.empty-icon[data-v-5110eecb]{width:48px;height:48px;opacity:.4}.empty-state p[data-v-5110eecb]{margin:0;font-size:.95rem}.assignments-list[data-v-5110eecb]{display:flex;flex-direction:column;gap:10px}.assignment-item[data-v-5110eecb]{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;cursor:pointer;transition:all .2s ease}.assignment-item[data-v-5110eecb]:hover{background:#ffffff14;border-color:#ffffff1a;transform:translate(4px)}.assignment-item.completed[data-v-5110eecb]{opacity:.6}.assignment-status[data-v-5110eecb]{flex-shrink:0}.status-icon[data-v-5110eecb]{width:22px;height:22px}.status-icon.completed[data-v-5110eecb]{color:#34d399}.status-icon.pending[data-v-5110eecb]{color:#fbbf24}.assignment-info[data-v-5110eecb]{flex:1;min-width:0}.student-name[data-v-5110eecb]{font-size:.8rem;color:#60a5fa;font-weight:500;display:block;margin-bottom:2px}.assignment-description[data-v-5110eecb]{font-size:.95rem;color:#fff;margin:0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.arrow-icon[data-v-5110eecb]{width:18px;height:18px;color:#64748b;flex-shrink:0}.modal-body[data-v-5110eecb]::-webkit-scrollbar{width:6px}.modal-body[data-v-5110eecb]::-webkit-scrollbar-track{background:#ffffff05}.modal-body[data-v-5110eecb]::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.dashboard-calendar[data-v-216e9989]{background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px}.calendar-header[data-v-216e9989]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.month-title[data-v-216e9989]{font-size:1.1rem;font-weight:700;color:#fff;margin:0}.nav-buttons[data-v-216e9989]{display:flex;align-items:center;gap:6px}.nav-btn[data-v-216e9989]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;border-radius:6px;padding:4px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px;font-size:.85rem}.nav-btn[data-v-216e9989]:hover{background:#ffffff1a;color:#fff}.nav-btn .icon[data-v-216e9989]{width:16px;height:16px}.weekdays[data-v-216e9989]{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.weekday[data-v-216e9989]{text-align:center;color:#94a3b8;font-size:.8rem;font-weight:600;padding:6px 0}.days-grid[data-v-216e9989]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day-cell[data-v-216e9989]{aspect-ratio:1.3;background:#ffffff08;border:1px solid transparent;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:6px;cursor:pointer;transition:all .2s ease;position:relative;min-height:45px}.day-cell[data-v-216e9989]:hover:not(.selected){background:#ffffff14}.day-cell.other-month[data-v-216e9989]{opacity:.3;pointer-events:none}.day-number[data-v-216e9989]{font-size:.9rem;font-weight:500;color:#cbd5e1}.day-cell.today[data-v-216e9989]{border-color:#60a5fa}.day-cell.today .day-number[data-v-216e9989]{color:#60a5fa;font-weight:700}.day-cell.selected[data-v-216e9989]{background:#60a5fa;border-color:#60a5fa}.day-cell.selected .day-number[data-v-216e9989]{color:#fff}.assignment-dots[data-v-216e9989]{display:flex;gap:2px;margin-top:3px}.dot[data-v-216e9989]{width:4px;height:4px;border-radius:50%;background-color:#fca5a5}.day-cell.selected .dot[data-v-216e9989]{background-color:#fff}@media(max-width:640px){.day-cell[data-v-216e9989]{min-height:40px;border-radius:6px}.day-number[data-v-216e9989]{font-size:.8rem}}.modal.modal-wide[data-v-018dd5de]{max-width:560px}.modal-header h2[data-v-018dd5de]{display:flex;align-items:center;gap:10px}.header-icon[data-v-018dd5de]{width:22px;height:22px;color:#60a5fa}.student-controls[data-v-018dd5de]{display:flex;gap:12px;margin-bottom:12px}.search-small[data-v-018dd5de]{flex:1;padding:10px 14px}.select-all-btn[data-v-018dd5de]{padding:10px 16px;background:#60a5fa26;border:1px solid rgba(96,165,250,.3);border-radius:8px;color:#60a5fa;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.select-all-btn[data-v-018dd5de]:hover{background:#60a5fa40}.student-list[data-v-018dd5de]{max-height:200px;overflow-y:auto;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0003;margin-bottom:16px}.student-item[data-v-018dd5de]{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:all .15s ease;border-bottom:1px solid rgba(255,255,255,.05)}.student-item[data-v-018dd5de]:last-child{border-bottom:none}.student-item[data-v-018dd5de]:hover{background:#ffffff0d}.student-item.selected[data-v-018dd5de]{background:#60a5fa1a}.checkbox[data-v-018dd5de]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.checkbox.checked[data-v-018dd5de]{background:#60a5fa;border-color:#60a5fa}.check-icon[data-v-018dd5de]{width:14px;height:14px;color:#fff}.student-info[data-v-018dd5de]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.student-name[data-v-018dd5de]{color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-grade[data-v-018dd5de]{font-size:.8rem;color:#94a3b8;background:#ffffff0d;padding:2px 8px;border-radius:4px}.no-students[data-v-018dd5de]{padding:24px;text-align:center;color:#64748b}.selected-count[data-v-018dd5de]{text-align:center;color:#94a3b8;font-size:.9rem;margin-bottom:16px}.selected-count strong[data-v-018dd5de]{color:#60a5fa}.student-list[data-v-018dd5de]::-webkit-scrollbar{width:6px}.student-list[data-v-018dd5de]::-webkit-scrollbar-track{background:transparent}.student-list[data-v-018dd5de]::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.student-list[data-v-018dd5de]::-webkit-scrollbar-thumb:hover{background:#fff3}.dashboard-content[data-v-c4d0c66e]{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}@media(max-width:1024px){.dashboard-content[data-v-c4d0c66e]{grid-template-columns:1fr}}.sidebar-section[data-v-c4d0c66e]{display:flex;flex-direction:column;gap:20px}.stats-overview-card[data-v-c4d0c66e]{background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;display:flex;justify-content:space-around;align-items:center}.stat-group[data-v-c4d0c66e]{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value[data-v-c4d0c66e]{font-size:1.5rem;font-weight:700;line-height:1}.stat-label[data-v-c4d0c66e]{font-size:.85rem;color:#94a3b8;font-weight:500}.text-blue[data-v-c4d0c66e]{color:#60a5fa}.text-orange[data-v-c4d0c66e]{color:#fbbf24}.text-green[data-v-c4d0c66e]{color:#34d399}.stat-divider[data-v-c4d0c66e]{width:1px;height:40px;background:#ffffff1a}.assignments-card[data-v-c4d0c66e]{background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;display:flex;flex-direction:column;max-height:500px;overflow:hidden}.section-title[data-v-c4d0c66e]{font-size:1.1rem;font-weight:600;color:#fff;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05)}.assignments-list[data-v-c4d0c66e]{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:4px}.empty-list[data-v-c4d0c66e]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px 0;color:#94a3b8;text-align:center}.empty-list .empty-icon[data-v-c4d0c66e]{width:40px;height:40px;opacity:.5}.assignment-item[data-v-c4d0c66e]{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:10px;cursor:pointer;transition:all .2s ease}.assignment-item[data-v-c4d0c66e]:hover{background:#ffffff14;border-color:#ffffff1a;transform:translate(4px)}.assignment-info[data-v-c4d0c66e]{display:flex;flex-direction:column;gap:2px}.student-name[data-v-c4d0c66e]{font-size:.75rem;color:#60a5fa;font-weight:500}.assignment-title[data-v-c4d0c66e]{font-size:.95rem;font-weight:500;color:#fff;margin:0}.assignment-meta[data-v-c4d0c66e]{display:flex;align-items:center;gap:8px}.due-date[data-v-c4d0c66e]{font-size:.75rem;color:#94a3b8;background:#ffffff0d;padding:3px 6px;border-radius:4px;white-space:nowrap}.arrow-icon[data-v-c4d0c66e]{width:16px;height:16px;color:#64748b}.assignments-list[data-v-c4d0c66e]::-webkit-scrollbar{width:4px}.assignments-list[data-v-c4d0c66e]::-webkit-scrollbar-track{background:#ffffff05}.assignments-list[data-v-c4d0c66e]::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.detail-row[data-v-5f7e2010]{display:flex;gap:12px;margin-bottom:16px}.label[data-v-5f7e2010]{color:#94a3b8;font-weight:500;min-width:80px}.value[data-v-5f7e2010]{color:#fff}.message-section[data-v-5f7e2010]{margin-top:8px}.message-section .label[data-v-5f7e2010]{display:block;margin-bottom:12px}.message-content[data-v-5f7e2010]{background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px;color:#e2e8f0;line-height:1.6;white-space:pre-wrap;margin:0}.feedback-list[data-v-76849f94]{display:flex;flex-direction:column;gap:12px}.feedback-card[data-v-76849f94]{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease}.feedback-card[data-v-76849f94]:hover{border-color:#60a5fa4d;transform:translateY(-2px)}.feedback-header[data-v-76849f94]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sender-info[data-v-76849f94],.date-info[data-v-76849f94]{display:flex;align-items:center;gap:8px}.sender-name[data-v-76849f94]{font-weight:600;color:#fff}.date-info[data-v-76849f94]{color:#94a3b8;font-size:.9rem}.info-icon[data-v-76849f94]{width:16px;height:16px;color:#64748b}.feedback-message[data-v-76849f94]{color:#cbd5e1;line-height:1.5;margin:0 0 16px}.feedback-actions[data-v-76849f94]{display:flex;justify-content:flex-end}.action-btn[data-v-76849f94]{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease}.action-btn .icon[data-v-76849f94]{width:16px;height:16px}.action-btn.delete[data-v-76849f94]{background-color:#ef44441a;color:#f87171}.action-btn.delete[data-v-76849f94]:hover{background-color:#ef444433}.search-input[data-v-76849f94]:focus{border-color:#60a5fa}.book-card[data-v-7248ced3]{display:flex;align-items:center;gap:20px;padding:20px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease}.book-card[data-v-7248ced3]:hover{background:linear-gradient(135deg,#1e293b,#3d4f69);border-color:#ffffff26;transform:translateY(-1px)}.book-info[data-v-7248ced3]{flex:1;min-width:0}.book-name[data-v-7248ced3]{font-size:1.05rem;font-weight:600;color:#fff;margin:0 0 8px}.book-meta[data-v-7248ced3]{display:flex;gap:8px;flex-wrap:wrap}.progress-section[data-v-7248ced3]{width:200px;flex-shrink:0}.progress-info[data-v-7248ced3]{display:flex;justify-content:space-between;margin-bottom:6px}.progress-text[data-v-7248ced3]{font-size:.85rem;color:#94a3b8}.progress-percent[data-v-7248ced3]{font-size:.85rem;font-weight:600;color:#34d399}.book-actions[data-v-7248ced3]{display:flex;align-items:center;gap:8px}.icon-btn[data-v-7248ced3]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;opacity:0}.book-card:hover .icon-btn[data-v-7248ced3]{opacity:1}.icon-btn .icon[data-v-7248ced3]{width:18px;height:18px}.icon-btn.delete[data-v-7248ced3]{color:#94a3b8}.icon-btn.delete[data-v-7248ced3]:hover{background:#f8717126;color:#f87171}.chevron-icon[data-v-7248ced3]{width:20px;height:20px;color:#64748b;flex-shrink:0}@media(max-width:768px){.book-card[data-v-7248ced3]{flex-direction:column;align-items:flex-start;gap:16px}.progress-section[data-v-7248ced3]{width:100%}.book-actions[data-v-7248ced3]{width:100%;justify-content:flex-end}.icon-btn[data-v-7248ced3]{opacity:1}}.page-title[data-v-5d449e06]{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.books-content[data-v-5d449e06]{display:flex;flex-direction:column;gap:16px}.page-header[data-v-5d449e06]{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px 24px}.header-left[data-v-5d449e06]{display:flex;align-items:center;gap:16px}.avatar[data-v-5d449e06]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#3b82f6);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff}.header-text h2[data-v-5d449e06]{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.empty-state[data-v-5d449e06]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 24px;text-align:center;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px}.empty-state h3[data-v-5d449e06]{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.empty-state p[data-v-5d449e06]{color:#94a3b8;font-size:.95rem;margin:0}.add-first-btn[data-v-5d449e06]{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#60a5fa26;border:1px dashed rgba(96,165,250,.4);border-radius:8px;color:#60a5fa;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;margin-top:8px}.add-first-btn[data-v-5d449e06]:hover{background:#60a5fa40;border-color:#60a5fa99}.add-first-btn .icon[data-v-5d449e06]{width:18px;height:18px}.books-list[data-v-5d449e06]{display:flex;flex-direction:column;gap:12px}@media(max-width:768px){.page-header[data-v-5d449e06]{flex-direction:column;text-align:center}.add-btn[data-v-5d449e06]{width:100%;justify-content:center}}.topic-item[data-v-3b45d5b7]{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:8px;transition:all .2s ease}.topic-item.clickable[data-v-3b45d5b7]{cursor:pointer}.topic-item.clickable[data-v-3b45d5b7]:hover{background:#ffffff0f;border-color:#ffffff1a}.topic-item.completed[data-v-3b45d5b7]{background:#34d39914;border-color:#34d39926}.topic-item.updating[data-v-3b45d5b7]{opacity:.7;pointer-events:none}.topic-checkbox[data-v-3b45d5b7]{flex-shrink:0}.check-icon[data-v-3b45d5b7]{width:22px;height:22px;color:#64748b;transition:all .2s ease}.check-icon.completed[data-v-3b45d5b7]{color:#34d399}.topic-info[data-v-3b45d5b7]{flex:1;display:flex;align-items:center;gap:8px}.topic-order[data-v-3b45d5b7]{font-size:.9rem;color:#64748b;font-weight:500;min-width:24px}.topic-name[data-v-3b45d5b7]{font-size:.95rem;color:#e2e8f0}.topic-item.completed .topic-name[data-v-3b45d5b7]{color:#94a3b8}.updating-spinner[data-v-3b45d5b7]{width:18px;height:18px;border:2px solid rgba(255,255,255,.1);border-top-color:#60a5fa;border-radius:50%;animation:spin-3b45d5b7 .8s linear infinite}@keyframes spin-3b45d5b7{to{transform:rotate(360deg)}}.page-title[data-v-da298e5f]{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.book-content[data-v-da298e5f]{display:flex;flex-direction:column;gap:20px}.book-header[data-v-da298e5f]{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px}.header-left[data-v-da298e5f]{display:flex;align-items:center;gap:16px}.book-icon-wrapper[data-v-da298e5f]{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#fbbf2433,#f59e0b33);display:flex;align-items:center;justify-content:center}.book-icon[data-v-da298e5f]{width:28px;height:28px;color:#fbbf24}.header-text h2[data-v-da298e5f]{font-size:1.35rem;font-weight:600;color:#fff;margin:0 0 10px}.book-meta[data-v-da298e5f]{display:flex;gap:8px;flex-wrap:wrap}.progress-ring-wrapper[data-v-da298e5f]{display:flex;flex-direction:column;align-items:center;gap:8px}.progress-ring[data-v-da298e5f]{width:100px;height:100px;position:relative}.progress-ring svg[data-v-da298e5f]{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg[data-v-da298e5f]{stroke:#ffffff1a}.progress-ring-fill[data-v-da298e5f]{stroke:#34d399;transition:stroke-dasharray .5s ease}.progress-ring-text[data-v-da298e5f]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-ring-text .percent[data-v-da298e5f]{display:block;font-size:1.25rem;font-weight:700;color:#34d399}.progress-ring-text .label[data-v-da298e5f]{display:block;font-size:.7rem;color:#94a3b8}.progress-stats[data-v-da298e5f]{font-size:.85rem;color:#94a3b8}.topics-section[data-v-da298e5f]{background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px}.section-title[data-v-da298e5f]{font-size:1.1rem;font-weight:600;color:#fff;margin:0 0 16px}.topics-list[data-v-da298e5f]{display:flex;flex-direction:column;gap:8px}@media(max-width:768px){.book-header[data-v-da298e5f]{flex-direction:column;text-align:center}.header-left[data-v-da298e5f]{flex-direction:column}.book-meta[data-v-da298e5f]{justify-content:center}}.success-message[data-v-0ea09ec4]{background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e;padding:20px;border-radius:8px;text-align:center;font-weight:500}.navbar[data-v-2b355bc9]{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#1e293b,#0f172a);color:#fff;padding:12px 24px;box-shadow:0 2px 8px #0000004d;position:sticky;top:0;z-index:1000}.navbar-left[data-v-2b355bc9]{display:flex;align-items:center;gap:40px}.brand-section[data-v-2b355bc9]{display:flex;align-items:center;gap:12px}.brand-icon[data-v-2b355bc9]{width:32px;height:32px;color:#60a5fa}.brand-text[data-v-2b355bc9]{font-weight:700;font-size:1.25rem;color:#fff;letter-spacing:-.5px}.nav-links[data-v-2b355bc9]{display:flex;gap:8px}.nav-link[data-v-2b355bc9]{padding:8px 16px;color:#cbd5e1;text-decoration:none;border-radius:6px;font-weight:500;transition:all .2s ease;font-size:.95rem}.nav-link[data-v-2b355bc9]:hover{background-color:#ffffff1a;color:#fff}.nav-link.router-link-exact-active[data-v-2b355bc9]{background-color:#60a5fa33;color:#60a5fa}.navbar-right[data-v-2b355bc9]{display:flex;align-items:center;gap:16px}.notification-btn[data-v-2b355bc9]{display:flex;align-items:center;justify-content:center;background-color:transparent;color:#cbd5e1;border:none;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.notification-btn[data-v-2b355bc9]:hover{background-color:#ffffff1a;color:#fff}.feedback-btn[data-v-2b355bc9]{display:flex;align-items:center;justify-content:center;background-color:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3);padding:8px;border-radius:8px;cursor:pointer;transition:all .2s ease}.feedback-btn[data-v-2b355bc9]:hover{background-color:#22c55e40;color:#22c55e}.user-section[data-v-2b355bc9]{display:flex;align-items:center;padding:8px 16px;border-radius:8px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.user-name[data-v-2b355bc9]{font-weight:600;font-size:.9rem;color:#fff}.logout-btn[data-v-2b355bc9]{display:flex;align-items:center;justify-content:center;background-color:#b91c1c33;color:#fca5a5;border:1px solid rgba(185,28,28,.3);padding:8px;border-radius:8px;cursor:pointer;transition:all .2s ease}.logout-btn[data-v-2b355bc9]:hover{background-color:#b91c1c;color:#fff}.icon[data-v-2b355bc9]{width:20px;height:20px}.layout[data-v-b806e3d7]{min-height:100vh;background-color:#0f172a}.main[data-v-b806e3d7]{padding:32px;min-height:calc(100vh - 64px);max-width:1400px;margin:0 auto}.page-enter-active[data-v-b806e3d7],.page-leave-active[data-v-b806e3d7]{transition:opacity .2s ease,transform .2s ease}.page-enter-from[data-v-b806e3d7]{opacity:0;transform:translateY(10px)}.page-leave-to[data-v-b806e3d7]{opacity:0;transform:translateY(-10px)}.not-found-page[data-v-e939d298]{min-height:100vh;background-color:#0f172a;display:flex;align-items:center;justify-content:center;padding:24px}.content[data-v-e939d298]{text-align:center;max-width:480px}.error-code[data-v-e939d298]{font-size:8rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:16px}.content h1[data-v-e939d298]{font-size:2rem;font-weight:700;color:#fff;margin:0 0 12px}.content p[data-v-e939d298]{font-size:1.1rem;color:#94a3b8;margin:0 0 32px;line-height:1.6}.actions[data-v-e939d298]{display:flex;justify-content:center;gap:16px;margin-bottom:48px}.btn[data-v-e939d298]{display:flex;align-items:center;gap:8px;padding:14px 24px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn .icon[data-v-e939d298]{width:20px;height:20px}.btn-secondary[data-v-e939d298]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1}.btn-secondary[data-v-e939d298]:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.btn-primary[data-v-e939d298]{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.btn-primary[data-v-e939d298]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.illustration[data-v-e939d298]{display:flex;justify-content:center}.search-icon[data-v-e939d298]{width:120px;height:120px;color:#1e293b;opacity:.5}@media(max-width:480px){.error-code[data-v-e939d298]{font-size:5rem}.content h1[data-v-e939d298]{font-size:1.5rem}.actions[data-v-e939d298]{flex-direction:column}.btn[data-v-e939d298]{width:100%;justify-content:center}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 40px #0006}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}.close-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#94a3b8;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s ease}.close-btn:hover{background-color:#ffffff1a;color:#fff}.close-btn .icon{width:20px;height:20px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.9rem;font-weight:500;color:#cbd5e1;margin-bottom:8px}.input{width:100%;padding:12px 16px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;transition:all .2s ease}.input:focus{outline:none;border-color:#60a5fa;background-color:#ffffff14}.input::placeholder{color:#64748b}.textarea{resize:vertical;min-height:80px}.select-wrapper{position:relative}.select{appearance:none;cursor:pointer}.select-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;width:18px;height:18px}.error-message{background-color:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171;padding:12px 16px;border-radius:8px;font-size:.9rem;margin-bottom:20px}.hint.warning{margin-top:8px;font-size:.85rem;color:#fbbf24}.cancel-btn{padding:12px 20px;background-color:transparent;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;border-radius:8px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background-color:#ffffff0d;border-color:#ffffff4d}.submit-btn{padding:12px 20px;background-color:#60a5fa;border:none;color:#fff;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.submit-btn:hover:not(:disabled){background-color:#3b82f6}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.modal-enter-active,.modal-leave-active{transition:opacity .25s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-active .modal,.modal-enter-active .modal-container,.modal-enter-active .modal-content,.modal-enter-active .confirm-modal,.modal-leave-active .modal,.modal-leave-active .modal-container,.modal-leave-active .modal-content,.modal-leave-active .confirm-modal{transition:all .25s ease}.modal-enter-from .modal,.modal-enter-from .modal-container,.modal-enter-from .modal-content,.modal-enter-from .confirm-modal,.modal-leave-to .modal,.modal-leave-to .modal-container,.modal-leave-to .modal-content,.modal-leave-to .confirm-modal{opacity:0;transform:scale(.95) translateY(-10px)}.page{padding:20px 0}.page-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.add-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.add-btn:hover{transform:translateY(-1px)}.add-btn .icon{width:18px;height:18px}.add-btn.green{background:linear-gradient(135deg,#10b981,#059669)}.add-btn.green:hover{box-shadow:0 4px 12px #10b98166}.add-btn.blue{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.add-btn.blue:hover{box-shadow:0 4px 12px #3b82f666}.search-bar{position:relative;margin-bottom:24px}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#94a3b8;width:20px;height:20px}.search-input{width:100%;padding:14px 16px 14px 48px;background-color:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:1rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:#60a5fa;background-color:#ffffff0d}.search-input::placeholder{color:#64748b}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;color:#94a3b8;gap:16px}.empty-icon{width:64px;height:64px;opacity:.5}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.base-card{background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;transition:all .2s ease;display:flex;flex-direction:column;gap:16px}.base-card:hover{transform:translateY(-2px);border-color:#fff3;box-shadow:0 8px 24px #0000004d}.card-header{display:flex;gap:16px;align-items:center}.card-body{display:flex;flex-direction:column;gap:10px;flex:1}.info-row{display:flex;gap:10px;font-size:.9rem;color:#cbd5e1;line-height:1.5;align-items:center}.info-icon{width:16px;height:16px;color:#94a3b8;flex-shrink:0}.card-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#94a3b8}.action-btn .icon{width:18px;height:18px}.action-btn.edit:hover{background:#60a5fa26;color:#60a5fa}.action-btn.delete:hover{background:#f8717126;color:#f87171}.avatar-wrapper{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.25rem;flex-shrink:0}.header-info{flex:1;min-width:0}.header-info h3{font-size:1.1rem;font-weight:600;color:#fff;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-badge{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:12px;font-weight:500}.top-bar{display:flex;align-items:center;gap:16px;margin-bottom:20px}.back-btn{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:8px 14px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#ffffff0d;color:#fff;border-color:#fff3}.back-btn .icon{width:16px;height:16px}.meta-badge{font-size:.8rem;padding:4px 10px;border-radius:6px;font-weight:500}.meta-badge.grade{background:#fbbf2426;color:#fbbf24}.meta-badge.lesson{background:#60a5fa26;color:#60a5fa}.loading-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;color:#94a3b8}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#60a5fa;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#34d399,#10b981);border-radius:4px;transition:width .3s ease}@media(max-width:640px){.page-top{flex-direction:column;align-items:stretch}.add-btn{justify-content:center}}
