@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary: #6366f1;--secondary: #f59e0b;--bg-dark: #0f172a;--bg-card: rgba(30, 41, 59, .7);--text-main: #f8fafc;--text-muted: #94a3b8;--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .1);--accent-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--container-padding: clamp(1rem, 5vw, 2.5rem);--section-padding: clamp(4rem, 10vw, 8rem);--h1: clamp(2.5rem, 8vw, 4.5rem);--h2: clamp(2rem, 6vw, 3rem);--h3: clamp(1.25rem, 4vw, 1.75rem);--primary-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:var(--bg-dark);color:var(--text-main);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-main);line-height:1.2;margin-bottom:1rem;overflow-wrap:break-word;word-break:break-word;max-width:100%}.app{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;max-width:100vw;position:relative}.container{max-width:1600px;margin:0 auto;padding:0 var(--container-padding)}.portal-container{max-width:none;width:100%;margin:0;padding:0 1.5rem}@media(max-width:768px){.portal-container{padding:0}}.glass{background:#0f172ae6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px}@media(max-width:768px){.mobile-edge-to-edge-card{border-radius:12px!important;width:98%!important;margin-left:auto!important;margin-right:auto!important}}h1{font-size:var(--h1);line-height:1.2}h2{font-size:var(--h2);line-height:1.3}h3{font-size:var(--h3);line-height:1.4}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.75rem 1.5rem;min-height:44px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;font-size:1rem;font-family:inherit;text-decoration:none}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.btn-outline{background:transparent;border:1px solid var(--glass-border);color:var(--text-main)}.btn-outline:hover{background:var(--glass);border-color:var(--primary)}.hero{min-height:calc(100vh - 80px);display:flex;align-items:center;position:relative;overflow:hidden;width:100%}@media(max-width:768px){.hero{padding-top:3.5rem;padding-bottom:3.5rem;min-height:auto;align-items:flex-start}.hero .container>div{flex-direction:column!important;text-align:center;gap:2.5rem!important}}.hero:before{content:"";position:absolute;top:-10%;right:-5%;width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);z-index:-1}.hero-content{flex:1}@media(max-width:768px){.hero-content{margin-bottom:3rem}}.hero h1{font-size:var(--h1);line-height:1.1}.hero p{font-size:1.25rem;color:var(--text-muted);margin-bottom:2.5rem;max-width:600px}@media(max-width:768px){.hero p{margin-left:auto;margin-right:auto}.hero-actions-group{margin-top:4rem!important}}.features{padding:8rem 0;width:100%;overflow:hidden}@media(max-width:768px){.features{padding:3rem 0 6rem!important}}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:4rem}.feature-card{padding:var(--container-padding);transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.icon-wrapper{width:48px;height:48px;border-radius:12px;background:#6366f11a;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--primary)}.profile-container{position:relative;cursor:pointer}.profile-trigger{display:flex;align-items:center;gap:.8rem;padding:.4rem;border-radius:50px;transition:background .3s ease}.profile-trigger:hover{background:#ffffff0d}.avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #7928ca4d}.dropdown-menu{position:absolute;top:calc(100% + 15px);right:0;width:280px;padding:1.5rem;z-index:1000;transform-origin:top right;line-height:1.4;background:#1e293b!important;box-shadow:0 20px 40px #0006}.dropdown-header{margin-bottom:1.5rem;border-bottom:1px solid var(--glass-border);padding-bottom:1rem}.dropdown-name{font-weight:700;font-size:1.1rem;display:block;margin-bottom:.3rem;color:var(--text-main);line-height:1.2}.dropdown-email{color:var(--text-muted);font-size:.85rem;display:block;line-height:1.2}.dropdown-item{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border-radius:12px;color:var(--text-main);text-decoration:none;transition:all .2s ease;width:100%;background:transparent;border:none;cursor:pointer;font-family:inherit;font-size:.95rem;text-align:left;line-height:1.4}.dropdown-item:hover{background:#ffffff0d;transform:translate(5px)}.dropdown-item.logout{color:#ff4b4b;margin-top:.5rem}.dropdown-item.logout:hover{background:#ff4b4b1a}.navbar{position:sticky;top:0;z-index:100;background:#0a0a0ccc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);width:100%}.navbar-content{display:flex;justify-content:space-between;align-items:center;padding:.75rem var(--container-padding)}@media(max-width:768px){.desktop-only{display:none!important}}@media(min-width:769px){.mobile-only{display:none!important}}.auth-card{padding:1.2rem clamp(1.5rem,5vw,2.5rem) 1.8rem;width:100%;max-width:450px}.profile-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem}@media(max-width:768px){.profile-grid{grid-template-columns:1fr;gap:1.5rem}}.academic-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:3rem}@media(max-width:768px){.academic-header{flex-direction:column;text-align:center;gap:1rem;margin-bottom:2rem}}.portal-grid{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;padding:2rem var(--container-padding) 5rem;width:100%;min-width:0}.portal-grid>*{min-width:0}@media(max-width:1024px){.portal-grid{grid-template-columns:1fr;padding:1.5rem 0 4rem}}.portal-sidebar{height:fit-content;max-height:calc(100vh - 150px);overflow-y:auto;padding:1.5rem;position:sticky;top:100px}.admin-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0}.log-table-row{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 80px 80px 80px 80px 40px;gap:1rem;align-items:center;min-width:900px}@media(max-width:1024px){.log-table-row{grid-template-columns:1.5fr 1fr 1.2fr 80px 40px;min-width:600px}}@media(max-width:768px){.log-table-row{grid-template-columns:1.2fr 1fr 80px 40px;min-width:auto;gap:.5rem}}.log-table-row>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-table-container::-webkit-scrollbar{height:6px}.admin-table-container::-webkit-scrollbar-track{background:#ffffff0d}.admin-table-container::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px}.mobile-portal-button{position:fixed;bottom:2rem;right:1.5rem;z-index:900;box-shadow:0 10px 25px #6366f166}.exam-lab-layout{display:flex;flex-direction:column;gap:0;padding:0;max-width:1400px;margin:0 auto;min-height:100vh}.exam-lab-sidebar{width:100%;background:#ffffff05;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2rem;border-bottom:1px solid var(--glass-border)}.exam-lab-content{flex:1;padding:2rem;min-width:0}@media(min-width:1200px){.exam-lab-layout{flex-direction:row;height:100vh;overflow:hidden}.exam-lab-sidebar{width:380px;flex-shrink:0;border-right:1px solid var(--glass-border);border-bottom:none;overflow-y:auto}.exam-lab-content{overflow-y:auto}}.exam-content-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;padding:1.5rem!important;margin-bottom:2rem!important;border-radius:16px;border:1px solid var(--glass-border)}.exam-content-header h2{font-size:clamp(1.4rem,5vw,2.1rem);font-weight:800;margin-bottom:.4rem;letter-spacing:-.02em;white-space:normal!important;line-height:1.2}@media(min-width:768px){.exam-content-header{padding:2rem!important;gap:2rem;margin-bottom:2.5rem!important}}.portal-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;width:100%}@media(max-width:600px){.portal-card-grid{grid-template-columns:1fr}}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%}@media(max-width:768px){.options-grid{grid-template-columns:1fr}.portal-welcome-card{padding:1.5rem!important}}.portal-welcome-card{padding:2.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.8rem;width:100%;max-width:100%;box-sizing:border-box;margin:0 auto}.portal-header-responsive{transition:all .3s ease}@media(max-width:768px){.portal-header-responsive{flex-direction:column!important;align-items:stretch!important;text-align:center;gap:2rem!important}}.portal-action-group{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}@media(max-width:768px){.portal-action-group{flex-direction:column;align-items:stretch;width:100%;gap:.8rem}.portal-action-group button{width:100%;justify-content:center}}.auth-label{display:block;margin-bottom:.3rem;font-weight:500;font-size:.9rem;color:#fffc}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.auth-input-styled{width:100%;padding:.7rem 1rem .7rem 3rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:12px;color:#fff;outline:none;transition:all .3s ease}.auth-input-styled:focus{border-color:var(--primary);background:#ffffff14;box-shadow:0 0 0 4px #6366f11a}.text-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-weight:600;padding:0;transition:opacity .3s}.text-btn:hover{text-decoration:underline}.tiptap-editor-container{border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;background:#ffffff08;margin-top:.5rem;transition:all .3s ease;width:100%;max-width:100%;box-sizing:border-box}.tiptap-editor-container:focus-within{border-color:var(--primary);background:#ffffff0d;box-shadow:0 0 15px #38bdf81a}.menu-bar{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem;border-bottom:1px solid rgba(255,255,255,.1);background:#0003}.menu-bar button{padding:.4rem .6rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s;color:#ffffffb3;font-weight:600;display:flex;align-items:center;justify-content:center;min-width:32px}.menu-bar button:hover:not(:disabled){background:#ffffff1a;border-color:var(--primary);color:#fff}.menu-bar button.is-active{background:var(--primary-gradient);color:#fff;border-color:transparent;font-weight:700}.menu-bar button:disabled{opacity:.3;cursor:not-allowed}.menu-bar .divider{width:1px;height:18px;background:#ffffff1a;margin:0 .3rem;align-self:center}.tiptap-editor-content{padding:1.2rem;min-height:400px;max-height:600px;overflow-y:auto;overflow-x:hidden;color:#f8fafc;width:100%;box-sizing:border-box}.tiptap-editor-content .ProseMirror{outline:none;min-height:380px;overflow-wrap:break-word;word-break:break-word;max-width:100%}.tiptap-editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#ffffff4d;pointer-events:none;height:0;font-style:italic}.tiptap-editor-content .ProseMirror p,.tiptap-content p{margin:.8rem 0;line-height:1.6}.tiptap-editor-content .ProseMirror h1,.tiptap-content h1,.tiptap-editor-content .ProseMirror h2,.tiptap-content h2,.tiptap-editor-content .ProseMirror h3,.tiptap-content h3{margin-top:1.5rem;margin-bottom:.8rem;color:#fff;font-weight:700}.tiptap-editor-content .ProseMirror h1,.tiptap-content h1{font-size:1.8rem}.tiptap-editor-content .ProseMirror h2,.tiptap-content h2{font-size:1.5rem}.tiptap-editor-content .ProseMirror h3,.tiptap-content h3{font-size:1.3rem}.tiptap-editor-content .ProseMirror img,.tiptap-content img{max-width:100%;height:auto;border-radius:12px;margin:1.5rem 0;display:block;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0000004d}.tiptap-editor-content .ProseMirror blockquote,.tiptap-content blockquote{border-left:4px solid var(--primary);padding:.8rem 1.2rem;font-style:italic;color:#ffffffb3;margin:1.5rem 0;background:#38bdf80d;border-radius:0 8px 8px 0}.tiptap-editor-content .ProseMirror ul,.tiptap-content ul,.tiptap-editor-content .ProseMirror ol,.tiptap-content ol{padding-left:1.8rem;margin:1rem 0}.tiptap-editor-content .ProseMirror li,.tiptap-content li{margin:.5rem 0}.tiptap-editor-content .ProseMirror a,.tiptap-content a{color:var(--primary);text-decoration:underline;cursor:pointer}.tiptap-editor-content .ProseMirror sub,.tiptap-content sub{vertical-align:sub;font-size:smaller}.tiptap-editor-content .ProseMirror sup,.tiptap-content sup{vertical-align:super;font-size:smaller}.tiptap-editor-content .ProseMirror table,.tiptap-content table{border-collapse:collapse;table-layout:fixed;width:100%!important;max-width:100%;margin:1.5rem 0;overflow-x:auto;display:block;border:1px solid rgba(255,255,255,.1)}.tiptap-editor-content .ProseMirror td,.tiptap-content td,.tiptap-editor-content .ProseMirror th,.tiptap-content th{min-width:1em;border:1px solid rgba(255,255,255,.1);padding:.8rem;vertical-align:top;box-sizing:border-box;position:relative}.tiptap-editor-content .ProseMirror th,.tiptap-content th{font-weight:700;text-align:left;background-color:#ffffff0d}.tiptap-editor-content .ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;background:#38bdf81a;pointer-events:none}.tiptap-editor-content .ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:var(--primary);pointer-events:none}.tiptap-editor-content .ProseMirror .tableWrapper{overflow-x:auto}.tiptap-editor-content .ProseMirror p{margin:0}@media(max-width:768px){.menu-bar{padding:.4rem;gap:.25rem}.menu-bar button{padding:.3rem .4rem;min-width:28px;font-size:.7rem}.tiptap-editor-content{padding:.8rem;min-height:300px}.tiptap-editor-content .ProseMirror{min-height:280px;font-size:.95rem}.tiptap-editor-content .ProseMirror h1,.tiptap-content h1{font-size:1.5rem}.tiptap-editor-content .ProseMirror h2,.tiptap-content h2{font-size:1.3rem}.tiptap-editor-content .ProseMirror h3,.tiptap-content h3{font-size:1.15rem}}.contact-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;z-index:10000}.contact-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.contact-modal-box{width:90%;max-width:600px;padding:2rem;border-radius:24px;position:relative;z-index:1;color:#fff;background:#0a0a0a;border:1px solid rgba(255,255,255,.1);max-height:90vh;overflow-y:auto}.contact-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff9;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.contact-modal-close:hover{background:#ff4b4b1a;color:#ff4b4b;border-color:#ff4b4b4d;transform:rotate(90deg)}.contact-modal-header{text-align:center;margin-bottom:1.5rem}.header-icon-wrapper{width:64px;height:64px;background:#6366f11a;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;border:1px solid rgba(99,102,241,.2)}.contact-modal-header h2{font-size:1.8rem;font-weight:800;margin-bottom:.5rem;background:linear-gradient(135deg,#fff,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.contact-modal-header p{color:var(--text-muted);font-size:.9rem;line-height:1.5;max-width:400px;margin:0 auto}.contact-modal-form{display:flex;flex-direction:column;gap:1rem}.contact-form-row{display:flex;gap:1rem}.contact-form-group{flex:1;display:flex;flex-direction:column;gap:.4rem}.contact-form-group label{font-size:.85rem;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.contact-form-group label span{color:var(--primary)}.contact-form-group input,.contact-form-group textarea{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:1rem 1.25rem;color:#fff;font-family:inherit;font-size:1rem;width:100%;box-sizing:border-box;transition:all .3s ease}.contact-form-group input:focus,.contact-form-group textarea:focus{outline:none;border-color:var(--primary);background:#6366f114;box-shadow:0 0 20px #6366f126}.contact-form-group input:invalid:not(:placeholder-shown),.contact-form-group textarea:invalid:not(:placeholder-shown){border-color:#ef4444!important;background:#ef44440d!important;box-shadow:0 0 15px #ef44441a!important}.contact-form-group .readonly-input{background:#ffffff05!important;border-color:#ffffff0d!important;color:#ffffff4d!important;cursor:default;-webkit-user-select:none;user-select:none;box-shadow:none!important}.contact-form-group .readonly-input:focus{border-color:#ffffff0d!important;background:#ffffff05!important;box-shadow:none!important}.contact-submit-btn{background:linear-gradient(135deg,#60efff,#00ff87);color:#000;border:none;padding:1.25rem;border-radius:12px;font-weight:800;font-size:1.1rem;cursor:pointer;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 20px #00ff8733}.contact-submit-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 30px #6366f166}.contact-submit-btn:active:not(:disabled){transform:translateY(-1px)}.contact-submit-btn:disabled{opacity:.7;cursor:not-allowed;background:#ffffff1a}.contact-status-msg{padding:1.25rem;border-radius:12px;text-align:center;margin-bottom:2rem;font-size:.95rem;font-weight:600}.contact-status-msg.success{background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.contact-status-msg.error{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}.loading-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:650px){.contact-form-row{flex-direction:column;gap:1.5rem}.contact-modal-box{padding:2rem;width:95%}.contact-modal-header h2{font-size:1.8rem}}
