@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";.dashboard-page,.admin-dashboard,.student-dashboard,.courses-container,.students-container,.fees-container,.attendance-container,.tasks-container,.github-container,.linkedin-container,.daily-report-page,.topic-detail-page,.add-student-page{background:var(--surface-soft);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);border-radius:20px;flex-direction:column;gap:1.8rem;width:100%;padding:2rem;animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn;display:flex}.page-title{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:800}.page-subtitle{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.5}.stats-grid,.stats-container,.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;width:100%;display:grid}.stat-card,.stats-card{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:var(--transition);border-radius:16px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.stat-card:hover,.stats-card:hover{border-color:var(--primary);box-shadow:0 12px 24px var(--primary-glow);transform:translateY(-4px)}.stat-icon{background:var(--primary-glow);width:fit-content;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;padding:.8rem;display:flex}.stat-value{color:var(--text-main);font-size:1.8rem;font-weight:800;line-height:1.1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.page-section,.section-card{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:1.5rem}.dashboard-grid-2-1,.dashboard-grid-1-1,.content-grid{gap:1.8rem;display:grid}.dashboard-grid-2-1{grid-template-columns:2fr 1fr}.dashboard-grid-1-1{grid-template-columns:1fr 1fr}.table-responsive{-webkit-overflow-scrolling:touch;border:1px solid var(--glass-border);width:100%;box-shadow:var(--glass-shadow);background:var(--bg-card);border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;color:var(--text-main);text-align:left}thead{background:var(--bg-secondary)}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--glass-border);padding:1rem 1.2rem;font-size:.8rem;font-weight:700}td{border-bottom:1px solid var(--glass-border);transition:var(--transition);padding:1.1rem 1.2rem;font-size:.9rem}tbody tr{transition:var(--transition)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#10b9810d}.filters,.filter-section,.controls{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;padding:1.2rem;display:grid}.filter-item,.control-item{flex-direction:column;gap:.45rem;display:flex}.filter-item label,.control-item label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.filter-item input,.filter-item select,.control-item input,.control-item select{background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-main);border-radius:10px;padding:.65rem .9rem;font-size:.9rem}.filter-item input:focus,.filter-item select:focus,.control-item input:focus,.control-item select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.btn-small,.btn-action,.btn-submit,.btn-cancel,.btn-add,.save-btn,.back-btn{background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-main);cursor:pointer;transition:var(--transition);border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.85rem;font-weight:600;display:inline-flex}.btn-small:hover,.btn-action:hover,.btn-add:hover{border-color:var(--primary);color:#fff;background:var(--primary-gradient);box-shadow:0 4px 12px var(--primary-glow);transform:translateY(-1px)}.btn-submit:hover,.save-btn:hover{background:var(--success);border-color:var(--success);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #10b98140}.btn-cancel:hover{border-color:var(--danger);color:var(--danger);background:#ef44441a;transform:translateY(-1px)}.back-btn:hover{border-color:var(--primary);color:var(--primary);background:#10b98114;transform:translate(-2px)}.btn-small:disabled,.btn-action:disabled,.btn-submit:disabled,.save-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.pagination,.table-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.pagination-info{color:var(--text-muted);font-size:.9rem}.pagination-buttons{flex-wrap:wrap;gap:.45rem;display:flex}.status-badge,.badge-status{color:var(--primary);text-transform:uppercase;letter-spacing:.03em;background:#10b9811f;border-radius:999px;align-items:center;padding:.35rem .8rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-badge.active,.status-badge.completed,.status-badge.success,.badge-status.active,.badge-status.completed{color:var(--success);background:#10b9811f;border:1px solid #10b98133}.status-badge.pending,.status-badge.warning,.badge-status.pending,.badge-status.partial{color:var(--accent);background:#f59e0b1f;border:1px solid #f59e0b33}.status-badge.danger,.status-badge.failed,.status-badge.slow,.badge-status.danger,.badge-status.failed{color:var(--danger);background:#ef44441f;border:1px solid #ef444433}.notify-item,.notification-item{background:var(--bg-card);border-left:4px solid var(--primary);box-shadow:var(--glass-shadow);border-top:1px solid var(--glass-border);border-right:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);border-radius:12px;padding:1.1rem}.card-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.card-header h3{color:var(--text-main);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700}@media (width<=1200px){.dashboard-grid-2-1,.dashboard-grid-1-1{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (width<=768px){.dashboard-page,.admin-dashboard,.student-dashboard,.courses-container,.students-container,.fees-container,.attendance-container,.tasks-container,.github-container,.linkedin-container,.daily-report-page,.topic-detail-page,.add-student-page{gap:1.2rem;padding:1.2rem}.page-title{font-size:1.6rem}.filters,.filter-section,.controls{grid-template-columns:1fr;padding:.95rem}.stats-grid{grid-template-columns:1fr}.stat-card,.stats-card,.page-section,.section-card{padding:1rem}table{font-size:.85rem}th,td{padding:.8rem}}@media (width<=640px){.page-title{font-size:1.4rem}.page-subtitle{font-size:.85rem}.card-header{flex-direction:column;align-items:flex-start;gap:.6rem}.card-header h3{font-size:1.05rem}.stat-value{font-size:1.5rem}.btn-small,.btn-action,.btn-submit,.btn-cancel,.btn-add,.save-btn,.back-btn{width:100%;min-height:42px}.table-responsive{border-radius:12px}th,td{white-space:nowrap}.pagination{flex-direction:column;gap:.9rem}.pagination-buttons{justify-content:center;width:100%}}:root,:root[data-theme=dark]{--primary:#10b981;--primary-hover:#059669;--primary-glow:#10b98159;--primary-gradient:linear-gradient(135deg, #047857 0%, #10b981 50%, #34d399 100%);--bg-main:#06140f;--bg-secondary:#0a1f18;--bg-card:#0b1f18b8;--surface-soft:#102c2273;--text-main:#f0fdf4;--text-muted:#8aa69b;--accent:#f59e0b;--accent-glow:#f59e0b4d;--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--glass-border:#34d3991f;--glass-shadow:0 14px 40px 0 #020c09b3;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--border-color:#34d3991f}:root[data-theme=light]{--primary:#044d3e;--primary-hover:#03392d;--primary-glow:#044d3e38;--primary-gradient:linear-gradient(135deg, #03392d 0%, #044d3e 50%, #066551 100%);--bg-main:#fbf9f2;--bg-secondary:#f0ece1;--bg-card:#ffffffeb;--surface-soft:#f2eee3b3;--text-main:#0d241c;--text-muted:#536e63;--accent:#d97706;--accent-glow:#d9770640;--danger:#dc2626;--success:#059669;--warning:#d97706;--glass-border:#044d3e14;--glass-shadow:0 10px 30px 0 #044d3e0f;--border-color:#044d3e14}*{box-sizing:border-box;margin:0;padding:0;font-family:Outfit,sans-serif}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg-main);color:var(--text-main);min-height:100vh;transition:background-color .5s;position:relative;overflow-x:hidden}#root{min-height:100vh}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 10% 20%,#10b98112 0%,#0000 40%),radial-gradient(circle at 90% 80%,#0596690f 0%,#0000 40%);width:100%;height:100%;animation:15s ease-in-out infinite alternate bgPulse;position:fixed;top:0;left:0}@keyframes bgPulse{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.1)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--glass-border);border:2px solid var(--bg-main);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}a{color:inherit;text-decoration:none}button{cursor:pointer;transition:var(--transition);border:none;outline:none}input,select,textarea{transition:var(--transition);background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-main);border-radius:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}img,svg,video,canvas{max-width:100%}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:var(--transition);border-radius:16px}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px var(--primary-glow);border-radius:12px;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.6rem;font-weight:600;display:flex}.btn-primary:hover{box-shadow:0 6px 20px var(--primary-glow);opacity:.95;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.input-group{width:100%;margin-bottom:1.5rem}.input-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.input-field{background:var(--bg-secondary);border:1px solid var(--glass-border);width:100%;color:var(--text-main);border-radius:12px;padding:.8rem 1.2rem;font-size:.95rem}.input-field:focus{border-color:var(--primary);background:var(--bg-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}@media (width<=1024px){.glass-card{border-radius:14px}}@media (width<=768px){:root{font-size:15px}body{min-height:100dvh}.btn-primary{min-height:44px;padding:.7rem 1.2rem}.input-field{min-height:44px;padding:.72rem .9rem}}@media (width<=480px){:root{font-size:14px}.glass-card{border-radius:12px}}.layout{min-height:100vh;display:flex}.sidebar{z-index:50;flex-direction:column;width:270px;height:100vh;padding:2.2rem 1.4rem;display:flex;position:fixed;-webkit-backdrop-filter:blur(20px)!important;border-right:1px solid var(--glass-border)!important;background:#0a1f18a6!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-radius:0!important}[data-theme=light] .sidebar{background:#fbf9f2e0!important}.sidebar-logo{align-items:center;gap:.85rem;margin-bottom:2.8rem;padding:0 .5rem;display:flex}.sidebar-mobile-top{display:contents}.menu-toggle-btn{border:1px solid var(--glass-border);background:var(--bg-card);width:38px;height:38px;color:var(--text-main);border-radius:10px;justify-content:center;align-items:center;display:none}.menu-toggle-btn:hover{border-color:var(--primary);color:var(--primary)}.logo-icon{width:44px;height:44px;box-shadow:0 4px 14px var(--primary-glow);background:#10b9811f;border:1px solid #10b98140;border-radius:12px;justify-content:center;align-items:center;padding:4px;display:flex;position:relative;overflow:hidden}[data-theme=light] .logo-icon{background:#fdf8e6;border-color:#044d3e26;box-shadow:0 4px 12px #044d3e1f}.logo-image{object-fit:contain;width:100%;height:100%;transition:transform .3s}.sidebar-logo:hover .logo-image{transform:scale(1.05)}.logo-copy{flex-direction:column;gap:.1rem;display:flex}.logo-text{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,#a7f3d0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.28rem;font-weight:800}.logo-subtitle{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:700}[data-theme=light] .logo-text{background:linear-gradient(135deg,#044d3e 0%,#065f46 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.sidebar-nav{flex-direction:column;flex:1;gap:.45rem;display:flex}.nav-item{color:var(--text-muted);transition:var(--transition);border:1px solid #0000;border-radius:12px;align-items:center;gap:.9rem;padding:.75rem 1.1rem;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--primary);background:#10b98114;transform:translate(3px)}.nav-active{box-shadow:0 4px 14px var(--primary-glow);font-weight:600;background:var(--primary-gradient)!important;color:#fff!important}.nav-group-parent-active{color:var(--primary);background:#10b9811a;border-color:#10b98133;font-weight:600}[data-theme=light] .nav-group-parent-active{background:#044d3e14;border-color:#044d3e26}.nav-group{flex-direction:column;display:flex}.nav-sub-list{border-left:2px solid #10b98138;flex-direction:column;gap:.3rem;margin-top:.35rem;margin-bottom:.35rem;margin-left:1.4rem;padding-left:1rem;display:flex}[data-theme=light] .nav-sub-list{border-left-color:#044d3e33}.nav-sub-item{color:var(--text-muted);transition:var(--transition);border:1px solid #0000;border-radius:10px;align-items:center;gap:.65rem;padding:.52rem .85rem;font-size:.88rem;font-weight:550;text-decoration:none;display:flex}.nav-sub-item:hover{color:var(--primary);background:#10b98114;transform:translate(3px)}[data-theme=light] .nav-sub-item:hover{background:#044d3e14}.nav-sub-active{color:var(--primary)!important;background:#10b98129!important;border-color:#10b9814d!important;font-weight:700!important}[data-theme=light] .nav-sub-active{color:var(--primary)!important;background:#044d3e1f!important;border-color:#044d3e38!important}.sidebar-footer{border-top:1px solid var(--glass-border);margin-top:auto;padding-top:1.5rem}.logout-btn{width:100%;color:var(--danger);background:#ef444414;border:1px solid #ef444426;border-radius:12px;align-items:center;gap:.9rem;padding:.75rem 1.1rem;font-size:.95rem;font-weight:600;display:flex}.logout-btn:hover{background:var(--danger);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.main-content{flex:1;width:calc(100% - 270px);min-height:100vh;margin-left:270px;padding:2.2rem 3rem}.top-header{justify-content:flex-end;align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}.header-right{align-items:center;gap:1.4rem;margin-left:auto;display:flex}.theme-toggle{background:var(--bg-card);color:var(--text-main);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);border-radius:12px;align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.85rem;font-weight:600;display:inline-flex}.theme-toggle:hover{border-color:var(--primary);box-shadow:0 4px 12px var(--primary-glow);transform:translateY(-1px)}.theme-toggle svg{transition:transform .5s}.theme-toggle:hover svg{transform:rotate(30deg)}.user-pill{background:var(--bg-card);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:.75rem;padding:.4rem .8rem;display:flex}.user-pill-clickable{cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none}.user-pill-clickable:hover{border-color:var(--primary);box-shadow:0 4px 14px var(--primary-glow);background:#10b9811f;transform:translateY(-1px)}.user-pill-active{box-shadow:0 4px 14px var(--primary-glow);border-color:var(--primary)!important;background:#10b9812e!important}.user-name{color:var(--text-main);padding-left:.4rem;font-size:.9rem;font-weight:600}.user-avatar{background:var(--primary-gradient);color:#fff;width:32px;height:32px;box-shadow:0 2px 8px var(--primary-glow);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.page-title{letter-spacing:-.03em;background:linear-gradient(135deg,#fff 0%,#6ee7b7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.2rem;font-weight:800}[data-theme=light] .page-title{background:linear-gradient(135deg,#044d3e 0%,#065f46 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.page-subtitle{color:var(--text-muted);margin-bottom:2.5rem;font-size:1rem}@media (width<=1200px){.main-content{width:calc(100% - 270px);padding:1.8rem 2rem}}@media (width<=960px){.layout{flex-direction:column}.sidebar{z-index:100;width:100%;height:auto;padding:.9rem 1.2rem;position:sticky;top:0;border-right:none!important;border-bottom:1px solid var(--glass-border)!important;border-radius:0!important}.sidebar-mobile-top{justify-content:flex-start;align-items:center;gap:.8rem;display:flex}.menu-toggle-btn{flex-shrink:0;margin-left:auto;display:inline-flex}.sidebar-logo{flex:1;margin-bottom:0;padding:0}.sidebar-nav{flex-direction:column;gap:.35rem;padding:.7rem 0 .2rem;display:none;overflow:visible}.sidebar.mobile-open .sidebar-nav{display:flex}.nav-item{white-space:normal;border-bottom:none;border-radius:10px;padding:.65rem .85rem}.nav-item:hover{transform:none}.sidebar-footer{display:none}.sidebar.mobile-open .sidebar-footer{margin-top:.35rem;padding-top:.85rem;display:block}.main-content{width:100%;margin-left:0;padding:1.5rem}.top-header{flex-wrap:wrap;margin-bottom:1.5rem}}@media (width<=640px){.sidebar{padding:.8rem}.sidebar-logo{margin-bottom:.6rem}.logo-text{font-size:1.15rem}.header-right{gap:.8rem}.theme-toggle span,.user-name{display:none}.main-content{padding:1rem .85rem 1.2rem}.top-header{gap:.75rem}.header-right{justify-content:flex-end;width:100%}.nav-item{padding:.55rem .85rem;font-size:.86rem}.menu-toggle-btn{width:36px;height:36px}}.login-container{background:var(--bg-main);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background:var(--primary);filter:blur(100px);opacity:.18;border-radius:50%;width:320px;height:320px;animation:10s infinite alternate floatBlob;position:absolute;top:15%;left:15%}.login-container:after{content:"";filter:blur(95px);opacity:.15;background:#047857;border-radius:50%;width:280px;height:280px;animation:8s infinite alternate-reverse floatBlob;position:absolute;bottom:15%;right:15%}@keyframes floatBlob{0%{transform:translateY(0)scale(1)}to{transform:translateY(20px)scale(1.1)}}.login-card{border:1px solid var(--glass-border);width:100%;max-width:450px;box-shadow:var(--glass-shadow);z-index:10;background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border-radius:24px;padding:3rem 2.2rem}.login-header{text-align:center;margin-bottom:2.2rem}.login-icon-container{width:72px;height:72px;box-shadow:0 8px 24px var(--primary-glow);background:#10b9811f;border:1px solid #10b98140;border-radius:20px;justify-content:center;align-items:center;margin:0 auto 1.2rem;padding:10px;transition:transform .3s;display:flex}[data-theme=light] .login-icon-container{background:#fdf8e6;border:1px solid #044d3e2e;box-shadow:0 8px 24px #044d3e1f}.login-icon-container:hover{transform:scale(1.05)}.login-brand-logo{object-fit:contain;width:100%;height:100%}.dark-only-logo{display:block}.light-only-logo,[data-theme=light] .dark-only-logo{display:none}[data-theme=light] .light-only-logo{display:block}.login-title{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,#a7f3d0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.4rem;font-size:1.9rem;font-weight:800}[data-theme=light] .login-title{background:linear-gradient(135deg,#044d3e 0%,#065f46 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.login-subtitle{color:var(--text-muted);font-size:.95rem;font-weight:500}.login-form{flex-direction:column;gap:.25rem;display:flex}.login-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.login-input-icon{color:var(--text-muted);pointer-events:none;transition:var(--transition);position:absolute;left:1.1rem}.login-input-field{padding-left:3rem!important}.login-input-wrapper:focus-within .login-input-icon{color:var(--primary)}.login-input-wrapper .login-input-field[type=password],.login-input-wrapper .login-input-field[type=text]{padding-right:2.85rem!important}.password-toggle-btn{width:2rem;height:2rem;color:var(--text-muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.password-toggle-btn:focus-visible{box-shadow:0 0 0 2px var(--primary-glow)}.login-error-area{color:var(--danger);background:#ef44441a;border:1px solid #ef444426;border-radius:12px;align-items:center;gap:.5rem;margin-bottom:1.2rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:flex}.login-submit-btn{width:100%;margin-top:1rem}@media (width<=768px){.login-container{padding:1rem}.login-card{border-radius:18px;max-width:100%;padding:2.3rem 1.6rem}.login-header{margin-bottom:1.5rem}}@media (width<=480px){.login-container{padding:.75rem}.login-card{border-radius:14px;padding:1.6rem 1rem}.login-title{font-size:1.35rem}.login-subtitle{font-size:.88rem}}.dashboard-page{flex-direction:column;gap:1.8rem;display:flex}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";background:radial-gradient(circle, var(--primary-glow) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:100px;height:100px;position:absolute;top:-20px;right:-20px}.stat-change{align-items:center;gap:.25rem;margin-top:.5rem;font-size:.8rem;font-weight:700;display:inline-flex}.dashboard-right-stack{flex-direction:column;gap:1.5rem;display:flex}.worksheet-update-card{flex-direction:column;gap:.85rem;padding:1.5rem;display:flex}.worksheet-update-text{color:var(--text-muted);font-size:.92rem;line-height:1.5}.worksheet-update-link{border:1px solid var(--glass-border);width:fit-content;color:var(--text-primary);background:#ffffff0a;border-radius:10px;align-items:center;gap:.45rem;padding:.55rem .85rem;font-size:.86rem;font-weight:600;text-decoration:none;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.worksheet-update-link:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-1px)}.table-card{padding:1.5rem;overflow:hidden}.table-responsive{overflow-x:auto}.modern-table{border-collapse:collapse;text-align:left;width:100%}.modern-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--glass-border);padding:1rem;font-size:.8rem}.modern-table td{border-bottom:1px solid var(--glass-border);padding:1rem;font-size:.9rem}.student-cell{align-items:center;gap:.75rem;display:flex}.avatar-mini{background:var(--primary-gradient);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:600;display:flex}.github-link{color:var(--primary);align-items:center;gap:.4rem;font-weight:500;text-decoration:none;display:flex}.github-link:hover{text-decoration:underline}.topic-badge{background:var(--primary-glow);color:var(--primary);border-radius:6px;padding:.25rem .6rem;font-size:.8rem;font-weight:500}.status-dot{align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:inline-flex}.status-dot:before{content:"";border-radius:50%;width:8px;height:8px}.status-dot.active:before{background:var(--success);box-shadow:0 0 8px var(--success)}.status-dot.review:before{background:var(--warning);box-shadow:0 0 8px var(--warning)}.status-dot.slow:before{background:var(--danger);box-shadow:0 0 8px var(--danger)}.spending-card{flex-direction:column;padding:1.5rem;display:flex}.spending-amount{background:linear-gradient(90deg,#fff,#a5b4fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:.5rem 0;font-size:2rem;font-weight:700}.spending-chart-mock{justify-content:space-between;align-items:flex-end;gap:8px;height:100px;margin:1.5rem 0 .5rem;display:flex}.spending-bar{background:#ffffff1a;border-radius:4px;flex:1;transition:all .3s}.spending-bar.active{background:var(--primary-gradient);box-shadow:0 4px 12px var(--primary-glow)}.spending-legend{color:var(--text-muted);justify-content:space-between;font-size:.7rem;display:flex}.demo-visitor-stats{border-top:1px solid var(--glass-border);margin-top:2rem;padding-top:1.5rem}.demo-visitor-stats h4{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.visitor-row{justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;display:flex}.visitor-progress-bar{background:#ffffff0d;border-radius:3px;height:6px;overflow:hidden}.v-progress{background:var(--accent);height:100%}.present-topic-card{flex-direction:column;padding:1.5rem;display:flex}.badge-live{color:#ef4444;text-transform:uppercase;letter-spacing:.05em;background:#ef44441a;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:700;animation:2s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.topic-content{gap:1.5rem;margin:1.5rem 0;display:flex}.topic-icon-large{background:var(--primary-glow);width:80px;height:80px;color:var(--primary);border-radius:20px;justify-content:center;align-items:center;display:flex}.topic-info h2{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.topic-info p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.progress-labels{justify-content:space-between;margin-bottom:.5rem;font-size:.8rem;display:flex}.progress-bar-bg{background:var(--bg-secondary);border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background:var(--primary-gradient);height:100%;box-shadow:0 0 8px var(--primary-glow);border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.github-overview{justify-content:space-between;gap:1rem;margin:1.5rem 0;display:flex}.github-stat{border:1px solid var(--glass-border);background:#ffffff08;border-radius:12px;flex-direction:column;flex:1;align-items:center;padding:1rem;display:flex}.gh-val{font-size:1.25rem;font-weight:700}.gh-lab{color:var(--text-muted);font-size:.7rem}.recent-tasks-list{margin-bottom:1.5rem}.recent-tasks-list h4{color:var(--text-muted);margin-bottom:1rem;font-size:.85rem}.task-mini-item{align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.88rem;display:flex}.circle-pending{border:2px solid var(--glass-border);border-radius:50%;width:14px;height:14px}.btn-small{border:1px solid var(--glass-border);color:var(--text-main);cursor:pointer;background:#ffffff0d;border-radius:6px;padding:.4rem .8rem;font-size:.75rem}.full-width{justify-content:center;width:100%}.fee-card,.student-notifications-card,.office-notifications-card{padding:1.5rem}.fee-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin:.5rem 0 1rem;display:grid}.fee-stats label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600;display:block}.fee-stats strong{color:var(--text-main);margin-top:.35rem;font-size:1.25rem;display:block}.fee-next-date{color:var(--accent);margin-bottom:.8rem;font-size:.85rem;font-weight:600}.student-notification-list{flex-direction:column;gap:.85rem;display:flex}.student-notify-item{border:1px solid var(--glass-border);transition:var(--transition);border-radius:12px;padding:1rem}.student-notify-item:hover{transform:translate(3px)}.student-notify-item h4{margin:0;font-size:.95rem;font-weight:700}.student-notify-item p{color:var(--text-muted);margin:.4rem 0 0;font-size:.85rem;line-height:1.4}.student-notify-item.fee{border-left:4px solid var(--accent);background:#f59e0b14}.student-notify-item.course{background:#38bdf814;border-left:4px solid #38bdf8}.student-dashboard .stat-body{justify-content:space-between;align-items:baseline;gap:.9rem;display:flex}.admin-dashboard .stat-body{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-dashboard .stat-label{letter-spacing:.04em;order:1;font-size:.82rem}.admin-dashboard .stat-value{text-align:right;background:#ffffff0a;border-radius:10px;order:2;min-width:2.2ch;margin-left:auto;padding:.15rem .45rem;font-size:2rem;line-height:1}.student-dashboard .stat-value{white-space:nowrap;font-size:1.35rem}.admin-dashboard-lock{border-radius:16px;position:relative}.disabled-blur-card{position:relative}.disabled-blur-card>:not(.disabled-overlay){filter:blur(2.5px);opacity:.58;pointer-events:none}.disabled-overlay{z-index:5;text-align:center;border-radius:inherit;color:var(--text-main);-webkit-backdrop-filter:blur(1px);background:#0f172a33;justify-content:center;align-items:center;padding:1rem;font-size:1rem;font-weight:700;display:flex;position:absolute;inset:0}@media (width<=760px){.fee-stats{grid-template-columns:1fr}}@media (width<=640px){.stats-grid{grid-template-columns:1fr;gap:.85rem}.stat-card,.table-card,.spending-card,.fee-card,.student-notifications-card,.report-activity-card,.present-topic-card,.github-tasks-card{padding:1.2rem}.topic-content{flex-direction:column;gap:.9rem}.github-overview{flex-direction:column}}.courses-page-container{flex-direction:column;gap:1.5rem;padding-bottom:3.5rem;display:flex}.classified-page-header{background:radial-gradient(circle at 50% 0%, #10b9811f 0%, #0b1f18d9 85%), var(--bg-card);border:1px solid #34d39938;border-radius:20px;flex-direction:column;gap:1.2rem;padding:1.5rem 1.8rem;display:flex;box-shadow:0 16px 40px #00000059}[data-theme=light] .classified-page-header{background:radial-gradient(circle at 50% 0%, #10b9811f 0%, #f0fdf4f2 85%), var(--bg-card);border-color:#044d3e26;box-shadow:0 10px 30px #044d3e0f}.classified-header-text{flex-direction:column;gap:.4rem;display:flex}.classified-badge-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.classified-badge-primary{text-transform:uppercase;letter-spacing:.08em;background:var(--primary);color:#fff;border-radius:999px;padding:.25rem .65rem;font-size:.72rem;font-weight:800}.classified-badge-accent{letter-spacing:.04em;color:var(--accent);background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:999px;padding:.22rem .6rem;font-size:.72rem;font-weight:700}.classified-main-title{letter-spacing:-.02em;color:var(--text-main);margin:.15rem 0 0;font-size:2rem;font-weight:800}.classified-main-desc{color:var(--text-muted);max-width:860px;margin:0;font-size:.9rem;line-height:1.45}.classified-main-desc strong{color:var(--text-main)}.classified-quick-anchors{scrollbar-width:thin;align-items:center;gap:.5rem;padding-bottom:.3rem;display:flex;overflow-x:auto}.quick-anchor-chip{border:1px solid var(--glass-border);color:var(--text-muted);white-space:nowrap;transition:var(--transition);background:#ffffff0a;border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;padding:.38rem .75rem;font-size:.78rem;font-weight:600;text-decoration:none;display:flex}.quick-anchor-chip:hover{color:var(--text-main);background:#10b9811f;border-color:#10b98159;transform:translateY(-2px)}.quick-anchor-chip .anchor-num{color:var(--primary);background:#10b98126;border-radius:4px;padding:.1rem .35rem;font-size:.68rem;font-weight:800}.quick-anchor-chip.is-project-chip{color:var(--accent);background:#f59e0b14;border-color:#f59e0b59}.quick-anchor-chip.is-project-chip .anchor-num{color:var(--accent);background:#f59e0b33}.courses-nav-bar{border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.2rem;display:flex}.track-tab-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.track-tab-btn{border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:#ffffff08;border-radius:12px;align-items:center;gap:.5rem;padding:.5rem .95rem;font-size:.84rem;font-weight:600;display:flex}.track-tab-btn:hover{color:var(--text-main);background:#10b98114;border-color:#10b9814d}.track-tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px var(--primary-glow)}.tab-pill{letter-spacing:.04em;border-radius:6px;padding:.15rem .45rem;font-size:.68rem;font-weight:700}.mern-pill{color:#10b981;background:#10b98133}.track-tab-btn.active .mern-pill,.track-tab-btn.active .dotnet-pill,.track-tab-btn.active .mean-pill{color:#fff;background:#ffffff40}.dotnet-pill{color:#8b5cf6;background:#8b5cf633}.mean-pill{color:#f43f5e;background:#f43f5e33}.courses-search-bar{border:1px solid var(--glass-border);color:var(--text-muted);width:280px;transition:var(--transition);background:#0003;border-radius:12px;align-items:center;gap:.6rem;padding:.5rem .9rem;display:flex}[data-theme=light] .courses-search-bar{background:#fff9}.courses-search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.courses-search-bar input{color:var(--text-main);background:0 0;border:none;width:100%;font-size:.85rem}.courses-search-bar input:focus{outline:none}.classified-sections-stack{flex-direction:column;gap:1.8rem;display:flex}.classified-section-card{border:1px solid var(--glass-border);border-top:3px solid var(--sec-accent);background:var(--bg-card);transition:var(--transition);border-radius:20px;flex-direction:column;gap:1.25rem;padding:1.4rem 1.6rem 1.6rem;display:flex;box-shadow:0 10px 30px #0003}.classified-section-card:hover{box-shadow:0 16px 40px #00000047}.classified-section-card.is-project-section{background:radial-gradient(circle at 100% 0%, #f59e0b14 0%, var(--bg-card) 60%);border-color:#f59e0b59}.classified-section-card.is-ai-section{background:radial-gradient(circle at 100% 0%, #a855f712 0%, var(--bg-card) 60%);border-top-color:#a855f7}.classified-section-card.is-career-section{background:radial-gradient(circle at 100% 0%, #ec489912 0%, var(--bg-card) 60%);border-top-color:#ec4899}.classified-section-header{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.9rem;display:flex}.classified-title-cluster{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.classified-step-pill{color:#fff;background:var(--sec-accent);border-radius:999px;flex-shrink:0;padding:.25rem .65rem;font-size:.76rem;font-weight:900;box-shadow:0 2px 8px #00000040}.classified-icon-wrap{border:1px solid var(--glass-border);background:#ffffff0a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.classified-title-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.classified-section-title{letter-spacing:-.01em;color:var(--text-main);margin:0;font-size:1.42rem;font-weight:800}.classified-phase-badge{border:1px solid var(--glass-border);color:var(--text-muted);background:#ffffff0f;border-radius:999px;padding:.18rem .55rem;font-size:.68rem;font-weight:700}.classified-section-subtitle{color:var(--text-muted);margin:.25rem 0 0;font-size:.84rem;line-height:1.35}.classified-meta-wrap{align-items:center;gap:.5rem;display:flex}.classified-units-count{letter-spacing:.04em;border:1px solid var(--glass-border);color:var(--text-muted);white-space:nowrap;background:#ffffff0d;border-radius:999px;padding:.3rem .75rem;font-size:.74rem;font-weight:700}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.15rem;display:grid}.course-card{transition:var(--transition);border:1px solid var(--glass-border);background:#ffffff05;border-radius:16px;flex-direction:row;align-items:flex-start;gap:1rem;padding:1rem;display:flex;overflow:hidden}.course-card:hover{background:#ffffff0a;border-color:#10b98166;transform:translateY(-3px);box-shadow:0 12px 28px #00000040}.course-card.project-card-highlight{border-color:#f59e0b40}.course-card.project-card-highlight:hover{border-color:#f59e0b80;box-shadow:0 12px 28px #f59e0b26}.client-timeline-badge{letter-spacing:.03em;color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b59;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex}.course-image-wrap{border:1px solid var(--glass-border);width:86px;height:86px;transition:var(--transition);background:#ffffff0a;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:0 4px 12px #00000026}[data-theme=light] .course-image-wrap{background:#00000008;box-shadow:0 4px 12px #044d3e0f}.course-card:hover .course-image-wrap{border-color:#10b98166;transform:scale(1.05)}.course-logo-svg{object-fit:contain;width:50px;height:50px;transition:var(--transition)}.course-logo-fallback{color:var(--text-muted);font-size:.82rem;font-weight:800}.simple-content{flex-direction:column;flex:1;gap:.35rem;display:flex}.card-top-tags{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.course-category{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--glass-border);background:#ffffff08;border-radius:999px;padding:.18rem .5rem;font-size:.65rem}.card-custom-tag{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b47;border-radius:999px;padding:.18rem .5rem;font-size:.65rem;font-weight:700}.course-title{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:700}.course-brief-desc{color:var(--text-muted);margin:.1rem 0 .25rem;font-size:.79rem;line-height:1.35}.card-badges-row{align-items:center;gap:.4rem;display:flex}.course-status-badge{letter-spacing:.03em;border:1px solid #0000;border-radius:999px;padding:.22rem .55rem;font-size:.7rem;font-weight:700}.course-status-badge.is-active{color:#0f766e;background:#14b8a624;border-color:#14b8a647}[data-theme=dark] .course-status-badge.is-active{color:#34d399;background:#10b98126;border-color:#34d39959}.course-status-badge.is-project-badge{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b4d}.course-status-badge.is-soon{color:var(--text-muted);background:#94a3b81f;border-color:#94a3b833}.simple-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .6rem;margin-top:.15rem;display:grid}.simple-stats p{color:var(--text-muted);margin:0;font-size:.78rem}.course-btn{cursor:pointer;transition:var(--transition);border:none;border-radius:10px;justify-content:center;align-self:flex-start;align-items:center;gap:.45rem;margin-top:.35rem;padding:.52rem .9rem;font-size:.8rem;font-weight:700;display:inline-flex}.btn-simple{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 10px var(--primary-glow)}.btn-simple:hover{box-shadow:0 6px 16px var(--primary-glow);transform:translateY(-2px)}.btn-disabled{color:var(--text-muted);box-shadow:none;cursor:not-allowed;opacity:.85;background:#94a3b826}.empty-state{text-align:center;color:var(--text-muted);border-radius:16px;padding:3rem 1.5rem;font-size:.95rem}@media (width<=820px){.classified-page-header{padding:1.2rem 1rem}.classified-main-title{font-size:1.6rem}.courses-nav-bar{flex-direction:column;align-items:stretch}.courses-search-bar{width:100%}.track-tab-group{justify-content:flex-start;padding-bottom:.4rem;overflow-x:auto}.classified-section-header,.course-card{flex-direction:column}.course-image{width:100%;height:140px}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer-animation{background:linear-gradient(90deg, var(--bg-secondary) 25%, var(--glass-border) 50%, var(--bg-secondary) 75%);background-size:1000px 100%;border-radius:8px;height:100%;animation:2s linear infinite shimmer}.shimmer-card{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:1.5rem;overflow:hidden}.shimmer-text{background:var(--bg-secondary);border-radius:6px;height:12px;position:relative;overflow:hidden}.shimmer-table{background:var(--bg-card);border:1px solid var(--glass-border);width:100%;box-shadow:var(--glass-shadow);border-radius:16px;overflow:hidden}.shimmer-table-header{background:var(--bg-secondary);border-bottom:1px solid var(--glass-border);grid-template-columns:repeat(5,1fr);gap:1.2rem;padding:1.1rem 1.2rem;display:grid}.shimmer-th{background:var(--bg-card);border-radius:6px;height:20px;overflow:hidden}.shimmer-table-row{border-bottom:1px solid var(--glass-border);grid-template-columns:repeat(5,1fr);gap:1.2rem;padding:1.1rem 1.2rem;display:grid}.shimmer-table-row:last-child{border-bottom:none}.shimmer-td{background:var(--bg-secondary);border-radius:6px;height:16px;overflow:hidden}.shimmer-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;width:100%;display:grid}.shimmer-grid-item{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex;overflow:hidden}.gh-section{margin-bottom:1.8rem}.gh-section-title{color:var(--text-main);letter-spacing:-.01em;align-items:center;gap:.6rem;margin-bottom:1.5rem;font-size:1.25rem;font-weight:750;display:flex}.students-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;display:grid}.student-card{text-align:center;transition:var(--transition);background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;flex-direction:column;align-items:center;gap:1rem;padding:1.8rem 1.4rem;display:flex;position:relative;overflow:hidden}.student-card:before{content:"";background:var(--primary-gradient);opacity:0;height:4px;transition:var(--transition);position:absolute;top:0;left:0;right:0}.student-card:hover{border-color:var(--primary);box-shadow:0 12px 30px var(--primary-glow);transform:translateY(-6px)}.student-card:hover:before{opacity:1}.sc-avatar-wrap{flex-shrink:0;position:relative}.sc-avatar{object-fit:cover;border:3px solid #10b98140;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;display:flex}.sc-avatar-placeholder{background:var(--primary-glow);color:var(--primary)}.sc-avatar-initials{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px var(--primary-glow);font-size:1.4rem;font-weight:800}.sc-status{border:2px solid var(--bg-card);border-radius:50%;width:14px;height:14px;position:absolute;bottom:4px;right:4px}.status-active{background:var(--success);box-shadow:0 0 8px var(--success)}.status-pending{background:var(--text-muted)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.sc-info{flex-direction:column;align-items:center;gap:.35rem;display:flex}.sc-name{color:var(--text-main);font-size:1.05rem;font-weight:700;line-height:1.2}.sc-role{color:var(--primary);background:var(--primary-glow);text-transform:uppercase;letter-spacing:.05em;border:1px solid #10b98133;border-radius:10px;padding:.2rem .65rem;font-size:.75rem;font-weight:700}.sc-meta{color:var(--text-muted);align-items:center;gap:.3rem;margin-top:.2rem;font-size:.8rem;display:flex}.sc-stats{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:12px;justify-content:space-evenly;align-items:center;width:100%;padding:.8rem .6rem;display:flex}.sc-stat{color:var(--text-muted);flex-direction:column;align-items:center;gap:.2rem;display:flex}.sc-stat span{color:var(--text-main);font-size:1rem;font-weight:800;line-height:1}.sc-stat label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-weight:600}.sc-stat-divider{background:var(--glass-border);width:1px;height:28px}.sc-no-github{color:var(--text-muted);text-align:center;border:1px solid var(--glass-border);background:#ffffff05;border-radius:10px;width:100%;padding:.6rem;font-size:.78rem}.sc-btn{width:100%;transition:var(--transition);text-transform:uppercase;letter-spacing:.05em;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;margin-top:auto;padding:.65rem 1rem;font-size:.85rem;font-weight:700;text-decoration:none;display:flex}.sc-btn-active{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px var(--primary-glow)}.sc-btn-active:hover{box-shadow:0 6px 18px var(--primary-glow);transform:translateY(-2px)}.sc-btn-disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed;border:1px solid var(--glass-border)}.gh-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem;margin-bottom:2rem;display:grid}.gh-stat-card{align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.gh-stat-icon{color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gh-stat-card>div{flex-direction:column;display:flex}.gh-stat-value{color:var(--text-main);font-size:1.5rem;font-weight:800;line-height:1.1}.gh-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-size:.8rem;font-weight:600}.contrib-card{margin-bottom:2rem;padding:1.8rem}.contrib-card h3{margin-bottom:.35rem;font-size:1.2rem;font-weight:750}.contrib-sub{color:var(--text-muted);margin-bottom:1.5rem;font-size:.88rem}.contrib-grid{gap:5px;padding-bottom:.75rem;display:flex;overflow-x:auto}.contrib-grid::-webkit-scrollbar{height:6px}.contrib-grid::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:99px}.contrib-col{flex-direction:column;gap:5px;display:flex}.contrib-cell{border-radius:3px;width:14px;height:14px;transition:transform .15s cubic-bezier(.4,0,.2,1)}.contrib-cell:hover{box-shadow:0 0 6px var(--primary-glow);transform:scale(1.3)}.level-0{background:#ffffff0a}.level-1{background:#10b98140}.level-2{background:#10b98180}.level-3{background:#10b981bf}.level-4{background:#10b981}[data-theme=light] .level-0{background:#0000000f}[data-theme=light] .level-1{background:#044d3e33}[data-theme=light] .level-2{background:#044d3e73}[data-theme=light] .level-3{background:#044d3ebf}[data-theme=light] .level-4{background:#044d3e}.contrib-legend{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:5px;margin-top:1rem;font-size:.75rem;display:flex}.repos-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.2rem;display:grid}.repo-card{transition:var(--transition);cursor:pointer;border:1px solid var(--glass-border);padding:1.4rem}.repo-card:hover{border-color:var(--primary);box-shadow:0 10px 24px var(--primary-glow);transform:translateY(-4px)}.repo-header{justify-content:space-between;align-items:flex-start;margin-bottom:.65rem;display:flex;border-bottom:none!important;padding-bottom:0!important}.repo-name-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.repo-icon{color:var(--text-muted)}.repo-name{color:var(--primary);font-size:.95rem;font-weight:750}.repo-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.badge-private{color:var(--accent);background:#f59e0b1f;border:1px solid #f59e0b33}.badge-public{color:var(--success);background:#10b9811f;border:1px solid #10b98133}.repo-link-icon{color:var(--text-muted)}.repo-desc{color:var(--text-muted);margin-bottom:1rem;font-size:.85rem;line-height:1.5}.repo-footer{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:1.2rem;font-size:.8rem;display:flex}.repo-lang{align-items:center;gap:.35rem;display:flex}.lang-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.repo-stat{align-items:center;gap:.25rem;display:flex}.linkedin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;display:grid}.li-profile-card{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.4rem;display:flex}.li-avatar{color:#fff;background:linear-gradient(135deg,#0a66c2,#0077b5);border-radius:12px;place-items:center;width:44px;height:44px;font-weight:800;display:grid;box-shadow:0 4px 10px #0a66c24d}.li-profile-card h3{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:700}.li-profile-card p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.4}.li-badge{color:#70b5f9;background:#0a66c21f;border:1px solid #0a66c233;border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:600}.li-open-btn{text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.45rem;margin-top:.45rem;font-size:.75rem;display:inline-flex}@media (width<=1024px){.students-grid,.linkedin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.students-grid,.linkedin-grid{grid-template-columns:1fr}.student-card,.li-profile-card{padding:1.2rem}}.topic-notify-overlay{-webkit-backdrop-filter:blur(8px);z-index:1050;background:#030712c7;justify-content:center;align-items:center;padding:1.25rem;animation:.2s ease-out notifyFadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes notifyFadeIn{0%{opacity:0}to{opacity:1}}.topic-notify-modal{background:var(--bg-card,#0f172a);border:1px solid var(--glass-border,#34d39938);border-radius:22px;flex-direction:column;gap:1.25rem;width:100%;max-width:620px;max-height:90vh;padding:1.8rem;animation:.22s cubic-bezier(.16,1,.3,1) notifyScaleIn;display:flex;overflow-y:auto;box-shadow:0 24px 60px #0000008c,0 0 40px #10b9811f}[data-theme=light] .topic-notify-modal{background:#fff;border-color:#10b98140;box-shadow:0 20px 50px #0000001f,0 0 30px #10b98114}@keyframes notifyScaleIn{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.notify-modal-header{border-bottom:1px solid var(--glass-border,#ffffff14);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.notify-header-title{align-items:center;gap:.9rem;display:flex}.notify-bell-icon{width:44px;height:44px;color:var(--primary,#10b981);background:#10b98124;border:1px solid #10b9814d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.notify-header-title h3{color:var(--text-main,#f8fafc);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:750}.notify-header-title p{color:var(--text-muted,#94a3b8);margin:.25rem 0 0;font-size:.82rem}.notify-modal-close{background:var(--bg-secondary,#ffffff0f);border:1px solid var(--glass-border,#ffffff1a);color:var(--text-muted,#94a3b8);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.notify-modal-close:hover{color:#ef4444;background:#ef444426;border-color:#ef44444d;transform:rotate(90deg)}.topic-context-banner{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.context-chip{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf840;border-radius:999px;align-items:center;gap:.4rem;padding:.32rem .75rem;font-size:.78rem;font-weight:650;display:inline-flex}.notify-alert{border-radius:12px;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:flex}.notify-alert-success{color:#10b981;background:#10b98124;border:1px solid #10b98159}.notify-alert-danger{color:#ef4444;background:#ef444424;border:1px solid #ef444459}.notify-form{flex-direction:column;gap:1.1rem;display:flex}.notify-form-group{flex-direction:column;gap:.45rem;display:flex}.notify-form-group label{color:var(--text-main,#f8fafc);align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.required-star{color:#ef4444}.notify-form-group input,.notify-form-group textarea{border:1px solid var(--glass-border,#ffffff1f);background:var(--bg-secondary,#ffffff0a);width:100%;color:var(--text-main,#f8fafc);border-radius:12px;outline:none;padding:.75rem .95rem;font-family:inherit;font-size:.9rem;transition:all .2s}[data-theme=light] .notify-form-group input,[data-theme=light] .notify-form-group textarea{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.notify-form-group input:focus,.notify-form-group textarea:focus{border-color:var(--primary,#10b981);background:var(--bg-card,#0f172a);box-shadow:0 0 0 3px #10b9812e}[data-theme=light] .notify-form-group input:focus,[data-theme=light] .notify-form-group textarea:focus{background:#fff}.notify-form-group textarea{resize:vertical;min-height:85px;line-height:1.5}.notify-dates-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=540px){.notify-dates-row{grid-template-columns:1fr}}.notify-actions-bar{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.notify-cancel-btn{border:1px solid var(--glass-border,#ffffff26);background:var(--bg-secondary,#ffffff0d);color:var(--text-main,#f8fafc);cursor:pointer;border-radius:12px;padding:.65rem 1.25rem;font-size:.88rem;font-weight:650;transition:all .2s}.notify-cancel-btn:hover{background:#ffffff1a}.notify-submit-btn{background:var(--primary-gradient,linear-gradient(135deg, #10b981, #059669));color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1.45rem;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #10b98159}.notify-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98173}.notify-submit-btn:disabled{opacity:.65;cursor:not-allowed}.btn-spinner{animation:1s linear infinite spin}.notify-history-section{border-top:1px solid var(--glass-border,#ffffff14);flex-direction:column;gap:.8rem;margin-top:.5rem;padding-top:1.2rem;display:flex}.history-header{justify-content:space-between;align-items:center;display:flex}.history-header h4{color:var(--text-main,#f8fafc);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.92rem;font-weight:750}.history-count{color:var(--primary,#10b981);background:#10b98126;border-radius:999px;padding:.2rem .55rem;font-size:.76rem;font-weight:700}.notify-history-list{flex-direction:column;gap:.75rem;max-height:240px;padding-right:.3rem;display:flex;overflow-y:auto}.notify-history-item{background:var(--bg-secondary,#ffffff08);border:1px solid var(--glass-border,#ffffff14);border-radius:14px;flex-direction:column;gap:.45rem;padding:.85rem 1rem;transition:all .2s;display:flex}.notify-history-item:hover{background:#10b9810a;border-color:#10b9814d}.history-item-top{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.history-item-topic{color:var(--text-main,#f8fafc);font-size:.92rem;font-weight:700}.history-delete-btn{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.3rem;transition:all .2s;display:flex}.history-delete-btn:hover{color:#ef4444;background:#ef44441f}.history-item-desc{color:var(--text-muted,#94a3b8);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.45;display:-webkit-box;overflow:hidden}.history-item-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.date-tag{border-radius:6px;align-items:center;gap:.25rem;padding:.22rem .55rem;font-size:.74rem;display:inline-flex}.date-tag.start{color:#10b981;background:#10b98124;border:1px solid #10b98140}.date-tag.end{color:#f59e0b;background:#f59e0b24;border:1px solid #f59e0b40}.date-tag.created{color:var(--text-muted,#94a3b8);background:#ffffff0d}.notify-history-empty{color:var(--text-muted,#94a3b8);text-align:center;background:#ffffff05;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:1.2rem;font-size:.82rem;display:flex}.course-details-container{min-height:calc(100vh - 80px);padding:1rem 0;animation:.45s cubic-bezier(.16,1,.3,1) fadeIn}.details-header-nav{margin-bottom:1.8rem}.back-btn{background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-muted);transition:var(--transition);cursor:pointer;border-radius:12px;align-items:center;gap:.6rem;padding:.6rem 1.2rem;font-weight:600;display:flex}.back-btn:hover{color:var(--text-main);background:#ffffff1a;transform:translate(-4px)}.details-layout{align-items:start;gap:1.8rem;display:grid}.details-main{flex-direction:column;gap:1.8rem;display:flex}@media (width<=1100px){.details-layout{grid-template-columns:1fr}}.hero-section{border:1px solid var(--glass-border);background:linear-gradient(135deg,#10b98126,#044d3e33);border-radius:20px;margin-bottom:2.5rem;padding:3rem;position:relative;overflow:hidden}.hero-section:after{content:"";background:var(--primary);filter:blur(120px);opacity:.15;z-index:0;width:400px;height:400px;position:absolute;top:-50%;right:-10%}.hero-content{z-index:1;position:relative}.tags-row{gap:.75rem;margin-bottom:1.5rem;display:flex}.tag-premium{color:#000;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:20px;padding:.35rem .95rem;font-size:.7rem;font-weight:800}.tag-status{color:var(--success);text-transform:uppercase;letter-spacing:.05em;background:#10b98126;border:1px solid #10b98140;border-radius:20px;padding:.35rem .95rem;font-size:.75rem;font-weight:700}.hero-title{background:linear-gradient(90deg, var(--text-main), var(--text-muted));-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;margin-bottom:1rem;font-size:3rem;font-weight:800}.hero-description{color:var(--text-muted);max-width:600px;margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.hero-stats{gap:2.5rem;display:flex}.stat-item{color:var(--text-muted);align-items:center;gap:.6rem;font-size:.95rem;display:flex}.stat-item span{color:var(--text-main);font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-title{letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.section-title-clickable{cursor:pointer;transition:var(--transition)}.section-title-clickable:hover{color:var(--primary);transform:translateY(-1px)}.topic-count{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:8px;padding:.35rem .85rem;font-size:.88rem;font-weight:600}.topics-list{flex-direction:column;gap:1.1rem;display:flex}.topic-group{flex-direction:column;gap:.7rem;display:flex}.topic-sub-list{flex-direction:column;gap:.6rem;padding-left:2.3rem;display:flex}.topic-item{transition:var(--transition);border:1px solid var(--glass-border);background:var(--bg-card);border-radius:16px;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.topic-item-parent{border-left:3px solid var(--primary)}.topic-item-child{border-left:3px solid #10b98159}.topic-item:hover{border-color:var(--primary);box-shadow:0 8px 24px var(--primary-glow);background:#10b9810a;transform:translateY(-2px)}.topic-num-box{background:var(--primary-glow);width:46px;height:46px;color:var(--primary);border:1px solid #10b98133;border-radius:12px;justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:flex}.topic-info{flex:1}.topic-name{color:var(--text-main);margin-bottom:.35rem;font-size:1.1rem;font-weight:700}.topic-item-child .topic-name{font-size:1rem}.topic-meta{align-items:center;display:flex}.topic-checkbox{color:var(--text-muted);align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;display:inline-flex}.topic-checkbox input{accent-color:var(--success)}.custom-checkbox{display:none}.status-badge{color:var(--success);align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:flex}.topic-action{color:var(--text-muted);transition:var(--transition)}.topic-item:hover .topic-action{color:var(--primary);transform:translate(3px)}.details-sidebar{flex-direction:column;gap:1.8rem;display:flex}.completion-card{text-align:center;padding:2.5rem 1.5rem}.completion-ring-box{border:8px solid #10b9811a;border-top-color:var(--success);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 1.5rem;display:flex;position:relative}.ring-inner{flex-direction:column;align-items:center;display:flex}.ring-text{color:var(--text-main);font-size:2rem;font-weight:800;line-height:1}.ring-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.72rem;font-weight:700}.card-title{margin-bottom:.75rem;font-size:1.35rem;font-weight:700}.card-sub{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.review-btn{background:var(--primary-gradient);color:#fff;width:100%;transition:var(--transition);box-shadow:0 4px 14px var(--primary-glow);border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-weight:700;display:flex}.review-btn:hover{box-shadow:0 8px 24px var(--primary-glow);transform:translateY(-2px)}.instructor-card{padding:1.5rem}.sidebar-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:1.25rem;font-size:1.15rem;font-weight:700}.instructor-info{align-items:center;gap:1rem;display:flex}.instructor-avatar{background:var(--primary-gradient);color:#fff;width:52px;height:52px;box-shadow:0 4px 12px var(--primary-glow);border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;font-weight:800;display:flex}.instr-name{color:var(--text-main);margin-bottom:2px;font-size:1.05rem;font-weight:750}.instr-role{color:var(--text-muted);font-size:.85rem}.empty-topics{text-align:center;color:var(--text-muted);padding:3rem}@media (width<=900px){.hero-section{margin-bottom:1.5rem;padding:1.8rem}.hero-title{font-size:clamp(1.8rem,6vw,2.5rem)}.hero-stats{flex-wrap:wrap;gap:1.2rem}.section-header{flex-direction:column;align-items:flex-start;gap:.6rem}.topic-item{gap:1rem;padding:1.1rem}}@media (width<=600px){.topic-item{flex-direction:column;align-items:flex-start;gap:.8rem}.topic-num-box{width:40px;height:40px}.topic-action{align-self:flex-end}}.topic-item-parent .topic-name{margin-bottom:0}.topic-duration{color:var(--text-main);background:var(--surface-soft);border:1px solid var(--glass-border);letter-spacing:.01em;white-space:nowrap;border-radius:10px;align-items:center;gap:.45rem;padding:.46rem .92rem;font-size:.92rem;font-weight:700;display:inline-flex}.topic-duration-icon{color:var(--primary);opacity:.9}.topic-actions{flex-wrap:wrap;gap:.85rem;margin-top:.6rem;display:flex}.topic-actions button{border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-main);cursor:pointer;transition:var(--transition);border-radius:10px;padding:.58rem .82rem;font-size:.82rem;font-weight:650}.topic-actions button:hover{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px var(--primary-glow);border-color:#0000;transform:translateY(-2px)}.topic-actions .topic-btn-notify{color:var(--primary,#10b981);background:#10b9811f;border:1px solid #10b9814d;align-items:center;gap:.45rem;display:inline-flex}.topic-actions .topic-btn-notify:hover{background:var(--primary-gradient,linear-gradient(135deg, #10b981, #059669));color:#fff;border-color:#0000;box-shadow:0 4px 14px #10b98159}.topic-btn-notify-parent{color:var(--primary,#10b981);cursor:pointer;transition:var(--transition,all .2s ease);white-space:nowrap;background:#10b9811a;border:1px solid #10b9814d;border-radius:10px;align-items:center;gap:.45rem;padding:.46rem .92rem;font-size:.88rem;font-weight:650;display:inline-flex}.topic-btn-notify-parent:hover{background:var(--primary-gradient,linear-gradient(135deg, #10b981, #059669));color:#fff;border-color:#0000;transform:translateY(-2px);box-shadow:0 4px 14px #10b98159}.topic-notif-active-badge{color:#10b981;vertical-align:middle;background:#10b98129;border:1px solid #10b98159;border-radius:999px;align-items:center;gap:.35rem;margin-left:.6rem;padding:.22rem .6rem;font-size:.74rem;font-weight:700;display:inline-flex}.topic-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#040814bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.topic-modal{background:var(--bg-card);border:1px solid var(--glass-border);width:min(600px,100%);max-height:80vh;box-shadow:var(--glass-shadow);border-radius:24px;padding:2.2rem;position:relative;overflow-y:auto}.topic-modal .modal-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.topic-modal .modal-close{border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-main);cursor:pointer;transition:var(--transition);border-radius:8px;padding:.4rem .8rem;font-size:.85rem;font-weight:700}.topic-modal .modal-close:hover{color:var(--danger);border-color:var(--danger);background:#ef44441a}.topic-modal .modal-body p{color:var(--text-main);margin:0;line-height:1.8}.topic-detail-page{min-height:calc(100vh - 80px);padding:1.25rem 0;animation:.45s fadeIn}.topic-detail-shell{flex-direction:column;gap:1rem;display:flex}.topic-detail-back{background:var(--bg-card);border:1px solid var(--glass-border);width:fit-content;color:var(--text-muted);cursor:pointer;transition:var(--transition);border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1rem;display:inline-flex}.topic-detail-back:hover{color:var(--text-main);background:#4f46e514}.topic-detail-card-large{background:var(--bg-card);border:1px solid var(--glass-border);width:min(1120px,100%);box-shadow:var(--glass-shadow);border-radius:28px;margin:0 auto;padding:clamp(1.2rem,2.4vw,2rem)}.topic-detail-card-head{align-items:center;gap:.9rem;margin-bottom:1rem;display:flex}.topic-detail-card-head h1{color:var(--text-main);font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:700}.topic-detail-pill{min-width:44px;height:44px;color:var(--primary);background:#10b98133;border-radius:12px;justify-content:center;align-items:center;font-weight:700;display:flex}.topic-detail-type-row{flex-wrap:wrap;gap:.7rem;margin-bottom:1.2rem;display:flex}.type-switch{color:var(--text-main);background:#ffffff14;border:1px solid #0000;border-radius:12px;align-items:center;gap:.45rem;padding:.55rem .9rem;display:inline-flex}.type-switch:hover{background:#ffffff26}.type-switch.active{background:#10b98138;border-color:#10b98180}.type-switch.notify-topic-switch{color:var(--primary,#10b981);cursor:pointer;background:#10b9811f;border:1px solid #10b98159;margin-left:auto;transition:all .2s}.type-switch.notify-topic-switch:hover{background:var(--primary-gradient,linear-gradient(135deg, #10b981, #059669));color:#fff;border-color:#0000;transform:translateY(-2px);box-shadow:0 4px 14px #10b98159}.type-icon{align-items:center;display:inline-flex}.topic-content-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:20px;padding:clamp(1rem,2.5vw,1.6rem)}.topic-content-title{align-items:center;gap:.6rem;margin-bottom:.8rem;display:flex}.topic-content-card h2{font-size:clamp(1rem,2vw,1.35rem)}.topic-content-card p{color:#d8e3ff;white-space:pre-wrap;line-height:1.8}@media (width<=640px){.topic-detail-card-large{border-radius:18px}.topic-detail-card-head{align-items:flex-start}}.students-container{background:var(--surface-soft);min-height:calc(100vh - 80px);padding:2rem}.students-header{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;margin-bottom:1.8rem;padding:1.5rem;display:flex}.students-header h1{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:800}.btn-add{background:var(--primary-gradient);color:#fff;cursor:pointer;box-shadow:0 4px 12px var(--primary-glow);border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:700;display:flex}.btn-add:hover{box-shadow:0 6px 18px var(--primary-glow);transform:translateY(-2px)}.search-bar{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;align-items:center;gap:1rem;margin-bottom:1.8rem;padding:1rem;display:flex}.search-bar input{border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-main);border-radius:12px;outline:none;flex:1;padding:.75rem 1.1rem;font-size:.95rem}.search-bar input:focus{border-color:var(--primary);background:var(--bg-secondary);box-shadow:0 0 0 3px var(--primary-glow)}.students-table{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-overflow-scrolling:touch;border-radius:16px;margin-bottom:1.8rem;overflow:auto hidden}.students-table table{border-collapse:collapse;width:100%}.students-table th{background:var(--bg-secondary);color:var(--text-muted);text-align:left;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--glass-border);padding:1.1rem 1.2rem;font-size:.8rem;font-weight:700}.students-table td{border-bottom:1px solid var(--glass-border);color:var(--text-main);padding:1.1rem 1.2rem;font-size:.9rem}.students-table tr:hover{background:#10b9810d}.status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.35rem .8rem;font-size:.75rem;font-weight:750;display:inline-block}.status-badge.pending{color:#fbbf24;background:#f59e0b24;border:1px solid #f59e0b4d}.status-badge.approved{color:#34d399;background:#10b98124;border:1px solid #10b9814d}.status-badge.rejected{color:#f87171;background:#ef444424;border:1px solid #ef444452}.actions{gap:.55rem;display:flex}@media (width<=1024px){.students-container{padding:1.4rem}.students-header h1{font-size:1.6rem}}@media (width<=768px){.students-container{padding:1rem}.students-header{margin-bottom:1rem;padding:1rem}.search-bar{margin-bottom:1rem;padding:.85rem}.students-table th,.students-table td{white-space:nowrap;padding:.85rem .9rem}}@media (width<=640px){.students-header h1{font-size:1.35rem}.btn-add{justify-content:center;width:100%}.actions{gap:.4rem}.btn-icon{min-width:40px;min-height:40px}}.btn-icon{background:var(--bg-secondary);border:1px solid var(--glass-border);cursor:pointer;color:var(--primary);transition:var(--transition);border-radius:10px;justify-content:center;align-items:center;padding:.55rem;display:flex}.btn-icon:hover{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 10px var(--primary-glow);border-color:#0000;transform:translateY(-1px)}.btn-icon.delete{color:var(--danger)}.btn-icon.delete:hover{background:var(--danger);color:#fff;border-color:#0000;box-shadow:0 4px 10px #ef444440}.student-count{text-align:center;color:var(--text-muted);margin-top:1rem;font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#040814b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--glass-border);width:90%;max-width:650px;max-height:90vh;box-shadow:var(--glass-shadow);border-radius:24px;padding:2.2rem;overflow-y:auto}.modal-content h2{color:var(--text-main);letter-spacing:-.02em;border-bottom:1px solid var(--glass-border);margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.5rem;font-weight:800}.form-grid{grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.8rem;display:grid}.form-grid input,.form-grid select{border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-main);border-radius:12px;outline:none;padding:.75rem 1.1rem;font-size:.95rem}.form-grid input:focus,.form-grid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.btn-submit,.btn-cancel{cursor:pointer;border-radius:12px;padding:.75rem 1.6rem;font-size:.9rem;font-weight:700}.btn-submit{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px var(--primary-glow)}.btn-submit:hover{box-shadow:0 6px 18px var(--primary-glow);transform:translateY(-2px)}.btn-cancel:hover{color:var(--text-main);background:#ffffff0d}.details-modal{max-width:800px}.details-section{border-bottom:1px solid var(--glass-border);margin-bottom:2rem;padding-bottom:1.5rem}.details-section h3{color:var(--text-main);margin-bottom:1.2rem;font-size:1.15rem;font-weight:750}.details-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.details-grid p{color:var(--text-muted);margin:0;font-size:.92rem}.details-grid strong{color:var(--text-main)}.fee-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.2rem;margin-bottom:1.8rem;display:grid}.fee-card{background:var(--bg-secondary);border:1px solid var(--glass-border);text-align:center;border-radius:16px;padding:1.5rem}.fee-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.fee-amount{color:var(--text-main);font-size:1.6rem;font-weight:800}.fee-amount.paid{color:var(--success)}.fee-amount.pending{color:var(--accent)}.details-table{border-collapse:collapse;border:1px solid var(--glass-border);border-radius:12px;width:100%;margin-top:1rem;overflow:hidden}.details-table th{background:var(--bg-secondary);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--glass-border);padding:.85rem;font-size:.8rem;font-weight:700}.details-table td{border-bottom:1px solid var(--glass-border);color:var(--text-main);padding:.85rem;font-size:.9rem}.details-table tr:hover{background:#ffffff05}@media (width<=768px){.form-grid,.details-grid{grid-template-columns:1fr}.fee-summary{grid-template-columns:1fr 1fr}.students-header{flex-direction:column;gap:1rem}.students-table table{font-size:.875rem}.students-table td,.students-table th{padding:.85rem .65rem}}.fees-container{background:var(--surface-soft);min-height:calc(100vh - 80px);padding:2rem}.fees-header{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;margin-bottom:1.8rem;padding:1.5rem}.fees-header h1{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:800}.tabs{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;gap:1rem;margin-bottom:1.8rem;padding:1rem;display:flex}.tab{background:var(--bg-secondary);cursor:pointer;transition:var(--transition);color:var(--text-muted);border:2px solid #0000;border-radius:10px;padding:.75rem 1.5rem;font-weight:700}.tab:hover{color:var(--text-main);background:#ffffff0d}.tab.active{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px var(--primary-glow);border-color:#0000}.dashboard-section{flex-direction:column;gap:1.8rem;display:flex}.stat-icon{color:var(--primary);justify-content:center;align-items:center;display:flex}.stat-content{flex:1}.trends-section{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:2rem}.trends-section h2{color:var(--text-main);letter-spacing:-.01em;margin-top:0;margin-bottom:1.2rem;font-size:1.35rem;font-weight:800}.trends-table{border-collapse:collapse;width:100%}.trends-table th{background:var(--bg-secondary);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--glass-border);padding:1rem 1.2rem;font-size:.8rem;font-weight:700}.trends-table td{border-bottom:1px solid var(--glass-border);color:var(--text-main);padding:1.1rem 1.2rem;font-size:.9rem}.row-action-btn{border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-main);cursor:pointer;transition:var(--transition);border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .8rem;font-weight:700;display:inline-flex}.row-action-btn:hover{background:var(--primary-gradient);color:#fff;border-color:#0000}.row-action-group{gap:.5rem;display:flex}.row-action-btn-edit{color:#38bdf8;border-color:#38bdf859}.row-action-btn-edit:hover{color:#fff;background:linear-gradient(135deg,#0ea5e9,#2563eb);border-color:#0000}.fee-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:350;background:#040814b8;place-items:center;padding:1.2rem;display:grid;position:fixed;inset:0}.fee-modal-card{border:1px solid var(--glass-border);background:var(--bg-card);width:min(1100px,100%);max-height:90vh;box-shadow:var(--glass-shadow);border-radius:18px;padding:1.2rem;overflow-y:auto}.fee-modal-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;margin-bottom:.8rem;padding-bottom:.7rem;display:flex}.fee-modal-header h3{color:var(--text-main);margin:0}.fee-modal-close{border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-main);cursor:pointer;border-radius:8px;padding:.45rem .8rem}.fee-modal-meta{flex-wrap:wrap;gap:1rem;margin-bottom:.8rem;display:flex}.fee-modal-meta p{color:var(--text-muted);margin:0}.fee-plan-row{align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.fee-plan-row .input-field{max-width:120px}.fee-installment-wrap{border:1px solid var(--glass-border);border-radius:12px}.mini-input{border:1px solid var(--glass-border);background:var(--bg-secondary);width:100%;min-width:110px;color:var(--text-main);border-radius:8px;padding:.42rem .5rem}.mini-input.paid-amount-input.is-paid{color:#22c55e;border-color:#22c55e73}.paid-amount-text{color:#22c55e;font-weight:700}.fee-modal-summary{color:var(--text-main);flex-wrap:wrap;gap:1rem;margin-top:.8rem;display:flex}.fee-modal-actions{justify-content:flex-end;margin-top:.8rem;display:flex}.manage-section{grid-template-columns:320px 1fr;gap:2rem;display:grid}.student-selector{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;height:fit-content;padding:1.5rem}.student-selector h2{color:var(--text-main);letter-spacing:-.01em;margin-top:0;margin-bottom:1.2rem;font-size:1.25rem;font-weight:800}.student-list{flex-direction:column;gap:.65rem;max-height:600px;padding-right:.35rem;display:flex;overflow-y:auto}.student-list::-webkit-scrollbar{width:4px}.student-list::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:99px}.student-item{background:var(--bg-secondary);cursor:pointer;transition:var(--transition);border:1px solid var(--glass-border);border-radius:12px;padding:1rem}.student-item:hover{border-color:var(--primary);background:#ffffff0d}.student-item.active{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px var(--primary-glow);border-color:#0000}.student-name{margin-bottom:.25rem;font-size:.95rem;font-weight:700}.student-enrollment{opacity:.85;font-size:.8rem}.student-fees-details{flex-direction:column;gap:1.8rem;display:flex}.student-fees-details h2{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.section-card{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:1.5rem}.section-card h3{color:var(--text-main);letter-spacing:-.01em;margin-top:0;font-size:1.15rem;font-weight:800}.section-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.8rem;display:flex}.section-header h3{margin:0}.btn-small{background:var(--primary-gradient);color:#fff;cursor:pointer;transition:var(--transition);box-shadow:0 4px 12px var(--primary-glow);border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:700;display:inline-flex}.btn-small:hover{box-shadow:0 6px 18px var(--primary-glow);transform:translateY(-2px)}.structure-info{background:var(--bg-secondary);border-left:4px solid var(--primary);border-top:1px solid var(--glass-border);border-right:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);border-radius:12px;padding:1.2rem}.structure-info p{color:var(--text-muted);margin:.5rem 0;font-size:.9rem}.structure-info strong{color:var(--text-main);font-weight:700}.form-card{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:12px;margin-top:1.2rem;padding:1.5rem}.form-card form{flex-direction:column;gap:1.1rem;display:flex}.form-card input,.form-card select{border:1px solid var(--glass-border);background:var(--bg-card);color:var(--text-main);border-radius:10px;outline:none;padding:.75rem 1.1rem;font-size:.95rem}.form-card input:focus,.form-card select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-actions{justify-content:flex-end;gap:1rem;display:flex}.btn-submit,.btn-cancel{cursor:pointer;border-radius:10px;padding:.65rem 1.5rem;font-weight:700}.btn-submit{background:var(--success);color:#fff;border:none;box-shadow:0 4px 12px #10b98140}.btn-submit:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 18px #10b98159}.btn-cancel{background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-muted)}.btn-cancel:hover{background:#ffffff0d}.empty-message{text-align:center;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:12px;padding:1.5rem}.schedule-table,.payments-table{border-collapse:collapse;border:1px solid var(--glass-border);border-radius:12px;width:100%;margin-top:1.2rem;overflow:hidden}.schedule-table th,.payments-table th{background:var(--bg-secondary);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--glass-border);padding:.9rem;font-size:.8rem;font-weight:700}.schedule-table td,.payments-table td{border-bottom:1px solid var(--glass-border);color:var(--text-main);padding:.9rem;font-size:.9rem}.schedule-table tr:hover,.payments-table tr:hover{background:#ffffff05}.status{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.35rem .8rem;font-size:.75rem;font-weight:750;display:inline-block}.status.pending{color:var(--accent);background:#f59e0b1f;border:1px solid #f59e0b33}.status.completed{color:var(--success);background:#10b9811f;border:1px solid #10b98133}.status.partial{color:var(--primary);background:#10b9811f;border:1px solid #10b98140}@media (width<=1024px){.manage-section{grid-template-columns:1fr}.student-selector{max-width:100%}.student-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem;max-height:300px;display:grid}}@media (width<=768px){.fees-container{padding:1.2rem}.stats-grid{grid-template-columns:1fr}.stat-card{text-align:center;flex-direction:column}.tabs{flex-wrap:wrap;gap:.5rem}.form-actions{flex-direction:column}.btn-submit,.btn-cancel{width:100%}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.btn-small{width:100%}}.add-student-page{background:var(--surface-soft);min-height:calc(100vh - 80px);padding:2rem}.add-student-card{background:var(--bg-card);border:1px solid var(--glass-border);max-width:980px;box-shadow:var(--glass-shadow);border-radius:16px;margin:0 auto;padding:2rem}.add-student-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:1.2rem;margin-bottom:1.5rem;padding-bottom:1.2rem;display:flex}.add-student-header h1{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:800}.back-btn,.save-btn{border:1px solid var(--glass-border);cursor:pointer;transition:var(--transition);border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.9rem;font-weight:700;display:inline-flex}.back-btn{background:var(--bg-secondary);color:var(--text-muted)}.back-btn:hover{border-color:var(--primary);color:var(--text-main);background:#ffffff0d}.save-btn{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px var(--primary-glow);border:none;margin-top:1.5rem}.save-btn:hover{box-shadow:0 6px 18px var(--primary-glow);transform:translateY(-2px)}.save-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.add-student-form input,.add-student-form select{border:1px solid var(--glass-border);background:var(--bg-secondary);width:100%;color:var(--text-main);border-radius:12px;outline:none;padding:.75rem 1.1rem;font-size:.95rem}.add-student-form input:focus,.add-student-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.section-title{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 1rem;font-size:1.1rem;font-weight:750}.add-student-form .section-title:first-of-type{margin-top:.5rem}@media (width<=760px){.add-student-page{padding:1.2rem}.form-grid{grid-template-columns:1fr}}.enrollment-page{justify-content:center;min-height:calc(100vh - 120px);padding:.5rem 0 2.5rem;display:flex}.enrollment-shell{border-radius:20px;width:min(980px,100%);margin-inline:auto;padding:2.2rem}.enrollment-hero{margin-bottom:.8rem}.enrollment-hero h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,2.4vw,2.2rem)}.password-field-wrap{position:relative}.password-field-wrap .input-field{padding-right:2.8rem}.toggle-password-btn{width:2rem;height:2rem;color:var(--text-muted);background:0 0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.toggle-password-btn:hover{background:var(--surface-soft);color:var(--text-main)}.enrollment-form{flex-direction:column;gap:.25rem;display:flex}.enrollment-form h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:1.1rem 0 .55rem;font-size:1rem}.enrollment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.plan-preview{border:1px solid var(--glass-border);border-left:4px solid var(--primary);background:var(--surface-soft);color:var(--text-main);border-radius:12px;margin-top:.4rem;padding:.8rem 1rem}.plan-title-row,.plan-break-row,.plan-total-row{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.plan-title-row span{font-weight:600}.plan-note{color:var(--text-muted);margin:.65rem 0 .55rem;font-size:.9rem;line-height:1.45}.plan-breakdown{border:1px solid var(--glass-border);border-radius:10px;margin-top:.35rem;overflow:hidden}.plan-break-row{border-bottom:1px solid var(--glass-border);background:#0000000a;padding:.6rem .8rem}.plan-break-row:last-child{border-bottom:none}.plan-total-row{border-top:1px dashed var(--glass-border);margin-top:.65rem;padding-top:.65rem;font-weight:700}.form-message{border-radius:10px;margin-top:.6rem;padding:.75rem .9rem;font-size:.9rem;font-weight:600}.form-message.error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444459}.form-message.success{color:#86efac;background:#10b9811f;border:1px solid #10b98159}.enrollment-submit{width:100%;max-width:280px;margin-top:1rem}@media (width<=1024px){.enrollment-page{padding:1.5rem .9rem 2.2rem}.enrollment-shell{padding:1.5rem}}@media (width<=860px){.enrollment-shell{padding:1.3rem}.enrollment-grid{grid-template-columns:1fr}.enrollment-submit{max-width:100%}}@media (width<=640px){.enrollment-page{padding:.8rem .65rem 1.25rem}.enrollment-shell{border-radius:14px;padding:1rem}.enrollment-hero h1{font-size:1.25rem}.enrollment-form h2{margin-top:.8rem;font-size:.88rem}.plan-preview,.plan-break-row,.form-message{font-size:.85rem}.plan-title-row,.plan-break-row,.plan-total-row{gap:.5rem}}.profile-page{padding-bottom:3rem;animation:.4s fadeIn}.profile-top-bar{align-items:center;gap:1.25rem;margin-bottom:2rem;display:flex}.profile-back-btn{background:var(--surface-soft);border:1px solid var(--glass-border);color:var(--text-main);cursor:pointer;transition:var(--transition);border-radius:12px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.profile-back-btn:hover{background:var(--primary-glow);color:var(--primary);transform:translate(-3px)}.profile-page-title h1{letter-spacing:-.02em;color:var(--text-main);margin:0;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800}.profile-page-title p{color:var(--text-muted);margin-top:.2rem;font-size:.92rem}.profile-layout-grid{grid-template-columns:370px 1fr;align-items:flex-start;gap:1.8rem;display:grid}@media (width<=960px){.profile-layout-grid{grid-template-columns:1fr}}.profile-icon-side{flex-direction:column;gap:1.5rem;display:flex}.user-summary-card{text-align:center;border-radius:24px;flex-direction:column;align-items:center;padding:2.2rem 1.8rem;display:flex}.profile-avatar-large{background:var(--primary-gradient);color:#fff;width:92px;height:92px;box-shadow:0 8px 24px var(--primary-glow);border:3px solid #fff3;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.2rem;font-size:2.5rem;font-weight:800;display:flex;position:relative}.avatar-status-dot{border:3px solid var(--bg-card);background:#10b981;border-radius:50%;width:18px;height:18px;position:absolute;bottom:4px;right:4px}.profile-name{color:var(--text-main);margin:0 0 .25rem;font-size:1.35rem;font-weight:800}.profile-username{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem;font-weight:600}.profile-badges-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-bottom:1.4rem;display:flex}.role-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:20px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.75rem;font-weight:800;display:inline-flex}.role-admin,.role-vinnu,.role-jacob{color:#f59e0b;background:linear-gradient(135deg,#f59e0b33,#fbbf241a);border:1px solid #f59e0b4d}.role-student{color:var(--primary);background:#10b98126;border:1px solid #10b9814d}.status-badge-active{color:var(--success);background:#10b9811f;border:1px solid #10b98140;border-radius:20px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.75rem;font-weight:700;display:inline-flex}.profile-quick-meta{border-top:1px solid var(--glass-border);flex-direction:column;gap:.65rem;width:100%;padding-top:1.2rem;display:flex}.quick-meta-item{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.65rem;font-size:.88rem;display:flex;overflow:hidden}.change-password-card{border-radius:24px;padding:1.8rem}.card-section-header{align-items:center;gap:.9rem;margin-bottom:1.4rem;display:flex}.section-icon-badge{width:42px;height:42px;color:var(--primary);background:#10b9811f;border:1px solid #10b98140;border-radius:12px;justify-content:center;align-items:center;display:flex}.card-section-header h3{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:750}.card-section-header p{color:var(--text-muted);margin:.15rem 0 0;font-size:.82rem}.password-form{flex-direction:column;gap:1rem;display:flex}.password-input-wrap{align-items:center;display:flex;position:relative}.password-input-wrap input{border:1px solid var(--glass-border);background:var(--surface-soft);width:100%;color:var(--text-main);transition:var(--transition);border-radius:12px;outline:none;padding:.75rem 2.8rem .75rem 1rem;font-size:.92rem}.password-input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.password-toggle-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;right:.65rem}.password-toggle-btn:hover{color:var(--text-main);background:#ffffff14}.btn-update-password{background:var(--primary-gradient);color:#fff;cursor:pointer;transition:var(--transition);box-shadow:0 4px 14px var(--primary-glow);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.55rem;margin-top:.4rem;padding:.8rem 1.2rem;font-size:.92rem;font-weight:700;display:flex}.btn-update-password:hover:not(:disabled){box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-2px)}.btn-update-password:disabled{opacity:.6;cursor:not-allowed}.profile-details-side{flex-direction:column;display:flex}.profile-form-card{border-radius:24px;padding:2.2rem}.profile-form{flex-direction:column;gap:1.5rem;display:flex}.form-fields-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}@media (width<=680px){.form-fields-grid{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--text-muted);letter-spacing:.01em;font-size:.85rem;font-weight:650}.form-group input{border:1px solid var(--glass-border);background:var(--surface-soft);color:var(--text-main);transition:var(--transition);border-radius:12px;outline:none;padding:.75rem 1rem;font-size:.92rem}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input-disabled{opacity:.65;cursor:not-allowed;background:#0000001f!important}.student-enrollment-info-box{background:#10b9810f;border:1px solid #10b98133;border-radius:16px;padding:1.25rem}.student-enrollment-info-box h4{color:var(--primary);margin:0 0 .75rem;font-size:.95rem;font-weight:750}.enrollment-info-row{flex-wrap:wrap;gap:2rem;display:flex}.info-label{color:var(--text-muted);margin-right:.45rem;font-size:.82rem}.info-val{color:var(--text-main);font-size:.9rem;font-weight:700}.form-actions-row{border-top:1px solid var(--glass-border);justify-content:flex-end;padding-top:1rem;display:flex}.btn-save-profile{background:var(--primary-gradient);color:#fff;cursor:pointer;transition:var(--transition);box-shadow:0 4px 14px var(--primary-glow);border:none;border-radius:12px;align-items:center;gap:.55rem;padding:.85rem 1.6rem;font-size:.95rem;font-weight:700;display:inline-flex}.btn-save-profile:hover:not(:disabled){box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-2px)}.btn-save-profile:disabled{opacity:.6;cursor:not-allowed}.alert{border-radius:12px;align-items:center;gap:.6rem;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.88rem;font-weight:600;display:flex}.alert-success{color:#10b981;background:#10b9811f;border:1px solid #10b98140}.alert-error{color:#ef4444;background:#ef44441f;border:1px solid #ef444440}.notifications-page{flex-direction:column;gap:1.25rem;display:flex}.notify-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.notify-summary-item{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:12px;flex-direction:column;gap:.4rem;padding:1rem 1.2rem;display:flex}.notify-summary-item span{color:var(--text-muted);font-size:.9rem}.notify-summary-item strong{letter-spacing:-.02em;color:var(--text-main);font-size:1.5rem}.notify-summary-item.high{border-color:#ef444459}.notify-summary-item.medium{border-color:#f59e0b59}.notify-summary-item.low{border-color:#22c55e59}.notify-list-card{flex-direction:column;gap:.4rem;padding:.6rem;display:flex}.notify-row{transition:var(--transition);border-radius:12px;gap:1rem;padding:1rem;display:flex}.notify-row:hover{background:#4f46e50d}.notify-icon{width:40px;height:40px;color:var(--text-main);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.notify-icon.high{color:#fca5a5;background:#ef444426}.notify-icon.medium{color:#fcd34d;background:#f59e0b26}.notify-icon.low{color:#86efac;background:#22c55e26}.notify-content{width:100%}.notify-title-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.35rem;display:flex}.notify-title-row h3{margin:0;font-size:1rem}.notify-content p{color:var(--text-muted);margin:0;font-size:.92rem}.priority-pill{text-transform:capitalize;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:600}.priority-pill.high{color:#fca5a5;background:#ef44442e}.priority-pill.medium{color:#fcd34d;background:#f59e0b2e}.priority-pill.low{color:#86efac;background:#22c55e2e}.notify-meta{color:var(--text-muted);gap:1rem;margin-top:.7rem;font-size:.83rem;display:flex}.notify-meta span{align-items:center;gap:.35rem;display:inline-flex}.notify-action-btn{align-self:flex-start}@media (width<=980px){.notify-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.page-header-flex{flex-direction:column;align-items:flex-start;gap:.7rem}.notify-action-btn{justify-content:center;width:100%}.notify-summary-grid{grid-template-columns:1fr}.notify-row{gap:.75rem;padding:.8rem}.notify-title-row{flex-direction:column;align-items:flex-start}.notify-meta{flex-direction:column;gap:.4rem}}
