@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--primary: #0f172a;--primary-light: #1e293b;--primary-lighter: #334155;--accent: #38bdf8;--accent-hover: #7dd3fc;--accent-glow: rgba(56, 189, 248, .5);--accent-subtle: rgba(56, 189, 248, .1);--success: #22c55e;--success-subtle: rgba(34, 197, 94, .15);--warning: #f59e0b;--warning-subtle: rgba(245, 158, 11, .15);--danger: #ef4444;--danger-subtle: rgba(239, 68, 68, .15);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dimmed: #64748b;--bg-main: #020617;--bg-card: #0f172a;--glass-bg: rgba(15, 23, 42, .7);--glass-border: rgba(255, 255, 255, .08);--glass-border-hover: rgba(255, 255, 255, .15);--card-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--input-bg: rgba(15, 23, 42, .9);--input-border: rgba(255, 255, 255, .12);--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s ease;--sidebar-width: 260px;--header-height: 64px;--schedule-1: #6366f1;--schedule-2: #8b5cf6;--schedule-3: #ec4899;--schedule-4: #14b8a6;--schedule-5: #f97316;--schedule-6: #06b6d4;--schedule-7: #84cc16;--schedule-8: #eab308;--schedule-9: #f43f5e;--schedule-10: #a855f7}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--bg-main);color:var(--text-main);line-height:1.6;overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(56,189,248,.03) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(99,102,241,.03) 0%,transparent 40%);min-height:100vh}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--card-shadow);transition:var(--transition-smooth)}.glass-card:hover{border-color:var(--glass-border-hover)}.glass-nav{background:#020617d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:100}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes glow{0%{box-shadow:0 0 5px var(--accent-glow)}50%{box-shadow:0 0 20px var(--accent-glow)}to{box-shadow:0 0 5px var(--accent-glow)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-slide-in{animation:slideIn .4s ease-out forwards}.animate-pulse{animation:pulse 2s infinite}.btn{padding:10px 20px;border-radius:10px;font-weight:600;font-size:.875rem;text-decoration:none;transition:var(--transition-smooth);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body)}.btn-primary{background:var(--accent);color:var(--primary)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 15px var(--accent-glow);background:var(--accent-hover)}.btn-secondary{background:var(--primary-light);color:var(--text-main);border:1px solid var(--glass-border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--danger-subtle);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:var(--primary)}.btn-success:hover{box-shadow:0 0 15px #22c55e66}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-lg{padding:14px 28px;font-size:1rem}.btn-icon{padding:8px;border-radius:8px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.form-label{font-size:.85rem;font-weight:500;color:var(--text-muted)}.form-input,.form-select,.form-textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;padding:10px 14px;color:var(--text-main);font-size:.9rem;font-family:var(--font-body);transition:var(--transition-fast);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.form-input::placeholder{color:var(--text-dimmed)}.form-error{font-size:.8rem;color:var(--danger)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{text-align:left;padding:12px 16px;font-size:.8rem;font-weight:600;color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--glass-border)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--glass-border);color:var(--text-main)}.data-table tr:hover td{background:var(--accent-subtle)}.data-table .badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.badge-success{background:var(--success-subtle);color:var(--success)}.badge-warning{background:var(--warning-subtle);color:var(--warning)}.badge-danger{background:var(--danger-subtle);color:var(--danger)}.badge-info{background:var(--accent-subtle);color:var(--accent)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.dashboard-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:#020617f2;border-right:1px solid var(--glass-border);position:fixed;top:0;left:0;bottom:0;z-index:200;display:flex;flex-direction:column;transition:var(--transition-smooth)}.sidebar-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--glass-border);display:flex;align-items:center;gap:.75rem}.sidebar-logo{font-family:var(--font-heading);font-size:1.25rem;font-weight:700}.sidebar-logo span{color:var(--accent)}.sidebar-nav{flex:1;padding:1rem .75rem;overflow-y:auto}.sidebar-section{margin-bottom:1.5rem}.sidebar-section-title{font-size:.7rem;font-weight:600;color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.08em;padding:0 .75rem;margin-bottom:.5rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:10px;color:var(--text-muted);font-size:.875rem;font-weight:500;transition:var(--transition-fast);text-decoration:none}.sidebar-link:hover{background:var(--accent-subtle);color:var(--text-main)}.sidebar-link.active{background:var(--accent-subtle);color:var(--accent)}.sidebar-link .icon{font-size:1.15rem;width:24px;text-align:center}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh}.topbar{height:var(--header-height);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:#02061799;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:100}.topbar-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:1rem}.page-content{padding:2rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.page-title{font-size:1.75rem;font-weight:700}.page-subtitle{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.schedule-container{overflow-x:auto;border-radius:16px;border:1px solid var(--glass-border);background:var(--glass-bg)}.schedule-grid{display:grid;grid-template-columns:80px repeat(6,1fr);min-width:800px}.schedule-header{background:var(--primary-light);padding:12px 8px;text-align:center;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border)}.schedule-time{padding:8px;font-size:.75rem;color:var(--text-dimmed);text-align:center;border-right:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;min-height:70px}.schedule-cell{border-right:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);padding:4px;min-height:70px;position:relative}.schedule-event{border-radius:8px;padding:6px 8px;font-size:.75rem;height:100%;display:flex;flex-direction:column;justify-content:center;gap:2px;color:#fff;font-weight:500;transition:var(--transition-fast);cursor:default}.schedule-event:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000004d}.schedule-event-title{font-weight:600;font-size:.78rem;line-height:1.2}.schedule-event-detail{font-size:.68rem;opacity:.85}.schedule-event.color-0{background:var(--schedule-1)}.schedule-event.color-1{background:var(--schedule-2)}.schedule-event.color-2{background:var(--schedule-3)}.schedule-event.color-3{background:var(--schedule-4)}.schedule-event.color-4{background:var(--schedule-5)}.schedule-event.color-5{background:var(--schedule-6)}.schedule-event.color-6{background:var(--schedule-7)}.schedule-event.color-7{background:var(--schedule-8)}.schedule-event.color-8{background:var(--schedule-9)}.schedule-event.color-9{background:var(--schedule-10)}.hero-section{padding:8rem 0;text-align:center}.hero-title{font-size:4rem;background:linear-gradient(to bottom right,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1.5rem}.hero-subtitle{font-size:1.25rem;color:var(--text-muted);max-width:600px;margin:0 auto 3rem}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}.stat-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;padding:1.25rem;transition:var(--transition-smooth)}.stat-card:hover{border-color:var(--glass-border-hover);transform:translateY(-2px)}.stat-card-icon{font-size:1.5rem;margin-bottom:.75rem}.stat-card-value{font-family:var(--font-heading);font-size:1.75rem;font-weight:700}.stat-card-label{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:500;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:20px;padding:2rem;max-width:540px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080}.modal-title{font-size:1.3rem;font-weight:700;margin-bottom:1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.spinner{width:24px;height:24px;border:3px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.spinner-lg{width:48px;height:48px;border-width:4px}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:var(--text-muted)}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:12px;font-size:.9rem;font-weight:500;z-index:999;animation:slideIn .3s ease;max-width:400px}.toast-success{background:var(--success);color:var(--primary)}.toast-error{background:var(--danger);color:#fff}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:.5rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(circle at 30% 30%,rgba(56,189,248,.08) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(99,102,241,.08) 0%,transparent 50%)}.login-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;padding:3rem;width:420px;max-width:90%;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 25px 50px -12px #00000080}.login-title{font-size:1.75rem;text-align:center;margin-bottom:.5rem}.login-subtitle{text-align:center;color:var(--text-muted);font-size:.9rem;margin-bottom:2rem}.login-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--text-dimmed);font-size:.8rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--glass-border)}.btn-google{width:100%;background:#fff;color:#333;padding:12px;border-radius:10px;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:var(--transition-smooth);font-family:var(--font-body);font-size:.9rem}.btn-google:hover{transform:translateY(-1px);box-shadow:0 4px 12px #fff3}.split-layout{display:flex;height:100vh;width:100%;background-color:var(--bg-main);overflow:hidden}.split-left{flex:1.2;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-lighter) 100%);color:#fff;padding:4rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.split-left:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgba(56,189,248,.15) 0%,transparent 50%);pointer-events:none}.split-right{flex:1;background-color:var(--bg-main);display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.split-right:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 50%,rgba(56,189,248,.05),transparent 60%);z-index:0;pointer-events:none}.split-right>*{z-index:1}.split-left .branding{display:flex;align-items:center;gap:.75rem;margin-bottom:4rem}.split-left .branding-logo{background:#fff3;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center}.split-left .university-label{text-transform:uppercase;font-size:.85rem;letter-spacing:.1em;margin-bottom:1rem;opacity:.9;font-weight:600}.split-left .hero-heading{font-size:3.5rem;font-family:var(--font-heading);font-weight:700;line-height:1.1;margin-bottom:1.5rem}.split-left .hero-description{font-size:1.1rem;opacity:.9;max-width:80%;margin-bottom:3rem;line-height:1.6}.split-stats{display:flex;gap:1rem;margin-bottom:3rem}.split-stat-box{background:#ffffff1a;border-radius:12px;padding:1.5rem;flex:1;text-align:center;border:1px solid rgba(255,255,255,.05)}.split-stat-box h3{font-size:1.75rem;margin-bottom:.25rem}.split-stat-box p{font-size:.8rem;opacity:.8}.split-features{display:flex;flex-direction:column;gap:1.25rem}.split-feature-item{display:flex;align-items:center;gap:1rem;font-size:.95rem;opacity:.9}.split-feature-icon{background:#ffffff26;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.split-form-container{width:100%;max-width:420px;background:var(--glass-bg);border:1px solid var(--glass-border);padding:3rem;border-radius:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--card-shadow)}.split-form-container .form-input{background:#0003;border:1px solid var(--glass-border);padding:12px 16px;border-radius:10px}.split-form-container .form-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.split-button-action{width:100%;background:var(--accent);color:var(--primary);padding:12px;border-radius:10px;font-weight:600;border:none;cursor:pointer;transition:var(--transition-smooth);margin-top:1rem}.split-button-action:hover{background:var(--accent-hover);box-shadow:0 0 15px var(--accent-glow)}.split-google-btn{width:100%;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.15);padding:12px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:background .2s;font-size:.9rem;font-weight:500}.split-google-btn:hover{background:#ffffff0d}.split-divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--text-dimmed);font-size:.8rem}.split-divider:before,.split-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.split-divider span{padding:0 1rem}@media(max-width:992px){.split-layout{flex-direction:column}.split-left{flex:auto;padding:3rem 2rem}.split-right{padding:3rem 2rem}}@media(max-width:768px){.hero-title{font-size:2.5rem}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.form-row{grid-template-columns:1fr}.schedule-grid{grid-template-columns:60px repeat(6,120px)}.stat-cards{grid-template-columns:1fr 1fr}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}}
