:root{--bg-color: #f8fafc;--panel-bg: rgba(255, 255, 255, .95);--text-primary: #1e293b;--text-secondary: #64748b;--accent-primary: #0073ac;--accent-secondary: #00c4cc;--border-color: rgba(0, 0, 0, .08);--alert-red: #ef4444;--alert-yellow: #f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--bg-color);background-image:radial-gradient(at 0% 0%,rgba(0,115,172,.04) 0,transparent 50%),radial-gradient(at 100% 0%,rgba(0,196,204,.04) 0,transparent 50%);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 20%,rgba(0,115,172,.05) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(0,196,204,.05) 0%,transparent 50%);animation:loginGlow 15s ease-in-out infinite alternate}@keyframes loginGlow{0%{transform:translate(0) rotate(0)}to{transform:translate(-5%,5%) rotate(3deg)}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--panel-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:24px;padding:48px 40px;box-shadow:0 24px 80px #0000000d,inset 0 1px #ffffff80;animation:loginCardIn .6s ease-out}@keyframes loginCardIn{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card .logo-area{justify-content:center;margin-bottom:20px;display:flex}.login-card h2{text-align:center;font-size:1.5rem;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.login-subtitle{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary);letter-spacing:.5px}.form-group input{padding:14px 16px;border-radius:12px;border:1px solid rgba(0,0,0,.15);background:#fff;color:var(--text-primary);font-size:.95rem;font-family:Inter,sans-serif;transition:border-color .2s ease,box-shadow .2s ease;outline:none}.form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #0073ac26}.form-group input::placeholder{color:#64748b80}.login-btn{padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;font-size:1rem;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s ease;margin-top:8px;position:relative;overflow:hidden}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.login-btn:hover:before{left:100%}.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0073ac33}.login-btn:active{transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#b91c1c;padding:12px 16px;border-radius:10px;font-size:.85rem;text-align:center;animation:shakeError .4s ease}.google-signin{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px;min-height:44px}.login-hint{text-align:center;color:var(--text-secondary);font-size:.78rem;line-height:1.5;margin-top:20px}@keyframes shakeError{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.glass-panel{background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 30px #00000008;transition:transform .2s ease,box-shadow .2s ease}.glass-panel:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000000f}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:280px;border-right:1px solid var(--border-color);padding:24px;display:flex;flex-direction:column;gap:32px;background:#fff;box-shadow:2px 0 10px #00000005;transition:width .2s ease,padding .2s ease}.sidebar.collapsed{width:84px;padding:24px 14px;gap:24px}.sidebar.collapsed .nav-label,.sidebar.collapsed .logo-img-full{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:12px;gap:0}.sidebar.collapsed .logo-area{justify-content:center}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.sidebar-toggle:hover{background:#0073ac14;color:var(--accent-primary)}.logo-area{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.5rem;background:-webkit-linear-gradient(45deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-links{display:flex;flex-direction:column;gap:8px}.nav-item{padding:12px 16px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:12px}.nav-item:hover,.nav-item.active{background:#0073ac14;color:var(--accent-primary)}.main-content{flex:1;padding:32px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.header{display:flex;justify-content:space-between;align-items:center}.header h1{font-size:2rem;font-weight:600;color:var(--text-primary)}.user-profile{display:flex;align-items:center;gap:12px;background:#fff;padding:8px 16px;border-radius:30px;border:1px solid var(--border-color);box-shadow:0 2px 10px #00000005}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.kpi-card{padding:24px;display:flex;flex-direction:column;gap:12px}.kpi-value{font-size:2.5rem;font-weight:700}.kpi-label{color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.alert-item{padding:16px;border-left:4px solid var(--alert-red);margin-bottom:12px;border-radius:0 8px 8px 0;background:#ef44440d;display:flex;align-items:flex-start;gap:12px}.alert-item.medium{border-left-color:var(--alert-yellow);background:#f59e0b0d}.alert-item.low{border-left-color:#10b981;background:#10b9810d}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:16px;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{color:var(--text-secondary);font-weight:500}.badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.badge-green{background:#10b98126;color:#059669}.badge-blue{background:#0073ac26;color:#0073ac}.badge-purple{background:#8b5cf626;color:#6d28d9}.badge-yellow{background:#f59e0b26;color:#b45309}.badge-red{background:#ef444426;color:#b91c1c}.dean-professors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.professor-card{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;padding:24px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.professor-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));opacity:0;transition:opacity .3s ease}.professor-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014;border-color:#0073ac33}.professor-card:hover:before{opacity:1}.professor-card-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.professor-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;flex-shrink:0}.professor-info h3{font-size:1.1rem;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.professor-info p{color:var(--text-secondary);font-size:.85rem}.professor-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.professor-stat{background:#f8fafc;padding:12px;border-radius:10px;border:1px solid rgba(0,0,0,.05)}.professor-stat .stat-value{font-size:1.3rem;font-weight:700;display:block}.professor-stat .stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;display:block}.professor-card .view-details{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:16px;color:var(--accent-primary);font-size:.85rem;font-weight:500;opacity:0;transform:translate(-8px);transition:all .3s ease}.professor-card:hover .view-details{opacity:1;transform:translate(0)}.back-button{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s ease;background:none;border:1px solid var(--border-color);font-family:Inter,sans-serif;margin-bottom:8px}.back-button:hover{background:#00000008;color:var(--text-primary);border-color:#0000001a}.dean-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.dean-kpi-grid .kpi-card{padding:16px 18px;gap:6px}.dean-kpi-grid .kpi-value{font-size:1.9rem}.dean-kpi-grid .kpi-label{font-size:.78rem}@media (max-width: 1200px){.dean-kpi-grid{grid-template-columns:repeat(2,1fr)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .4s ease-out forwards}.animate-in:nth-child(1){animation-delay:.05s}.animate-in:nth-child(2){animation-delay:.1s}.animate-in:nth-child(3){animation-delay:.15s}.animate-in:nth-child(4){animation-delay:.2s}.animate-in:nth-child(5){animation-delay:.25s}.role-tag{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.role-tag.dean{background:#8b5cf61a;color:#6d28d9}.role-tag.professor{background:#0073ac1a;color:#0073ac}
