body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Aptos Display,Aptos,sans-serif;margin:0}code{font-family:Aptos Display,Aptos,monospace!important}.navbar{background:linear-gradient(180deg,#0f172a,#020617);height:100vh;left:0;overflow-x:hidden;position:fixed;top:0;transition:width .3s ease;width:56px;z-index:100}.navbar:hover{width:240px}.navbar-header{border-bottom:1px solid #1e293b;font-weight:700;height:60px;padding:0 18px}.logo-text{color:#fff;margin-right:10px;opacity:0;text-align:center;transition:opacity .2s ease;white-space:nowrap}.navbar:hover .logo-text{opacity:1}.navbar-menu{flex:1 1}.nav-item{align-items:center;border-radius:8px;color:#cbd5f5;display:flex;font-size:14px;gap:14px;margin:4px 8px;padding:12px 18px;text-decoration:none;transition:background .2s ease,color .2s ease}.nav-item span{opacity:0;transition:opacity .2s ease;white-space:nowrap}.navbar:hover .nav-item span{opacity:1}.nav-item:hover{background:#1e293b;color:#fff}.navbar-footer{padding-bottom:10px}.logout{background:none;border:none;color:#fecaca;cursor:pointer;text-align:left;width:93%}.logout:hover{background:#7f1d1d;color:#fff}.nav-section{margin-bottom:18px}.nav-section-title{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.05em;padding:6px 16px;text-transform:uppercase}.navbar-menu{padding-top:10px}.navbar-header{align-items:center;display:flex;gap:10px;padding:16px}.navbar-logo{height:42px;object-fit:contain;width:42px}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-title{font-size:18px;font-weight:700}.logo-sub{font-size:12px;opacity:.8}.human-loader-wrapper{align-items:center;background:#fff;display:flex;font-family:JetBrains Mono,monospace;height:100vh;justify-content:center;margin-left:80px}.terminal-box{animation:fadeIn .4s ease;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 14px 35px #0000001f;overflow:hidden;width:420px}.terminal-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:6px;padding:10px 12px}.red{background:#ef4444}.yellow{background:#facc15}.green123{background:#22c55e}.title{color:#6b7280;font-size:12px;margin-left:auto}.terminal-body{color:#111827;padding:20px}.code-line{align-items:center;display:flex;gap:6px}.cmd{font-size:14px;font-weight:500}.cmd,.cursor{color:#2563eb}.cursor{animation:blink 1s infinite}.symbols{color:#4f46e5;display:flex;font-size:26px;gap:14px;margin:18px 0}.symbols span{animation:codePop 1.2s infinite;opacity:0}.symbols span:first-child{animation-delay:0s}.symbols span:nth-child(2){animation-delay:.2s}.symbols span:nth-child(3){animation-delay:.4s}.loader-text{font-size:14px;margin-top:6px}.progress-bar{border-radius:4px;margin-top:16px}.progress-fill{background:linear-gradient(90deg,#4f46e5,#22c55e);transition:width .2s ease}.progress-text{color:#6b7280;font-size:12px;margin-top:6px}.success-box{animation:fadeIn .4s ease;text-align:center}.success-check{align-items:center;background:#22c55e;border-radius:50%;box-shadow:0 0 25px #22c55e59;color:#fff;display:flex;font-size:38px;height:72px;justify-content:center;margin:auto;width:72px}.success-text{color:#15803d;font-size:17px;font-weight:600;margin-top:16px}.success-sub{color:#6b7280;font-size:13px;margin-top:4px}@keyframes blink{50%{opacity:0}}@keyframes codePop{0%{opacity:0;transform:translateY(10px)}40%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.campus-page{background:linear-gradient(180deg,#f7f9fc,#eef2f7);margin-left:80px;min-height:100vh;padding:40px}.campus-header{margin-bottom:30px}.campus-header h2{color:#1f2937;font-size:28px;font-weight:600}.campus-header p{color:#6b7280;margin-top:6px}.status{font-size:15px}.campus-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:20px}.campus-card{align-items:center;background:#fff;border-radius:14px;box-shadow:0 10px 25px #0000000f;cursor:pointer;display:flex;justify-content:space-between;overflow:hidden;padding:24px;position:relative;transition:transform .25s ease,box-shadow .25s ease}.campus-card:after{background:linear-gradient(120deg,#0000,#6366f11f,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.campus-card:hover:after{opacity:1}.campus-card:hover{box-shadow:0 18px 40px #0000001f;transform:translateY(-6px)}.campus-name{color:#111827;font-size:18px;font-weight:500}.campus-action{color:#6366f1;font-size:14px;font-weight:500}.campus-card:active{transform:scale(.97)}.year-page{padding:30px}.year-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-top:20px}.year-card{background:#fff;border-radius:8px;box-shadow:0 4px 10px #00000014;cursor:pointer;font-weight:500;padding:20px;text-align:center;transition:transform .2s ease}.year-card:hover{transform:translateY(-4px)}.year-card h3{color:#111827;font-size:18px}.no-select-editor,.no-select-editor *{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}*{font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.compiler-root{padding:40px}.compiler-container{display:flex;flex-direction:column;gap:24px;margin:auto;max-width:1200px}.material-card{background:#fff;border-radius:14px;box-shadow:0 10px 30px #0000000f;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.material-card:hover{box-shadow:0 18px 40px #0000001f;transform:translateY(-2px)}.editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.editor-header h2{color:#0f172a;font-size:18px;font-weight:700}.editor-controls{align-items:center;display:flex;gap:20px}.select-wrapper{position:relative}.select-wrapper select{-webkit-appearance:none;appearance:none;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;cursor:pointer;font-weight:600;padding:8px 34px 8px 12px}.select-arrow{color:#475569;font-size:12px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.toggle-wrapper{align-items:center;display:flex;font-size:14px;gap:8px}.switch{height:22px;position:relative;width:42px}.switch input{opacity:0}.slider{background:#cbd5e1;border-radius:22px;cursor:pointer;inset:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background:#fff;border-radius:50%;bottom:2px;content:"";height:18px;left:2px;width:18px}.switch input:checked+.slider{background:#2563eb}.switch input:checked+.slider:before{transform:translateX(20px)}.run-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#3b82f6);border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;margin-left:auto;margin-top:10px;padding:12px 22px;transition:transform .15s ease,box-shadow .15s ease}.success{background:#fff}.run-btn:hover{box-shadow:0 10px 20px #3b82f666;transform:translateY(-1px)}.run-btn:disabled{background:#94a3b8;cursor:not-allowed}.spinner{animation:spin .8s linear infinite;border:2px solid #fff;border-top-color:#0000;height:14px;width:14px}.result-chip{border-radius:999px;display:inline-block;font-weight:700;margin-bottom:10px;padding:6px 14px}.result-chip.success{background:#dcfce7}.result-chip.failure{background:#fee2e2;color:#991b1b}.result-summary{color:#334155;font-size:14px}.code-output pre{background:#020617;border-radius:10px;color:#e5e7eb;overflow-x:auto;padding:16px}.testcase-section{margin-bottom:40px}.testcase-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.testcase-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.testcase-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px}.testcase-card textarea{border:1px solid #cbd5e1;border-radius:10px;font-family:monospace;min-height:80px;padding:10px;width:100%}.testcase-card textarea:focus{border-color:#2563eb;outline:none}.tc-pass{border-left:5px solid #22c55e}.tc-fail{border-left:5px solid #ef4444}.add-btn{background:#eff6ff;border-radius:999px;color:#2563eb}.add-btn:hover{background:#dbeafe}.code-output{background:#0000!important}.compiler-error{background:#111827;border-left:5px solid #ef4444;border-radius:12px;color:#fecaca;margin-top:12px;padding:16px}.compiler-error h4{color:#f87171;font-size:15px;margin-bottom:8px}.compiler-error pre{background:#020617;border-radius:8px;font-family:Fira Code,monospace;font-size:13px;overflow-x:auto;padding:12px}.category-page{background:linear-gradient(180deg,#f7f9fc,#eef2f7);margin-left:80px;min-height:100vh;padding:40px}.category-header h2{color:#1f2937;font-size:28px;font-weight:600}.category-header p{color:#6b7280;margin-top:6px}.category-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.category-card{background:#fff;border-radius:14px;box-shadow:0 10px 25px #0000000f;display:flex;flex-direction:column;justify-content:space-between;padding:22px;transition:transform .25s ease,box-shadow .25s ease}.category-card:hover{box-shadow:0 18px 40px #0000001f;transform:translateY(-6px)}.category-card h3{color:#111827;font-size:19px;font-weight:500;margin-bottom:18px}.category-btn{align-self:flex-start;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:transform .2s ease,box-shadow .2s ease}.category-btn:hover{box-shadow:0 8px 20px #16a34a59;transform:translateY(-2px)}.category-btn:active{transform:scale(.97)}.dialog-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.dialog-box{animation:dialogPop .2s ease-out;background:#fff;border-radius:14px;box-shadow:0 20px 45px #0003;padding:26px;text-align:center;width:360px}.dialog-box h3{color:#111827;font-size:20px;margin-bottom:10px}.dialog-box p{color:#6b7280;font-size:14px;margin-bottom:24px}.dialog-actions{display:flex;gap:12px}.dialog-cancel{background:#e5e7eb}.dialog-cancel,.dialog-confirm{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-weight:500;padding:10px}.dialog-confirm{background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff}@keyframes dialogPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.add-category-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:500;padding:10px 18px;transition:transform .2s ease,box-shadow .2s ease}.add-category-btn:hover{box-shadow:0 8px 20px #2563eb59;transform:translateY(-2px)}.dialog-input{margin-bottom:20px}@media (max-width:1024px){.category-page{margin-left:0;padding:30px 24px}.category-header h2{font-size:24px}.category-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.category-page{padding:24px 16px}.category-header{align-items:flex-start;flex-direction:column;gap:16px}.category-header h2{font-size:22px}.category-header p{font-size:14px}.add-category-btn{font-size:15px;padding:12px;width:100%}.category-grid{gap:18px;grid-template-columns:1fr}.category-card{padding:20px}.category-card h3{font-size:18px}.category-btn{align-self:stretch;font-size:14px;padding:12px;text-align:center;width:100%}}@media (max-width:480px){.category-header h2{font-size:20px}.dialog-box{padding:20px;width:92%}.dialog-actions{flex-direction:column;gap:10px}.dialog-cancel,.dialog-confirm{padding:12px;width:100%}}.ql-page{background:linear-gradient(180deg,#f8fafc,#eef2f7);margin-left:80px;min-height:100vh;padding:40px 24px}@media (max-width:768px){.ql-page{margin-left:0;padding:24px 16px}}.ql-container{margin:auto;max-width:1100px}.ql-header{margin-bottom:40px;text-align:center}.ql-header h1{color:#0f172a;font-size:32px;font-weight:700}.ql-header p{color:#475569;font-size:16px;margin-top:8px}.ql-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.ql-card{background:#fff;border-radius:14px;box-shadow:0 8px 20px #0f172a14;display:flex;flex-direction:column;justify-content:space-between;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.ql-card:hover{box-shadow:0 14px 30px #0f172a26;transform:translateY(-6px)}.ql-card-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.ql-title{color:#1e293b;font-size:18px;font-weight:600;line-height:1.4}.ql-badge{border-radius:999px;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.ql-badge.easy{background:#dcfce7;color:#166534}.ql-badge.medium{background:#fef3c7;color:#92400e}.ql-badge.hard{background:#fee2e2;color:#991b1b}.ql-card-footer{display:flex;justify-content:space-between;margin-top:20px}.ql-solve-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:background .2s ease,transform .1s ease,box-shadow .1s ease}.ql-solve-btn:hover{background:#1d4ed8;box-shadow:0 6px 16px #2563eb59;transform:translateX(2px)}.ql-solve-btn:active{transform:scale(.97)}.ql-edit-btn{background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-right:10px;padding:10px 16px;transition:background .2s ease,transform .1s ease}.ql-edit-btn:hover{background:#d97706;transform:translateY(-1px)}.ql-empty{color:#64748b;margin-top:60px;text-align:center}.ql-empty h3{font-size:20px;font-weight:600;margin-bottom:6px}.ql-empty p{font-size:14px}.ql-badge.solved{background:#d1fae5;color:#065f46;font-weight:600;margin-left:6px}.solved-btn{background:#e5e7eb;color:#374151}.ql-stats{display:flex;gap:20px;margin-bottom:25px}.stat-card{background:#fff;border-radius:10px;box-shadow:0 4px 10px #00000014;font-weight:600;padding:12px 20px}.stat-card.solved{color:#059669}.stat-card.pending{color:#dc2626}.ql-controls{display:flex;gap:15px;margin-bottom:20px}.ql-controls input{width:250px}.ql-controls input,.ql-controls select{border:1px solid #ddd;border-radius:6px;padding:10px}.ql-controls select{font-size:12px;height:40px}.ql-table{background:#fff;border-collapse:collapse;border-radius:10px;overflow:hidden;width:100%}.ql-table td,.ql-table th{border-bottom:1px solid #eee;padding:14px;text-align:left}.ql-table th{background:#f1f5f9;font-weight:600}.ql-table tr:hover{background:#f8fafc}.status{border-radius:6px}.status.solved{background:#dcfce7;color:#166534}.status.pending{color:#991b1b}.compiler-root{background:#f8fafc;min-height:100vh}.solve-layout{display:flex;height:100vh}.solve-left{border-right:1px solid #e5e7eb;min-width:520px;width:50%}.question-panel{background:linear-gradient(#fff,#f8fafc);font-size:15.5px;height:100%;overflow-y:auto;padding:32px}.question-header{background:#fff;border-bottom:1px solid #e5e7eb;padding-bottom:12px;z-index:5}.question-header h1{margin:0}.difficulty{border-radius:999px;font-size:13px;font-weight:600;padding:6px 14px}.difficulty.easy{background:#e6f7ed}.difficulty.medium{background:#fff4e5;color:#c2410c}.difficulty.hard{background:#fdecea;color:#b91c1c}.question-description{line-height:1.7;max-width:720px}.section-heading{font-size:16px;font-weight:600;margin-top:26px}.sample-list{grid-gap:14px;display:grid;gap:14px}.sample-card{background:#fff;border-radius:12px;box-shadow:0 4px 14px #0000000f;padding:14px}.sample-title{font-weight:600;margin-bottom:6px}.sample-row pre{background:#f1f5f9;border-radius:6px;font-size:13px;padding:10px}.solve-right{background:#0f172a;width:50%}.editor-shell{display:flex;flex-direction:column;height:100%}.editor-top-bar{background:#020617;border-bottom:1px solid #1e293b;padding:12px}.language-selector{display:inline-block;position:relative}.language-selector select{-webkit-appearance:none;appearance:none;background:#020617;border:1px solid #334155;border-radius:10px;color:#e5e7eb;cursor:pointer;font-size:14px;font-weight:600;padding:8px 36px 8px 14px;transition:all .2s ease}.language-selector select:hover{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb4d}.language-selector select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f659;outline:none}.language-selector:after{color:#94a3b8;content:"▾";pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.action-bar{background:#020617;border-top:1px solid #1e293b;display:flex;gap:12px;padding:12px}.action-bar button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px}.action-bar button:not(.submit){background:#fff;color:#020617}.action-bar .submit{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.result-panel{background:#f8fafc;border-top:1px solid #e5e7eb;padding:20px}.result-summary{align-items:center;background:#fff;border-radius:12px;box-shadow:0 6px 20px #0000000f;display:flex;justify-content:space-between;padding:14px 18px}.summary-left{display:flex;flex-direction:column;gap:4px}.summary-verdict{font-size:15px;font-weight:700}.summary-verdict.ok{color:#16a34a}.summary-verdict.fail{color:#dc2626}.summary-count{color:#475569;font-size:13px}.summary-tag{background:#eef2ff;border-radius:999px;color:#4338ca;font-size:12px;font-weight:600;padding:6px 10px}.testcase-list{grid-gap:12px;display:grid;gap:12px;margin-top:16px}.testcase-card{background:#fff;border-left:4px solid #0000;border-radius:10px;box-shadow:0 4px 14px #0000000d;padding:14px}.tc-pass{border-left-color:#16a34a}.tc-fail{border-left-color:#dc2626}.tc-header{display:flex;font-weight:600;justify-content:space-between;margin-bottom:10px}.tc-status{color:#64748b;font-size:12px}.tc-row{margin-bottom:8px}.tc-row label{color:#475569;font-size:12px;font-weight:600}.tc-row pre{background:#f1f5f9;border-radius:6px;font-size:13px;margin-top:4px;padding:8px}.error-card{background:#fff1f2;border-left:5px solid #dc2626;border-radius:10px;box-shadow:0 4px 14px #0000000d;padding:14px}.error-header{align-items:center;color:#b91c1c;display:flex;font-weight:700;justify-content:space-between;margin-bottom:8px}.error-tag{background:#fee2e2;border-radius:999px;color:#b91c1c;font-size:12px;padding:4px 10px}.error-output{background:#020617;border-radius:8px;color:#fca5a5;font-size:13px;line-height:1.5;overflow-x:auto;padding:12px}@media (max-width:1024px){.solve-layout{flex-direction:column;height:auto}.solve-left,.solve-right{min-width:0;min-width:auto;width:100%}.solve-left{border-bottom:1px solid #e5e7eb;border-right:none}.question-panel{max-height:none;padding:24px}.solve-right{height:70vh}}@media (max-width:768px){.compiler-root{background:#f8fafc}.question-header,.solve-layout{flex-direction:column}.question-header{align-items:flex-start;gap:10px}.question-header h1{font-size:20px}.difficulty{font-size:12px;padding:5px 12px}.question-description{font-size:14px}.sample-card{padding:12px}.sample-row pre{font-size:12px}.solve-right{height:65vh}.editor-top-bar{padding:10px}.language-selector select{font-size:13px;width:100%}.action-bar{flex-direction:column;gap:10px}.action-bar button{font-size:14px;padding:14px;width:100%}.result-summary{align-items:flex-start;flex-direction:column;gap:10px}.summary-verdict{font-size:14px}.summary-count{font-size:13px}.summary-tag{align-self:flex-start}}@media (max-width:480px){.question-panel{padding:18px}.question-header h1{font-size:18px}.section-heading{font-size:15px}.sample-title{font-size:14px}.tc-header{flex-direction:column;gap:4px}.tc-row pre{font-size:12px}.error-header{align-items:flex-start;flex-direction:column;gap:6px}.error-output{font-size:12px}}

/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;-o-tab-size:4;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre{margin:0;padding:0}@supports (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor li,.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"\2022"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"\2611"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"\2610"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor .ql-code-block-container,.ql-snow .ql-editor code{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}*{font-family:sans-serif}.page-root{background:#f8fafc;min-height:100vh;padding:40px 16px}.main-card{border-radius:10px;padding:28px}.page-heading{color:#111827;font-size:22px;font-weight:700;margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus{border-color:#2563eb;outline:none}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400!important;gap:8px}.checkbox-label input[type=checkbox]{margin:0;width:auto!important}.quill-box{border-radius:6px}.ql-toolbar{background:#f9fafb;border-radius:6px 6px 0 0}.ql-container{border-radius:0 0 6px 6px}.section-title{color:#111827;font-size:15px;margin-top:26px}.testcase-row{gap:10px;margin-bottom:10px}.testcase-row textarea{border:1px solid #d1d5db;border-radius:6px;height:64px;padding:8px;resize:none}.predefined-code-section{margin-bottom:20px;margin-top:20px}.predefined-code-row{margin-bottom:15px}.language-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.code-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:Courier New,monospace;font-size:13px;height:120px;padding:10px;resize:vertical;width:100%}.code-textarea:focus{border-color:#2563eb;outline:none}.link-btn{background:none;border:none;margin-top:6px;padding:0}.link-btn:hover{text-decoration:underline}.footer{margin-top:30px;text-align:right}.primary-btn{padding:10px 22px}.primary-btn:hover{background:#1e40af}.error-text{color:#e53935;font-size:13px;margin-top:4px}.popup-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.popup-card{border-radius:10px;padding:24px}.quill-box{border:1px solid #d1d5db;border-radius:8px;min-height:260px}.ql-container{font-size:14px;min-height:220px}.ql-editor{line-height:1.6;padding:16px}.main-card{animation:fadeIn .4s ease;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 10px 25px #0000000d;margin:auto;max-width:900px;padding:32px}.form-group input,.form-group select,.testcase-row textarea{transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus,.testcase-row textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.testcase-row{display:flex;gap:12px;margin-bottom:12px}.testcase-row textarea{background:#f9fafb;border-radius:8px;flex:1 1;font-size:13px;height:72px;padding:10px}.testcase-row textarea:focus{background:#fff}.primary-btn{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:8px;font-size:14px;padding:12px 26px;transition:transform .15s ease,box-shadow .15s ease}.primary-btn:hover{box-shadow:0 8px 18px #2563eb59}.primary-btn:disabled{opacity:.6}.link-btn{align-items:center;color:#2563eb;cursor:pointer;display:inline-flex;font-size:14px;gap:6px;margin-top:8px}.link-btn:before{content:"+";font-weight:700}.popup-card{animation:pop .25s ease;background:#fff;border-radius:14px;padding:26px;text-align:center;width:320px}.predefined-toggle{align-items:center;display:flex;font-weight:600;gap:8px;margin:20px 0 10px}.predefined-section{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-top:12px}.predefined-section textarea{background:#fff;border:1px solid #d0d7de;border-radius:8px;font-family:Fira Code,Consolas,monospace;font-size:13px;min-height:110px;outline:none;padding:10px;resize:vertical;width:100%}.predefined-section textarea:focus{border-color:#0969da;box-shadow:0 0 0 2px #0969da26}.predefined-section textarea::placeholder{color:#6e7781}@media (max-width:900px){.predefined-section{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.predefined-section{grid-template-columns:1fr}}.login-page{background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;height:100vh}.login-left,.login-page{overflow:hidden;position:relative}.login-left{flex:1 1}.login-left img{height:110%;object-fit:cover;transition:transform .4s ease;width:100%}.login-left:hover img{transform:scale(1.02)}.floating-shapes{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.shape{animation:float 8s ease-in-out infinite;background:#ffffff14;border-radius:50%;position:absolute}.shape-1{animation-delay:0s;height:120px;left:8%;top:15%;width:120px}.shape-2{animation-delay:3s;height:80px;left:75%;top:65%;width:80px}.shape-3{animation-delay:6s;height:100px;left:15%;top:85%;width:100px}.login-right{align-items:center;display:flex;flex:1 1;justify-content:center;padding:24px}.login-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fffffffa;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 50px #0000001f;max-width:420px;overflow:hidden;padding:48px;position:relative;transition:all .4s ease;width:100%}.login-card:before{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:24px 24px 0 0;content:"";height:6px;left:0;position:absolute;right:0;top:0}.login-card.success{animation:successPulse .8s ease}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.01)}to{transform:scale(1)}}.login-card.shake{animation:shake .6s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.welcome-header{margin-bottom:16px;text-align:center}.welcome-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 12px}.animated-underline{animation:underlineGrow 1.2s ease-out .6s both;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:2px;height:4px;margin:0 auto;width:80px}@keyframes underlineGrow{0%{width:0}to{width:80px}}.subtitle{font-size:16px;font-weight:400;line-height:1.6;margin-bottom:40px;text-align:center}.field{margin-bottom:28px;position:relative}.field.focused .field-label{color:#6366f1;font-weight:600;transform:translateY(-2px)}.field-label{color:#374151;display:block;font-size:15px;font-weight:500;letter-spacing:.2px;margin-bottom:10px;transition:all .3s ease}.input-wrapper{position:relative}.field input,.input-wrapper{align-items:center;display:flex}.field input{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;flex:1 1 auto;font-family:inherit;font-size:16px;height:48px;line-height:1.2;padding:0 20px;transition:all .3s ease}.field input:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f114;outline:none;transform:translateY(-1px)}.field input.valid{background:#f0fdf4;border-color:#10b981}.field input.invalid{background:#fef2f2;border-color:#ef4444}.field input::placeholder{color:#9ca3af;font-weight:400}.field-status{font-size:16px;font-weight:600;position:absolute;right:18px;top:50%;transform:translateY(-50%);transition:all .3s ease}.field-status.valid{color:#10b981}.field-status.invalid{color:#ef4444}.password-wrapper{position:relative}.toggle{background:#ffffffe6;border:1px solid #e5e7eb;border-radius:8px;color:#6366f1;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.5px;margin-left:8px;padding:8px 12px;position:static;transition:all .3s ease}.toggle:hover{background:#6366f1;color:#fff;transform:scale(1.02)}.toggle.visible{background:#6366f1;color:#fff;margin-bottom:10px}.password-strength{align-items:center;display:flex;gap:12px;margin-top:10px}.strength-bar{background:#e5e7eb;border-radius:3px;flex:1 1;height:6px;overflow:hidden;position:relative}.strength-bar:after{border-radius:3px;content:"";height:100%;left:0;position:absolute;top:0;transition:all .4s ease;width:100%}.strength-bar.weak:after{background:#ef4444;width:33%}.strength-bar.medium:after{background:#f59e0b;width:66%}.strength-bar.strong:after{background:#10b981;width:100%}.strength-text{color:#6b7280;font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.form-options{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.checkbox-container{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:15px;font-weight:400;gap:10px;position:relative}.checkbox-container input[type=checkbox]{opacity:0;position:absolute}.checkmark{background:#fff;border:2px solid #d1d5db;border-radius:6px;height:20px;position:relative;transition:all .3s ease;width:20px}.checkbox-container input[type=checkbox]:checked+.checkmark{background:#6366f1;border-color:#6366f1}.checkbox-container input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626}.error-message,.success-message{align-items:center;animation:slideIn .4s ease;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:24px;padding:16px 20px}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;color:#16a34a}.error-icon,.success-icon{font-size:16px;font-weight:700}.button1{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:14px;color:#fff;cursor:pointer;display:flex;flex-direction:row;font-family:inherit;font-size:16px;font-weight:600;height:56px;justify-content:center;letter-spacing:.5px;overflow:hidden;padding:0;position:relative;transition:all .4s ease;width:100%}.button1:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.button1:hover:not(:disabled):before{left:100%}.button1:hover:not(:disabled){box-shadow:0 12px 32px #6366f14d;transform:translateY(-3px)}.button1:active:not(:disabled){transform:translateY(-1px)}.button1:disabled{box-shadow:none;opacity:.7;transform:none}.button1.loading{background:linear-gradient(135deg,#9ca3af,#6b7280)}.button1.success{animation:successGlow .8s ease;background:linear-gradient(135deg,#10b981,#059669)}@keyframes successGlow{0%,to{box-shadow:0 0 25px #10b98166}50%{box-shadow:0 0 40px #10b981b3}}.login-content,.success-content{align-items:center;display:flex;gap:10px;z-index:1}.login-icon,.success-icon{font-size:18px;font-weight:700}.btn-loader{font-size:16px;gap:12px;z-index:1}.code-loader{gap:5px;height:18px}.code-bracket{font-size:20px;opacity:.9}.code-dot{animation:codeLoader 1.4s ease-in-out infinite;border-radius:3px;height:14px;opacity:.8;width:5px}.code-dot-2{animation-delay:.25s}.code-dot-3{animation-delay:.5s}.login-footer{border-top:1px solid #e5e7eb;margin-top:32px;padding-top:24px;text-align:center}.login-footer p{color:#6b7280;font-size:14px;font-weight:400;margin:0}.contact-admin{color:#6366f1;cursor:pointer;font-weight:500;text-decoration:none;transition:all .3s ease}.contact-admin:hover{color:#4f46e5;text-decoration:underline}@media (max-width:1024px){.login-card{max-width:380px;padding:40px}.welcome-header h2{font-size:28px}}@media (max-width:768px){.login-page{flex-direction:column}.login-left{display:none}.login-right{flex:1 1;padding:20px 16px}.login-card{border-radius:20px;max-width:100%;padding:36px 28px}.welcome-header h2{font-size:26px}.form-options{align-items:flex-start;flex-direction:column;gap:16px}.field input{padding:16px 18px}.toggle{font-size:11px;padding:6px 10px;right:12px}}@media (max-width:480px){.login-right{padding:16px 12px}.login-card{padding:32px 20px}.welcome-header h2{font-size:24px}.subtitle{font-size:15px}.field input{font-size:16px;padding:16px 18px}.toggle{font-size:10px;padding:6px 8px;right:10px}.field-status{right:14px}.button1{height:52px}.btn-loader,.button1{font-size:15px}}@media (hover:none) and (pointer:coarse){.button1:hover:not(:disabled),.field input:focus{transform:none}.toggle:hover{transform:translateY(-50%)}.login-left:hover img{transform:none}}.button1:hover:not(:disabled){background:#4338ca;box-shadow:0 4px 12px #4f46e54d;transform:translateY(-2px)}.button1:active:not(:disabled){transform:translateY(0)}.button1:disabled{background:#9ca3af;cursor:not-allowed;opacity:.85}.btn-loader{font-size:15px;font-weight:600;gap:8px;justify-content:center}.btn-loader,.code-loader{align-items:center;display:flex}.code-loader{gap:3px;height:14px}.code-bracket{color:#fff;font-family:Courier New,monospace;font-size:16px;font-weight:700;opacity:.8}.code-dot{animation:codeLoader 1.2s ease-in-out infinite;background:#fff;border-radius:2px;flex-shrink:0;height:10px;opacity:.6;width:3px}.code-dot-1{animation-delay:0s}.code-dot-2{animation-delay:.2s}.code-dot-3{animation-delay:.4s}@keyframes codeLoader{0%,to{height:10px;opacity:.6}50%{height:14px;opacity:1}}.admin-page{align-items:center;background:linear-gradient(135deg,#020617,#020617);display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-card{animation:fadeIn .4s ease-in-out;background:#fff;border-radius:12px;box-shadow:0 12px 30px #0003;max-width:420px;padding:28px 26px;width:100%}.admin-card h2{color:#020617;font-size:22px;margin:0;text-align:center}.admin-card p{color:#555;font-size:14px;margin:10px 0 20px;text-align:center}.admin-card input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-bottom:16px;outline:none;padding:12px 14px;width:100%}.admin-card input:focus{border-color:#22c55e}.admin-card button{background:#22c55e;border:none;border-radius:8px;color:#020617;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:background .2s ease;width:100%}.admin-card button:hover{background:#16a34a}.admin-card button:disabled{background:#9ca3af;cursor:not-allowed}.msg{font-size:14px;font-weight:500;margin-top:14px;text-align:center}.msg.success{color:#16a34a}.msg.error{color:#dc2626}.course-header{margin-bottom:30px}.add-course-btn{border-radius:10px;transition:transform .2s ease,box-shadow .2s ease}.add-course-btn:hover{box-shadow:0 8px 20px #16a34a59;transform:translateY(-2px)}.dialog-input{margin-bottom:14px}.dialog-input,.dialog-textarea{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;width:100%}.dialog-textarea{margin-bottom:20px;min-height:80px;resize:none}.batch-page{padding:30px}.batch-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:20px}.batch-card{background:#fff;border-radius:8px;box-shadow:0 4px 10px #00000014;cursor:pointer;font-weight:500;padding:20px;text-align:center;transition:transform .2s ease}.batch-card:hover{transform:translateY(-4px)}.submission-page{background:#f7f8fc;min-height:100vh;padding:30px}.submission-header h2{font-size:22px;margin:0}.meta{color:#666;gap:12px;margin-top:6px}.submission-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 8px 20px #0000000f;margin-top:20px;overflow:hidden}.submission-table td,.submission-table th{border-bottom:1px solid #eee;padding:14px 16px}.submission-table th{background:#f1f3f6;font-weight:600}.clickable-row{cursor:pointer;transition:background .2s ease}.clickable-row:hover{background:#f5f7fb}.student-name-cell{font-weight:600}.student-email-cell{color:#666;font-size:13px}.solved-badge{background:#e6f7ed;border-radius:20px;color:#0f9d58;font-size:13px;font-weight:600;padding:6px 14px}.modal-box{animation:scaleIn .15s ease;background:#fff;border-radius:14px;max-height:70vh;overflow:hidden;width:520px}.modal-header{border-bottom:1px solid #eee;padding:16px 20px}.modal-header h3{margin:0}.modal-header p{color:#666;font-size:13px;margin:4px 0 0}.modal-body{overflow-y:auto;padding:16px 20px}.modal-body h4{margin-top:0}.question-list{list-style:none;margin:0;padding:0}.question-list li{border-bottom:1px solid #f0f0f0;display:flex;gap:10px;padding:8px 0}.q-index{color:#888;font-weight:600}.q-title{flex:1 1}.status{font-size:14px;padding:20px}.status.error{color:red}.clickable-question{cursor:pointer;display:flex;gap:10px;padding:8px}.clickable-question:hover{background:#f5f7fb}.modal-box.large{max-height:80vh;width:70%}.code-view{background:#0f172a;border-radius:8px;color:#e5e7eb;font-size:13px;max-height:60vh;overflow:auto;padding:16px}.submission-header{gap:16px}.submission-header>div:first-child{flex-shrink:0}.mcq-report-btn{margin-left:auto}.mcq-list-page{margin:0 auto;max-width:1100px;padding:32px}.filter-bar,.page-header p{margin-bottom:24px}.filter-bar{flex-wrap:wrap}.filter-bar input{border:1px solid #e5e7eb;border-radius:8px;font-size:14px;min-width:200px;padding:10px 12px}.filter-bar button{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;transition:background .2s ease}.filter-bar button:hover{background:#1d4ed8}.filter-bar .reset{background:#6b7280}.filter-bar .reset:hover{background:#475569}.status-text{color:#64748b;font-size:14px;margin-top:40px;text-align:center}.empty-state h3{margin-bottom:6px}.mcq-card{border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:16px;padding:18px}.mcq-card:hover{box-shadow:0 12px 28px #0f172a14;transform:translateY(-2px)}.mcq-card.expanded{box-shadow:0 8px 24px #0003;transform:scale(1.02)}.mcq-header{background:#f9fafb;cursor:pointer;padding:16px}.mcq-header:hover{background:#eef2ff}.mcq-meta h3{font-size:16px;font-weight:600;margin-bottom:6px}.badges{align-items:center;display:flex;gap:10px}.tag{background:#e0e7ff;border-radius:999px;color:#3730a3;font-weight:600;padding:4px 10px}.count{color:#64748b;font-size:12px}.mcq-actions{display:flex;gap:10px}.mcq-actions button{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.mcq-actions .view{background:#f1f5f9;color:#0f172a}.mcq-actions .view:hover{background:#e2e8f0}.mcq-actions .delete{background:#ef4444;color:#fff}.mcq-actions .delete:hover{background:#dc2626}.mcq-questions{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:14px}.question-item{color:#0f172a;display:flex;font-size:14px;gap:8px;padding:8px 0}.qno{font-weight:600}.mcq-questions{animation:fadeIn .3s ease;background:#fff;padding:16px}.mcq-create-page{margin:auto;max-width:900px;padding:24px}.page-title{font-size:22px}.mcq-meta{gap:20px;margin-bottom:20px}.field{flex:1 1}.field label{color:#555;font-size:13px;margin-bottom:4px}input,select,textarea{border:1px solid #ccc;border-radius:6px;font-size:14px;padding:8px 10px}textarea{min-height:70px;resize:vertical}.question-card{border-radius:10px;margin-bottom:16px;padding:16px}.question-header h3{font-size:16px}.remove-btn{background:none;color:#ef4444;cursor:pointer;font-size:18px}.options-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:12px 0}.question-footer{display:flex;gap:16px}.actions{justify-content:space-between}button{border-radius:6px;cursor:pointer;font-size:14px;padding:10px 16px}button.primary{background-color:#2563eb;border:none;color:#fff}button.primary:disabled{background-color:#93c5fd;cursor:not-allowed}button.secondary{background-color:#f3f4f6;border:1px solid #ccc}.delete-question-btn{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;cursor:pointer;font-size:13px;padding:6px 10px}.delete-question-btn:hover{background:#fecaca}.excel-upload{margin:24px 0}.excel-upload>label:first-child{color:#1e293b;display:block;font-weight:600;margin-bottom:8px}.upload-box{border:2px dashed #cbd5e1;color:#1e293b;display:inline-block;font-size:14px;font-weight:500;padding:14px 20px}.upload-box:hover{transform:translateY(-1px)}.upload-box input[type=file]{display:none}.excel-upload small{color:#64748b;display:block;font-size:12px;margin-top:8px}.course-page{background:linear-gradient(180deg,#f7f9fc,#eef2f7);margin-left:80px;max-width:1200px}.course-header{align-items:center;display:flex;justify-content:space-between}.course-header h2{color:#1f2937;font-weight:600}.course-header p{color:#6b7280}.add-course-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 18px}.course-card{border-radius:16px;box-shadow:0 10px 25px #0000000f;min-height:180px;transition:transform .25s ease,box-shadow .25s ease}.course-card:hover{box-shadow:0 18px 40px #0000001f;transform:translateY(-6px)}.course-card h3{color:#111827;font-size:20px;margin-bottom:10px}.course-desc{color:#6b7280;font-size:14px;line-height:1.5}.course-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;font-weight:500;margin-top:auto;text-align:center}.course-btn:hover{box-shadow:0 8px 20px #2563eb59}.course-loader{background:linear-gradient(180deg,#f7f9fc,#eef2f7);flex-direction:column;height:100vh;margin-left:80px}.human-loader{height:120px;position:relative;width:60px}.head{background:#6366f1;border-radius:50%;height:22px;margin:0 auto;width:22px}.body{height:40px;margin:4px auto 0;width:6px}.arm,.body{background:#374151}.arm{height:4px;position:absolute;top:34px;width:26px}.left-arm{animation:armSwing 1s infinite;left:30px}.right-arm{animation:armSwingReverse 1s infinite;left:30px}.leg{background:#374151;height:32px;position:absolute;top:78px;width:6px}.left-leg{animation:legMove 1s infinite;left:26px}.right-leg{animation:legMoveReverse 1s infinite;left:34px}.loader-text{color:#374151;margin-top:20px}.dots i{animation:dots 1.4s infinite;opacity:0}.dots i:first-child{animation-delay:0s}.dots i:nth-child(2){animation-delay:.3s}.dots i:nth-child(3){animation-delay:.6s}@keyframes armSwing{0%,to{transform:rotate(20deg)}50%{transform:rotate(-20deg)}}@keyframes armSwingReverse{0%,to{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}@keyframes legMove{0%,to{transform:rotate(15deg)}50%{transform:rotate(-15deg)}}@keyframes legMoveReverse{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}@keyframes dots{0%{opacity:0}50%{opacity:1}to{opacity:0}}@media (max-width:1024px){.course-page{margin-left:0;padding:30px 24px}.course-grid{grid-template-columns:repeat(2,1fr)}.course-loader{margin-left:0}}@media (max-width:768px){.course-header{align-items:flex-start;flex-direction:column;gap:14px}.course-grid{grid-template-columns:1fr}.course-btn{width:100%}}.ghost-card{background:#0000;border:2px dashed #0000;box-shadow:none;cursor:default}.ghost-card:hover{box-shadow:none;transform:none}.ghost-title{background:#e5e7eb;border-radius:6px;height:20px;margin-bottom:14px;width:70%}.ghost-line{background:#e5e7eb;height:14px;margin-bottom:20px;width:90%}.ghost-button{background:#e5e7eb;border-radius:10px;height:40px;width:100%}.ghost-button,.ghost-line,.ghost-title{animation:ghostPulse 1.4s ease-in-out infinite}@keyframes ghostPulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.course-grid{grid-template-columns:repeat(3,1fr)}.mcq-meta{color:#6b7280;margin:6px 0 12px}.completed-badge{background:#2ecc71;border-radius:12px;color:#fff;right:14px;top:14px}.course-btn:disabled{background:#bdbdbd}.ghost-card{visibility:hidden}.search-bar{display:flex;justify-content:flex-end;margin-top:16px}.search-bar input{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:10px 14px;width:300px}.search-bar input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.progress-bar-container{background:#e5e7eb;border-radius:4px;height:8px;margin:8px 0;overflow:hidden}@media (max-width:1024px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.course-grid{grid-template-columns:1fr}}.exam-wrapper{background:linear-gradient(120deg,#f9fafb,#eef2ff);position:relative}.exam-content.blur,.question-panel.blur{filter:blur(6px)}.fullscreen-overlay{background:#000000b3;bottom:0;left:0;position:absolute;right:0;top:0;z-index:10}.fullscreen-btn{background:#22c55e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:16px 32px}.progress-bar div{background:linear-gradient(90deg,#2563eb,#22c55e);transition:width .4s ease}.total-time-header{background:linear-gradient(135deg,#fef3c7,#fef08a);border-bottom:2px solid #f59e0b;color:#92400e;font-size:16px;font-weight:600;padding:12px 20px;text-align:center}.total-time-header strong{color:#dc2626;font-size:18px;margin-left:10px}.exam-container{height:calc(100vh - 6px)}.question-panel{border-right:1px solid #e5e7eb;padding:60px;width:90%}.question-count{color:#2563eb;font-weight:600}.question-panel h2{font-size:28px;line-height:1.4;margin-top:30px}.options-panel{display:flex;flex-direction:column;justify-content:space-between;padding:60px;width:50%}.option-tile{border:2px solid #e5e7eb;border-radius:14px;gap:16px;margin-bottom:16px;transition:all .25s ease}.option-tile:hover{border-color:#2563eb;box-shadow:0 10px 20px #00000014;transform:translateY(-2px)}.option-tile.selected{background:#eef2ff;border-color:#2563eb}.opt-circle{background:#2563eb;font-weight:700;height:34px;width:34px}.nav-buttons button{border-radius:10px;font-size:15px}.nav-buttons button:disabled{background:#d1d5db;cursor:not-allowed}.submit{background:#16a34a}.animate-slide{animation:slideFade .4s ease}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.result-modal{border-radius:16px;box-shadow:0 30px 60px #00000040;padding:40px;width:360px}.result-modal h2{margin-bottom:10px}.result-modal button{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:20px;padding:10px 20px}.exam-header{background:#111827;color:#fff;display:flex;font-weight:600;justify-content:space-between;padding:14px 30px}.proctor-video{background:#000;border:2px solid #22c55e;border-radius:8px;bottom:16px;height:120px;object-fit:cover;position:fixed;right:16px;width:160px;z-index:9999}.start-screen{align-items:center;background:#0f172a;color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.start-btn{background:#22c55e;border:none;border-radius:8px;cursor:pointer;font-size:18px;margin-top:20px;padding:14px 30px}.exam-wrapper{background:#f8fafc;min-height:100vh}.blur{filter:blur(6px)}.progress-bar{background:#e5e7eb;height:6px!important}.progress-bar div{background:#3b82f6;height:100%;transition:width .3s}.exam-container{display:flex;gap:30px;padding:30px}.question-panel{background:#fff;border-radius:12px;flex:1 1;padding:30px;position:relative}.options-panel{flex:1 1}.option-tile{align-items:center;background:#fff;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:14px;margin-bottom:15px;padding:18px}.option-tile:hover{border-color:#3b82f6}.option-tile.selected{background:#ecfdf5;border-color:#22c55e}.opt-circle{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;height:36px;justify-content:center;width:36px}.nav-buttons{display:flex;justify-content:space-between;margin-top:30px}.nav-buttons button{border:none;border-radius:8px;cursor:pointer;padding:12px 24px}.submit{background:#22c55e;color:#fff}.modal-overlay{background:#0009}.result-modal{background:#fff;border-radius:14px;padding:30px;text-align:center}.camera-preview{background:#000;border:2px solid #0f8;border-radius:8px;bottom:20px;height:120px;position:fixed;right:20px;width:180px;z-index:9999}.total-time-top-right{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:999px;box-shadow:0 10px 25px #00000026;color:#92400e;font-size:15px;font-weight:700;margin-top:20px;padding:10px 18px;position:fixed;right:20px;top:14px;z-index:10000}@media (max-width:768px){.exam-wrapper{padding-top:70px}.total-time-top-right{font-size:14px;padding:8px 16px;right:50%;top:10px;transform:translateX(50%)}.exam-container{flex-direction:column;gap:16px;padding:16px}.question-panel{border-radius:12px;padding:20px;width:100%}.question-panel h2{font-size:20px;line-height:1.5}.options-panel{padding:0;width:100%}.option-tile{font-size:15px;padding:14px}.opt-circle{font-size:14px;height:32px;width:32px}.nav-buttons{flex-direction:column;gap:12px;margin-top:20px}.nav-buttons button{font-size:16px;padding:14px;width:100%}.result-modal{padding:24px;width:90%}.start-screen h1{font-size:24px;text-align:center}.rules{font-size:14px}.start-btn{font-size:16px;padding:14px;width:90%}}@media (max-width:480px){.exam-container{gap:10px;padding:10px}.question-panel{margin-bottom:8px;padding:14px}.question-panel h2{font-size:18px;line-height:1.4;margin-top:0}.total-time-top-right{font-size:13px;margin-top:0;padding:6px 14px}.options-panel{padding:0}.option-tile{border-radius:10px;gap:10px;margin-bottom:10px;padding:10px 12px}.opt-circle{font-size:13px;height:28px;width:28px}.option-tile span:last-child{font-size:14px;line-height:1.4}.nav-buttons{gap:10px;margin-top:12px}.nav-buttons button{border-radius:8px;font-size:14px;padding:12px}.progress-bar{height:0!important;max-height:0!important}.exam-wrapper{min-height:auto}}.coming-soon-container{align-items:center;background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);display:flex;height:100vh;justify-content:center}.coming-soon-card{animation:float 3s ease-in-out infinite;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border-radius:16px;box-shadow:0 20px 40px #0000004d;color:#fff;padding:50px 60px;text-align:center}.rocket-icon{color:#fc0;font-size:64px;margin-bottom:20px}.coming-soon-card h1{font-size:32px;margin-bottom:12px}.coming-soon-card p{font-size:16px;opacity:.9}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.mcq-report-page{background:#f7f9fc;padding:32px}.mcq-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.mcq-header h2{font-size:24px;margin:0}.header-actions{align-items:center;flex-wrap:wrap}.header-filter{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:6px 8px}.filter-bar select{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}.mark-filter{display:flex;gap:6px}.mark-filter input{border:1px solid #d1d5db;border-radius:6px;font-size:13px;padding:6px 8px;width:90px}.mark-filter span{color:#6b7280}.mcq-card{box-shadow:0 12px 30px #00000014;padding:20px}.report-table{margin-top:14px}.report-table td,.report-table th{border-bottom:1px solid #e5e7eb;padding:12px;text-align:left}.report-table th{background:#f3f4f6}.status{color:#6b7280;margin-top:20px;text-align:center}.status.error{color:#dc2626}.analysis-btn,.back-btn,.download-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 14px}.analysis-btn{background:#6366f1;color:#fff}.download-btn{background:#16a34a;color:#fff}.back-btn{background:#e5e7eb}.analysis-modal{background:#fff;border-radius:14px;overflow:hidden;width:520px}.modal-header{background:#f3f4f6;padding:14px 18px}.modal-body{padding:18px}.bar-row{align-items:center;display:flex;gap:10px;margin-bottom:10px}.bar-label{width:40px}.bar-track{background:#e5e7eb;border-radius:6px;flex:1 1;height:10px;overflow:hidden}.bar-fill{background:#6366f1;height:100%}.bar-count{text-align:right;width:30px}.student-container{box-shadow:0 12px 35px #0000001f;max-width:520px;padding:28px 32px}.student-container h2{margin-bottom:20px}.student-container h3{color:#374151;font-size:16px;font-weight:600;margin-bottom:12px;margin-top:25px}.student-form{grid-row-gap:12px;display:grid;grid-template-columns:1fr;row-gap:12px}.student-form input,.student-form select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;outline:none;padding:11px 12px;transition:all .2s ease;width:100%}.student-form input::placeholder{color:#9ca3af}.student-form input:focus,.student-form select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.student-form button{padding:12px;transition:transform .15s ease,box-shadow .15s ease}.student-form button:hover:not(:disabled){box-shadow:0 6px 18px #4f46e559}.student-container hr{border:none;border-top:1px solid #e5e7eb;margin:28px 0 18px}.student-container input[type=file]{background:#f9fafb;border:1px dashed #9ca3af;border-radius:8px;cursor:pointer;font-size:14px;padding:10px;width:100%}.student-container input[type=file]::-webkit-file-upload-button{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-right:12px;padding:8px 14px}.message:has(text){color:#16a34a}@media (max-width:520px){.student-container{margin:20px;padding:24px}}.page-wrapper{background:linear-gradient(180deg,#f8fafc,#eef2ff);font-family:Inter,system-ui;min-height:100vh;padding:50px 20px}.assign-card{background:#fff;border-radius:20px;box-shadow:0 25px 60px #0000001f;margin:auto;max-width:760px;padding:32px}.card-title{font-size:26px;font-weight:700;text-align:center}.card-subtitle{color:#6b7280;margin-bottom:24px;text-align:center}.section{margin-bottom:22px}.section-title{color:#374151;font-size:14px;font-weight:700;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}label{color:#374151;font-size:13px;font-weight:600}select{border:1px solid #d1d5db;border-radius:10px;padding:12px;transition:.2s}select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.tab-pills{display:flex;gap:12px;margin-bottom:24px}.tab-pills button{background:#e5e7eb;border:none;border-radius:999px;cursor:pointer;flex:1 1;font-weight:600;padding:10px}.tab-pills .active{background:#6366f1;color:#fff}.batch-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.batch-pill{align-items:center;background:#f1f5f9;border-radius:999px;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 14px}.batch-pill.active{background:#6366f1;color:#fff}.batch-pill input{accent-color:#6366f1}.primary-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:14px;padding:14px;transition:.25s}.primary-btn:hover{box-shadow:0 10px 25px #6366f159}.message-box{border-radius:12px;font-weight:600;margin-top:16px;padding:12px;text-align:center}.message-box.success{background:#ecfdf5;color:#047857}.message-box.error{background:#fef2f2;color:#b91c1c}.assignment-page{margin:auto;max-width:1200px;padding:30px}.page-title{font-size:24px;font-weight:600;margin-bottom:20px}.assignment-card{border-radius:10px;padding:25px}label{display:block;font-size:14px;margin-bottom:5px;opacity:.85}input,textarea{border:none;border-radius:6px;margin-bottom:15px;padding:10px;width:100%}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2fr 1fr}.question-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:20px}.question-box{background:#fff;border-radius:8px;padding:15px}.question-box h4,.search-box{margin-bottom:10px}.question-list{max-height:320px;overflow-y:auto}.question-row{align-items:center;background:#fff;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px}.q-title{font-weight:500}.badge{border-radius:12px;display:inline-block;font-size:11px;margin-top:5px;padding:3px 8px}.badge.easy{background:#16a34a}.badge.medium{background:#f59e0b}.badge.hard{background:#dc2626}.add-btn{background:#22c55e;border-radius:6px;padding:6px 14px}.add-btn:disabled{background:#475569}.remove-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;padding:6px 10px}.actions{display:flex;justify-content:flex-end;margin-top:20px}.primary-btn{border-radius:6px;font-weight:600;padding:10px 20px}.empty{opacity:.6}.assignment-card label{color:#fff;display:block;font-size:14px;font-weight:500;margin-bottom:6px;opacity:1}.assignment-list-page{margin:0 auto;max-width:1200px;padding:32px}.page-header{margin-bottom:28px}.page-header h2{color:#0f172a;font-weight:700}.subtitle{color:#64748b;margin-top:4px}.primary-btn-create-assignment{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 18px;transition:transform .15s ease,box-shadow .15s ease}.primary-btn:hover{box-shadow:0 10px 20px #2563eb40;transform:translateY(-1px)}.outline-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-weight:500;padding:8px 14px;transition:background .2s ease}.outline-btn:hover{background:#f8fafc}.assignment-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.assignment-card{border:1px solid #e5e7eb;padding:18px;transition:transform .2s ease,box-shadow .2s ease}.assignment-card:hover{box-shadow:0 14px 30px #0f172a14;transform:translateY(-3px)}.card-top{align-items:start;gap:10px}.card-top h3{color:#0f172a;font-size:16px;font-weight:600;line-height:1.3}.status{font-size:11px}.status.active{background:#ecfdf5;color:#047857}.status.overdue{background:#fef2f2;color:#b91c1c}.card-info{grid-gap:14px;gap:14px;margin:18px 0}.card-info label{color:#64748b;display:block;font-size:11px;margin-bottom:2px}.card-info span{color:#0f172a;font-size:14px;font-weight:500}.card-actions{display:flex;justify-content:flex-end}.empty-state{border:2px dashed #e5e7eb;border-radius:16px;padding:80px 20px}.empty-state h3{color:#0f172a;font-size:20px;font-weight:600;margin-bottom:8px}.empty-state p{margin-bottom:20px}.empty-state p,.page-loader{color:#64748b;font-size:14px}.page-loader{padding:80px}.course-page{background:#fff;font-family:Inter,system-ui;padding:40px 50px}.course-header{margin-bottom:32px}.course-header h2{color:#0f172a;font-size:28px;font-weight:700}.course-header p{color:#64748b;font-size:15px;margin-top:6px}.course-grid.fixed-3{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.course-card{border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;min-height:200px;position:relative;transition:box-shadow .25s ease,transform .25s ease}.course-card:hover{box-shadow:0 10px 24px #0f172a14;transform:translateY(-3px)}.course-card h3{color:#0f172a;font-size:18px;font-weight:600;margin-bottom:8px;padding-right:80px}.mcq-meta{color:#475569;font-size:14px;margin-bottom:22px}.completed-badge{background:#dcfce7;border:1px solid #86efac;border-radius:999px;color:#166534;font-size:12px;font-weight:600;padding:4px 12px;position:absolute;right:16px;top:16px}.assignment-toggle{display:flex;gap:12px;margin:20px 0 30px}.assignment-toggle button{background:#fff;border:1px solid #d1d5db;border-radius:20px;cursor:pointer;font-size:14px;padding:8px 18px;transition:all .2s ease}.assignment-toggle button:hover{background:#f3f4f6}.assignment-toggle button.active{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:500}.course-btn{background:#2563eb;border:1px solid #2563eb;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:background .2s ease,transform .15s ease;width:100%}.course-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.course-btn:disabled{background:#e5e7eb;border-color:#e5e7eb;color:#9ca3af}.course-card.ghost{background:#f9fafb;border:2px dashed #e5e7eb;box-shadow:none;cursor:default}.course-card.ghost:hover{box-shadow:none;transform:none}.ghost-line{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 37%,#e5e7eb 63%);background-size:400% 100%;border-radius:6px}.ghost-line.title{height:20px;margin-bottom:16px;width:70%}.ghost-line.text{height:14px;width:50%}.ghost-btn{background:#e5e7eb;border-radius:8px;height:42px;margin-top:30px;width:100%}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.empty-state{background:#fff;border:1px dashed #cbd5f5;border-radius:12px;color:#64748b;padding:60px}.course-loader{align-items:center;color:#64748b;display:flex;font-size:16px;height:70vh;justify-content:center}.expired-badge{background-color:#ffe5e5;border-radius:20px;color:#d32f2f;display:inline-block;font-size:12px;font-weight:600;margin-bottom:10px;padding:4px 10px}.expired-card{border:1px solid #fcc}.course-btn:disabled{cursor:not-allowed;opacity:.7}.assignment-solve-page{background:#fff;display:flex;flex-direction:column;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;height:100vh;overflow:hidden;width:100%}.assignment-header{background:#fff;padding:28px 40px}.assignment-header h2{color:#020617;font-size:26px;font-weight:700}.assignment-header p{color:#64748b;font-size:14px;margin-top:6px}.assignment-meta{color:#475569;font-size:14px;font-weight:500}.assignment-body{display:flex;flex:1 1;justify-content:center;overflow-y:auto;padding:40px}.questions-section{max-width:1100px;width:100%}.questions-section h3{color:#020617;font-size:22px;font-weight:600;margin-bottom:24px;padding-left:14px;position:relative}.questions-section h3:before{background:#2563eb;border-radius:4px;content:"";height:20px;left:0;position:absolute;top:4px;width:4px}.question-list{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.question-card{background:#fff;border-radius:16px;box-shadow:0 8px 24px #0000000d;display:flex;flex-direction:column;min-height:180px;transition:transform .25s ease,box-shadow .25s ease}.question-card:hover{box-shadow:0 16px 40px #00000014;transform:translateY(-4px)}.question-card.completed{background:#f0fdf4;border-color:#10b981}.question-top{margin-bottom:10px}.question-index{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.question-title{color:#020617;font-size:18px;font-weight:600;line-height:1.4;margin-bottom:26px}.solve-btn{background:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 16px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;width:100%}.solve-btn:hover{background:#1d4ed8;box-shadow:0 10px 22px #2563eb59;transform:translateY(-2px)}.assignment-loader{align-items:center;background:#fff;color:#475569;display:flex;font-size:16px;height:100vh;justify-content:center}@media (max-width:1024px){.assignment-header{padding:24px 32px}.assignment-body{padding:32px 24px}.question-list{gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.question-card{padding:20px}.question-title{font-size:16px;margin-bottom:20px}}@media (max-width:767px){.assignment-solve-page{overflow-x:hidden}.assignment-header{align-items:flex-start;flex-direction:column;gap:16px;padding:20px 20px 16px}.assignment-header h2{font-size:22px}.assignment-header p{font-size:13px}.assignment-header-right{flex-wrap:wrap;gap:12px;justify-content:space-between;width:100%}.assignment-timer{font-size:12px;padding:6px 10px}.assignment-meta{font-size:12px}.end-test-btn{font-size:14px;padding:8px 16px}.assignment-body{padding:20px 16px}.questions-section h3{font-size:18px;margin-bottom:20px}.question-list{gap:20px;grid-template-columns:1fr}.question-card{border-radius:12px;padding:18px}.question-index{font-size:11px}.question-title{font-size:15px;margin-bottom:18px}.solve-btn{font-size:14px;padding:10px 14px}}@media (max-width:480px){.assignment-header{padding:16px 16px 12px}.assignment-header h2{font-size:20px;line-height:1.3}.assignment-header p{font-size:12px;margin-top:4px}.assignment-header-right{gap:8px}.assignment-timer{font-size:11px;padding:5px 8px}.assignment-meta{font-size:11px}.end-test-btn{font-size:13px;min-width:80px;padding:8px 12px}.assignment-body{padding:16px 12px}.questions-section{max-width:100%}.questions-section h3{font-size:16px;margin-bottom:16px;padding-left:12px}.questions-section h3:before{height:16px;top:3px;width:3px}.question-list{gap:16px}.question-card{border-radius:10px;padding:16px}.question-index{font-size:10px;letter-spacing:.3px}.question-title{font-size:14px;line-height:1.4;margin-bottom:16px}.solve-btn{border-radius:8px;font-size:13px;padding:10px 12px}.modal-content{margin:20px;padding:24px 20px;width:calc(100% - 40px)}.modal-content h3{font-size:18px;margin-bottom:12px}.modal-content p{font-size:14px;margin-bottom:20px}.modal-buttons{flex-direction:column;gap:12px}.cancel-btn,.confirm-btn{font-size:15px;padding:12px 16px;width:100%}.modal-overlay{padding:20px}.modal-content{margin:0;max-width:none;width:100%}}@media (max-width:320px){.assignment-header{padding:12px 12px 8px}.assignment-timer{font-size:10px;padding:4px 6px}.assignment-header h2{font-size:18px}.assignment-body{padding:12px 8px}.question-card{padding:14px}.question-title{font-size:13px}.solve-btn{font-size:12px;padding:9px 10px}}@media (hover:none) and (pointer:coarse){.question-card:hover{box-shadow:0 8px 24px #0000000d;transform:none}.solve-btn:hover{box-shadow:none;transform:none}.solve-btn:active{transform:scale(.98)}.end-test-btn:hover{background:#dc2626}.end-test-btn:active{transform:scale(.95)}}@media (min-width:1440px){.questions-section{max-width:1400px}.question-list{gap:32px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.question-card{padding:28px}.question-title{font-size:20px}}@media (max-height:500px) and (orientation:landscape){.assignment-header{padding:12px 20px}.assignment-header h2{font-size:20px}.assignment-body{padding:12px 16px}.question-card{padding:16px}.question-list{gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}.assignment-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding-bottom:16px}.assignment-header-right{align-items:center;display:flex;gap:16px}.end-test-btn{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 18px}.end-test-btn:hover{background:#b91c1c}.end-test-btn:disabled{cursor:not-allowed;opacity:.6}.assignment-timer{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;font-weight:600;padding:8px 12px;white-space:nowrap}.assignment-timer strong{color:#b91c1c}.modal-backdrop{background:#0f172a73;z-index:999}.modal-card{animation:modalPop .25s ease;background:#fff;border-radius:16px;box-shadow:0 20px 50px #00000040;max-width:420px;padding:28px;width:100%}.modal-card h3{color:#020617;font-size:20px;font-weight:700;margin-bottom:12px}.modal-card p{color:#475569;font-size:14px;line-height:1.6}.modal-actions{margin-top:24px}.modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px}.modal-btn.primary{background:#dc2626;color:#fff}.modal-btn.primary:hover{background:#b91c1c}.modal-btn.secondary{background:#e5e7eb;color:#020617}.modal-btn.secondary:hover{background:#d1d5db}.modal-btn:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{background:#00000080}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:400px;padding:30px;text-align:center;width:90%}.modal-content h3{color:#020617;font-size:20px;margin-bottom:15px}.modal-content p{color:#64748b;margin-bottom:25px}.modal-buttons{display:flex;gap:15px;justify-content:center}.cancel-btn{background:#e5e7eb;border:none;border-radius:8px;color:#020617;cursor:pointer;font-weight:600;padding:10px 20px}.cancel-btn:hover{background:#d1d5db}.confirm-btn{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.confirm-btn:hover{background:#b91c1c}.fullscreen-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.fullscreen-card{background:#fff;border-radius:12px;box-shadow:0 25px 50px #00000040;max-width:420px;padding:32px 40px;text-align:center}.fullscreen-card h2{font-size:22px;font-weight:700;margin-bottom:12px}.fullscreen-card p{color:#475569;font-size:14px;margin-bottom:20px}.fullscreen-card button{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.fullscreen-card button:hover{background:#1d4ed8}.assignment-root{background:#f8fafc;color:#0f172a;font-family:Inter,system-ui;height:100vh}.assignment-layout{display:grid;grid-template-columns:45% 55%;height:100%}.assignment-left{background:#fff;border-right:1px solid #e5e7eb;overflow-y:auto;padding:24px}.question-card{border:1px solid #e5e7eb;border-radius:12px;padding:24px}.question-header{align-items:center;display:flex;justify-content:space-between}.question-header h1{font-size:22px;font-weight:700}.difficulty.easy{border-radius:999px;font-size:12px;padding:4px 10px}.question-description{color:#334155;line-height:1.6;margin-top:16px}.section-title{font-weight:600;margin:28px 0 12px}.sample-box{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px;padding:12px}.sample-box pre{background:#f8fafc;border-radius:6px;padding:8px}.assignment-right{display:flex;flex-direction:column}.editor-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:12px}.editor-wrapper{flex:1 1}.editor-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:12px}.btn{border-radius:8px;font-weight:600;padding:10px 18px}.btn.ghost{background:#0000;border:1px solid #d1d5db}.btn.primary{background:#2563eb;border:none;color:#fff}.result-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin:20px;padding:20px}.result-table{border-collapse:collapse;width:100%}.result-table td,.result-table th{border:1px solid #e5e7eb;padding:10px}.result-table pre{background:#f8fafc;border-radius:6px;padding:6px}.status.ok{background:#dcfce7;color:#15803d}.status.fail,.status.ok{border-radius:999px;padding:4px 10px}.status.fail{background:#fee2e2;color:#b91c1c}.submit-summary-text{display:flex;font-size:16px;font-weight:600;gap:24px;justify-content:center}.submit-summary-text .passed{color:#15803d}.submit-summary-text .failed{color:#b91c1c}@media (max-width:768px){.assignment-layout{display:flex;flex-direction:column;height:auto}.assignment-left{border-bottom:1px solid #e5e7eb;border-right:none;height:auto;padding:16px;width:100%}.assignment-right{height:100%;width:100%}.editor-header{flex-wrap:wrap;gap:8px}.editor-wrapper{height:55vh}.editor-actions{background:#fff;bottom:0;position:-webkit-sticky;position:sticky;z-index:10}.result-container{margin:12px;overflow-x:auto}.result-table{font-size:13px}.question-header h1{font-size:18px}}.students-page{animation:fadeIn .4s ease;padding:24px}.page-header h2{font-size:24px;margin:0}.page-header p{color:#777;margin-top:4px}.stats-row{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:20px 0}.stat-card{background:linear-gradient(135deg,#eef2ff,#f8f9ff);border-radius:14px;padding:16px;transition:transform .2s ease}.stat-card:hover{transform:translateY(-4px)}.stat-card span{color:#666;font-size:13px}.stat-card strong{display:block;font-size:22px;margin-top:6px}.search-bar{margin-bottom:14px}.search-bar input{border:1px solid #ddd;border-radius:10px;font-size:14px;padding:12px 14px;width:100%}.search-bar input:focus{border-color:#6c7cff;outline:none}.table-wrapper{border:1px solid #eee}.students-table{border-collapse:collapse;width:100%}.students-table td,.students-table th{border-bottom:1px solid #eee;padding:14px;text-align:left}.students-table thead{background:#f6f7fb}.students-table tbody tr:hover{background:#f9fbff}.pagination{gap:16px;margin-top:18px}.pagination button{background:#6c7cff;color:#fff;font-size:14px}.pagination button:disabled{background:#ccc}.pagination span{color:#444}.empty-state,.page-loader{color:#888;font-size:16px;padding:50px;text-align:center}.tickets-wrapper{background:#f5f7fb;font-family:Inter,system-ui,sans-serif;margin:40px auto;max-width:960px;padding:20px}.tickets-header{align-items:center;animation:slideDown .5s ease;background:#fff;border-radius:14px;box-shadow:0 8px 30px #00000014;display:flex;justify-content:space-between;margin-bottom:30px;padding:24px}.student-email{color:#64748b;font-size:14px}.create-ticket-box{animation:slideDown .5s ease .1s both;background:#fff;border-radius:14px;box-shadow:0 8px 30px #00000014;margin-bottom:30px;padding:24px}.ticket-textarea{border:1px solid #cbd5e1;border-radius:10px;font-size:15px;margin-bottom:16px;min-height:120px;padding:14px;width:100%}.ticket-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33;outline:none}.primary-btn{background:#2563eb;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s ease}.primary-btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-2px)}.primary-btn:active:not(:disabled){transform:translateY(0)}.primary-btn:disabled{background:#93c5fd;opacity:.8}.ripple:after{background:#ffffff80;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.ripple:active:after{opacity:1;transition:opacity .3s}.search-box input{animation:slideDown .5s ease .15s both;border:1px solid #cbd5e1;border-radius:12px;font-size:14px;margin-bottom:24px;padding:14px;transition:all .3s ease;width:100%}.search-box input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.ticket-card{background:#fff;border-radius:14px;box-shadow:0 6px 20px #0000000f;margin-bottom:20px;padding:20px;transition:transform .2s,box-shadow .2s}.ticket-card:hover{box-shadow:0 12px 35px #0000001f;transform:translateY(-4px)}.new-ticket{animation:slideFade .6s ease-out}.ticket-card-header{display:flex;justify-content:space-between;margin-bottom:10px}.ticket-issue{font-size:15px;margin-bottom:12px}.answer-box{background:#f1f5f9;border-radius:10px;padding:14px}.answer-box,.resolved-date{margin-top:10px}.empty-text{color:#64748b}.page-title{padding-bottom:8px}.page-subtitle{color:#475569;margin-bottom:10px}.section-title{margin-bottom:14px;padding-top:6px}.toast{font-weight:500;z-index:9999}@keyframes slideFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.table-wrapper{animation:slideDown .5s ease .2s both}.issue-cell{max-width:420px}.detail-item.response-item{border-left-color:#16a34a}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;gap:6px;padding:6px 14px;transition:all .2s}.status-badge.resolved{background:#dcfce7;color:#166534}.status-badge.not_resolved{background:#fee2e2;color:#991b1b}.status-badge.resolved .status-dot{background:#16a34a}.status-badge.not_resolved .status-dot{background:#dc2626}.answered{color:#16a34a}.answered,.pending{font-size:14px;font-weight:600}.pending{color:#d97706}.answer-row{animation:fadeIn .4s ease;background:#f8fafc;border-left:4px solid #2563eb;border-radius:8px;margin:10px 0 20px;padding:14px 18px}.resolved-date{color:#475569;display:block;font-size:13px;margin-top:6px}.new-ticket-row{animation:slideFade .5s ease}.admin-wrapper{background:#f5f7fb;font-family:Inter,system-ui;margin:40px auto;max-width:1100px;padding:20px}.admin-header{animation:slideDown .5s ease;background:#fff;border-radius:14px;box-shadow:0 10px 30px #00000014;margin-bottom:20px;padding:24px}.admin-header h2{color:#1e293b;margin-top:0}.admin-header p{color:#64748b;margin:6px 0 0}.filters{display:flex;gap:12px;margin-bottom:16px}.filters input,.filters select{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px}.table-wrapper{box-shadow:0 10px 30px #00000014;overflow:hidden}table{border-collapse:collapse;width:100%}thead{background:#f1f5f9}td,th{padding:14px;text-align:left}th.sortable{cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}th.sortable:hover{background-color:#e2e8f0}th.sortable span{font-size:12px;margin-left:4px}.expand-icon{cursor:pointer;padding:14px 10px;transition:transform .2s;width:40px}.expand-icon span{color:#64748b;font-size:12px}.ticket-row{border-bottom:1px solid #e2e8f0;cursor:pointer;transition:all .3s ease}.ticket-row:hover{background-color:#f8fafc;box-shadow:inset 0 0 10px #2563eb0d}.ticket-row.expanded{background-color:#eff6ff}.issue-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{align-items:center;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 14px;transition:all .2s}.badge.resolved{background:#dcfce7;color:#166534}.badge.not_resolved{background:#fee2e2;color:#991b1b}.status-dot{animation:pulse 2s infinite;border-radius:50%;display:inline-block;height:8px;width:8px}.badge.resolved .status-dot{background:#16a34a}.badge.not_resolved .status-dot{background:#dc2626}.resolve-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:8px 14px;transition:all .3s ease}.resolve-btn:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-2px)}.resolve-btn:active{transform:translateY(0)}.done{color:#16a34a;font-size:18px;font-weight:700}.empty{color:#64748b}.expanded-details{animation:slideDown .3s ease;background:#f8fafc}.details-content{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:16px}.detail-item{background:#fff;border-left:3px solid #2563eb;border-radius:8px;padding:12px}.detail-item strong{color:#1e293b;display:block;font-size:13px;margin-bottom:6px}.detail-item p{color:#475569;font-size:13px;line-height:1.4;margin:0;word-break:break-word}.modal-backdrop{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006}.modal{animation:scaleIn .3s ease;border-radius:14px;box-shadow:0 20px 60px #0003;width:450px}.modal h3{color:#1e293b;font-size:18px;margin-bottom:16px;margin-top:0}.modal-issue{background:#f8fafc;border-left:3px solid #2563eb;border-radius:8px;font-size:14px;line-height:1.5;margin-bottom:16px;padding:12px}.modal-issue b{color:#1e293b}.modal textarea{border:1px solid #cbd5e1;border-radius:10px;font-family:inherit;font-size:14px;margin-bottom:16px;min-height:120px;padding:12px;resize:vertical;transition:all .3s ease;width:100%}.modal textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.modal-actions{gap:10px;justify-content:flex-end}.modal-actions button{font-weight:500;padding:10px 16px;transition:all .3s ease}.modal-actions .cancel{background:#e5e7eb;color:#374151}.modal-actions .cancel:hover{background:#d1d5db;transform:translateY(-2px)}.modal-actions .confirm{background:#16a34a;color:#fff}.modal-actions .confirm:hover:not(:disabled){background:#15803d;box-shadow:0 4px 12px #16a34a4d;transform:translateY(-2px)}.modal-actions .confirm:disabled{cursor:not-allowed;opacity:.6}@keyframes scaleIn{0%{transform:scale(.9)}to{transform:scale(1)}}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:500px;opacity:1;transform:translateY(0)}}.controls{animation:slideDown .5s ease .1s both;gap:10px;justify-content:space-between;margin-bottom:14px}.controls input{border:1px solid #cbd5e1;border-radius:10px;font-size:14px;padding:10px 12px;transition:all .3s ease;width:260px}.controls input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.controls input::placeholder{color:#94a3b8}.toggle-group{animation:slideDown .5s ease .1s both;background:#e5e7eb;border-radius:12px;display:flex;padding:4px}.toggle-group button{background:#0000;border:none;border-radius:10px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.toggle-group button:hover{background:#d1d5db}.toggle-group button.active{background:#2563eb;box-shadow:0 2px 8px #2563eb4d;color:#fff}.pagination{align-items:center;animation:slideDown .5s ease .2s both;display:flex;gap:14px;justify-content:center;margin-top:16px}.pagination button{background:#e5e7eb;border:none;border-radius:8px;color:#1e293b;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .3s ease}.pagination button:hover:not(:disabled){background:#d1d5db;transform:translateY(-2px)}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination span{color:#64748b;font-size:14px}.toast{animation:slideIn .4s ease,fadeOut .4s ease 2.6s forwards;border-radius:10px;color:#fff;font-size:14px;padding:14px 22px;position:fixed;right:24px;top:24px;z-index:999}.toast.success{background:#16a34a}.toast.error{background:#dc2626}@keyframes fadeOut{to{opacity:0;transform:translateX(40px)}}.dashboard-container{background:#f7f9fc;min-height:100vh;padding:40px}.dashboard-title{color:#222;font-size:28px;font-weight:600;margin-bottom:30px}.dashboard-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dashboard-card{background:#fff;border-radius:14px;box-shadow:0 10px 25px #00000014;padding:30px 24px;text-align:center;width:-webkit-fit-content;width:fit-content}.dashboard-card:hover{box-shadow:0 18px 40px #0000001f;transform:translateY(-8px)}.card-icon{font-size:48px;margin-bottom:16px}.dashboard-card h2{color:#111;font-size:20px;margin-bottom:8px;max-width:30%;width:-webkit-fit-content;width:fit-content}.dashboard-card p{color:#555;font-size:14px;line-height:1.5}.course-page{background:#f7f9fc;min-height:100vh;padding:40px}.course-title{font-size:26px;font-weight:600;margin-bottom:30px}.course-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.course-card{background:#fff;border-radius:14px;box-shadow:0 10px 25px #00000014;padding:24px;transition:transform .25s ease}.course-card:hover{transform:translateY(-6px_toggle)}.course-card h2{color:#111;font-size:18px;margin-bottom:10px}.course-card p{color:#555;font-size:14px;line-height:1.5}.assignment-page{background:#f7f9fc}.assignment-title{font-size:26px;font-weight:600;margin-bottom:30px}.assignment-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.assignment-card{border-radius:14px;box-shadow:0 10px 25px #00000014;padding:24px;transition:all .25s ease}.assignment-card:hover{box-shadow:0 18px 40px #0000001f}.assignment-card h2{font-size:18px;margin-bottom:10px}.assignment-card .desc{color:#555;font-size:14px;line-height:1.5;margin-bottom:16px}.assignment-meta{color:#333;display:flex;font-size:13px;justify-content:space-between}.mcq-page{background:#f7f9fc}.mcq-title{font-size:26px;font-weight:600;margin-bottom:30px}.mcq-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.mcq-card{border-radius:14px;box-shadow:0 10px 25px #00000014;padding:24px;transition:all .25s ease}.mcq-card:hover{box-shadow:0 18px 40px #0000001f}.mcq-card h2{font-size:18px;margin-bottom:8px}.category{color:#555;margin-bottom:14px}.mcq-meta{color:#333;display:flex;font-size:13px;justify-content:space-between}.empty-text,.page-error,.page-loader{color:#555;padding:20px}.student-container{background:#fff;border-radius:14px;box-shadow:0 14px 40px #0000001f;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin:40px auto;max-width:560px;padding:30px 34px}.student-container h2{color:#111827;font-size:22px;font-weight:700;margin-bottom:22px;text-align:center}.student-form{display:flex;flex-direction:column;gap:14px}.student-form select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;cursor:pointer;font-size:14px;padding:11px 12px;transition:border .2s ease,box-shadow .2s ease;width:100%}.student-form select:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.student-form select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.student-form button{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:10px;padding:13px;transition:all .15s ease}.student-form button:hover:not(:disabled){box-shadow:0 8px 20px #4f46e559;transform:translateY(-1px)}.student-form button:disabled{background:#9ca3af;cursor:not-allowed}.batch-checkbox-group{background:#f9fafb;border:1px solid #d1d5db;border-radius:10px;padding:12px 14px}.batch-checkbox-group .label{color:#111827;font-size:14px;font-weight:600;margin-bottom:10px}.batch-checkbox{align-items:center;color:#1f2937;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:6px 2px}.batch-checkbox input{accent-color:#6366f1;cursor:pointer;height:16px;width:16px}.batch-checkbox:hover{color:#4f46e5}.message{color:#065f46;font-size:14px;font-weight:600;margin-top:18px;text-align:center}@media (max-width:600px){.student-container{margin:20px;padding:24px}}.page-header p{color:#555}.header-stats strong{display:block;font-size:22px}.mcq-card{transition:transform .25s,box-shadow .25s}.card-top{display:flex;justify-content:space-between;margin-bottom:14px}.badge{background:linear-gradient(90deg,#4c6ef5,#15aabf)}.badge,.chip{border-radius:14px}.chip{background:#eef2ff;font-size:12px;padding:4px 10px}.mcq-card h3{font-size:20px;font-weight:700}.meta{color:#444;margin:14px 0}.mcq-card button{background:linear-gradient(90deg,#4c6ef5,#364fc7);border:none;border-radius:10px;color:#fff;font-weight:600;padding:12px;width:100%}.modal-overlay{background:#000000b3}.modal{max-width:96%}.question{margin:16px 0}.option{align-items:center}.modal-actions button{border-radius:6px;padding:8px 16px}.mcq-page{background:linear-gradient(180deg,#f4f8ff,#fff);padding:28px}.page-header{align-items:center;display:flex;justify-content:space-between}.page-header h2{font-weight:800}.header-stats{display:flex;gap:20px}.header-stats div{background:#fff;border-radius:12px;box-shadow:0 8px 20px #00000014;padding:12px 18px;text-align:center}.mcq-grid{grid-gap:22px;gap:22px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.mcq-card{box-shadow:0 14px 32px #00000014;transition:all .3s}.mcq-card:hover{box-shadow:0 22px 45px #00000026;transform:translateY(-8px)}.modal-overlay{background:#000000bf}.modal{border-radius:18px;padding:26px;position:relative}.modal.animated{animation:zoomIn .35s ease}@keyframes zoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.modal.blurred{filter:blur(3px)}.watermark{align-items:center;color:#0000000a;display:flex;font-size:28px;inset:0;justify-content:center;pointer-events:none;position:absolute;transform:rotate(-25deg)}.progress-bar{background:#eee;border-radius:6px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4c6ef5,#15aabf);height:100%;transition:width .4s ease}.options{list-style:none;padding:0}.option{background:#f5f7ff;border-radius:10px;display:flex;gap:10px;margin-bottom:10px;padding:12px;transition:all .2s}.option:hover{transform:scale(1.02)}.option.correct{background:#d4f7dc}.option.wrong{background:#fdecea}.tag{border-radius:6px;color:#fff;font-size:12px;margin-left:auto;padding:4px 8px}.success{background:#2e7d32}.info{background:#4c6ef5}.explanation{background:#eef3ff;border-radius:10px;margin-top:14px;padding:14px}.animated-fade{animation:fadeIn .3s ease}.modal-actions{justify-content:space-between}.modal-actions button{border:none;border-radius:8px;cursor:pointer;padding:10px 18px}.modal-actions button:disabled{cursor:not-allowed;opacity:.4}.close{background:#e53935;color:#fff}.page-loader{font-size:18px;padding:40px;text-align:center}.mcq-page{background:#f8fafc}.mcq-title{color:#1e293b;font-size:32px;font-weight:700;text-align:center}.mcq-subtitle{color:#64748b;font-size:15px;margin-bottom:40px;margin-top:8px;text-align:center}.mcq-grid{grid-gap:28px;gap:28px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:auto}.mcq-card{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;padding:28px;position:relative;transition:all .3s ease}.mcq-card:before{background:linear-gradient(120deg,#6366f1,#22d3ee);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s;width:-webkit-max-content;width:max-content;z-index:0}.mcq-card:hover:before{opacity:.08}.mcq-card>*{position:relative;z-index:1}.mcq-card:hover{box-shadow:0 25px 40px #0000001f;transform:translateY(-8px) scale(1.02)}.category-card .mcq-icon{font-size:42px;margin-bottom:12px;width:-webkit-fit-content;width:fit-content}.mcq-desc{color:#475569;font-size:14px;line-height:1.6;margin-top:10px}.test-card h2{color:#1e293b;font-size:20px}.test-card{display:flex;flex-direction:column;justify-content:space-between;min-height:220px}.mcq-grid{grid-gap:32px;align-items:stretch;gap:32px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:40px auto;max-width:1200px}.mcq-card-actions{gap:12px;margin-top:auto}.mcq-card-actions button{border-radius:10px;flex:1 1;font-weight:600;padding:12px 0}.category{color:#475569;margin-top:8px}.mcq-card-actions{display:flex;gap:8px;margin-top:16px;width:100%}.btn-assign,.btn-view{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 14px;transition:all .3s ease}.btn-view{background:#e7f5ff;border:1px solid #b3d9ff;color:#1971c2}.btn-view:hover{background:#d0ebff;transform:translateY(-2px)}.btn-assign{background:#f3f0ff;border:1px solid #d8b4ff;color:#7950f2}.btn-assign:hover{background:#e5dbff;transform:translateY(-2px)}.assign-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.assign-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 50px #0003;max-width:500px;padding:28px;width:90%}.assign-modal h2{border-bottom:2px solid #e5e7eb;color:#1e293b;font-size:22px;margin:0 0 20px;padding-bottom:16px}.assign-form{gap:16px}.assign-form,.form-group{display:flex;flex-direction:column}.form-group label{color:#475569;font-size:13px;font-weight:600;margin-bottom:6px}.form-group select{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 12px;transition:all .2s ease}.form-group select:hover{border-color:#7950f2}.form-group select:focus{background:#fff;border-color:#7950f2;outline:none}.form-group select:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.5}.students-info{background:#f0f4ff;border-left:4px solid #7950f2;border-radius:8px;color:#5e4fa2;font-size:14px;font-weight:600;padding:12px}.modal-actions{display:flex;gap:12px;margin-top:20px}.btn-assign-submit,.btn-cancel{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .3s ease}.btn-assign-submit{background:linear-gradient(135deg,#7950f2,#5e4fa2);color:#fff}.btn-assign-submit:hover:not(:disabled){box-shadow:0 6px 16px #7950f24d;transform:translateY(-2px)}.btn-assign-submit:disabled{cursor:not-allowed;opacity:.5}.btn-cancel{background:#f1f5f9;border:1px solid #cbd5e1;color:#64748b}.btn-cancel:hover:not(:disabled){background:#e2e8f0}.btn-cancel:disabled{cursor:not-allowed;opacity:.5}.assign-message{animation:slideUp .3s ease;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#15803d;font-size:14px;font-weight:600;margin-top:16px;padding:12px;text-align:center}.empty-text,.page-error,.page-loader{color:#64748b;font-size:16px;margin-top:80px;text-align:center}@media (max-width:600px){.mcq-page{padding:24px}}.form-group label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:10px;margin-bottom:10px}.form-group input[type=checkbox]{cursor:pointer;height:16px;width:16px}.view-mcq-modal{display:flex;flex-direction:column;max-height:85vh;width:720px}.view-mcq-body{margin-top:12px;max-height:65vh;overflow-y:auto;padding-right:6px}.mcq-question-card{background:#f9fafb;border-radius:10px;margin-bottom:14px;padding:14px 16px}.mcq-question-card h4{font-size:15px;margin-bottom:8px}.mcq-options{list-style:none;margin-bottom:6px;padding-left:0}.mcq-options li{font-size:14px;padding:4px 0}.mcq-answer{color:#16a34a;font-size:13px;font-weight:600}.auth-center{align-items:center;background:#f8fafc;display:flex;height:100vh;justify-content:center}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000026;padding:35px;text-align:center;width:380px}.auth-card input{border:1px solid #ccc;border-radius:8px;margin-bottom:14px;padding:12px;width:100%}.auth-card button{background:#667eea;border:none;border-radius:8px;color:#fff;padding:12px;width:100%}.auth-card button:disabled{background:#aaa}.info{color:#2563eb;font-size:13px;margin-top:15px}.assignment-detail-page{background:#f7f9fc;margin-left:80px;min-height:100vh;padding:40px}.detail-header{align-items:center;display:flex;gap:14px;margin-bottom:24px}.detail-header h2{color:#111827;font-size:26px;font-weight:600}.back-btn{background:none;color:#2563eb;font-size:15px}.detail-card{background:#fff;border-radius:14px;box-shadow:0 12px 30px #00000014;padding:28px}.detail-row{margin-bottom:20px}.detail-row label{color:#6b7280;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.detail-row p{color:#111827;font-size:15px}.detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:20px}.question-list{padding-left:18px}.question-list li{font-size:14px;margin-bottom:6px}.empty-state,.error-state,.page-loader{color:#6b7280;font-size:16px;margin-top:120px;text-align:center}.select-page{background:#f4f6fb;min-height:100vh;padding:40px;text-align:center}.select-page h2{color:#1f2937;font-size:28px;margin-bottom:40px}.card-container{flex-wrap:wrap;gap:40px}.card,.card-container{display:flex;justify-content:center}.card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 10px 25px #00000014;cursor:pointer;flex-direction:column;font-size:48px;height:180px;padding:30px;transition:all .3s ease;width:260px}.card h3{color:#111827;font-size:20px;margin-top:12px}.card:hover{box-shadow:0 18px 40px #0000001f;transform:translateY(-6px)}.assignment-page{background:linear-gradient(180deg,#f8fafc,#eef2ff);min-height:100vh;padding:40px}.page-header h2{color:#1e293b}.page-header p{color:#64748b}.assignment-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.assignment-card{border-radius:16px;box-shadow:0 10px 30px #00000014;justify-content:space-between;padding:22px;transition:transform .25s ease,box-shadow .25s ease}.assignment-card:hover{box-shadow:0 20px 45px #00000026;transform:translateY(-6px)}.card-header h3{color:#0f172a}.badge{background:#22c55e;border-radius:20px;color:#fff;font-size:12px;padding:4px 10px}.description{color:#475569;margin:14px 0}.meta{color:#334155}.difficulty{border-radius:12px;font-size:12px;font-weight:500;padding:5px 10px}.difficulty.easy{background:#dcfce7;color:#15803d}.view-btn{background:#4f46e5}.view-btn:hover{background:#4338ca}.mcq-page{background:linear-gradient(180deg,#f0fdf4,#ecfeff);min-height:100vh;padding:40px}.page-header{margin-bottom:30px}.page-header h2{color:#064e3b;font-size:28px;font-weight:600}.page-header p{color:#065f46;font-size:15px;margin-top:6px}.mcq-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.mcq-card{background:#fff;border-radius:16px;box-shadow:0 10px 30px #00000014;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;padding:22px;transition:transform .25s ease,box-shadow .25s ease}.mcq-card:hover{box-shadow:0 20px 45px #00000026;transform:translateY(-6px)}.card-header{align-items:center}.card-header h3{color:#022c22;font-size:18px;font-weight:600}.badge.mcq{background:#10b981;border-radius:20px;color:#fff;font-size:12px;padding:4px 10px}.category{color:#065f46;font-size:14px;margin:14px 0}.meta{color:#134e4a;display:flex;font-size:13px;margin-bottom:18px}.card-footer,.meta{justify-content:space-between}.card-footer{align-items:center}.status.active{border-radius:12px;color:#15803d;font-size:12px;font-weight:500;padding:5px 10px}.view-btn{background:#059669;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;padding:8px 14px;transition:background .25s ease}.view-btn:hover{background:#047857}.assignment-report-page{background:linear-gradient(180deg,#eef2ff,#f8fafc);min-height:100vh;padding:40px}.report-header{margin-bottom:30px}.report-header h2{color:#1e293b}.report-header p{color:#64748b;font-size:15px}.empty-state,.loading{color:#475569;font-size:16px;padding:40px}.summary-card{padding:18px 20px}.summary-card h4{color:#64748b;font-weight:600;margin-bottom:6px}.summary-card p{color:#1e293b;font-size:28px}.summary-card.success{background:#ecfdf5}.filter-bar{align-items:center;gap:16px}.filter-left select{border:1px solid #cbd5f5;border-radius:8px;font-size:14px;min-width:140px;outline:none;padding:10px 12px}.filter-right{align-items:center}.filter-right input{border:1px solid #cbd5f5;border-radius:8px;font-size:14px;min-width:220px;outline:none;padding:10px 12px}.filter-right button{background:#4f46e5;cursor:pointer;font-weight:600;white-space:nowrap}.filter-right button:hover{background:#4338ca}.analysis-toggle button{background:#0f172a;cursor:pointer;font-size:14px;font-weight:600}.analysis-toggle button:hover{background:#020617}.analysis-card h3{color:#1e293b;font-size:18px;font-weight:600}.analysis-card p{color:#64748b;font-size:14px;margin-top:4px}.chart-wrapper{margin:20px auto 0}.table-wrapper{box-shadow:0 12px 35px #00000014;overflow-x:auto;overflow-y:auto}.report-table thead{background:#4f46e5}.report-table th{color:#000;font-size:14px;padding:14px 16px;z-index:10}.report-table td{color:#334155;font-size:14px;padding:14px 16px}.report-table tbody tr:nth-child(2n){background:#f8fafc}.report-table tbody tr:hover{background:#eef2ff}.status{border-radius:12px;font-size:13px}.status.completed{color:#15803d}.status.pending{background:#fee2e2;color:#b91c1c}.score{background:#dbeafe;border-radius:10px;color:#1d4ed8;font-weight:600;padding:4px 10px}.mono{font-family:monospace;font-size:13px}@media (max-width:768px){.filter-bar{align-items:stretch;flex-direction:column}.filter-right{justify-content:space-between;width:100%}.analysis-toggle{text-align:left}}.mcq-report-page{background:linear-gradient(180deg,#ecfeff,#f0fdfa);min-height:100vh;padding:40px}.report-header h2{color:#065f46;font-size:28px;font-weight:600}.report-header p{color:#047857;margin-top:6px}.empty-state,.loading{color:#134e4a;padding:30px;text-align:center}.summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.summary-card{background:#fff;border-radius:14px;box-shadow:0 10px 28px #00000012;padding:18px}.summary-card h4{color:#065f46;font-size:14px}.summary-card p{font-size:26px;font-weight:700}.summary-card.info{background:#eef2ff}.summary-card.warning{background:#fff7ed}.filter-bar{display:flex;justify-content:space-between;margin-bottom:16px}.filter-bar select,.filter-right input{border:1px solid #99f6e4;border-radius:8px;padding:10px 12px}.filter-right{display:flex;gap:12px}.filter-right button{background:#10b981;border:none;border-radius:8px;color:#fff;padding:10px 16px}.analysis-toggle{margin-bottom:16px;text-align:right}.analysis-toggle button{background:#064e3b;border:none;border-radius:8px;color:#fff;padding:8px 14px}.analysis-card{background:#fff;border-radius:14px;box-shadow:0 10px 28px #00000012;margin-bottom:24px;padding:20px}.chart-wrapper{margin:auto;max-width:420px}.table-wrapper{max-height:65vh}.report-table th{background:#fff;position:-webkit-sticky;position:sticky;top:0}.report-table tbody tr:nth-child(2n){background:#f0fdfa}.tab-switch.yes{color:red;font-weight:600}.tab-switch.no{color:green;font-weight:600}.staff-page{padding:20px}.staff-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.staff-header button{align-items:center;background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:6px;padding:10px 14px}.staff-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.staff-card{background:#fff;border-radius:12px;box-shadow:0 6px 18px #00000014;cursor:pointer;padding:16px;text-align:center;transition:transform .2s}.staff-card:hover{transform:translateY(-4px)}.staff-icon{color:#4f46e5;font-size:32px;margin-bottom:8px}.modal-backdrop{z-index:1000}.modal{animation:fadeIn .25s ease;border-radius:12px;max-width:420px;padding:20px;width:100%}.modal-header{margin-bottom:14px}.input-group{align-items:center;border:1px solid #d1d5db;border-radius:8px;display:flex;gap:8px;margin-bottom:12px;padding:10px}.input-group input,.input-group select{border:none;outline:none;width:100%}.modal button{background:#4f46e5;border:none;border-radius:8px;color:#fff;margin-top:10px;padding:10px;width:100%}.error{background:#fee2e2;color:#991b1b}.error,.success{border-radius:6px;font-size:13px;padding:6px}.success{background:#dcfce7;color:#166534}.detail-row{font-size:14px;margin-bottom:10px}.modal-overlay{z-index:2000}.create-staff-modal{animation:modalPop .25s ease;background:#fff;border-radius:14px;box-shadow:0 25px 50px #00000040;max-width:420px;padding:22px;width:100%}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.modal-top h3{font-size:18px;font-weight:600;margin:0}.close-btn{background:none;color:#6b7280;font-size:22px}.close-btn:hover{color:#111827}.form-field{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:10px;display:flex;gap:10px;margin-bottom:14px;padding:12px 14px}.field-icon{color:#6b7280;font-size:16px}.form-field input,.form-field select{background:#0000;border:none;font-size:14px;outline:none;width:100%}.form-error{background:#fee2e2;color:#991b1b}.form-error,.form-success{border-radius:8px;font-size:13px;margin-bottom:10px;padding:8px}.form-success{background:#dcfce7;color:#166534}.primary-btn{background:#4f46e5;cursor:pointer;font-size:15px;font-weight:500;padding:12px;transition:background .2s ease;width:100%}.primary-btn:hover{background:#4338ca}.primary-btn:disabled{background:#a5b4fc}.curriculum-page{background:#f5f7fb;min-height:100vh;padding:30px}.page-title{color:#111827;font-size:28px;font-weight:800;margin-bottom:28px}.curriculum-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.curriculum-card{background:#fff;border-radius:14px;box-shadow:0 8px 20px #00000014;cursor:pointer;padding:22px;transition:all .25s ease}.curriculum-card:hover{box-shadow:0 14px 30px #2563eb40;transform:translateY(-6px)}.curriculum-card h3{color:#1f2937;font-size:18px;font-weight:700;margin-bottom:10px}.curriculum-card p{color:#6b7280;font-size:14px;margin:4px 0}.curriculum-card b{color:#2563eb}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal{animation:slideUp .25s ease;display:flex;flex-direction:column;max-height:85vh;padding:20px 24px;width:720px}.college-name{color:#111827;font-size:20px;font-weight:700}.sub-title{color:#6b7280;font-size:14px}.close-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:18px;height:36px;transition:.2s;width:36px!important}.close-btn:hover{background:#fee2e2;color:#dc2626}.tabs{display:flex;gap:12px;margin:18px 0}.tab-btn{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-weight:600;justify-content:space-between;padding:12px;transition:.2s}.tab-btn span{background:#e5e7eb;border-radius:10px;font-size:12px;padding:2px 8px}.tab-btn:hover{background:#eef2ff}.tab-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.tab-btn.active span{background:#ffffff4d}.tab-content{flex:1 1;overflow-y:auto;padding-right:6px}.item-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;font-size:14px;margin-bottom:8px;padding:12px 14px;transition:.2s}.item-row:hover{background:#eef2ff;border-color:#c7d2fe}.empty,.loading{color:#6b7280;font-size:14px;padding:30px;text-align:center}.tab-content::-webkit-scrollbar{width:6px}.tab-content::-webkit-scrollbar-thumb{background:#c7d2fe;border-radius:10px}.task-page{background:linear-gradient(180deg,#f9fafb,#eef2ff);min-height:100vh;padding:34px}.page-header h2{font-size:30px;font-weight:900}.page-header p{margin-bottom:28px;opacity:.7}.task-form{grid-gap:12px;border-radius:18px;display:grid;gap:12px;grid-template-columns:2fr 1fr 2fr auto;margin-bottom:36px;padding:18px}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffbf;box-shadow:0 14px 35px #00000014}.task-form input{border:1px solid #c7d2fe;border-radius:12px;padding:13px;transition:.2s}.task-form input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #e0e7ff;outline:none}.add-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#2563eb);border:none;border-radius:14px;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:8px;height:70%;padding:12px 18px}.task-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.task-card{background:#fff;border-radius:20px;box-shadow:0 14px 30px #00000014;cursor:pointer;padding:20px;position:relative;transition:.3s ease}.task-card:hover{box-shadow:0 20px 45px #6366f140;transform:translateY(-6px)}.date-row{align-items:center;display:flex;font-size:14px;gap:8px;margin-top:8px;opacity:.8}.task-actions{display:flex;gap:8px;opacity:0;position:absolute;right:14px;top:14px;transition:.2s}.task-card:hover .task-actions{opacity:1}.task-actions button{border:none;border-radius:10px;cursor:pointer;padding:8px}.task-actions .danger{background:#fee2e2;color:#b91c1c}.empty-state{grid-column:1/-1;opacity:.65;text-align:center}.modal-backdrop{background:#00000073}.modal{border-radius:22px;box-shadow:0 24px 60px #0000004d;padding:28px;width:420px}.modal-date{color:#2563eb;font-weight:600;margin-top:12px}.scale-in{animation:scale .25s ease}@keyframes scale{0%{transform:scale(.9)}to{transform:scale(1)}}.loading{font-size:18px}.task-actions button{background:#eef2ff;border-radius:8px}.task-card.overdue{border-left:5px solid #ef4444}.modal.large{max-width:1500px;width:820px!important}.assign-btn{margin-bottom:10px;width:15%!important}.modal-header svg{cursor:pointer}.student-list{margin-top:12px;max-height:200px;overflow-y:auto}.student-list label{display:flex;gap:10px;padding:6px 0}.primary-btn{background:linear-gradient(135deg,#6366f1,#2563eb);border:none;border-radius:10px;color:#fff;font-weight:700;margin-top:16px;padding:10px}.slide-up{animation:slideUp .35s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding-bottom:12px}.modal-subtitle{color:#6b7280;font-size:13px}.close-icon{cursor:pointer;font-size:18px;opacity:.7}.close-icon:hover{opacity:1;transform:rotate(90deg);transition:all .2s ease}.step{margin-bottom:26px}.step h4{margin-bottom:12px}.step-badge{background:#2563eb;border-radius:999px;color:#fff;display:inline-block;font-size:12px;margin-bottom:6px;padding:4px 10px}.filter-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.filter-grid select{border:1px solid #c7d2fe;border-radius:10px;padding:10px}.student-chip-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.student-chip{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:10px;transition:all .25s ease}.student-chip:hover{border-color:#6366f1;transform:translateY(-2px)}.student-chip.active{background:#eef2ff;border-color:#2563eb}.student-chip span{font-weight:600}.student-chip small{color:#6b7280;display:block;font-size:12px}.modal-footer{align-items:center;background:#fff;bottom:0;display:flex;justify-content:space-between;padding-top:14px;position:-webkit-sticky;position:sticky}.selected-count{color:#374151;font-size:14px;font-weight:600}.primary-btn:disabled{cursor:not-allowed;opacity:.5}.hint-text{color:#9ca3af;font-size:14px}.task-dashboard{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:24px 0 32px}.dashboard-card{align-items:center;background:linear-gradient(180deg,#fff,#f9fafb);border-radius:18px;box-shadow:0 12px 30px #00000014;cursor:pointer;display:flex;gap:16px;overflow:hidden;padding:22px;position:relative;transition:all .3s ease}.dashboard-card:hover{box-shadow:0 22px 45px #00000024;transform:translateY(-6px) scale(1.01)}.card-icon{align-items:center;border-radius:14px;color:#fff;display:flex;flex-shrink:0;font-size:22px;height:52px;justify-content:center;width:52px}.card-content h3{animation:pop .4s ease;color:#111827;font-size:32px;font-weight:900;line-height:1}.card-content p{color:#6b7280;font-size:14px;font-weight:600;margin-top:6px}.dashboard-card.primary .card-icon{background:linear-gradient(135deg,#6366f1,#4f46e5)}.dashboard-card.warning .card-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.dashboard-card.info .card-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.dashboard-card.success .card-icon{background:linear-gradient(135deg,#22c55e,#16a34a)}.spinner-overlay{animation:pulse 1.5s infinite;background:radial-gradient(circle at center,#3b82f614,#0000 60%);inset:0;position:absolute}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{opacity:.4}50%{opacity:.8}to{opacity:.4}}@media (max-width:600px){.dashboard-card{padding:18px}.card-icon{font-size:18px;height:44px;width:44px}.card-content h3{font-size:26px}}.task-charts{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:36px}.chart-card{border-radius:18px;box-shadow:0 10px 26px #00000014;padding:22px;transition:all .25s ease}.hover-card:hover{box-shadow:0 18px 40px #0000001f;transform:translateY(-4px)}.chart-card h4{color:#111827;font-size:16px;font-weight:800;margin-bottom:20px}.pie-wrapper{height:180px;margin:0 auto;position:relative;width:180px}.pie-chart{animation:pieGrow .9s ease forwards;border-radius:50%;height:100%;width:100%}@keyframes pieGrow{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.pie-center{align-items:center;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #e5e7eb;display:flex;flex-direction:column;height:110px;inset:0;justify-content:center;margin:auto;position:absolute;width:110px}.pie-center b{color:#22c55e;font-size:20px;font-weight:900}.pie-center span{color:#6b7280;font-size:12px;font-weight:600}.legend{display:flex;font-size:13px;justify-content:space-between;margin-top:18px}.legend-item{align-items:center;color:#374151;cursor:pointer;display:flex;gap:6px}.dot{border-radius:50%;height:10px;width:10px}.dot.green{background:#22c55e}.dot.blue{background:#3b82f6}.dot.gray{background:#e5e7eb}.status-list{display:flex;flex-direction:column;gap:18px}.status-row{grid-gap:14px;align-items:center;cursor:pointer;display:grid;gap:14px;grid-template-columns:90px 1fr 40px;transition:transform .15s ease}.status-row:hover{transform:translateX(4px)}.status-row span{color:#374151;font-size:14px;font-weight:600}.status-row b{font-size:15px;font-weight:800;text-align:right}.status-bar{background:#f3f4f6;border-radius:999px;height:10px;overflow:hidden}.status-bar .fill{animation:growWidth .8s ease forwards;border-radius:999px;height:100%}@keyframes growWidth{0%{width:0}}.status-row.green .fill{background:#22c55e}.status-row.blue .fill{background:#3b82f6}.status-row.gray .fill{background:#e5e7eb}.student-task-page{background:linear-gradient(180deg,#f8fafc,#eef2ff);min-height:100vh;padding:36px}.student-header{margin-bottom:22px}.student-header h2{color:#0f172a;font-size:30px;font-weight:900}.student-header p{color:#64748b;font-size:14px;margin-top:6px}.controls{align-items:center;display:flex;gap:12px;margin-bottom:12px}.search-wrap input{border:1px solid #e6edf8;border-radius:12px;box-shadow:0 6px 18px #6366f10f;padding:10px 14px;width:420px}.controls-right{align-items:center;display:flex;gap:12px;margin-left:auto}.filter-chips .chip{background:#eef2ff;border:none;border-radius:999px;cursor:pointer;font-weight:700;padding:8px 12px}.filter-chips .chip.active{background:#6366f1;box-shadow:0 8px 24px #6366f12e;color:#fff}.task-table-wrapper{background:#fff;border-radius:16px;box-shadow:0 12px 30px #00000014;margin-top:24px;overflow:hidden}.meta-row{color:#475569;font-size:13px;margin-top:8px}.task-sub{color:#6b7280;font-size:13px;margin-top:6px}.task-progress{margin-top:10px}.progress-wrap{background:#eef2ff;border-radius:999px;height:10px;overflow:hidden;position:relative}.progress-bar{background:linear-gradient(90deg,#34d399,#10b981);height:100%;transition:width .4s ease}.progress-wrap small{color:#475569;display:block;font-size:12px;margin-top:6px}.progress-wrap small.overdue{color:#dc2626;font-weight:800}.task-table{border-collapse:collapse;width:100%}.task-table td,.task-table th{border-bottom:1px solid #e5e7eb;font-size:14px;padding:16px}.task-table th{background:#f3f4f6;text-align:left}.task-table td.title,.task-table th{font-weight:700}.status{padding:4px 12px}.status.active{background:#dcfce7;color:#166534}.status.overdue{background:#fee2e2;color:#991b1b}.action-buttons{display:flex;gap:10px}.btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:8px 14px}.btn.start{background:#22c55e;color:#fff}.btn.submit{background:#16a34a;color:#fff;width:100%}.modal-backdrop{align-items:center;background:#0f172a99;display:flex;inset:0;justify-content:center;position:fixed}.modal{background:#fff;border-radius:16px;overflow:hidden;width:480px}.modal-footer,.modal-header{border-bottom:1px solid #e5e7eb;padding:16px 20px}.modal-footer{border-top:1px solid #e5e7eb}.modal-body{padding:20px}.upload-box{border:2px dashed #c7d2fe;border-radius:12px;cursor:pointer;margin-top:16px;padding:16px;text-align:center}.upload-box input{display:none}.preview-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));margin-top:14px}.preview-grid img{border-radius:8px;height:80px;object-fit:cover;width:100%}.status.notstarted{background:#e5e7eb;color:#374151}.status.inprogress{background:#fef3c7;color:#92400e}.btn.complete{background:#f59e0b;color:#fff}.btn.done{background:#16a34a;color:#fff;cursor:not-allowed}.btn.view{background:#eef2ff;color:#2563eb}.task-table thead th{background:#f9fafb;position:-webkit-sticky;position:sticky;top:0;z-index:2}.task-table tbody tr{cursor:pointer;transition:all .25s ease}.task-table tbody tr:hover{background:#f3f4f6;box-shadow:0 8px 20px #0000001a;transform:scale(1.02)}.status.completed{box-shadow:0 0 0 4px #22c55e26}.status.inprogress{box-shadow:0 0 0 4px #3b82f626}.action-buttons .btn{transition:transform .15s ease}.action-buttons .btn:hover{transform:translateY(-1px)}.lightbox-backdrop{align-items:center;background:#000c;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.lightbox-image{animation:fadeIn .3s ease;border-radius:12px;box-shadow:0 8px 24px #0009;max-height:90%;max-width:90%}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal{animation:popIn .35s ease}@keyframes popIn{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.upload-box{background:#f8fafc;transition:all .25s ease}.upload-box:hover{background:#eef2ff;border-color:#6366f1}.add-task-wrapper{margin-bottom:16px;text-align:right}.btn.add-task{background:#3b82f6;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 16px;transition:all .2s ease}.btn.add-task:hover{background:#2563eb;transform:translateY(-2px)}.modal-body input{border:1px solid #e5e7eb;border-radius:8px;font-size:14px;margin-top:12px;padding:10px;width:100%}.modal-body input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633;outline:none}.modal{animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.btn{transition:all .3s ease}.btn:hover{box-shadow:0 4px 12px #0003;transform:scale(1.05)}.task-table tbody tr{transition:transform .3s ease,box-shadow .3s ease}.task-table tbody tr:hover{box-shadow:0 6px 16px #00000026;transform:scale(1.03)}.btn.add-task{transition:all .3s ease}.btn.add-task:hover{box-shadow:0 6px 18px #3b82f64d;transform:scale(1.1)}.task-table-page{background:linear-gradient(180deg,#f8fafc,#eef2ff);min-height:100vh;padding:30px}.task-table-page h2{font-size:28px;font-weight:900}.subtitle{color:#6b7280;margin-bottom:20px}.filter-bar{grid-gap:12px;display:grid;gap:12px;grid-template-columns:2fr repeat(4,1fr);margin-bottom:20px}.filter-bar input,.filter-bar select{border:1px solid #e5e7eb;border-radius:10px;font-size:14px;padding:10px 12px}.table-wrapper{border-radius:16px;box-shadow:0 12px 30px #00000014;max-height:70vh;overflow:auto}.submission-table{font-size:14px}.submission-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:800;position:-webkit-sticky;position:sticky;top:0}.submission-table td{border-bottom:1px solid #f1f5f9;padding:12px 14px;vertical-align:top}.status{font-weight:700;padding:4px 10px;text-transform:uppercase}.status.assigned{background:#e0e7ff;color:#3730a3}.status.started{background:#fef3c7;color:#92400e}.status.completed{background:#dcfce7;color:#166534}.breach.yes{color:#dc2626;font-weight:800}.breach.no{color:#16a34a;font-weight:800}.proof-mini{display:flex;gap:6px}.proof-mini img{border:1px solid #e5e7eb;border-radius:6px;height:40px;object-fit:cover;transition:transform .2s ease;width:40px}.proof-mini img:hover{transform:scale(1.15)}.empty{padding:30px}.empty,.loading{color:#6b7280;text-align:center}.loading{font-size:16px;margin-top:80px}.dash-card{display:flex;flex-direction:column;justify-content:space-between}.dash-card span{letter-spacing:.3px}@media (max-width:768px){.submission-dashboard{gap:14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.dash-card{padding:14px 16px}.dash-card h3{font-size:22px}}.submission-dashboard{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:22px 0 30px}.dash-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 6px 16px #00000014;cursor:pointer;padding:18px 20px;transition:all .2s ease}.dash-card span{color:#6b7280;font-size:13px;font-weight:600}.dash-card h3{color:#111827;font-size:26px;font-weight:800;margin-top:8px}.dash-card:hover{box-shadow:0 10px 22px #0000001f;transform:translateY(-2px)}.dash-card.active{background:#f8fafc;border:2px solid #2563eb}.dash-card.success{border-left:4px solid #22c55e}.dash-card.warning{border-left:4px solid #f59e0b}.dash-card.danger{border-left:4px solid #ef4444}.charts-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:28px}.chart-card{border:1px solid #e5e7eb;box-shadow:0 4px 12px #00000014;height:360px;padding:16px 18px}.chart-title{color:#111827;font-size:15px;margin-bottom:8px}.chart-wrapper{flex:1 1;position:relative}@media (max-width:900px){.charts-row{grid-template-columns:1fr}.chart-card{height:300px}}.assignments-report{background:#f8f9fa;min-height:100vh;padding:24px}.report-header{gap:16px;margin-bottom:32px}.header-left h2{align-items:center;color:#1a1a1a;display:flex;gap:12px;margin:0 0 8px}.header-left h2 svg{color:#1e88e5}.subtitle{color:#666;font-size:14px;margin:0}.count-badge{background:linear-gradient(135deg,#1e88e5,#1565c0);border-radius:24px;box-shadow:0 4px 12px #1e88e54d;font-size:14px}.filters-section{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.filter-btn{background:#fff;border:2px solid #ddd;border-radius:20px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.filter-btn:hover{border-color:#1e88e5;color:#1e88e5}.filter-btn.active{background:#1e88e5;border-color:#1e88e5;box-shadow:0 4px 12px #1e88e54d;color:#fff}.cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.assignment-card{background:#fff;border-left:4px solid #1e88e5;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.assignment-card:hover{box-shadow:0 12px 24px #00000026;transform:translateY(-8px)}.assignment-card.active{border-left-color:#4caf50}.assignment-card.warning{border-left-color:#ff9800}.assignment-card.urgent{border-left-color:#f44336}.assignment-card.overdue{background:#fafafa;border-left-color:#d32f2f}.card-header{align-items:flex-start;border-bottom:1px solid #eee;display:flex;gap:12px;justify-content:space-between;padding:16px}.card-title{color:#1a1a1a;flex:1 1;font-size:16px;font-weight:600;margin:0;word-break:break-word}.status-badge{border-radius:16px;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.warning{background:#fff3e0;color:#e65100}.status-badge.urgent{background:#ffebee;color:#c62828}.status-badge.overdue{background:#ffcdd2;color:#b71c1c}.card-body{flex:1 1;padding:16px}.description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#555;display:-webkit-box;font-size:14px;line-height:1.5;margin:0 0 16px;overflow:hidden}.card-info{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.info-item{background:#f5f7fa;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:8px}.info-label{color:#888;font-size:12px;font-weight:600;text-transform:uppercase}.info-value{align-items:center;color:#1a1a1a;display:flex;font-size:14px;font-weight:600;gap:6px}.info-value svg{color:#1e88e5}.card-meta{border-top:1px solid #eee;font-size:13px;justify-content:space-between;padding:12px 0}.card-meta,.created-by{align-items:center;display:flex}.created-by{color:#666;gap:8px}.created-by svg{color:#1e88e5}.creator-name{color:#1a1a1a;display:block;font-weight:600}.creator-email{display:block}.created-date,.creator-email{color:#999;font-size:12px}.card-footer{background:#f9fafb;border-top:1px solid #eee;display:flex;gap:8px;padding:12px 16px}.action-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:8px 12px;transition:all .2s ease}.action-btn:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.action-btn.view{border-color:#1e88e5;color:#1e88e5}.action-btn.view:hover{background:#1e88e5;color:#fff}.action-btn.edit{border-color:#ff9800;color:#ff9800}.action-btn.edit:hover{background:#ff9800;color:#fff}.action-btn.delete{border-color:#f44336;color:#f44336}.action-btn.delete:hover{background:#f44336;color:#fff}.page-loader{gap:16px;min-height:400px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-top-color:#1e88e5}.page-loader p{color:#666;font-size:16px}.no-data{color:#999;grid-column:1/-1;padding:60px 20px}.no-data p{font-size:18px;margin:0}@media (max-width:768px){.assignments-report{padding:16px}.report-header{align-items:flex-start;flex-direction:column}.header-left h2{font-size:24px}.card-info,.cards-grid{grid-template-columns:1fr}.card-footer{flex-direction:column}.action-btn{width:100%}.filters-section{justify-content:flex-start;overflow-x:auto;padding-bottom:8px}}.pie-card{background:#fff;border:1px solid #eef2f7;border-radius:18px;box-shadow:0 12px 35px #00000014;padding:28px}.chart-title{color:#1e293b;font-size:22px;font-weight:700;margin-bottom:25px;text-align:center}.pie-layout{grid-gap:30px;align-items:center;display:grid;gap:30px;grid-template-columns:55% 45%}.chart-section{width:100%}.pie-chart-container{height:360px;margin-left:45%;width:100%}.stats-section{display:flex;flex-direction:column;height:360px;justify-content:space-between;width:100%}.stats-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin-left:110%}.stat-box{background:linear-gradient(135deg,#f8fafc,#eef2f7);border:1px solid #e5e7eb;border-radius:12px;padding:16px;text-align:center;transition:all .2s ease}.stat-box:hover{box-shadow:0 8px 18px #00000014;transform:translateY(-3px)}.stat-box span{color:#64748b;display:block;font-size:13px;margin-bottom:4px}.stat-box strong{color:#1e293b;font-size:22px;font-weight:700}.pie-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-weight:600;margin-top:12px;padding:10px 16px;text-align:center}@media (max-width:900px){.pie-layout{grid-template-columns:1fr}.stats-section{gap:15px;height:auto}.stats-row{grid-template-columns:repeat(2,1fr)}}.assignment-submissions-report{background:#f6f8fb;height:auto!important;min-height:auto!important;overflow:visible!important;padding:24px;width:100%}.report-header{align-items:flex-start;gap:24px;margin-bottom:24px}.header-left h2{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 6px}.header-left .subtitle{color:#6b7280;font-size:14px;margin:0}.header-right{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end}.count-badge{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:999px;box-shadow:0 6px 14px #4f46e540;color:#fff;font-size:13px;font-weight:600;padding:8px 18px}.search-container{margin-bottom:24px}.search-box{align-items:center;background:#fff;border:2px solid #0000;border-radius:10px;box-shadow:0 4px 12px #00000014;display:flex;overflow:hidden;position:relative;transition:all .3s ease}.search-box:focus-within{border-color:#6366f1;box-shadow:0 4px 20px #6366f133}.search-icon{color:#9ca3af;font-size:10px;left:14px;pointer-events:none;position:absolute}.search-input{background:#0000;border:none;color:#1f2937;flex:1 1;font-size:14px;outline:none;padding:12px 40px 12px 44px}.search-input::placeholder{color:#9ca3af}.clear-search{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;font-size:16px;padding:8px 14px;transition:color .2s ease}.clear-search:hover{color:#ef4444}.search-box-compact{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:10px;box-shadow:0 2px 6px #0000000f;display:flex;height:35px;overflow:hidden;padding:0 12px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px}.search-box-compact:hover{border-color:#9ca3af;box-shadow:0 4px 12px #00000014}.search-box-compact:focus-within{background:#fff;border-color:#6366f1;box-shadow:0 4px 16px #6366f140}.search-box-compact .search-icon{color:#9ca3af;flex-shrink:0;font-size:16px;left:0;margin-right:10px;pointer-events:none;position:relative;transition:color .3s ease}.search-box-compact:focus-within .search-icon{color:#6366f1}.search-input-compact{background:#0000;border:none;color:#1f2937;flex:1 1;font-size:14px;font-weight:500;height:20px;letter-spacing:.2px;outline:none;padding:0;transition:color .2s ease;width:100%}.search-input-compact::placeholder{color:#a8adb8;font-weight:400}.search-input-compact:focus{color:#111827}.search-input-compact:focus::placeholder{color:#d1d5db}.search-box-compact .clear-search{align-items:center;background:none;border:none;border-radius:4px;color:#d1d5db;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;justify-content:center;margin-left:8px;padding:6px;transition:all .2s ease}.search-box-compact .clear-search:hover{background:#fecaca;color:#ef4444}.filters-container{background:#fff;border-radius:10px;box-shadow:0 4px 12px #00000014;margin-bottom:24px;padding:16px}.filters-header{align-items:center;color:#1f2937;display:flex;font-size:15px;font-weight:600;gap:10px;margin-bottom:16px}.filters-header svg{color:#6366f1}.reset-filters{background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;font-size:12px;font-weight:600;margin-left:auto;padding:6px 14px;transition:all .2s ease}.reset-filters:hover{background:#fecaca}.filters-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{color:#374151;font-size:13px;font-weight:600}.filter-select{background:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#1f2937;cursor:pointer;font-size:14px;padding:10px 12px;transition:all .2s ease}.filter-select:hover{border-color:#6366f1}.filter-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.table-wrapper{background:#fff;border-radius:14px;box-shadow:0 12px 30px #0f172a14;height:auto!important;max-height:none!important;overflow:visible!important;width:100%}.report-table{border-collapse:collapse;font-size:14px;width:100%}.report-table thead{background:linear-gradient(90deg,#f1f5f9,#f8fafc);border-bottom:2px solid #e5e7eb}.report-table th{color:#334155;font-size:13px;font-weight:600;padding:14px;position:static!important;text-align:left;white-space:nowrap}.report-table td{border-bottom:1px solid #e5e7eb;color:#475569;padding:14px;vertical-align:middle}.submission-row{transition:all .2s ease}.submission-row:hover{background:#f8fafc;box-shadow:inset 0 0 0 1px #e5e7eb;transform:scale(1.01)}.index-cell{color:#6366f1;font-weight:600;width:40px}.student-cell{align-items:center;display:flex;gap:10px}.student-cell svg{color:#6366f1;flex-shrink:0;font-size:15px}.student-cell strong{color:#1f2937;display:block;font-weight:600}.student-cell span{color:#64748b;display:block;font-size:12px;margin-top:2px}.batch,.college,.reg-no,.year{color:#334155;font-weight:500}.solved-count{background:#dbeafe;border-radius:6px;color:#2563eb;display:inline-block;font-weight:700;min-width:40px;padding:4px 10px;text-align:center}.status{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 14px;white-space:nowrap}.status.completed{background:#ecfdf5;color:#059669}.status.completed svg{color:#10b981}.status.pending{background:#fef2f2;color:#dc2626}.status.pending svg{color:#ef4444}.submitted-date{align-items:center;color:#6b7280;display:flex;gap:6px}.report-table td svg{color:#64748b;font-size:12px}.no-data{color:#9ca3af;font-size:15px;padding:60px 40px;text-align:center}.page-loader{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.spinner{animation:spin .9s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#6366f1;height:40px;margin-bottom:12px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1024px){.filters-grid{grid-template-columns:repeat(2,1fr)}.report-table{font-size:13px}.report-table td,.report-table th{padding:10px}.search-box-compact{width:180px}}@media (max-width:768px){.assignment-submissions-report{padding:14px}.report-header{align-items:flex-start;flex-direction:column;gap:12px}.header-left h2{font-size:22px}.header-right{align-items:center;justify-content:space-between;width:100%}.search-box-compact{max-width:250px;width:100%}.filters-grid{grid-template-columns:1fr}.report-table{min-width:900px}.search-input{font-size:13px}}.analytics-section{background:#fff;border-radius:12px;box-shadow:0 5px 20px #0000000d;margin:30px 0;padding:20px}.analytics-section h3{font-weight:600;margin-bottom:20px}.chart-container{margin:auto;max-width:400px}.no-chart-data{color:#999;padding:20px;text-align:center}.report-container{margin:auto;max-width:1250px;padding:40px 20px}.report-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:25px}.report-title{color:#0f172a;font-size:28px;font-weight:600}.report-search{border:1px solid #cbd5e1;border-radius:10px;font-size:14px;min-width:240px;padding:10px 14px;transition:.2s}.report-search:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26;outline:none}.report-controls{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.report-select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;cursor:pointer;font-size:14px;padding:10px 14px}.report-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.report-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0000000f;cursor:pointer;padding:25px;transition:all .25s ease}.report-card:hover{box-shadow:0 20px 45px #0000001a;transform:translateY(-6px)}.report-topic{color:#1e293b;font-size:20px;font-weight:600;margin-bottom:8px}.report-category{color:#64748b;font-size:14px;margin-bottom:18px}.report-badge{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:20px;color:#fff;display:inline-block;font-size:13px;font-weight:500;padding:6px 16px}.report-empty,.report-loading{color:#64748b;font-size:18px;margin-top:80px;text-align:center}.submission-container{margin:auto;max-width:1400px;padding:40px 20px}.submission-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.submission-header h2{color:#0f172a;font-size:26px;font-weight:600}.back-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 14px;transition:.2s}.back-btn:hover{background:#1d4ed8}.submission-stats{color:#475569;font-size:15px;margin-bottom:20px}.submission-table-wrapper{overflow-x:auto}.submission-table{background:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 10px 30px #0000000d;overflow:hidden;width:100%}.submission-table th{background:#f1f5f9;color:#334155;font-size:14px;padding:14px;text-align:left}.submission-table td{border-top:1px solid #e2e8f0;color:#475569;font-size:14px;padding:14px}.submission-table tr:hover{background:#f8fafc}.tab-yes{background:#fee2e2;color:#dc2626}.tab-no,.tab-yes{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.tab-no{background:#dcfce7;color:#16a34a}.submission-empty,.submission-loading{color:#64748b;font-size:18px;margin-top:80px;text-align:center}.submission-filters select{padding:8px 12px}.submission-filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.submission-filters select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 14px;transition:.2s}.submission-filters select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26;outline:none}.submission-charts{display:flex;flex-wrap:wrap;gap:30px;margin-bottom:30px}.chart-card{background:#fff;border-radius:14px;box-shadow:0 10px 25px #0000000f;display:flex;flex:1 1;flex-direction:column;min-width:450px;padding:20px}.chart-card h3{margin-bottom:15px;text-align:center}.chart-fixed{height:350px;position:relative;width:100%}.header-actions{display:flex;gap:10px}.csv-btn{background:#16a34a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 14px;transition:.2s ease}.csv-btn:hover{background:#15803d}*{box-sizing:border-box;margin:0;padding:0}.app-layout{display:flex}.main-content{background:#f8fafc;margin-left:56px;min-height:100vh;overflow-y:auto;padding:20px;transition:margin-left .3s ease,width .3s ease;width:calc(100% - 56px)}.navbar:hover~.main-content{margin-left:240px;width:calc(100% - 240px)}
/*# sourceMappingURL=main.f9368089.css.map*/