@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=Inter:wght@400;500;600;700&display=swap";.login-page{background:rgb(var(--surface-muted));background-image:radial-gradient(circle at 50% 0%, rgb(var(--primary) / .06), transparent 55%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:rgb(var(--surface));border:1px solid rgb(var(--border));flex-direction:column;gap:26px;width:100%;max-width:400px;padding:40px 36px 32px;display:flex;box-shadow:0 20px 50px #00000014}.login-header{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.login-mark{border-radius:var(--radius);background:rgb(var(--primary));color:#fff;width:40px;height:40px;font-family:var(--font-display);justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex}.login-title{font-size:1.5rem}.login-subtitle{color:rgb(var(--text-muted));font-size:.88rem}.login-form{flex-direction:column;gap:18px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:rgb(var(--text));font-size:.82rem;font-weight:600}.input{border:1px solid rgb(var(--border));color:rgb(var(--text));background:rgb(var(--surface));padding:11px 14px;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:rgb(var(--primary));box-shadow:0 0 0 3px rgb(var(--primary) / .12);outline:none}.field-error{color:rgb(var(--danger));font-size:.78rem}.form-error{color:rgb(var(--danger));background:rgb(var(--danger) / .08);border-radius:var(--radius);padding:10px 12px;font-size:.85rem}.button{cursor:pointer;border:none;font-size:.92rem;font-weight:600;transition:background-color .2s,transform .1s}.login-submit{background:rgb(var(--primary));color:#fff;margin-top:4px;padding:12px}.login-submit:hover:not(:disabled){background:rgb(var(--primary-hover))}.login-submit:disabled{opacity:.65;cursor:not-allowed}.login-footnote{color:rgb(var(--text-muted));text-align:center;font-size:.78rem}.navbar-wrap{z-index:20;justify-content:center;padding:20px 24px 0;display:flex;position:sticky;top:0}.nav-pill{background:rgb(var(--primary) / .72);-webkit-backdrop-filter:blur(10px);border:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1180px;padding:14px 24px;display:flex;box-shadow:0 8px 30px #00000040}.nav-brand{color:#fff;font-family:var(--font-display);white-space:nowrap;font-size:1.05rem;font-weight:600}.nav-links{flex:1;justify-content:center;align-items:center;gap:32px;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:#fff;opacity:.88;font-size:.9rem;font-weight:500;text-decoration:none;transition:opacity .2s}.nav-link:hover{opacity:1;text-underline-offset:4px;text-decoration:underline}.nav-user{align-items:center;gap:14px;display:flex}.nav-user-name{color:#fff;opacity:.85;font-size:.85rem}.nav-logout{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;padding:7px 14px;font-size:.82rem;font-weight:500;transition:background .2s,border-color .2s}.nav-logout:hover{background:#ffffff1f;border-color:#fff9}@media (width<=720px){.nav-links{display:none}}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:10px;width:90%;max-width:400px;padding:24px;box-shadow:0 10px 40px #0003}.modal-title{color:#002147;margin:0 0 12px;font-size:1.2rem}.modal-text{color:#444;margin:0 0 20px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.modal-cancel{color:#333;background:#f0f0f0;border-radius:10px}.modal-confirm{color:#fff;background:#d32f2f;border-radius:10px}.modal-confirm:disabled,.modal-cancel:disabled{opacity:.6;cursor:not-allowed}.faculty-card{background:rgb(var(--primary));color:#fff;cursor:default;flex-direction:column;justify-content:flex-end;gap:6px;min-height:128px;padding:20px;transition:background-color .25s,transform .25s,box-shadow .25s;display:flex;box-shadow:0 1px 2px #0000000f}.faculty-card:hover{background:rgb(var(--primary-hover));box-shadow:0 12px 24px rgb(var(--primary) / .28);transform:translateY(-3px)}.faculty-card-index{letter-spacing:.08em;color:#ffffff8c;font-size:.72rem;font-weight:600}.faculty-card-title{color:#fff;font-size:1.05rem;font-weight:600}.faculty-card-hint{color:#fff9;font-size:.75rem}.faculty-card{color:#fff;background:#002147;border-radius:10px;padding:20px;transition:background .2s,transform .2s;position:relative}.faculty-delete-icon{color:#ff4d4f;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;padding:4px;font-size:1.1rem;transition:opacity .2s;position:absolute;top:8px;right:8px}.faculty-card:hover .faculty-delete-icon{opacity:1}.faculty-delete-icon:hover{background:#ff4d4f26}.faculty-card-error{color:#ffb3b3;margin-top:8px;font-size:.85rem}.profile-card{background:rgb(var(--surface));border:1px solid rgb(var(--border));height:fit-content;overflow:hidden;box-shadow:0 1px 2px #0000000d}.profile-banner{background:rgb(var(--primary));align-items:flex-end;height:92px;padding:0 24px;display:flex}.avatar-badge{background:rgb(var(--surface));border:3px solid rgb(var(--surface));width:68px;height:68px;font-family:var(--font-display);color:rgb(var(--primary));justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex;transform:translateY(34px)}.profile-body{flex-direction:column;gap:10px;padding:48px 24px 28px;display:flex}.profile-name{font-size:1.25rem}.profile-role-tag{background:rgb(var(--primary) / .08);color:rgb(var(--primary));border-radius:var(--radius);align-self:flex-start;padding:4px 12px;font-size:.75rem;font-weight:600}.profile-fields{flex-direction:column;gap:14px;margin:12px 0 0;display:flex}.profile-field{border-top:1px solid rgb(var(--border));flex-direction:column;gap:2px;padding-top:12px;display:flex}.profile-field dt{text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--text-muted));font-size:.72rem}.profile-field dd{color:rgb(var(--text));margin:0;font-size:.92rem;font-weight:500}.faculty-form-card{background:rgb(var(--surface));border:1px solid rgb(var(--border));height:fit-content;margin-top:24px;overflow:hidden;box-shadow:0 1px 2px #0000000d}.faculty-form-banner{background:rgb(var(--primary));align-items:center;height:64px;padding:0 24px;display:flex}.faculty-form-title{color:#fff;font-family:var(--font-display);letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.faculty-form-body{flex-direction:column;gap:18px;padding:24px;display:flex}.faculty-form-field{flex-direction:column;gap:6px;display:flex}.faculty-form-field label{color:rgb(var(--text));font-size:.82rem;font-weight:600}.faculty-input{border:1px solid rgb(var(--border));border-radius:var(--radius);color:rgb(var(--text));background:rgb(var(--surface-muted));padding:11px 14px;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.faculty-input::placeholder{color:rgb(var(--text-muted))}.faculty-input:focus{border-color:rgb(var(--primary));box-shadow:0 0 0 3px rgb(var(--primary) / .12);background:rgb(var(--surface));outline:none}.faculty-textarea{resize:vertical;min-height:72px;font-family:inherit}.faculty-form-success{color:rgb(var(--primary));background:rgb(var(--primary) / .08);border-radius:var(--radius);margin:0;padding:8px 12px;font-size:.82rem}.faculty-form-submit{background:rgb(var(--primary));color:#fff;border-radius:var(--radius);margin-top:4px;padding:12px}.faculty-form-submit:hover{background:rgb(var(--primary-hover))}.dashboard-page{min-height:100vh}.hero{background:radial-gradient(1.5px 1.5px at 8% 22%, #fff, transparent), radial-gradient(1.5px 1.5px at 18% 68%, #fff, transparent), radial-gradient(1px 1px at 27% 12%, #fff, transparent), radial-gradient(1.5px 1.5px at 36% 44%, #fff, transparent), radial-gradient(1px 1px at 44% 78%, #fff, transparent), radial-gradient(2px 2px at 52% 30%, #fff, transparent), radial-gradient(1px 1px at 61% 58%, #fff, transparent), radial-gradient(1.5px 1.5px at 69% 15%, #fff, transparent), radial-gradient(1px 1px at 76% 84%, #fff, transparent), radial-gradient(1.5px 1.5px at 84% 40%, #fff, transparent), radial-gradient(1px 1px at 91% 68%, #fff, transparent), radial-gradient(2px 2px at 95% 20%, #fff, transparent), radial-gradient(1px 1px at 13% 90%, #fff, transparent), radial-gradient(1px 1px at 58% 92%, #fff, transparent), radial-gradient(1px 1px at 32% 90%, #fff, transparent), linear-gradient(180deg, #000d24 0%, rgb(var(--primary)) 55%, #001838 100%);background-repeat:no-repeat;background-size:cover;padding-bottom:64px;position:relative;overflow:hidden}.hero-planet{opacity:.85;filter:blur(.5px);pointer-events:none;background:radial-gradient(circle at 35% 32%,#6b8fc7 0%,#2c4f86 38%,#16305c 65%,#0000 72%);border-radius:50%;width:260px;height:260px;position:absolute;top:-90px;right:-90px}.hero-copy{z-index:1;flex-direction:column;gap:12px;max-width:1180px;margin:0 auto;padding:110px 24px 0;display:flex;position:relative}.hero-eyebrow{color:#ffffffa6;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:600}.hero-title{color:#fff;max-width:640px;font-size:clamp(1.8rem,4vw,2.6rem)}.hero-subtitle{color:#ffffffbf;max-width:480px;font-size:1rem}.dashboard-body{z-index:2;grid-template-columns:60% 40%;align-items:start;gap:24px;max-width:1180px;margin:-40px auto 0;padding:0 24px 64px;display:grid;position:relative}.section-heading{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.section-heading h2{color:rgb(var(--text));font-size:1.15rem}.section-count{color:rgb(var(--text-muted));font-size:.78rem}.faculties-column{background:0 0}.faculties-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.profile-column{padding-top:40px}@media (width<=960px){.dashboard-body{grid-template-columns:1fr;margin-top:-24px}.profile-column{padding-top:0}.faculties-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.faculties-grid{grid-template-columns:1fr}.hero-copy{padding-top:130px}}.hero-back-link{color:#ffffffb3;cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-bottom:4px;padding:0;font-size:.85rem}.hero-back-link:hover{color:#fff;text-decoration:underline}.profile-column .profile-card{margin-bottom:24px}:root{--primary:0 33 71;--primary-hover:12 48 92;--surface:255 255 255;--surface-muted:244 245 247;--text:24 27 32;--text-muted:96 101 112;--border:224 226 231;--danger:178 34 34;--radius:10px;--font-display:"Source Serif 4", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:rgb(var(--text));background:rgb(var(--surface-muted));-webkit-font-smoothing:antialiased}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}a{color:inherit}button,input{font-family:inherit}.card,.button,input,.input,.modal,.nav-pill,.avatar-badge{border-radius:var(--radius)}:focus-visible{outline:2px solid rgb(var(--primary));outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
