:root{--dl-layout-size-large:144px;--dl-layout-size-small:48px;--dl-layout-space-unit:16px;--dl-layout-size-medium:96px;--dl-layout-size-xlarge:192px;--dl-layout-size-xsmall:16px;--dl-color-theme-accent1:#ccc7d6;--dl-color-theme-accent2:#aea7bf;--dl-layout-radius-round:50%;--dl-layout-size-xxlarge:288px;--dl-color-theme-primary1:#ed2a4f;--dl-color-theme-primary2:#698a93;--dl-layout-size-maxwidth:1400px;--dl-layout-radius-radius2:2px;--dl-layout-radius-radius4:4px;--dl-layout-radius-radius8:8px;--dl-layout-space-halfunit:8px;--dl-layout-space-sixunits:96px;--dl-layout-space-twounits:32px;--dl-color-theme-secondary1:#e6ebe0;--dl-color-theme-secondary2:#d9ded3;--dl-layout-space-fiveunits:80px;--dl-layout-space-fourunits:64px;--dl-layout-space-threeunits:48px;--dl-color-theme-neutral-dark:#000;--dl-layout-radius-cardradius:0;--dl-color-theme-neutral-light:#fff;--dl-layout-radius-imageradius:0;--dl-layout-radius-inputradius:0;--dl-layout-radius-buttonradius:0;--dl-layout-space-oneandhalfunits:24px}.button{display:inline-block}.button,.input{background-color:#fff;background-color:var(--dl-color-theme-neutral-light);border-color:#000;border-color:var(--dl-color-theme-neutral-dark);border-radius:4px;border-width:1px;color:#000;color:var(--dl-color-theme-neutral-dark);padding:.5rem 1rem}.input,.textarea{cursor:auto}.textarea{background-color:#fff;background-color:var(--dl-color-theme-neutral-light);border-color:#000;border-color:var(--dl-color-theme-neutral-dark);border-radius:4px;border-width:1px;color:#000;color:var(--dl-color-theme-neutral-dark);padding:.5rem}.list{display:block;list-style-position:outside;list-style-type:none;margin:1em 0;padding:0 0 0 1.5rem;width:100%}.list-item{display:list-item}.teleport-show{display:flex!important;transform:none!important}.thq-input{align-self:stretch;background-color:#fff;background-color:var(--dl-color-theme-neutral-light);border-color:#000;border-color:var(--dl-color-theme-neutral-dark);border-radius:0;border-radius:var(--dl-layout-radius-inputradius);border-width:1px;color:#000;color:var(--dl-color-theme-neutral-dark);cursor:auto;outline:none;padding:.5rem 1rem;text-align:center}.thq-input:focus{outline:1px solid #ed2a4f;outline:1px solid var(--dl-color-theme-primary1)}.header-content .thq-input,.header-content input,.student-dashboard input:not([type=submit]):not([type=button]),.student-dashboard-container [data-thq],.test-list-container [data-thq],.test-list-header .thq-input,.test-list-header input:not([type=submit]):not([type=button]),.thq-section-padding .thq-input:not(.footer-text-input),[data-thq=thq-navbar] .thq-input,header:not(.footer-footer1) .thq-input:not(.footer-text-input){display:none!important}.tippy-box,[data-popper-escaped],[data-popper-reference-hidden],[data-tippy-root],[role=tooltip]{display:none!important;opacity:0!important;visibility:hidden!important}.thq-button-filled{fill:#e6ebe0;fill:var(--dl-color-theme-secondary1);align-items:center;background-color:#ed2a4f;background-color:var(--dl-color-theme-primary1);border-color:#ed2a4f;border-color:var(--dl-color-theme-primary1);border-radius:0;border-radius:var(--dl-layout-radius-buttonradius);border-width:1px;color:#e6ebe0;color:var(--dl-color-theme-secondary1);cursor:pointer;display:flex;font-weight:700;gap:8px;gap:var(--dl-layout-space-halfunit);justify-content:center;padding:8px 24px;padding:var(--dl-layout-space-halfunit) var(--dl-layout-space-oneandhalfunits);transition:.3s;white-space:nowrap}.thq-button-filled:hover{fill:#d9ded3;fill:var(--dl-color-theme-secondary2);background-color:#698a93;background-color:var(--dl-color-theme-primary2);border-color:#698a93;border-color:var(--dl-color-theme-primary2);color:#d9ded3;color:var(--dl-color-theme-secondary2)}.thq-button-outline{fill:#ed2a4f;fill:var(--dl-color-theme-primary1);align-items:center;border:1px solid #ed2a4f;border-color:var(--dl-color-theme-primary1);border-radius:0;border-radius:var(--dl-layout-radius-buttonradius);color:#ed2a4f;color:var(--dl-color-theme-primary1);cursor:pointer;display:flex;font-weight:700;gap:8px;gap:var(--dl-layout-space-halfunit);justify-content:center;padding:8px 24px;padding:var(--dl-layout-space-halfunit) var(--dl-layout-space-oneandhalfunits);transition:.3s;white-space:nowrap}.thq-button-outline:hover{fill:#d9ded3;fill:var(--dl-color-theme-secondary2);background-color:#698a93;background-color:var(--dl-color-theme-primary2);border-color:#698a93;border-color:var(--dl-color-theme-primary2);color:#d9ded3;color:var(--dl-color-theme-secondary2)}.thq-button-flat{fill:#ed2a4f;fill:var(--dl-color-theme-primary1);align-items:center;border-color:#0000;border-radius:0;border-radius:var(--dl-layout-radius-buttonradius);border-width:1px;color:#ed2a4f;color:var(--dl-color-theme-primary1);cursor:pointer;display:flex;font-weight:700;gap:8px;gap:var(--dl-layout-space-halfunit);justify-content:center;padding:8px 24px;padding:var(--dl-layout-space-halfunit) var(--dl-layout-space-oneandhalfunits);transition:.3s;white-space:nowrap}.thq-button-flat:hover{fill:#e6ebe0;fill:var(--dl-color-theme-secondary1);background-color:#698a93;background-color:var(--dl-color-theme-primary2);border-color:#698a93;border-color:var(--dl-color-theme-primary2);color:#e6ebe0;color:var(--dl-color-theme-secondary1)}.thq-heading-1{font-family:STIX Two Text;font-size:48px;font-weight:700;line-height:1.5}.thq-heading-2{font-size:35px}.thq-heading-2,.thq-heading-3{font-family:STIX Two Text;font-weight:600;line-height:1.5}.thq-heading-3{font-size:26px}.thq-body-large{font-size:18px}.thq-body-large,.thq-body-small{font-family:Noto Sans;line-height:1.5}.thq-body-small{font-size:16px}.thq-team-image-round{border-radius:50%;height:80px;object-fit:cover;width:80px}.thq-section-padding{align-items:center;display:flex;flex-direction:column;padding:80px;padding:var(--dl-layout-space-fiveunits);position:relative;width:100%}.thq-section-max-width{max-width:1400px;max-width:var(--dl-layout-size-maxwidth);width:100%}.thq-img-ratio-1-1{aspect-ratio:1/1}.thq-img-ratio-1-1,.thq-img-ratio-16-9{border-radius:0;border-radius:var(--dl-layout-radius-imageradius);object-fit:cover;width:100%}.thq-img-ratio-16-9{aspect-ratio:16/9}.thq-img-ratio-4-3{aspect-ratio:4/3}.thq-img-ratio-4-3,.thq-img-ratio-4-6{border-radius:0;border-radius:var(--dl-layout-radius-imageradius);object-fit:cover;width:100%}.thq-img-ratio-4-6{aspect-ratio:4/6}.thq-img-round{border-radius:50%;border-radius:var(--dl-layout-radius-round);width:100%}.thq-flex-column{flex-direction:column}.thq-flex-column,.thq-flex-row{align-items:center;display:flex;gap:32px;gap:var(--dl-layout-space-twounits);overflow:hidden;position:relative}.thq-grid-6{grid-gap:32px;grid-gap:var(--dl-layout-space-twounits);display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.thq-grid-5{grid-gap:32px;grid-gap:var(--dl-layout-space-twounits);display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr}.thq-card{align-items:stretch;border-radius:0;border-radius:var(--dl-layout-radius-cardradius);display:flex;flex-direction:column;gap:24px;gap:var(--dl-layout-space-oneandhalfunits);padding:32px;padding:var(--dl-layout-space-twounits)}.thq-box-shadow{box-shadow:0 0 5px -2px #000;box-shadow:0 0 5px -2px var(--dl-color-theme-neutral-dark)}.thq-grid-3{grid-gap:32px;grid-gap:var(--dl-layout-space-twounits);display:grid;grid-template-columns:1fr 1fr 1fr}.thq-grid-4{grid-gap:32px;grid-gap:var(--dl-layout-space-twounits);display:grid;grid-template-columns:1fr 1fr 1fr 1fr}.thq-grid-2{grid-gap:32px;grid-gap:var(--dl-layout-space-twounits);display:grid;grid-template-columns:1fr 1fr;width:100%}.thq-checkbox{height:16px;height:var(--dl-layout-size-xsmall);width:16px;width:var(--dl-layout-size-xsmall)}.thq-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-color:var(--dl-color-theme-neutral-light);background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg width%3D%2220%22 height%3D%2220%22 xmlns%3D%22http%3A//www.w3.org/2000/svg%22 viewBox%3D%220 0 20 20%22 fill%3D%22%23000%22%3E%3Cpath d%3D%22M4.293 7.293a1 1 0 011.414 0L10 11.586l4.293-4.293a1 1 0 111.414 1.414l-5 5a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414z%22/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:0;border-radius:var(--dl-layout-radius-inputradius);cursor:pointer;padding:8px 32px 8px 16px;padding:var(--dl-layout-space-halfunit) var(--dl-layout-space-twounits) var(--dl-layout-space-halfunit) var(--dl-layout-space-unit)}.thq-divider-horizontal{background-color:#000;background-color:var(--dl-color-theme-neutral-dark);height:1px;width:100%}.thq-icon-small{height:24px;width:24px}.thq-button-icon{fill:#e6ebe0;fill:var(--dl-color-theme-secondary1);border-radius:50%;border-radius:var(--dl-layout-radius-round);padding:3px;transition:.3s}.thq-button-icon:hover{fill:#d9ded3;fill:var(--dl-color-theme-secondary2)}.thq-icon-medium{height:48px;height:var(--dl-layout-size-small);width:48px;width:var(--dl-layout-size-small)}.thq-icon-x-small{height:16px;height:var(--dl-layout-size-xsmall);width:16px;width:var(--dl-layout-size-xsmall)}.thq-link{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#ed2a4f 50%,#000 0);background:linear-gradient(to right,var(--dl-color-theme-primary1) 50%,var(--dl-color-theme-neutral-dark) 50%);-webkit-background-clip:text;background-clip:text;background-position:100%;background-size:200% 100%;cursor:pointer;display:inline-block;font-weight:600;overflow:hidden;transition:background-position .3s ease}.thq-link:hover{background-position:0 100%}.thq-grid-auto-300{grid-gap:24px;grid-gap:var(--dl-layout-space-oneandhalfunits);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.thq-animated-group-vertical-reverse{align-items:flex-start;animation:scroll-y 20s linear infinite;animation-direction:reverse;flex-direction:column;width:100%}.thq-animated-group-horizontal-reverse,.thq-animated-group-vertical-reverse{display:flex;gap:16px;gap:var(--dl-layout-space-unit);justify-content:space-around}.thq-animated-group-horizontal-reverse{align-items:center;animation:scroll-x 20s linear infinite;animation-direction:reverse;flex-shrink:0;min-width:100%}.thq-animated-group-vertical{align-items:flex-start;animation:scroll-y 20s linear infinite;flex-direction:column;width:100%}.thq-animated-group-horizontal,.thq-animated-group-vertical{display:flex;gap:16px;gap:var(--dl-layout-space-unit);justify-content:space-around}.thq-animated-group-horizontal{align-items:center;animation:scroll-x 20s linear infinite;flex-shrink:0;min-width:100%}.thq-animated-group-container-vertical{flex-direction:column}.thq-animated-group-container-horizontal,.thq-animated-group-container-vertical{display:flex;gap:16px;gap:var(--dl-layout-space-unit);overflow:hidden}.thq-mask-image-vertical{-webkit-mask-image:linear-gradient(180deg,#0000,#000 1%,#000 99%,#0000);mask-image:linear-gradient(180deg,#0000,#000 1%,#000 99%,#0000)}.thq-mask-image-horizontal{-webkit-mask-image:linear-gradient(90deg,#0000,#000 1%,#000 99%,#0000);mask-image:linear-gradient(90deg,#0000,#000 1%,#000 99%,#0000)}.thq-img-scale{transition:.3s}.thq-img-scale:hover{scale:1.05}.thq-animated-card-bg-1{background-color:#ccc7d6;background-color:var(--dl-color-theme-accent1);height:100%;width:100%}.thq-animated-card-bg-1,.thq-animated-card-bg-2{border-radius:0;border-radius:var(--dl-layout-radius-cardradius);transition:transform .3s}.thq-animated-card-bg-2{background-color:#aea7bf;background-color:var(--dl-color-theme-accent2)}.thq-button-animated{border-width:2px;outline:none;overflow:hidden;position:relative;z-index:1}.thq-input::placeholder{text-align:center;vertical-align:middle}.thq-animated-group-container-horizontal:hover div,.thq-animated-group-container-vertical:hover div{animation-play-state:paused}.thq-animated-card-bg-2:has([data-animated=true]:hover){transform:translateZ(0) scaleX(1) rotateX(0deg) rotateY(0deg) rotate(3deg) skew(0deg,0deg)}.thq-animated-card-bg-1:has([data-animated=true]:hover){transform:translateZ(0) scaleX(1) rotateX(0deg) rotateY(0deg) rotate(-6deg) skew(0deg,0deg)}.thq-button-animated:before{background-color:#000;background-color:var(--dl-color-theme-neutral-dark);border-radius:0;border-radius:var(--dl-layout-radius-buttonradius);color:#fff;color:var(--dl-color-theme-neutral-light);content:"";height:101%;left:-20%;position:absolute;top:0;transform:scaleX(0);transform-origin:0 0;transition:transform .5s;transition-timing-function:cubic-bezier(.5,1.6,.4,.7);width:200%;z-index:1}.thq-button-animated:hover:before{color:#fff;color:var(--dl-color-theme-neutral-light);transform:scaleX(1);z-index:-1}.Content{font-family:Inter;font-size:16px;font-weight:400;line-height:1.15;text-decoration:none;text-transform:none}@media(max-width:991px){.thq-grid-4{grid-template-columns:1fr 1fr 1fr}}@media(max-width:767px){.thq-section-padding{padding:48px;padding:var(--dl-layout-space-threeunits)}.thq-flex-column,.thq-flex-row{gap:24px;gap:var(--dl-layout-space-oneandhalfunits)}.thq-grid-5,.thq-grid-6{grid-gap:24px;grid-gap:var(--dl-layout-space-oneandhalfunits);grid-template-columns:1fr 1fr 1fr}.thq-card{padding:24px;padding:var(--dl-layout-space-oneandhalfunits)}.thq-grid-3,.thq-grid-4{grid-gap:24px;grid-gap:var(--dl-layout-space-oneandhalfunits);grid-template-columns:1fr 1fr}.thq-grid-4{flex-direction:row}.thq-grid-2{grid-gap:24px;grid-gap:var(--dl-layout-space-oneandhalfunits);grid-template-columns:1fr}.thq-img-scale{width:100%}}@media(max-width:479px){.thq-section-padding{padding:24px;padding:var(--dl-layout-space-oneandhalfunits)}.thq-flex-column,.thq-flex-row{gap:16px;gap:var(--dl-layout-space-unit)}.thq-grid-5,.thq-grid-6{grid-gap:16px;grid-gap:var(--dl-layout-space-unit);grid-template-columns:1fr 1fr}.thq-grid-3,.thq-grid-4{grid-gap:16px;grid-gap:var(--dl-layout-space-unit);align-items:center;grid-template-columns:1fr}.thq-grid-4{flex-direction:column}.thq-grid-2{grid-gap:16px;grid-gap:var(--dl-layout-space-unit)}.thq-grid-auto-300{grid-template-columns:1fr}}.not-found1-container1{min-height:100vh;width:100%}.not-found1-container1,.not-found1-container2{align-items:center;display:flex;flex-direction:column;justify-content:center}.not-found1-container2{position:relative}.not-found1-text2{color:#262626;font-size:252px;font-weight:900;letter-spacing:-20px;margin-bottom:-20px;margin-top:-20px}.not-found1-container3{align-items:center;display:flex;flex-direction:column;justify-content:center;width:421px}.not-found1-text3{font-weight:400;text-align:center}.not-found1-link{display:contents}.not-found1-container4{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#29292969;border:1px solid #ffffff5c;border-radius:8px;bottom:30px;box-shadow:5px 5px 10px 0 #1f1f1f66;display:flex;min-height:auto;padding:8px 12px;position:fixed;right:50px;z-index:22}.not-found1-icon1{margin-right:4px;width:24px}.not-found1-text4{color:#fff;font-size:13px;font-style:normal;font-weight:500;line-height:24px}.home-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;width:100%}.home-navbar{-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #ffffff26;box-shadow:0 8px 32px #667eea66,0 2px 8px #0000001a;left:0;padding:1.25rem 0;position:fixed;right:0;top:0;z-index:1000}.home-navbar-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 3rem}.home-logo{cursor:pointer;position:relative;transition:transform .3s ease}.home-logo:hover{transform:scale(1.02)}.home-logo-text{color:#fff;font-size:1.75rem;font-weight:800;letter-spacing:-.5px;line-height:1.2;position:relative;text-shadow:0 2px 8px #0000001a}.home-nav-links{align-items:center;display:flex;gap:2.5rem}.home-nav-link{color:#fff;font-size:1rem;font-weight:600;letter-spacing:.3px;padding:.5rem 0;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.home-nav-link:before{background:linear-gradient(90deg,#fff,#e0e7ff);border-radius:2px;bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s cubic-bezier(.4,0,.2,1);width:0}.home-nav-link:hover{text-shadow:0 4px 12px #fff6;transform:translateY(-2px)}.home-nav-link:hover:before{width:100%}.home-nav-button{background:#fff;border:none;border-radius:12px;box-shadow:0 4px 15px #ffffff4d,0 2px 8px #0000001a;color:#667eea;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.5px;overflow:hidden;padding:.85rem 2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.home-nav-button:before{background:#667eea1a;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.home-nav-button:hover:before{height:300px;width:300px}.home-nav-button:hover{background:linear-gradient(135deg,#fff,#f0f4ff);box-shadow:0 8px 25px #ffffff80,0 4px 12px #00000026;transform:translateY(-3px)}.home-nav-button:active{transform:translateY(-1px)}.home-hero{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:8rem 2rem 4rem}.home-hero-content{animation:fadeInUp .8s ease}.home-hero-title{color:#2d3748;font-size:3.5rem;font-weight:800;line-height:1.2;margin-bottom:1.5rem}.home-hero-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text}.home-hero-subtitle{color:#718096;font-size:1.25rem;line-height:1.8;margin-bottom:2rem}.home-hero-buttons{display:flex;gap:1rem}.home-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:transform .3s ease,box-shadow .3s ease}.home-button-primary:hover{box-shadow:0 15px 35px #667eea66;transform:translateY(-3px)}.home-button-secondary{background:#fff;border:2px solid #667eea;border-radius:12px;color:#667eea;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.home-button-secondary:hover{background:#667eea;color:#fff;transform:translateY(-3px)}.home-hero-visual{grid-gap:1.5rem;animation:fadeIn 1s ease;display:grid;gap:1.5rem}.home-hero-card{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.home-hero-card:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.home-hero-icon{font-size:2.5rem;margin-bottom:1rem}.home-hero-card h3{color:#2d3748;font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.home-hero-card p{color:#718096;font-size:.95rem}.home-features{margin:0 auto;max-width:1200px;padding:4rem 2rem}.home-section-header{margin-bottom:4rem;text-align:center}.home-section-title{color:#2d3748;font-size:2.75rem;font-weight:800;margin-bottom:1rem}.home-section-subtitle{color:#718096;font-size:1.25rem}.home-features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.home-feature-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 5px 20px #00000014;padding:2.5rem;transition:all .3s ease}.home-feature-card:hover{border-color:#667eea;box-shadow:0 15px 40px #667eea33;transform:translateY(-8px)}.home-feature-icon{font-size:3rem;margin-bottom:1.5rem}.home-feature-card h3{color:#2d3748;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.home-feature-card p{color:#718096;line-height:1.7}.home-how-it-works{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;margin:0 auto 4rem;max-width:1200px;padding:4rem 2rem}.home-how-it-works .home-section-subtitle,.home-how-it-works .home-section-title{color:#fff}.home-steps{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(3,1fr)}.home-step{color:#fff;text-align:center}.home-step-number{align-items:center;background:#fff3;border:3px solid #fff;border-radius:50%;display:flex;font-size:1.75rem;font-weight:800;height:60px;justify-content:center;margin:0 auto 1.5rem;width:60px}.home-step h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.home-step p{font-size:1rem;line-height:1.7;opacity:.95}.home-roles{margin:0 auto;max-width:1200px;padding:4rem 2rem}.home-roles-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(4,1fr)}.home-role-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 5px 20px #00000014;padding:2rem;transition:all .3s ease}.home-role-card:hover{border-color:#667eea;box-shadow:0 15px 40px #667eea33;transform:translateY(-8px)}.home-role-icon{font-size:3rem;margin-bottom:1rem}.home-role-card h3{color:#2d3748;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.home-role-list{list-style:none;margin:0;padding:0}.home-role-list li{color:#718096;padding:.5rem 0 .5rem 1.5rem;position:relative}.home-role-list li:before{color:#667eea;content:"✓";font-weight:700;left:0;position:absolute}.home-cta{background:linear-gradient(135deg,#667eea,#764ba2);margin:4rem 0;padding:6rem 2rem}.home-cta-content{color:#fff;margin:0 auto;max-width:800px;text-align:center}.home-cta-content h2{font-size:3rem;font-weight:800;margin-bottom:1rem}.home-cta-content p{font-size:1.25rem;margin-bottom:2rem;opacity:.95}.home-cta-button{background:#fff;border:none;border-radius:12px;color:#667eea;cursor:pointer;font-size:1.25rem;font-weight:700;padding:1.25rem 3rem;transition:all .3s ease}.home-cta-button:hover{box-shadow:0 15px 35px #0000004d;transform:translateY(-3px)}.home-footer{background:#2d3748;color:#fff;padding:4rem 2rem 2rem}.home-footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(4,1fr);margin:0 auto 3rem;max-width:1200px}.home-footer-section h4{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.home-footer-section p{color:#a0aec0;line-height:1.7}.home-footer-section a{color:#a0aec0;display:block;margin-bottom:.75rem;text-decoration:none;transition:color .3s ease}.home-footer-section a:hover{color:#667eea}.home-footer-bottom{border-top:1px solid #ffffff1a;color:#a0aec0;padding-top:2rem;text-align:center}@media (max-width:1024px){.home-hero{gap:3rem;grid-template-columns:1fr}.home-features-grid,.home-roles-grid{grid-template-columns:repeat(2,1fr)}.home-steps{grid-template-columns:1fr}}@media (max-width:768px){.home-navbar{padding:1rem 0}.home-navbar-content{padding:0 1.5rem}.home-logo-text{font-size:1.35rem;letter-spacing:-.3px}.home-nav-links{gap:1rem}.home-nav-link{display:none}.home-nav-button{font-size:.9rem;padding:.7rem 1.5rem}.home-hero-title{font-size:2.5rem}.home-section-title{font-size:2rem}.home-features-grid,.home-roles-grid{grid-template-columns:1fr}.home-footer-content{grid-template-columns:repeat(2,1fr)}.home-cta-content h2{font-size:2rem}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-container:after,.login-container:before{animation:float 20s ease-in-out infinite;border-radius:50%;content:"";opacity:.1;position:absolute}.login-container:before{animation-delay:0s;background:#fff;height:400px;right:-100px;top:-100px;width:400px}.login-container:after{animation-delay:5s;background:#fff;bottom:-50px;height:300px;left:-50px;width:300px}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-card{animation:slideUp .5s ease-out;background:#fff;border-radius:20px;box-shadow:0 30px 60px #0003;max-width:650px;padding:35px 40px;position:relative;width:100%;z-index:1}.back-to-home-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#667eea;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:16px;padding:8px 12px;transition:all .3s ease}.back-to-home-button:hover{background:#667eea1a;transform:translateX(-3px)}.back-arrow{font-size:18px;font-weight:700;transition:transform .3s ease}.back-to-home-button:hover .back-arrow{transform:translateX(-2px)}.login-card.login-mode{max-width:400px}.login-card.registration-mode{max-width:650px}.login-header{margin-bottom:20px;margin-top:8px;text-align:center}.login-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a1a2e;font-size:28px;font-weight:700;margin:0 0 6px}.login-header p{color:#6b7280;font-size:14px;font-weight:400;margin:0}.error-message{align-items:center;animation:shake .5s;display:flex;font-size:13px;gap:8px;margin-bottom:16px;padding:10px 12px}.error-message:before{content:"⚠️";font-size:18px}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.login-form{display:flex;flex-direction:column;gap:12px}.form-row{grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr}.form-group{position:relative}.form-group,.form-group-full{display:flex;flex-direction:column}.form-group-full{width:100%}.form-group label,.form-group-full label{color:#374151;font-size:13px;font-weight:600;letter-spacing:.3px;margin-bottom:6px}.form-group input,.form-group select{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;padding:10px 14px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none;transform:translateY(-1px)}.form-group input::placeholder{color:#9ca3af}.radio-group{display:flex;gap:20px;margin-top:8px}.radio-label{align-items:center;color:#4b5563;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px}.radio-label input[type=radio]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.radio-label span{-webkit-user-select:none;user-select:none}.radio-label:hover span{color:#667eea}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:15px;font-weight:700;margin-top:8px;overflow:hidden;padding:14px;position:relative;transition:all .3s ease}.login-button:before{background:#fff3;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.login-button:hover:not(:disabled):before{left:100%}.login-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none!important}.login-footer{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px;text-align:center}.login-footer p{color:#6b7280;font-size:14px;margin:0}.toggle-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:700;margin-left:5px;padding:0;transition:all .3s ease}.toggle-button:hover{color:#764ba2;text-decoration:underline}@media (max-width:768px){.login-card{padding:30px 25px}.login-card.login-mode{max-width:380px}.login-card.registration-mode{max-width:500px}.form-row{gap:12px;grid-template-columns:1fr}.radio-group{flex-direction:column;gap:12px}.login-header h2{font-size:24px}.login-container:after,.login-container:before{display:none}.back-to-home-button{font-size:13px;padding:6px 10px}}@media (max-width:480px){.login-card{padding:25px 20px}.login-header h2{font-size:22px}}.login-button.loading{pointer-events:none}.login-button.loading:after{animation:spin .6s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.dashboard-container{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-size:200% 200%;min-height:100vh}.dashboard-main{margin:0 auto;max-width:1400px;padding:40px 30px}.dashboard-sections{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:40px}.certificates,.recent-tests{background:#fff;border:1px solid #667eea1a;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:32px}.certificates h2,.recent-tests h2{align-items:center;color:#1a202c;display:flex;font-size:24px;font-weight:700;gap:10px;margin:0 0 24px}.recent-tests h2:before{content:"📝";font-size:28px}.certificates h2:before{content:"🏆";font-size:28px}.certificates-list,.tests-list{display:flex;flex-direction:column;gap:16px}.certificate-item,.test-item{align-items:center;background:#f9fafb;border:2px solid #f0f4f8;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.certificate-item:hover,.test-item:hover{background:#fff;border-color:#667eea;box-shadow:0 4px 15px #667eea1a;transform:translateX(5px)}.cert-info h4,.test-info h4{color:#1a202c;font-size:17px;font-weight:700;margin:0 0 6px}.cert-info p,.test-info p{color:#718096;font-size:14px;font-weight:500;margin:0}.test-date{color:#a0aec0;font-size:13px;font-weight:600}.download-button{background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:8px;box-shadow:0 2px 10px #4299e14d;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 16px;transition:all .3s ease}.download-button:hover{box-shadow:0 4px 15px #4299e166;transform:translateY(-2px)}@media (max-width:1024px){.dashboard-sections{grid-template-columns:1fr}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.header-content h1{font-size:24px}.user-info span{display:none}}.certificate-item,.stat-card,.test-item{animation:fadeInUp .6s ease forwards;opacity:0}.dashboard-header{background:#fff;border-bottom:3px solid #667eea1a}.admin-header,.dashboard-header,.invigilator-header,.teacher-header{box-shadow:0 4px 20px #667eea26;padding:2rem 3rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.admin-header,.invigilator-header,.teacher-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:3px solid #ffffff1a}.dashboard-header .header-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;letter-spacing:-.5px;margin:0}.admin-header .header-content h1,.invigilator-header .header-content h1,.teacher-header .header-content h1{-webkit-text-fill-color:#fff!important;background:none!important;color:#fff!important;font-size:2rem;font-weight:700;letter-spacing:-.5px;margin:0;text-shadow:0 2px 10px #0003}.user-info{gap:1.5rem}.dashboard-header .user-info span{color:#1a202c;font-size:1rem;font-weight:500}.admin-header .user-info span,.invigilator-header .user-info span,.teacher-header .user-info span{color:#fff!important;font-size:1.1rem;font-weight:600;opacity:1!important;text-shadow:0 2px 4px #0000004d}.logout-button{align-items:center;box-shadow:0 8px 20px #e53e3e59;display:inline-flex;font-size:.95rem;gap:.4rem;padding:.65rem 1.6rem;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.logout-button:hover{box-shadow:0 12px 26px #e53e3e66;filter:brightness(1.05)}.logout-button:focus-visible{outline:2px solid #fed7d7;outline-offset:3px}.logout-button:active{box-shadow:0 6px 16px #e53e3e59;transform:translateY(0)}@media (max-width:768px){.admin-header,.dashboard-header,.invigilator-header,.teacher-header{padding:1.5rem}.header-content{align-items:flex-start;flex-direction:column;gap:1rem}.header-content h1{font-size:1.5rem}.user-info{justify-content:space-between;width:100%}.logout-button,.user-info span{font-size:.875rem}.logout-button{padding:.5rem 1rem}}@media (max-width:480px){.admin-header,.dashboard-header,.invigilator-header,.teacher-header{padding:1rem}.header-content h1{font-size:1.25rem}.user-info{align-items:flex-start;flex-direction:column;gap:.75rem}.logout-button{text-align:center;width:100%}}.loading-screen{align-items:center;animation:fadeIn .3s ease-in;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loading-content{animation:slideUp .6s ease-out;text-align:center}.loading-spinner-container{margin-bottom:2rem}.loading-spinner{height:120px;margin:0 auto;position:relative;width:120px}.spinner-ring{animation:spin 2s cubic-bezier(.5,0,.5,1) infinite;border:4px solid #0000;border-radius:50%;height:100%;position:absolute;width:100%}.spinner-ring:first-child{animation-delay:-.45s;border-top-color:#ffffffe6}.spinner-ring:nth-child(2){animation-delay:-.3s;border-right-color:#ffffffb3;height:85%;left:7.5%;top:7.5%;width:85%}.spinner-ring:nth-child(3){animation-delay:-.15s;border-bottom-color:#ffffff80;height:70%;left:15%;top:15%;width:70%}.spinner-core{animation:pulse 2s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;height:40%;left:30%;position:absolute;top:30%;width:40%}.loading-text{animation:fadeInText .8s ease-out .3s both;color:#fff;font-size:1.75rem;font-weight:700;letter-spacing:.5px;margin:0 0 1.5rem;text-shadow:0 2px 10px #0003}@keyframes fadeInText{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-dots{animation:fadeInText .8s ease-out .5s both;display:flex;gap:.5rem;justify-content:center}.dot{animation:bounce 1.4s ease-in-out infinite;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0003;height:10px;width:10px}.dot:first-child{animation-delay:0s}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:1;transform:translateY(0) scale(1)}40%{opacity:.8;transform:translateY(-20px) scale(1.1)}}@media (max-width:768px){.loading-spinner{height:100px;width:100px}.loading-text{font-size:1.5rem}}@media (max-width:480px){.loading-spinner{height:80px;width:80px}.loading-text{font-size:1.25rem}}.teacher-dashboard-container{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-size:200% 200%;min-height:100vh}.teacher-main{margin:0 auto;max-width:1400px;padding:40px 30px}.teacher-sections{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:40px}.teacher-sections section{background:#fff;border:1px solid #667eea1a;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:32px}.teacher-sections h2{align-items:center;color:#1a202c;display:flex;font-size:24px;font-weight:700;gap:10px;margin:0 0 24px}.recent-attempts h2:before{content:"📊";font-size:28px}.my-tests h2:before{content:"📝";font-size:28px}.td-attempts-list,.td-tests-list{display:flex;flex-direction:column;gap:16px}.td-attempt-item,.td-test-item{align-items:center;background:#f9fafb;border:2px solid #f0f4f8;border-radius:12px;display:flex;gap:16px;justify-content:space-between;padding:20px;transition:all .3s ease}.td-attempt-item:hover,.td-test-item:hover{background:#fff;border-color:#667eea;box-shadow:0 4px 15px #667eea1a;transform:translateX(5px)}.td-attempt-info,.td-test-info{flex:1 1;min-width:0}.td-attempt-info h4,.td-test-info h4{color:#1a202c;font-size:17px;font-weight:700;margin:0 0 6px}.td-attempt-info p,.td-test-info p{color:#718096;font-size:14px;font-weight:500;margin:0}.td-attempt-date{color:#a0aec0;font-size:13px;font-weight:600}.td-test-actions{display:flex;flex-shrink:0;gap:8px}.td-view-button{background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:8px;box-shadow:0 2px 10px #4299e14d;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 20px;transition:all .3s ease;white-space:nowrap;width:auto}.td-view-button:hover{box-shadow:0 4px 15px #4299e166;transform:translateY(-2px)}.proctoring-button{background:linear-gradient(135deg,#ed8936,#dd6b20);border:none;border-radius:12px;box-shadow:0 4px 15px #ed893666;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:16px 32px;transition:all .3s ease}.proctoring-button:hover{box-shadow:0 6px 25px #ed893680;transform:translateY(-3px)}@media (max-width:1024px){.teacher-sections{grid-template-columns:1fr}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.teacher-header h1{font-size:24px}.user-info span{display:none}}.stat-card,.td-attempt-item,.td-test-item{animation:fadeInUp .6s ease forwards;opacity:0}.invigilator-dashboard-container{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-size:200% 200%;min-height:100vh}.invigilator-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #667eea1a;box-shadow:0 4px 20px #00000014;padding:20px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.invigilator-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:32px;font-weight:700;margin:0}.invigilator-main{margin:0 auto;max-width:1400px;padding:40px 30px}.stat-card.warning{background:linear-gradient(135deg,#fffbeb,#fff);border-left:4px solid #f59e0b}.stat-card.warning .stat-icon,.stat-card.warning:before{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-card.warning .stat-icon{box-shadow:0 4px 15px #f59e0b4d}.stat-card.warning .stat-content h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;background-clip:text}.invigilator-sections{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:40px}.active-sessions-section,.flagged-section,.recent-completed-section{background:#fff;border:1px solid #667eea1a;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:32px}.recent-completed-section{grid-column:1/-1}.invigilator-sections h2,.recent-completed-section h2{align-items:center;color:#1a202c;display:flex;font-size:24px;font-weight:700;gap:10px;margin:0 0 24px}.active-sessions-section h2:before{content:"🔄";font-size:28px}.flagged-section h2:before{content:"⚠️";font-size:28px}.recent-completed-section h2:before{content:"✅";font-size:28px}.completed-list,.flagged-list,.sessions-list{display:flex;flex-direction:column;gap:16px}.completed-item,.flagged-item,.session-item{align-items:center;background:#f9fafb;border:2px solid #f0f4f8;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.completed-item:hover,.flagged-item:hover,.session-item:hover{background:#fff;border-color:#667eea;box-shadow:0 4px 15px #667eea1a;transform:translateX(5px)}.flagged-item{background:linear-gradient(135deg,#fffbeb,#fff);border-left:4px solid #f59e0b}.flagged-item:hover{border-left-color:#d97706}.completed-info h4,.flagged-info h4,.session-info h4{color:#1a202c;font-size:17px;font-weight:700;margin:0 0 6px}.completed-info p,.flagged-info p,.session-info p{color:#718096;font-size:14px;font-weight:500;margin:0}.violations-warning{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626!important}.violations-count,.violations-warning{border-radius:6px;display:inline-block;font-weight:700!important;margin-top:4px;padding:4px 8px}.violations-count{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#f59e0b!important}.flagged-actions,.session-actions{display:flex;gap:8px}.review-button,.view-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 10px #667eea4d;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 16px;transition:all .3s ease}.review-button:hover,.view-button:hover{box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.completed-date{color:#a0aec0;font-size:13px;font-weight:600;text-align:right}@media (max-width:1024px){.invigilator-sections{grid-template-columns:1fr}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.invigilator-header h1{font-size:24px}.user-info span{display:none}}.completed-item,.flagged-item,.session-item,.stat-card{animation:fadeInUp .6s ease forwards;opacity:0}.admin-dashboard-container{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-size:200% 200%;min-height:100vh}.admin-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #667eea1a;box-shadow:0 4px 20px #00000014;padding:20px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{min-height:70px}.header-content h1{color:#1a202c;font-size:32px}.user-info{flex-wrap:wrap}.welcome-text{color:#4a5568!important;display:inline-block;font-size:17px!important;font-weight:600!important;white-space:nowrap}.notification-badge{align-items:center;animation:pulse 2s infinite;background:linear-gradient(135deg,#f56565,#e53e3e);border-radius:20px;box-shadow:0 2px 10px #e53e3e4d;color:#fff;cursor:pointer;display:flex;gap:8px;padding:8px 16px;position:relative;transition:all .3s ease}.notification-badge.notification-viewed{animation:none}.notification-badge:hover{background:linear-gradient(135deg,#fc8181,#f56565);box-shadow:0 4px 15px #e53e3e66;transform:translateY(-2px)}.notification-icon{display:inline-block;font-size:18px}.notification-count{align-items:center;background:#fff!important;border:1px solid #e53e3e33;border-radius:12px;box-shadow:0 2px 6px #0000004d;color:#e53e3e!important;display:inline-flex!important;flex-shrink:0;font-size:13px;font-weight:800;height:24px;justify-content:center;line-height:1;min-width:24px;padding:0 8px;position:relative;white-space:nowrap;z-index:1}.admin-main{margin:0 auto;max-width:1400px;padding:40px 30px}.stat-card{border:1px solid #667eea1a}.stat-card:before{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card:hover{box-shadow:0 8px 30px #667eea26}.stat-icon{box-shadow:0 4px 15px #667eea4d}.stat-content h3,.stat-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.admin-sections{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:40px}.offline-registrations,.recent-activity{background:#fff;border:1px solid #667eea1a;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:32px}.offline-registrations h2,.recent-activity h2{align-items:center;color:#1a202c;display:flex;font-size:24px;font-weight:700;gap:10px;margin:0 0 24px}.recent-activity h2:before{content:"📊";font-size:28px}.offline-registrations h2:before{content:"📝";font-size:28px}.activity-list,.registrations-list{display:flex;flex-direction:column;gap:16px;min-height:200px}.empty-state-message{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.empty-state-message .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-message p{color:#4a5568;font-size:1.1rem;font-weight:600;margin:.5rem 0}.empty-state-message .empty-hint{color:#a0aec0;font-size:.875rem;font-weight:400;margin-top:.5rem}.activity-item,.registration-item{align-items:center;background:#f9fafb;border:2px solid #f0f4f8;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.activity-item:hover,.registration-item:hover{background:#fff;border-color:#667eea;box-shadow:0 4px 15px #667eea1a;transform:translateX(5px)}.activity-info h4,.reg-info h4{color:#1a202c;font-size:17px;font-weight:700;margin:0 0 6px}.activity-info p,.reg-info p{color:#718096;font-size:14px;font-weight:500;margin:0}.activity-date{color:#a0aec0;font-size:13px;font-weight:600}.reg-status{align-items:center;display:flex}.status-badge{border-radius:8px;padding:6px 12px}.status-badge.pending{background:linear-gradient(135deg,#fef5e7,#fdeaa8);border:1px solid #f6e05e;color:#d69e2e}.status-badge.paid{background:linear-gradient(135deg,#f0fff4,#c6f6d5);border:1px solid #9ae6b4;color:#38a169}.status-badge.verified{background:linear-gradient(135deg,#e6fffa,#b2f5ea);border:1px solid #81e6d9;color:#319795}.admin-actions{display:flex;gap:20px;justify-content:center;margin-top:20px}.primary-button{box-shadow:0 4px 15px #667eea66}.primary-button:hover{box-shadow:0 6px 25px #667eea80}.secondary-button{box-shadow:0 4px 15px #667eea33}.secondary-button:hover{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 6px 25px #667eea66}.loading:after{border-top-color:#667eea}@media (max-width:1024px){.admin-sections{grid-template-columns:1fr}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.admin-actions{flex-direction:column}.header-content h1{font-size:24px}.user-info span{display:none}}.activity-item,.registration-item,.stat-card{animation:fadeInUp .6s ease forwards;opacity:0}.test-list-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.test-list-container .autocomplete-dropdown,.test-list-container .thq-input,.test-list-container [data-thq],.test-list-container [data-tippy-root],.test-list-container [role=listbox],.test-list-container [role=tooltip],.test-list-container datalist,.test-list-container input:not([type=radio]):not([type=checkbox]){display:none!important}.test-list-container :focus:not(button):not(input){box-shadow:none!important;outline:none!important}.test-list-header .thq-input,.test-list-header input{display:none!important}.test-list-header :focus{outline:none!important}.test-list-header{background:#0000;border-bottom:none;box-shadow:none;padding:2rem 3rem}.header-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin:0}.back-button{background:#0000!important;background-image:none!important;border:1px solid #667eea!important;border-radius:8px!important;box-shadow:none!important;color:#667eea!important;flex-shrink:0;font-size:.875rem!important;font-weight:500!important;max-width:-webkit-fit-content!important;max-width:fit-content!important;padding:.5rem 1.25rem!important;transition:all .2s ease;white-space:nowrap;width:auto!important}.back-button:hover{background:#667eea!important;color:#fff!important;transform:translateY(-1px)}.test-list-main{margin:0 auto;max-width:1200px;padding:40px 20px}.no-tests{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:60px 20px}.no-tests h2{color:#2d3748;font-size:24px;margin:0 0 16px}.no-tests p{color:#718096;font-size:16px;margin:0 0 24px}.no-tests button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px}.tests-grid{grid-gap:24px;align-items:stretch;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.test-card{align-self:stretch;box-shadow:0 4px 6px #0000000d;min-height:420px;overflow:hidden;padding:28px 24px;transition:transform .2s ease,box-shadow .2s ease}.test-card *{box-sizing:border-box}.test-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-4px)}.test-card-header{align-items:flex-start;margin-bottom:16px;min-height:56px}.test-card-header h3{color:#1a202c;font-size:20px;font-weight:600;min-width:0;overflow-wrap:break-word;word-break:break-word}.test-status{flex-shrink:0}.status-available{background:#f0fff4;color:#38a169}.status-attempted,.status-available{border-radius:4px;font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.status-attempted{background:#fef5e7;color:#d69e2e}.test-card-content{display:flex;flex:1 1;flex-direction:column}.test-content-top{display:flex;flex-direction:column;height:100px;margin-bottom:12px}.test-description{word-wrap:break-word;-webkit-line-clamp:2;font-size:14px;height:42px;overflow-wrap:break-word}.test-card-details{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-top:auto;width:100%}.detail-item{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:68px;min-width:0;overflow:hidden;padding:14px 12px}.detail-label{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-value{word-wrap:break-word;line-height:1.3;overflow-wrap:break-word}.test-actions{display:flex;justify-content:center;margin-top:auto;padding-top:16px;width:100%}.test-button{border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:12px 24px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap;width:100%}.test-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.test-button.primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.test-button.disabled{background:#e2e8f0;border:none;color:#a0aec0;cursor:not-allowed}.schedule-banner{align-items:center;border-radius:8px;box-sizing:border-box;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;height:48px;line-height:1.4;margin-top:auto;padding:10px 14px;width:100%}.schedule-icon{flex-shrink:0;font-size:1.25rem;line-height:1}.schedule-text{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:4px}.schedule-not-started{background:linear-gradient(135deg,#fef5e7,#fbd38d);border:1px solid #f6ad55;color:#744210}.schedule-ended{background:linear-gradient(135deg,#fed7d7,#fc8181);border:1px solid #e53e3e;color:#742a2a}.schedule-available{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);border:1px solid #38a169;color:#22543d}@media (max-width:768px){.tests-grid{grid-template-columns:1fr}.test-card-details{grid-template-columns:repeat(2,1fr)}.header-content{flex-direction:column;gap:16px;text-align:center}.test-card{min-height:auto}}@media (max-width:480px){.test-list-main{padding:20px 10px}.test-card{min-height:auto;padding:20px 16px}.test-card-header h3{font-size:18px}.test-card-details{gap:8px;grid-template-columns:1fr}.detail-item{min-height:60px;padding:12px 10px}.detail-value{font-size:16px}.schedule-banner{font-size:.8125rem;padding:10px 12px}}.alert{animation:slideInRight .3s ease;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;min-width:300px;overflow:hidden;position:fixed;right:20px;top:20px;z-index:10000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.alert-content{align-items:center;display:flex;gap:12px;padding:16px 20px;position:relative}.alert-icon{flex-shrink:0;font-size:24px}.alert-message{flex:1 1;font-size:15px;font-weight:500;line-height:1.5}.alert-close{align-items:center;background:#0000;border:none;border-radius:4px;color:inherit;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;opacity:.7;padding:0;transition:background-color .2s ease;width:24px}.alert-close:hover{background-color:#0000001a;opacity:1}.alert-info{background:linear-gradient(135deg,#bee3f8,#90cdf4);border-left:4px solid #3182ce;color:#2c5282}.alert-success{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);border-left:4px solid #38a169;color:#22543d}.alert-warning{background:linear-gradient(135deg,#fef5e7,#fbd38d);border-left:4px solid #d69e2e;color:#744210}.alert-error{background:linear-gradient(135deg,#fed7d7,#fc8181);border-left:4px solid #e53e3e;color:#742a2a}@media (max-width:768px){.alert{left:10px;max-width:none;min-width:auto;right:10px;top:10px}}.face-detection{display:flex;flex-direction:column;gap:16px}.detection-status{align-items:center;background:#f7fafc;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.status-indicator{animation:pulse 2s infinite;border-radius:50%;height:12px;width:12px}.status-text{color:#2d3748;font-size:14px;font-weight:500}.camera-container{margin:0 auto;max-width:300px;position:relative;width:100%}.camera-video{border:2px solid #e2e8f0;border-radius:8px;height:auto;width:100%}.detection-canvas{left:0;position:absolute;top:0}.detection-error{background:#fed7d7;color:#c53030;font-size:12px;text-align:center}.detection-error,.detection-info{border-radius:6px;padding:8px 12px}.detection-info{background:#f7fafc;display:flex;justify-content:space-between}.info-item{flex-direction:column;gap:2px}.info-label{color:#718096;font-size:12px}.info-value{font-size:14px;font-weight:600}.info-value.verification-failed{color:#e53e3e}.detection-instructions{background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;padding:12px}.detection-instructions h4{color:#2b6cb0;font-size:14px;font-weight:600;margin:0 0 8px}.detection-instructions ul{margin:0;padding-left:16px}.detection-instructions li{color:#2c5282;font-size:12px;margin-bottom:4px}.detection-instructions li:last-child{margin-bottom:0}.service-unavailable-notice{background:#e9d8fd;border:1px solid #d6bcfa;border-radius:6px;color:#553c9a;font-size:12px;padding:8px 12px;text-align:center}.service-unavailable-notice.service-unavailable-warning{animation:pulse-warning 1s infinite;background:#fed7d7;border:1px solid #fc8181;color:#c53030;font-weight:500}.section-label{color:#718096;font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.current-status-section{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px}.accumulated-violations-section{background:#fffaf0;border:1px solid #fbd38d;border-radius:6px;padding:12px}.violations-explainer{color:#744210;font-size:11px;font-style:italic;margin:8px 0 0}.violations-value.has-violations{color:#c53030;font-weight:700}.warning-section{background:#f7fafc;border-radius:6px;display:flex;flex-direction:column;gap:10px;padding:12px}.warning-level-container{align-items:center;display:flex;gap:10px}.violations-label,.warning-label{color:#718096;font-size:12px;min-width:50px}.warning-level-bar{background:#e2e8f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.warning-level-fill{border-radius:4px;height:100%;transition:width .3s ease,background-color .3s ease}.warning-level-text{font-size:12px;font-weight:600;min-width:60px;text-align:right}.violations-counter{align-items:center;display:flex;gap:10px}.violations-value{color:#2d3748;font-size:14px;font-weight:600}.auto-submit-warning{align-items:center;animation:pulse-warning 1s infinite;background:#fed7d7;border:1px solid #fc8181;border-radius:6px;display:flex;gap:8px;padding:10px 12px}.auto-submit-warning span{color:#c53030;font-size:13px;font-weight:500}.warning-icon{font-size:16px}.preliminary-warnings{background:#fffaf0;border:1px solid #fbd38d;border-radius:6px;padding:8px 12px}.preliminary-warning-item{align-items:center;color:#744210;display:flex;font-size:12px;gap:8px;padding:4px 0}.preliminary-warning-item:not(:last-child){border-bottom:1px solid #fbd38d}.warning-dot{background:#ed8936;border-radius:50%;flex-shrink:0;height:6px;width:6px}.current-issue-alert{animation:slideIn .3s ease-out;border-radius:8px;margin:8px 0;padding:12px 16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.current-issue-alert.severity-high{background:linear-gradient(135deg,#fed7d7,#feb2b2);border:2px solid #fc8181;box-shadow:0 2px 8px #f5656540}.current-issue-alert.severity-medium{background:linear-gradient(135deg,#fefcbf,#faf089);border:2px solid #f6e05e;box-shadow:0 2px 8px #ecc94b40}.current-issue-alert.severity-low{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);border:2px solid #68d391;box-shadow:0 2px 8px #48bb7840}.issue-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.issue-icon{font-size:20px}.issue-title{color:#1a202c;font-size:14px;font-weight:700}.severity-high .issue-title{color:#c53030}.severity-medium .issue-title{color:#b7791f}.severity-low .issue-title{color:#276749}.issue-message{color:#2d3748;font-size:13px;font-weight:500;margin:0 0 6px}.issue-action{color:#4a5568;font-size:12px;font-style:italic;margin:0;padding-left:28px}.timer-container{background:#fff;border:2px solid #e2e8f0;border-radius:8px;min-width:120px;padding:12px 16px;transition:all .3s ease}.timer-container.warning{animation:pulse-warning 1s infinite;background:#fffaf0;border-color:#f6ad55}@keyframes pulse-warning{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.timer-display{align-items:center;display:flex;gap:8px;margin-bottom:8px}.timer-icon,.timer-text{font-size:18px}.timer-text{color:#2d3748;font-family:Courier New,monospace;font-weight:700}.timer-container.warning .timer-text{color:#c05621}.timer-progress{background:#e2e8f0;border-radius:2px;height:4px;overflow:hidden;width:100%}.timer-progress-bar{background:linear-gradient(135deg,#667eea,#764ba2);height:100%;transition:width 1s linear}.timer-container.warning .timer-progress-bar{background:#f6ad55}.timer-warning{animation:blink 1s infinite;color:#c05621;font-size:12px;font-weight:600;margin-top:8px;text-align:center}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.5}}.test-container{background:#f8fafc;min-height:100vh;padding:20px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.test-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px}.test-header h1{color:#1a202c;font-size:24px;font-weight:600;margin:0}.test-controls{align-items:center;display:flex;gap:16px}.fullscreen-button{background:#4299e1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.fullscreen-button:hover{background:#3182ce}.violations-warning{background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;margin-bottom:24px;padding:16px}.violations-warning h3{color:#c53030;font-size:16px;margin:0 0 8px}.violations-warning p{color:#742a2a;font-size:14px;margin:0}.test-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px}.questions-section{display:flex;flex-direction:column;gap:24px}.question-header h3{font-size:18px}.points{background:#e6fffa;border-radius:4px;color:#234e52;font-size:12px;padding:4px 8px}.question-text{line-height:1.5;margin:0 0 20px}.options{display:flex;flex-direction:column;gap:12px}.option-label{align-items:center;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:border-color .2s ease}.option-label:hover{border-color:#cbd5e0}.option-label input[type=radio]{margin:0}.option-label input[type=radio]:checked+.option-text{color:#2b6cb0;font-weight:600}.option-label:has(input[type=radio]:checked){background:#ebf8ff;border-color:#4299e1}.option-text{color:#4a5568;font-size:14px}.test-sidebar{align-self:flex-start;display:flex;flex-direction:column;gap:24px;height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:20px}.face-detection-section,.progress-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:20px}.face-detection-section h3,.progress-section h3{color:#1a202c;font-size:16px;font-weight:600;margin:0 0 16px}.progress-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);height:100%;transition:width .3s ease}.progress-section p{color:#718096;font-size:14px;margin:0;text-align:center}.test-submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px;transition:transform .2s ease,box-shadow .2s ease}.test-submit-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.test-submit-button:disabled{cursor:not-allowed;opacity:.7}.test-error-container{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;margin:4rem auto;max-width:600px;padding:3rem;text-align:center}.test-error-icon{font-size:4rem;margin-bottom:1rem}.test-error-container h2{color:#2d3748;font-size:1.75rem;margin:0 0 1rem}.test-error-message{background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#742a2a;font-size:1rem;line-height:1.6;margin:1.5rem 0 2rem;padding:1rem}.back-to-dashboard-button,.back-to-tests-button{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-weight:600;margin:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.back-to-tests-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.back-to-tests-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.back-to-dashboard-button{background:#fff;border:2px solid #e2e8f0;color:#718096}.back-to-dashboard-button:hover{background:#f7fafc;border-color:#cbd5e0}.warning-modal{animation:slideDown .3s ease;left:50%;position:fixed;top:20px;transform:translateX(-50%);z-index:10000}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-100%)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.warning-modal-content{background:linear-gradient(135deg,#fed7d7,#feb2b2);border:3px solid #fc8181;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:600px;min-width:400px;padding:24px 32px}.warning-modal-content h2{color:#742a2a;font-size:20px;font-weight:700;margin:0 0 12px}.warning-modal-content p{color:#742a2a;font-size:16px;font-weight:500;margin:0 0 8px}.warning-consequence{border-top:2px solid #fc8181;font-size:14px!important;font-weight:700!important;margin-top:12px!important;padding-top:12px}.auto-submit-message{align-items:center;animation:fadeIn .3s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.auto-submit-content{animation:scaleIn .3s ease;background:linear-gradient(135deg,#fed7d7,#fc8181);border:3px solid #e53e3e;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:500px;padding:48px;text-align:center}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.auto-submit-content h2{color:#742a2a;font-size:28px;font-weight:700;margin:0 0 16px}.auto-submit-content p{color:#742a2a;font-size:18px;font-weight:500;margin:0 0 12px}.auto-submit-note{border-top:2px solid #fc8181;color:#991b1b!important;font-size:14px!important;font-weight:600!important;margin-top:16px!important;padding-top:16px}.fullscreen-block-modal{align-items:center;background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.fullscreen-block-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:500px;padding:48px;text-align:center}.fullscreen-block-content h2{color:#1a202c;font-size:28px;font-weight:700;margin:0 0 16px}.fullscreen-block-content p{color:#4a5568;font-size:18px;margin:0 0 24px}.reenter-fullscreen-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-bottom:16px;padding:16px 32px;transition:transform .2s ease}.reenter-fullscreen-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.fullscreen-help{color:#e53e3e!important;font-size:14px!important;font-weight:600!important}@media (max-width:1024px){.test-content{grid-template-columns:1fr}.test-sidebar{order:-1}}@media (max-width:768px){.test-header{gap:16px;text-align:center}.test-controls,.test-header{flex-direction:column}.warning-modal-content{margin:0 20px;min-width:auto}.fullscreen-block-content{margin:0 20px;padding:32px 24px}}.test-result-container{align-items:center;background:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.result-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:600px;padding:40px;text-align:center;width:100%}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.result-header h1{color:#1a202c;font-size:32px;font-weight:700;margin:0}.status-badge{font-size:14px;letter-spacing:.5px;padding:8px 16px}.status-badge.passed{background:#f0fff4;border:2px solid #38a169;color:#38a169}.status-badge.failed{background:#fed7d7;border:2px solid #e53e3e;color:#e53e3e}.test-info{margin-bottom:32px}.test-info h2{color:#2d3748;font-size:24px;font-weight:600;margin:0 0 8px}.score-section{align-items:center;background:#f7fafc;border-radius:12px;gap:40px;justify-content:center;margin-bottom:32px;padding:32px 24px}.score-circle{background:#fff;box-shadow:0 4px 12px #0000001a;height:120px;width:120px}.score-number{font-size:36px;font-weight:700;margin:0}.score-label{color:#718096;letter-spacing:.5px}.score-details{grid-gap:16px 24px;gap:16px 24px;grid-template-columns:repeat(2,1fr);min-width:320px;text-align:left}.score-item{display:flex;flex-direction:column;gap:4px}.score-item .score-label{color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.score-item .score-value{color:#1a202c;font-size:16px;font-weight:700}.result-message{margin-bottom:32px}.failure-message,.success-message{align-items:center;border-radius:12px;display:flex;gap:16px;padding:20px;text-align:left}.success-message{background:#f0fff4;border:1px solid #9ae6b4}.failure-message{background:#fef5e7;border:1px solid #fbd38d}.message-icon{flex-shrink:0;font-size:32px}.message-content h3{color:#1a202c;font-size:18px;font-weight:600;margin:0 0 8px}.message-content p{color:#4a5568;font-size:14px;line-height:1.5;margin:0}.result-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.primary-button,.retake-button,.secondary-button{border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.secondary-button{border:2px solid #667eea;color:#667eea}.secondary-button:hover{background:#667eea}.retake-button{background:#f6ad55;border:none}.retake-button:hover{background:#ed8936;transform:translateY(-2px)}.error,.loading{padding:40px}@media (max-width:768px){.result-card{padding:24px}.result-header{flex-direction:column;gap:16px}.score-section{flex-direction:column;gap:24px}.score-details{min-width:auto;width:100%}.result-actions{flex-direction:column}.primary-button,.retake-button,.secondary-button{width:100%}}@media (max-width:480px){.score-details{gap:12px;grid-template-columns:1fr}}.test-details-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:2rem 0}.page-header{border-bottom:3px solid #667eea1a;box-shadow:0 4px 20px #667eea26;padding:2rem 3rem}.page-header h1{font-size:2rem}.back-button{background:linear-gradient(135deg,#f56565,#e53e3e);border-radius:10px;box-shadow:0 8px 20px #e53e3e59;font-size:.95rem;padding:.65rem 1.6rem;transition:transform .25s ease,box-shadow .25s ease}.back-button:hover{box-shadow:0 12px 26px #e53e3e66}.test-details-content{margin:0 auto;max-width:1200px;padding:40px 20px}.test-info-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:24px;padding:32px}.test-info-card h2{color:#1a202c;font-size:28px;font-weight:700;margin:0 0 12px}.test-description{color:#4a5568;font-size:16px;margin:0 0 24px}.score-section{align-items:flex-start;display:flex;flex-wrap:wrap;gap:32px}.score-circle{align-items:center;border:6px solid;border-radius:50%;display:flex;flex-direction:column;flex-shrink:0;height:150px;justify-content:center;width:150px}.score-value{font-size:36px;font-weight:700;line-height:1;margin-bottom:8px}.score-label{font-size:12px;font-weight:600;letter-spacing:1px;opacity:.7;text-transform:uppercase}.score-details{grid-gap:16px;display:grid;flex:1 1;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));min-width:300px}.score-detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#2d3748;font-size:18px;font-weight:700}.status-badge.status-passed{background:#c6f6d5;color:#22543d}.status-badge.status-failed{background:#fed7d7;color:#742a2a}.violations-section{background:#fff;border-left:4px solid #e53e3e;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:24px;padding:24px}.violations-section h2{align-items:center;color:#c53030;display:flex;font-size:24px;font-weight:700;gap:10px;margin:0 0 20px}.violations-list{gap:16px}.violation-item{align-items:flex-start;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;gap:16px;padding:16px}.violation-icon{font-size:24px}.violation-content h4{color:#c53030;font-size:16px;font-weight:600;margin:0 0 4px;text-transform:capitalize}.violation-content p{color:#742a2a;font-size:14px;margin:0 0 8px}.violation-time{background:#fff;border:1px solid #e2e8f0;border-radius:4px;display:inline-block;font-size:12px;padding:2px 8px}.questions-section{margin:0 auto;max-width:1200px;padding:0 20px 40px}.questions-section h2{color:#1a202c;font-size:24px;font-weight:700;margin:0 0 24px}.question-card{background:#fff;border-left:4px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:20px;padding:24px}.question-card.correct{border-left-color:#38a169}.question-card.incorrect{border-left-color:#e53e3e}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.question-header h3{color:#1a202c;font-size:20px;font-weight:600;margin:0}.question-points{align-items:center;color:#718096;display:flex;font-size:14px;font-weight:600;gap:12px}.correct-badge{background:#c6f6d5;color:#22543d}.correct-badge,.incorrect-badge{border-radius:6px;font-size:12px;font-weight:600;padding:4px 8px}.incorrect-badge{background:#fed7d7;color:#742a2a}.question-text{color:#2d3748;font-size:16px;font-weight:500;line-height:1.6;margin-bottom:20px}.options-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.option-item{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.option-item.correct-answer{background:#c6f6d5;border-color:#38a169}.option-item.user-answer{background:#fed7d7;border-color:#e53e3e}.option-item.user-answer.correct-answer{background:#c6f6d5;border-color:#38a169}.option-label{color:#4a5568;font-weight:700}.option-text{color:#2d3748;flex:1 1}.correct-indicator,.user-indicator{border-radius:4px;font-size:12px;font-weight:600;padding:4px 8px}.correct-indicator{background:#38a169;color:#fff}.user-indicator{background:#e53e3e;color:#fff}.answer-summary{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px;padding-top:16px}.summary-item{color:#2d3748;font-size:14px}.summary-item strong{color:#1a202c;margin-right:8px}.summary-correct{color:#22543d}.summary-incorrect{color:#742a2a}.error-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin:40px auto;max-width:600px;padding:48px;text-align:center}.error-icon{font-size:64px;margin-bottom:16px}.error-card h2{color:#1a202c;font-size:24px;font-weight:700;margin:0 0 16px}.error-message{color:#e53e3e;font-size:16px;margin:0 0 12px}.error-hint{color:#718096;font-size:14px;margin:0 0 24px}.primary-button{border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease}.primary-button:hover{box-shadow:0 4px 12px #667eea66}@media (max-width:768px){.page-header{flex-direction:column;gap:16px;padding:1.5rem;text-align:center}.score-section{align-items:center;flex-direction:column}.score-details{width:100%}.test-info-card{padding:24px}.violation-item{align-items:flex-start;flex-direction:column}}.test-history-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;padding:2rem}.test-history-content{background:#fff;border-radius:16px;box-shadow:0 5px 20px #00000014;margin:0 auto;max-width:1200px;padding:2rem}.empty-state h3{font-size:1.75rem;margin-bottom:.5rem}.empty-state p{margin-bottom:2rem}.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:1rem 2rem;transition:transform .3s ease}.primary-btn:hover{transform:translateY(-2px)}.history-table-container{overflow-x:auto}.history-table{border-collapse:collapse;width:100%}.history-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.history-table th{font-weight:600;padding:1rem;text-align:left}.history-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .3s ease}.history-table tbody tr:hover{background-color:#f8f9ff}.history-table td{padding:1rem}.test-name{color:#2d3748;font-weight:600}.score-cell{font-weight:700}.score-pass{color:#48bb78}.score-fail{color:#f56565}.status-badge{padding:.25rem .75rem}.status-completed{background:#c6f6d5;color:#22543d}.status-in-progress{background:#feebc8;color:#7c2d12}.status-flagged{background:#fed7d7;color:#742a2a}.status-default{background:#e2e8f0;color:#2d3748}.violations-cell{color:#f56565;font-weight:600}.view-btn{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .3s ease}.view-btn:hover{background:#764ba2}.loading{color:#718096;padding:4rem}.error-message{background:#fed7d7;color:#742a2a;max-width:1200px;padding:1rem}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.page-header h1{font-size:2rem}.history-table{font-size:.875rem}.history-table td,.history-table th{padding:.75rem .5rem}}.create-test-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;padding:2rem}.page-header{max-width:900px}.loading{background:#fff;border-radius:16px;box-shadow:0 5px 20px #00000014;margin:2rem auto;max-width:600px}.error-message{max-width:900px}.create-test-content{background:#fff;border-radius:16px;box-shadow:0 5px 20px #00000014;margin:0 auto;max-width:900px;padding:2.5rem}.test-form{display:flex;flex-direction:column;gap:2rem}.form-section{border-bottom:1px solid #e2e8f0;padding-bottom:2rem}.form-section:last-of-type{border-bottom:none}.form-section h2{color:#2d3748;font-size:1.5rem}.form-group,.form-section h2{margin-bottom:1.5rem}.field-help{color:#718096;font-size:.875rem;font-style:italic;margin-top:.5rem}.form-group label{color:#2d3748;display:block;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group textarea{resize:vertical}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.checkbox-group{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.checkbox-label{align-items:center;color:#2d3748;cursor:pointer;display:flex;font-weight:500;gap:.75rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.cancel-button{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.cancel-button:hover{background:#f7fafc;border-color:#cbd5e0}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:transform .3s ease}.submit-button:disabled{opacity:.6}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-height:80vh;max-width:900px;overflow-y:auto;padding:2rem;width:100%}.modal-content h2{color:#2d3748;font-size:1.75rem;margin:0 0 1.5rem}.template-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:1.5rem}.template-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:1.5rem;transition:all .3s ease}.template-card:hover{border-color:#667eea;box-shadow:0 8px 20px #667eea33;transform:translateY(-4px)}.template-card h3{color:#2d3748;font-size:1.125rem;margin:0 0 .5rem}.template-category{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:.75rem;padding:.25rem .75rem}.template-description{color:#718096;font-size:.875rem;line-height:1.5;margin-bottom:1rem}.template-meta{color:#4a5568;display:flex;font-size:.875rem;font-weight:500;gap:1rem}.close-modal-button{background:#e2e8f0;border:none;border-radius:8px;color:#2d3748;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.close-modal-button:hover{background:#cbd5e0}.template-button{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.template-button:hover{box-shadow:0 4px 12px #48bb784d;transform:translateY(-2px)}.question-type-selector{background:linear-gradient(135deg,#f0f4ff,#e6edff);border:1px solid #cbd5e0;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.question-type-selector label{color:#2d3748;display:block;font-weight:600;margin-bottom:.75rem}.question-type-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#2d3748;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:border-color .3s ease;width:100%}.question-type-select:focus{border-color:#667eea;outline:none}.type-selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.type-selector-header label{margin-bottom:0!important}.lock-toggle{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#4a5568;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.25rem .75rem;transition:all .2s ease}.lock-toggle:hover{background:#f7fafc;border-color:#cbd5e0}.lock-toggle input[type=checkbox]{accent-color:#667eea;height:16px;width:16px}.locked-type-display{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;font-size:1rem;font-weight:500;padding:.75rem}.question-count-badge{background:#667eea;border-radius:20px;color:#fff;display:inline-block;font-size:1rem;margin-left:1rem;padding:.25rem .75rem;vertical-align:middle}.question-presets{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.question-presets label{color:#2d3748;display:block;font-weight:600;margin-bottom:1rem}.preset-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.preset-btn{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.preset-btn:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.custom-input-group{align-items:center;display:flex;gap:.5rem}.custom-num-input{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-weight:600;padding:.75rem;width:80px}.questions-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.question-card-builder{background:#fff;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .3s ease}.question-card-builder:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000000d}.question-card-header{align-items:center;background:#f7fafc;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background .2s ease}.question-card-header:hover{background:#edf2f7}.question-card-title{align-items:center;display:flex;flex:1 1;gap:1rem}.question-number{color:#667eea;font-size:1rem;font-weight:700}.question-preview{color:#718096;font-size:.875rem;font-style:italic}.question-card-actions{align-items:center;display:flex;gap:1rem}.remove-question-btn{background:#0000;border:none;cursor:pointer;font-size:1.25rem;padding:.5rem;transition:transform .2s ease}.remove-question-btn:hover{transform:scale(1.2)}.expand-icon{color:#667eea;font-size:.875rem;font-weight:700}.question-card-body{border-top:1px solid #e2e8f0;padding:1.5rem}.options-section{margin-top:1rem}.options-section label{color:#2d3748;display:block;font-weight:600;margin-bottom:.75rem}.option-input-group{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.option-input-group input[type=radio]{accent-color:#667eea;cursor:pointer;height:20px;width:20px}.option-label{color:#2d3748;font-weight:600;min-width:24px}.option-input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.option-input:focus{border-color:#667eea;outline:none}.option-help{color:#48bb78;font-size:.875rem;font-weight:500;margin-top:.5rem}.add-question-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.add-question-btn:hover{box-shadow:0 6px 16px #667eea4d;transform:translateY(-2px)}.no-questions-container{background:#f7fafc;border:2px dashed #cbd5e0;border-radius:12px;padding:3rem 2rem;text-align:center}.no-questions-message{color:#718096;font-size:1.125rem;font-style:italic;margin-bottom:1.5rem}.question-action-buttons{align-items:center;display:flex;flex-direction:column;gap:1rem}.add-first-question-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-width:250px;padding:1rem 2rem;transition:all .3s ease}.add-first-question-btn:hover{box-shadow:0 6px 16px #667eea4d;transform:translateY(-2px)}.or-divider{color:#718096;font-size:.875rem;font-weight:500}.template-button-inline{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;min-width:250px;padding:.75rem 1.5rem;transition:all .3s ease}.template-button-inline:hover{background:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff;transform:translateY(-2px)}.schedule-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.schedule-toggle{align-items:center;color:#2d3748;cursor:pointer;display:flex;font-weight:500;gap:.75rem}.schedule-toggle input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:20px;width:20px}.schedule-presets{background:linear-gradient(135deg,#f0f4ff,#e6edff);border:1px solid #cbd5e0;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.preset-label{color:#4a5568;display:block;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.preset-buttons-group{display:flex;flex-wrap:wrap;gap:.75rem}.preset-btn-small{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.preset-btn-small:hover{background:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff;transform:translateY(-2px)}.schedule-row{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr;margin-bottom:1rem}.schedule-arrow{align-items:center;color:#667eea;display:flex;font-size:2rem;font-weight:700;justify-content:center;padding-top:2rem}.schedule-input-group{position:relative}.schedule-input-group label{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.label-icon{font-size:1.25rem}.schedule-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.875rem;transition:all .3s ease;width:100%}.schedule-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.schedule-hint{color:#718096;font-size:.875rem;font-style:italic;margin-top:.5rem}.schedule-summary{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:2rem;margin-top:1rem;padding:1rem}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-label{color:#718096;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.summary-value{color:#2d3748;font-size:1rem;font-weight:700}.schedule-error{background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#742a2a;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.75rem 1rem}.schedule-help-text{background:#f0f4ff;border-left:4px solid #667eea;border-radius:8px;color:#4a5568;font-size:.875rem;line-height:1.6;margin-top:1rem;padding:1rem}@media (max-width:768px){.create-test-container{padding:1rem}.create-test-content{padding:1.5rem}.form-row,.schedule-row{grid-template-columns:1fr}.schedule-arrow{padding:.5rem 0;transform:rotate(90deg)}.schedule-summary{gap:1rem}.preset-buttons-group,.schedule-summary{flex-direction:column}.preset-btn-small{width:100%}.form-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}.preset-buttons{flex-direction:column}.custom-input-group,.preset-btn,.question-action-buttons{width:100%}.add-first-question-btn,.template-button-inline{min-width:auto;width:100%}.template-grid{grid-template-columns:1fr}.modal-overlay{padding:1rem}.modal-content{padding:1.5rem}}.teacher-tests-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;padding:2rem}.create-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:transform .3s ease}.create-button:hover{transform:translateY(-2px)}.tests-content{margin:0 auto;max-width:1200px}.filter-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:1rem}.filter-btn{color:#718096}.tests-grid{grid-gap:1.5rem;gap:1.5rem}.test-card{box-shadow:0 5px 20px #00000014;display:flex;flex-direction:column;height:100%;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.test-card-header{align-items:start;display:flex;gap:12px;justify-content:space-between;margin-bottom:1rem}.test-card-header h3{word-wrap:break-word;color:#2d3748;flex:1 1;font-size:1.25rem;margin:0}.test-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;margin-bottom:1.5rem;overflow:hidden;text-overflow:ellipsis}.test-stats{background:#f7fafc;border-radius:8px;justify-content:space-between;margin-bottom:1.5rem;margin-top:auto;padding:1rem}.test-card-actions{display:flex;gap:.75rem;margin-top:0}.action-btn{flex:1 1;padding:.5rem}.edit-btn{background:#48bb78;color:#fff}.edit-btn:hover{background:#38a169}@media (max-width:768px){.header-actions{flex-direction:column}.filter-section{flex-wrap:wrap}.tests-grid{grid-template-columns:1fr}}.confirm-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.confirm-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 50px #0003;max-width:450px;overflow:hidden;transform-origin:center;width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-header{align-items:center;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.confirm-modal-header h3{color:#2d3748;font-size:1.25rem;font-weight:700;margin:0}.confirm-modal-close{background:#0000;border:none;color:#a0aec0;cursor:pointer;font-size:1.5rem;line-height:1;margin:-.5rem;padding:.5rem;transition:color .2s}.confirm-modal-close:hover{color:#4a5568}.confirm-modal-body{padding:0 1.5rem 1.5rem}.confirm-modal-body p{color:#718096;font-size:1rem;line-height:1.6;margin:0}.confirm-modal-footer{background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.confirm-modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.confirm-modal-btn.cancel{background:#fff;border:1px solid #e2e8f0;color:#4a5568}.confirm-modal-btn.cancel:hover{background:#edf2f7;border-color:#cbd5e0}.confirm-modal-btn.confirm{background:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff}.confirm-modal-btn.confirm:hover{background:#5a67d8;transform:translateY(-1px)}.confirm-modal-btn.confirm.dangerous{background:#e53e3e;box-shadow:0 4px 12px #e53e3e4d}.confirm-modal-btn.confirm.dangerous:hover{background:#c53030}.test-view-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;padding:2rem}.page-header{align-items:flex-start;flex-wrap:wrap;gap:1rem}.page-header h1{font-weight:800}.header-actions{display:flex;flex-wrap:wrap;gap:1rem}.back-button,.edit-button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.edit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.edit-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.test-view-content{margin:0 auto;max-width:1200px}.test-header-card{background:#fff;border-radius:16px;box-shadow:0 5px 20px #00000014;margin-bottom:2rem;padding:2rem}.test-title-section{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.test-title-section h2{color:#2d3748;font-size:2rem;margin:0}.status-badge{border-radius:20px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.status-badge.status-active{background:#c6f6d5;color:#22543d}.status-badge.status-draft{background:#fefcbf;color:#744210}.status-badge.status-completed{background:#bee3f8;color:#2c5282}.test-description{font-size:1.1rem;line-height:1.6;margin:0}.test-details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.detail-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 5px 20px #00000014;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s ease}.detail-card:hover{transform:translateY(-2px)}.detail-icon{font-size:2.5rem;line-height:1}.detail-content h3{color:#718096;font-size:.875rem;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.detail-content p{color:#2d3748;font-size:1.5rem;font-weight:700;margin:0}.test-info-sections{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.info-section{background:#fff;border-radius:12px;box-shadow:0 5px 20px #00000014;padding:2rem}.info-section h3{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.5rem;margin:0 0 1.5rem;padding-bottom:1rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-item{align-items:center;background:#f8f9ff;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.info-label{color:#4a5568;font-weight:600}.info-value{color:#2d3748}.instructions-box{background:#f8f9ff;border-radius:8px;color:#2d3748;line-height:1.6;padding:1.5rem;white-space:pre-wrap}.proctoring-settings{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.setting-item{align-items:center;background:#f8f9ff;border-radius:8px;color:#2d3748;display:flex;font-weight:500;gap:.75rem;padding:1rem}.setting-icon{font-size:1.25rem}.setting-label{color:#4a5568;font-weight:600}.setting-value{color:#667eea;font-weight:700}.action-buttons{gap:1rem}.delete-button,.primary-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2.5rem;transition:all .3s ease}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2)}.primary-button:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.delete-button{background:#fff;border:2px solid #e53e3e;color:#e53e3e}.delete-button:hover{background:#e53e3e;box-shadow:0 6px 20px #e53e3e4d;color:#fff;transform:translateY(-2px)}.error-message{margin:2rem auto;max-width:600px;padding:1.5rem;text-align:center}@media (max-width:768px){.test-view-container{padding:1rem}.page-header{align-items:stretch;flex-direction:column}.page-header h1{font-size:2rem}.header-actions{width:100%}.back-button,.edit-button{flex:1 1}.test-title-section h2{font-size:1.5rem}.info-grid,.proctoring-settings,.test-details-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.delete-button,.primary-button{width:100%}}.proctoring-dashboard-container{background:#f7fafc;min-height:100vh}.proctoring-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:3px solid #ffffff1a;box-shadow:0 4px 20px #667eea26;color:#fff;overflow:visible;padding:2rem 3rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.proctoring-header .header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;width:100%}.proctoring-header .header-title{flex-shrink:0}.proctoring-header .header-title h1{-webkit-text-fill-color:#fff!important;background:none!important;background-clip:initial!important;-webkit-background-clip:unset!important;color:#fff!important;font-size:2rem;font-weight:700;letter-spacing:-.5px;margin:0;text-shadow:0 2px 10px #0003}.proctoring-header .subtitle{color:#ffffffe6;font-size:14px;margin:4px 0 0;opacity:.9}.proctoring-header .header-actions{display:flex;gap:12px}.proctoring-header .back-button,.proctoring-header .logout-button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.proctoring-header .back-button{background:#fff3;color:#fff}.proctoring-header .back-button:hover{background:#ffffff4d}.proctoring-header .logout-button{background:#fff;color:#667eea}.proctoring-header .logout-button:hover{background:#f0f0f0}.proctoring-main{margin:0 auto;max-width:1400px;padding:24px 32px}.stats-section{margin-bottom:32px}.stats-section h2{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 16px}.stat-card{box-shadow:0 1px 3px #0000001a;gap:16px;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-card.warning{border-left:4px solid #ed8936}.stat-card.danger{border-left:4px solid #e53e3e}.stat-icon{font-size:32px}.stat-content h3{color:#2d3748;font-size:28px;font-weight:700;margin:0}.stat-content p{margin:4px 0 0}.breakdown-section{margin-bottom:32px}.breakdown-section h2{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 16px}.violation-breakdown{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.breakdown-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.breakdown-item{background:#f7fafc;border-radius:8px;padding:16px;text-align:center}.breakdown-type{color:#4a5568;font-size:14px;font-weight:600;margin-bottom:8px}.breakdown-count{color:#2d3748;font-size:32px;font-weight:700}.breakdown-severity{display:flex;gap:8px;justify-content:center;margin-top:8px}.severity-badge{border-radius:4px;font-size:11px;padding:2px 8px}.severity-badge.high{background:#fed7d7;color:#c53030}.severity-badge.medium{background:#feebc8;color:#c05621}.dashboard-columns{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1.5fr;margin-bottom:32px}@media (max-width:1024px){.dashboard-columns{grid-template-columns:1fr}}.details-section h2,.flagged-section h2,.recent-section h2{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 16px}.flagged-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-height:600px;overflow-y:auto;padding:20px}.flagged-list{gap:12px}.flagged-item{background:#f7fafc;border:2px solid #0000;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s}.flagged-item:hover{background:#edf2f7}.flagged-item.selected{background:#ebf4ff;border-color:#667eea}.flagged-header{align-items:center;margin-bottom:8px}.student-name{color:#2d3748;font-weight:600}.status-badge{font-size:11px;font-weight:500;padding:4px 10px;text-transform:capitalize}.status-badge.status-completed{background:#c6f6d5;color:#276749}.status-badge.status-auto_submitted{background:#fed7d7;color:#c53030}.status-badge.status-in_progress{background:#bee3f8;color:#2b6cb0}.flagged-info{margin-bottom:8px}.test-name{color:#718096;font-size:13px;margin:0 0 4px}.violation-summary{display:flex;font-size:13px;gap:16px}.violation-count{color:#e53e3e}.score{color:#718096}.flagged-time{color:#a0aec0;font-size:12px}.details-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-height:600px;overflow-y:auto;padding:20px}.loading-details,.no-selection{align-items:center;color:#718096;display:flex;font-size:14px;height:200px;justify-content:center}.attempt-details{display:flex;flex-direction:column;gap:20px}.details-header h3{color:#2d3748;font-size:18px;font-weight:600;margin:0}.details-header p{color:#718096;font-size:13px;margin:4px 0 0}.details-info{background:#f7fafc;border-radius:8px;padding:16px}.info-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.info-row:not(:last-child){border-bottom:1px solid #e2e8f0}.info-row .label{color:#718096;font-size:13px}.info-row .value{color:#2d3748;font-size:14px;font-weight:500}.proctoring-stats{background:#f7fafc;border-radius:8px;padding:16px}.proctoring-stats h4{color:#4a5568;font-size:14px;font-weight:600;margin:0 0 16px}.stats-bars{display:flex;flex-direction:column;gap:12px}.stat-bar{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:120px 1fr 60px}.bar-label{color:#4a5568;font-size:13px}.bar-container{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;transition:width .3s}.bar-fill.verification{background:#48bb78}.bar-fill.attention{background:#4299e1}.bar-fill.liveness{background:#9f7aea}.bar-value{color:#2d3748;font-size:13px;font-weight:600;text-align:right}.risk-score{align-items:center;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-top:16px;padding-top:16px}.risk-label{color:#4a5568;font-size:14px;font-weight:600}.risk-value{font-size:14px;font-weight:700}.frames-info{color:#a0aec0;font-size:12px;margin-top:8px;text-align:right}.violation-timeline h4{color:#4a5568;font-size:14px;font-weight:600;margin:0 0 16px}.timeline-list{flex-direction:column}.timeline-item,.timeline-list{display:flex;gap:12px}.timeline-marker{border-radius:50%;flex-shrink:0;height:12px;margin-top:4px;width:12px}.timeline-content{background:#f7fafc;border-radius:8px;flex:1 1;padding:12px}.timeline-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.violation-type{font-size:13px}.violation-severity{font-size:11px;font-weight:600;text-transform:uppercase}.violation-message{color:#4a5568;font-size:13px;margin:0 0 8px}.violation-time{color:#a0aec0;font-size:11px}.recent-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.violations-table{border-collapse:collapse;width:100%}.violations-table td,.violations-table th{border-bottom:1px solid #e2e8f0;padding:12px;text-align:left}.violations-table th{background:#f7fafc;color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.violations-table td{color:#2d3748;font-size:14px}.violation-row{cursor:pointer;transition:background .2s}.violation-row:hover{background:#f7fafc}.severity-indicator{font-weight:600;text-transform:capitalize}.no-data{color:#a0aec0;font-size:14px;padding:24px;text-align:center}.error{background:#fed7d7;border-radius:8px;color:#c53030;margin-bottom:16px;padding:16px}.details-section::-webkit-scrollbar,.flagged-section::-webkit-scrollbar{width:6px}.details-section::-webkit-scrollbar-track,.flagged-section::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.details-section::-webkit-scrollbar-thumb,.flagged-section::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.details-section::-webkit-scrollbar-thumb:hover,.flagged-section::-webkit-scrollbar-thumb:hover{background:#a0aec0}@media (max-width:768px){.proctoring-header{padding:1.5rem}.proctoring-header .header-content{align-items:flex-start;flex-direction:column;gap:1rem}.proctoring-header .header-title h1{font-size:1.5rem}.proctoring-header .header-actions{justify-content:space-between;width:100%}}@media (max-width:480px){.proctoring-header{padding:1rem}.proctoring-header .header-title h1{font-size:1.25rem}.proctoring-header .header-actions{flex-direction:column;gap:.75rem}.proctoring-header .back-button,.proctoring-header .logout-button{justify-content:center;text-align:center;width:100%}}.sessions-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;padding:2rem}.subtitle{margin-top:.5rem}.sessions-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin:0 auto 2rem;max-width:1200px}.stat-card{border-left:4px solid #667eea;border-radius:12px;box-shadow:0 5px 20px #00000014;padding:2rem}.stat-card.warning{border-left-color:#f56565}.stat-card.success{border-left-color:#48bb78}.stat-number{color:#2d3748;display:block;font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.stat-label{color:#718096;display:block;font-size:1rem}.sessions-content{margin:0 auto;max-width:1200px}.sessions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.session-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 5px 20px #00000014;padding:1.5rem;transition:all .3s ease}.session-card.flagged{background:#fff5f5;border-color:#f56565}.session-card:hover{box-shadow:0 10px 30px #667eea33;transform:translateY(-5px)}.session-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:1rem}.student-info h3{color:#2d3748;font-size:1.25rem;margin:0 0 .25rem}.student-email{color:#718096;font-size:.875rem;margin:0}.live-indicator{align-items:center;background:#fed7d7;border-radius:12px;color:#c53030;display:flex;font-size:.75rem;font-weight:700;gap:.5rem;padding:.25rem .75rem}.live-dot{animation:pulse 2s infinite;background:#f56565;border-radius:50%;height:8px;width:8px}.test-info{background:#f7fafc;border-radius:8px;margin-bottom:1rem;padding:1rem}.test-info h4{color:#2d3748;margin:0 0 .5rem}.time-elapsed{color:#718096;font-size:.875rem}.violation-info{margin-bottom:1.5rem}.violation-count{align-items:center;background:#e6fffa;border-radius:8px;color:#234e52;display:flex;font-weight:600;gap:.5rem;padding:.75rem}.violation-count.has-violations{background:#fed7d7;color:#742a2a}.violation-icon{font-size:1.25rem}.last-violation{color:#718096;font-size:.875rem;margin-top:.5rem;padding-left:2rem}.monitor-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:all .3s ease;width:100%}.monitor-btn:hover{transform:translateY(-2px)}.monitor-btn.urgent{animation:urgentPulse 2s infinite;background:linear-gradient(135deg,#f56565,#c53030)}@keyframes urgentPulse{0%,to{box-shadow:0 5px 15px #f5656566}50%{box-shadow:0 5px 25px #f56565b3}}@media (max-width:768px){.sessions-grid,.sessions-stats{grid-template-columns:1fr}}.flagged-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;padding:2rem}.flagged-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin:0 auto 2rem;max-width:1200px}.stat-card.critical{border-left-color:#c53030}.stat-card.high{border-left-color:#f56565}.stat-card.medium{border-left-color:#ed8936}.flagged-content{margin:0 auto;max-width:1200px}.flagged-list{display:flex;flex-direction:column;gap:1.5rem}.flagged-card{background:#fff;border-left:5px solid;border-radius:12px;box-shadow:0 5px 20px #00000014;padding:1.5rem;transition:all .3s ease}.flagged-card.severity-critical{background:linear-gradient(90deg,#fff5f5 0,#fff 10%);border-left-color:#c53030}.flagged-card.severity-high{background:linear-gradient(90deg,#fffaf0 0,#fff 10%);border-left-color:#f56565}.flagged-card.severity-medium{background:linear-gradient(90deg,ivory 0,#fff 10%);border-left-color:#ed8936}.flagged-card:hover{box-shadow:0 10px 30px #00000026;transform:translateX(5px)}.flagged-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:1rem}.student-details h3{color:#2d3748;font-size:1.25rem;margin:0 0 .25rem}.student-details p{color:#718096;font-size:.875rem;margin:0}.severity-badge{border-radius:12px;font-size:.75rem;font-weight:700;padding:.5rem 1rem}.severity-badge.critical{background:#fed7d7;color:#742a2a}.severity-badge.high{background:#feebc8;color:#7c2d12}.severity-badge.medium{background:#fefcbf;color:#744210}.test-details{background:#f7fafc;border-radius:8px;margin-bottom:1rem;padding:1rem}.test-details h4{color:#2d3748;margin:0 0 .5rem}.attempt-meta{color:#718096;display:flex;font-size:.875rem;gap:2rem}.violations-section{margin-bottom:1.5rem}.violations-header{align-items:center;display:flex;margin-bottom:1rem}.violations-count{align-items:center;color:#742a2a;display:flex;font-weight:700;gap:.5rem}.warning-icon{font-size:1.5rem}.violations-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.violation-item{align-items:center;background:#f7fafc;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.violation-type{color:#2d3748;font-weight:600}.violation-time{color:#718096;font-size:.875rem}.review-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:all .3s ease;width:100%}.review-btn:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.flagged-stats{grid-template-columns:1fr}.attempt-meta{flex-direction:column;gap:.5rem}}.volunteer-dashboard-container{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);background-size:200% 200%;min-height:100vh}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.volunteer-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0ea5e91a;box-shadow:0 4px 20px #00000014;padding:20px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 30px}.volunteer-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#0284c7);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:32px;font-weight:700;margin:0}.user-info{align-items:center;display:flex;gap:20px}.user-info span{color:#4a5568;font-size:16px;font-weight:600}.logout-button{background:linear-gradient(135deg,#f56565,#e53e3e);border:none;border-radius:10px;box-shadow:0 2px 10px #e53e3e4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.logout-button:hover{box-shadow:0 4px 15px #e53e3e66;transform:translateY(-2px)}.volunteer-main{margin:0 auto;max-width:1400px;padding:40px 30px}.stats-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:#fff;border:1px solid #0ea5e91a;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:20px;overflow:hidden;padding:28px;position:relative;transition:all .3s ease}.stat-card:before{background:linear-gradient(135deg,#0ea5e9,#0284c7);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.stat-card:hover:before{transform:scaleY(1)}.stat-card:hover{box-shadow:0 8px 30px #0ea5e926;transform:translateY(-5px)}.stat-icon{align-items:center;border-radius:16px;box-shadow:0 4px 15px #0ea5e94d;display:flex;font-size:40px;height:70px;justify-content:center;width:70px}.stat-content h3,.stat-icon{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.stat-content h3{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:32px;font-weight:800;margin:0 0 6px}.stat-content p{color:#718096;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.volunteer-sections{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:40px}.volunteer-sections section{background:#fff;border:1px solid #0ea5e91a;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:32px}.volunteer-sections h2{align-items:center;color:#1a202c;display:flex;font-size:24px;font-weight:700;gap:10px;margin:0 0 24px}.available-tests h2:before{content:"📝";font-size:28px}.assigned-tasks h2:before{content:"📋";font-size:28px}.tasks-list,.tests-list{display:flex;flex-direction:column;gap:16px}.volunteer-task-item,.volunteer-test-item{align-items:center;background:#f9fafb;border:2px solid #f0f4f8;border-radius:12px;display:flex;gap:20px;justify-content:space-between;padding:20px;transition:all .3s ease}.volunteer-task-info,.volunteer-test-info{flex:1 1;min-width:0}.volunteer-test-actions{flex-shrink:0}.volunteer-task-item:hover,.volunteer-test-item:hover{background:#fff;border-color:#0ea5e9;box-shadow:0 4px 15px #0ea5e91a;transform:translateX(5px)}.volunteer-task-info h4,.volunteer-test-info h4{color:#1a202c;font-size:17px;font-weight:700;margin:0 0 6px}.volunteer-task-info p,.volunteer-test-info p{color:#718096;font-size:14px;font-weight:500;margin:4px 0}.status-badge{display:inline-block}.task-date{color:#a0aec0;font-size:13px;font-weight:600}.volunteer-test-actions{display:flex;gap:8px}.volunteer-view-button{background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:8px;box-shadow:0 2px 10px #0ea5e94d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-width:120px;padding:10px 20px;transition:all .3s ease;white-space:nowrap;width:auto}.volunteer-view-button:hover{box-shadow:0 4px 15px #0ea5e966;transform:translateY(-2px)}.activity-log-section{background:#fff;border:1px solid #0ea5e91a;border-radius:20px;box-shadow:0 4px 20px #00000014;margin-bottom:40px;padding:32px}.activity-log-section h2{align-items:center;color:#1a202c;display:flex;font-size:24px;font-weight:700;gap:10px;margin:0 0 24px}.activity-log-section h2:before{content:"📊";font-size:28px}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{align-items:flex-start;background:#f9fafb;border:2px solid #f0f4f8;border-radius:12px;transition:all .3s ease}.activity-item:hover{background:#fff;border-color:#0ea5e9;box-shadow:0 4px 15px #0ea5e91a;transform:translateX(5px)}.activity-icon{flex-shrink:0}.activity-content{flex:1 1}.activity-content p{color:#1a202c;font-size:14px;font-weight:600;margin:0 0 4px}.activity-time{font-weight:500}.pending-approval-message{background:#fff;border:2px solid #fbbf244d;border-radius:20px;box-shadow:0 4px 20px #00000014;margin:40px auto;max-width:600px;padding:60px 40px;text-align:center}.pending-icon{font-size:64px;margin-bottom:20px}.pending-approval-message h2{color:#1a202c;font-size:28px;font-weight:700;margin:0 0 16px}.pending-approval-message p{color:#4a5568;font-size:16px;line-height:1.6;margin:0 0 12px}.pending-note{color:#718096;font-size:14px;font-style:italic}.action-buttons{gap:20px;justify-content:center;margin-top:20px}.primary-button,.secondary-button{border-radius:12px;cursor:pointer;font-size:16px;font-weight:700;overflow:hidden;padding:16px 32px;position:relative;transition:all .3s ease}.primary-button{background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;box-shadow:0 4px 15px #0ea5e966;color:#fff}.primary-button:before{background:#fff3;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.primary-button:hover:before{left:100%}.primary-button:hover{box-shadow:0 6px 25px #0ea5e980;transform:translateY(-3px)}.secondary-button{background:#fff;border:2px solid #0ea5e9;box-shadow:0 4px 15px #0ea5e933;color:#0ea5e9}.secondary-button:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 6px 25px #0ea5e966;color:#fff;transform:translateY(-3px)}.error,.loading{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;font-size:18px;font-weight:600;margin:40px auto;max-width:600px;padding:60px 40px;text-align:center}.loading{color:#0ea5e9}.loading:after{animation:spin .8s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#0ea5e9;content:"";display:block;height:40px;margin:20px auto 0;width:40px}.error{border:2px solid #fc8181;color:#e53e3e}@media (max-width:1024px){.volunteer-sections{grid-template-columns:1fr}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.volunteer-task-item,.volunteer-test-item{align-items:flex-start;flex-direction:column}.volunteer-test-actions{margin-top:16px;width:100%}.volunteer-view-button{width:100%}.volunteer-header h1{font-size:24px}.user-info span{display:none}}.activity-item,.stat-card,.volunteer-task-item,.volunteer-test-item{animation:fadeInUp .6s ease forwards;opacity:0}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.volunteer-tests-container{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);min-height:100vh;padding:20px}.page-header h1{color:#1a202c;font-size:28px;margin:0}.back-button{background:#0ea5e9;border:none;color:#fff;padding:10px 20px}.tests-main{margin:0 auto;max-width:1200px}.search-section{margin-bottom:20px}.search-input{border:2px solid #e0f2fe;font-size:16px;padding:12px;width:100%}.tests-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.test-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:24px}.test-card h3{color:#1a202c;margin:0 0 12px}.test-description{color:#718096;margin-bottom:16px}.test-stats{color:#4a5568;display:flex;font-size:14px;gap:16px;margin-bottom:16px}.view-button{font-weight:600;padding:10px;width:100%}.no-tests{color:#718096;padding:40px;text-align:center}.error-message{background:#fee;border-radius:8px;color:#c33;margin-bottom:20px;padding:12px}.volunteer-test-view-container{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);min-height:100vh;padding:20px}.page-header{box-shadow:0 2px 10px #0000001a}.test-details{margin:0 auto;max-width:1200px}.questions-section,.test-info-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:24px}.question-card{border:2px solid #e0f2fe;border-radius:8px;margin-bottom:16px;padding:20px}.option{border-radius:4px;margin:4px 0;padding:8px}.option.correct{background:#d1fae5;font-weight:600}.correct-badge{color:#065f46;float:right}.points{color:#0ea5e9;font-weight:600;margin-top:12px}.actions{margin-top:20px;text-align:center}.actions button{background:#0ea5e9;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px}.volunteer-attempts-container{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);min-height:100vh;padding:20px}.attempts-list{grid-gap:20px;display:grid;gap:20px;margin:0 auto;max-width:1200px}.attempt-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:24px}.attempt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.view-button{background:#0ea5e9;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:12px;padding:8px 16px}.volunteer-attempt-view-container{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);min-height:100vh;padding:20px}.attempt-details{margin:0 auto;max-width:1200px}.answers-section,.attempt-info-section,.violations-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:24px}.violation-item{background:#fef3c7;border-left:3px solid #f59e0b;margin-bottom:12px}.answer-item,.violation-item{border-radius:4px;padding:12px}.answer-item{background:#f0f9ff;margin-bottom:8px}.note{color:#718096;font-style:italic;margin-bottom:16px}.volunteer-tasks-container{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);min-height:100vh;padding:20px}.filter-section{margin:0 auto 20px;max-width:1200px}.filter-section select{border:2px solid #e0f2fe;border-radius:8px;padding:10px}.tasks-list{grid-gap:20px;display:grid;gap:20px;margin:0 auto;max-width:1200px}.task-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:24px}.task-footer{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.task-actions button{background:#0ea5e9;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 16px}.status-badge{border-radius:12px;font-size:12px;font-weight:700;padding:4px 12px;text-transform:uppercase}.status-pending{background:#fef3c7;color:#92400e}.status-in_progress{background:#dbeafe;color:#1e40af}.status-completed{background:#d1fae5;color:#065f46}.volunteer-analytics-container{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);min-height:100vh;padding:20px}.analytics-main{margin:0 auto;max-width:1200px}.analytics-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:24px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.stat-card{background:#f0f9ff;border-radius:8px;padding:20px;text-align:center}.stat-card h3{color:#0ea5e9;font-size:32px;margin:0 0 8px}.stat-card p{color:#718096;font-weight:600;margin:0}.volunteer-activity-log-container{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);min-height:100vh;padding:20px}.page-header{background:#fff;border-radius:12px;margin:0 auto 30px;max-width:1200px;padding:20px}.activity-log-main{margin:0 auto;max-width:1200px}.activity-timeline{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:24px}.activity-item{background:#f0f9ff;border-left:3px solid #0ea5e9;border-radius:8px;display:flex;gap:16px;margin-bottom:16px;padding:16px}.activity-icon{font-size:24px}.activity-description{color:#1a202c;font-weight:600;margin:0 0 4px}.activity-details{color:#718096;font-size:14px;margin:0 0 8px}.activity-time{color:#a0aec0;font-size:12px}.no-activities{color:#718096;padding:40px;text-align:center}.admin-tests-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;padding:2rem}.admin-tests-content{background:#fff;border-radius:16px;box-shadow:0 5px 20px #00000014;margin:0 auto;max-width:1400px;padding:2rem}.controls-section{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.search-input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:1rem;min-width:300px;padding:.75rem 1rem;transition:border-color .3s ease}.search-input:focus{border-color:#667eea;outline:none}.filter-buttons{display:flex;gap:.5rem}.tests-table-container{overflow-x:auto}.tests-table{border-collapse:collapse;width:100%}.tests-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tests-table th{font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.tests-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .3s ease}.tests-table tbody tr:hover{background-color:#f8f9ff}.tests-table td{padding:1rem}.test-title{color:#2d3748;font-weight:600;max-width:300px}.text-center{text-align:center}.action-buttons{gap:.5rem}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.view-btn{background:#667eea;color:#fff}.view-btn:hover{background:#5a67d8}@media (max-width:768px){.controls-section{flex-direction:column}.search-input{min-width:100%}.tests-table{font-size:.875rem}.tests-table td,.tests-table th{padding:.75rem .5rem}.action-buttons{flex-direction:column}}.admin-users-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;padding:2rem}.users-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto 2rem;max-width:1400px}.admin-users-content{background:#fff;border-radius:16px;box-shadow:0 5px 20px #00000014;margin:0 auto;max-width:1400px;padding:2rem}.users-table-container{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.users-table th{font-weight:600;padding:1rem;text-align:left}.users-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .3s ease}.users-table tbody tr:hover{background-color:#f8f9ff}.users-table td{padding:1rem}.user-name{color:#2d3748;font-weight:600}.role-select{border:2px solid;border-radius:8px;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.role-select.role-admin{background:#fed7d7;border-color:#c53030;color:#742a2a}.role-select.role-teacher{background:#bee3f8;border-color:#2b6cb0;color:#2c5282}.role-select.role-invigilator{background:#fefcbf;border-color:#d69e2e;color:#744210}.role-select.role-student{background:#c6f6d5;border-color:#2f855a;color:#22543d}.role-select.role-volunteer{background:#e0f2fe;border-color:#0ea5e9;color:#0c4a6e}.action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.approve-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.approve-btn:hover{background:#059669}.reject-btn{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.reject-btn:hover{background:#d97706}.pending-badge{background:#fef3c7;color:#92400e}.pending-badge,.rejected-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:700;margin-left:.5rem;padding:.25rem .75rem;text-transform:uppercase}.rejected-badge{background:#fecaca;color:#991b1b}.delete-btn{background:#f56565;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.delete-btn:hover{background:#e53e3e}@media (max-width:1024px){.users-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.users-stats{grid-template-columns:1fr}.controls-section{flex-direction:column}.search-input{min-width:100%}.users-table{font-size:.875rem}.users-table td,.users-table th{padding:.75rem .5rem}}.admin-payments-container{background:linear-gradient(180deg,#f8f9ff,#fff);min-height:100vh;padding:2rem}.page-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto 2rem;max-width:1400px}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.subtitle{color:#718096;font-size:1rem;margin:0}.back-button{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.back-button:hover{background:#667eea;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.payments-stats{grid-gap:1.5rem;align-items:stretch;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin:0 auto 2rem;max-width:1400px}.payments-stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 5px 20px #00000014;box-sizing:border-box;display:flex;flex-shrink:0;gap:1rem;max-width:100%;min-height:120px;min-width:0;overflow:hidden;padding:2rem;transition:transform .3s ease,box-shadow .3s ease;width:100%}.payments-stat-card:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-2px)}.payments-stat-card--success{border-left-color:#48bb78}.payments-stat-card--warning{border-left-color:#ed8936}.payments-stat-card--error{border-left-color:#f56565}.payments-stat-icon{flex-shrink:0;font-size:2.5rem;line-height:1;width:auto}.payments-stat-card>div{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.payments-stat-number{color:#2d3748;font-size:2rem;font-weight:700;line-height:1}.payments-stat-label{color:#718096;font-size:.875rem;font-weight:500}.filter-section{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.filter-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.admin-payments-content{background:#fff;border-radius:16px;box-shadow:0 5px 20px #00000014;margin:0 auto;max-width:1400px;padding:2rem}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;border-radius:10px;color:#991b1b;font-weight:500;margin:0 auto 1rem;max-width:1400px;padding:1rem 1.5rem}.empty-state{padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#2d3748;font-size:1.5rem;margin:0 0 .5rem}.empty-state p{color:#718096;margin:0}.loading{color:#667eea;font-size:1.25rem;font-weight:600;padding:4rem 2rem;text-align:center}.payments-table-container{overflow-x:auto}.payments-table{border-collapse:collapse;width:100%}.payments-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.payments-table th{font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.payments-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .3s ease}.payments-table tbody tr:hover{background-color:#f8f9ff}.payments-table td{padding:1rem}.transaction-id{color:#667eea;font-family:monospace;font-weight:600}.amount{color:#48bb78;font-size:1.1rem;font-weight:700}.status-select{border:2px solid;border-radius:8px;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.status-select.status-completed{background:#c6f6d5;border-color:#2f855a;color:#22543d}.status-select.status-pending{background:#fefcbf;border-color:#d69e2e;color:#744210}.status-select.status-failed{background:#fed7d7;border-color:#c53030;color:#742a2a}.status-select.status-refunded{background:#bee3f8;border-color:#2b6cb0;color:#2c5282}.view-details-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.view-details-btn:hover{background:#5a67d8}@media (max-width:1024px){.payments-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.payments-stat-card{min-width:0;width:100%}}@media (max-width:768px){.payments-stats{grid-template-columns:1fr}.payments-stat-card{min-width:0;width:100%}.payments-table{font-size:.875rem}.payments-table td,.payments-table th{padding:.75rem .5rem}}.face-registration-container{align-items:flex-start;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);display:flex;justify-content:center;min-height:100vh;overflow-y:auto;padding:2rem}.face-registration-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 25px 50px -12px #00000080;margin:1rem 0;max-width:600px;padding:2.5rem;width:100%}.face-registration-header{margin-bottom:2rem;text-align:center}.face-registration-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e94560,#ff6b6b);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:2rem;font-weight:700;margin-bottom:.75rem}.face-registration-header p{color:#ffffffb3;font-size:1rem;line-height:1.6}.face-registration-error{align-items:center;background:#ef444433;border:1px solid #ef444480;border-radius:12px;color:#fca5a5;display:flex;font-size:.95rem;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.error-icon{font-size:1.25rem}.camera-section{margin-bottom:2rem}.camera-preview,.captured-preview{aspect-ratio:4/3;background:#000;border:2px solid #ffffff1a;border-radius:16px;overflow:hidden;position:relative;width:100%}.camera-video,.captured-image{height:100%;object-fit:cover;width:100%}.camera-video{transform:scaleX(-1)}.camera-overlay{align-items:center;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0}.face-guide{text-align:center}.face-guide-circle{animation:pulse 2s ease-in-out infinite;border:3px dashed #e94560b3;border-radius:50%;height:250px;margin:0 auto 1rem;width:200px}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.face-guide p{background:#00000080;border-radius:20px;color:#fffc;display:inline-block;font-size:.9rem;padding:.5rem 1rem}.camera-loading{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.camera-loading p{color:#fff;font-size:1rem}.captured-overlay{bottom:1rem;left:50%;position:absolute;transform:translateX(-50%)}.captured-badge{background:#10b981e6;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.face-registration-actions{margin-bottom:2rem}.capture-button,.retake-button,.submit-button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.capture-button{background:linear-gradient(135deg,#e94560,#ff6b6b);color:#fff}.capture-button:hover:not(:disabled){box-shadow:0 10px 30px #e945604d;transform:translateY(-2px)}.capture-button:disabled{cursor:not-allowed;opacity:.5}.captured-actions{display:flex;gap:1rem}.retake-button{background:#ffffff1a;border:1px solid #fff3;color:#fff;flex:1 1}.retake-button:hover:not(:disabled){background:#ffffff26}.submit-button{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;flex:2 1}.submit-button:hover:not(:disabled){box-shadow:0 10px 30px #10b9814d;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.7}.button-icon{font-size:1.2rem}.button-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.face-registration-instructions{background:#ffffff0d;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.face-registration-instructions h3{color:#fff;font-size:1rem;font-weight:600;margin-bottom:1rem}.face-registration-instructions ul{list-style:none;margin:0;padding:0}.face-registration-instructions li{color:#ffffffb3;font-size:.9rem;padding:.5rem 0 .5rem 1.5rem;position:relative}.face-registration-instructions li:before{color:#10b981;content:"✓";left:0;position:absolute}.face-registration-footer{text-align:center}.skip-button{background:#0000;border:1px solid #fff3;border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:.95rem;padding:.75rem 1.5rem;transition:all .3s ease}.skip-button:hover{background:#ffffff0d;color:#fff}.capture-progress{margin-bottom:1.5rem}.progress-label{color:#fffc;font-size:.95rem;margin-bottom:.75rem;text-align:center}.progress-bar-container{background:#ffffff1a;border-radius:3px;height:6px;margin-bottom:1rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(135deg,#10b981,#34d399);border-radius:3px;height:100%;transition:width .3s ease}.progress-dots{gap:1rem}.progress-dot,.progress-dots{display:flex;justify-content:center}.progress-dot{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:50%;color:#ffffff80;font-size:.85rem;height:32px;transition:all .3s ease;width:32px}.progress-dot.completed{background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;color:#fff}.progress-dot.current{animation:pulse-dot 1.5s ease-in-out infinite;border-color:#e94560;color:#e94560}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 #e9456066;transform:scale(1)}50%{box-shadow:0 0 0 10px #e9456000;transform:scale(1.1)}}.angle-instruction{font-size:.95rem;font-weight:600}.camera-video.capture-success{animation:success-flash .3s ease;border:3px solid #10b981}.camera-video.capture-failed{animation:error-shake .3s ease;border:3px solid #ef4444}@keyframes success-flash{0%,to{opacity:1}50%{opacity:.7}}@keyframes error-shake{0%,to{transform:scaleX(-1) translateX(0)}25%{transform:scaleX(-1) translateX(-5px)}75%{transform:scaleX(-1) translateX(5px)}}.validating-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;flex-direction:column;gap:1rem;justify-content:center;left:0;position:absolute;right:0;top:0}.validating-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#e94560;height:40px;width:40px}.validating-overlay p{color:#fff;font-size:1rem}.face-guide-circle.validating{animation:pulse-validating .5s ease-in-out infinite;border-color:#fbbf24}@keyframes pulse-validating{0%,to{border-color:#fbbf24;opacity:.7}50%{border-color:#f59e0b;opacity:1}}.captured-thumbnails{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem}.thumbnail-item{border:2px solid #10b98180;border-radius:8px;height:80px;overflow:hidden;position:relative;width:80px}.thumbnail-item img{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.thumbnail-label{background:#000000b3;bottom:0;color:#fff;font-size:.7rem;left:0;padding:2px 0;position:absolute;right:0;text-align:center}.capture-actions{display:flex;gap:1rem}.capture-actions .capture-button{flex:2 1}.reset-button,.undo-button{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 1.5rem;transition:all .3s ease}.reset-button:hover:not(:disabled),.undo-button:hover:not(:disabled){background:#ffffff26}.reset-button:disabled,.undo-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.face-registration-container{padding:1rem}.face-registration-card{padding:1.5rem}.face-registration-header h1{font-size:1.5rem}.face-guide-circle{height:190px;width:150px}.capture-actions,.captured-actions{flex-direction:column}.reset-button,.retake-button,.submit-button,.undo-button{flex:1 1}.progress-dots{gap:.5rem}.progress-dot{font-size:.75rem;height:28px;width:28px}.thumbnail-item{height:60px;width:60px}}.confirmation-card{max-width:650px;text-align:center}.confirmation-header{margin-bottom:2rem}.success-icon{align-items:center;animation:success-pop .5s ease-out;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;color:#fff;display:flex;font-size:2.5rem;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}@keyframes success-pop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.confirmation-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:1.75rem;font-weight:700;margin-bottom:.75rem}.confirmation-header .success-message,.face-registration-card .success-message{background:#0000!important;border:none!important;color:#fffc;display:block!important;font-size:1.1rem;margin:0!important;padding:0!important}.test-preview{margin-bottom:2rem;text-align:left}.test-preview h2{color:#ffffffb3;font-size:1rem;font-weight:500;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.test-info-card{background:#ffffff14;border:1px solid #ffffff26;border-radius:16px;padding:1.5rem}.test-info-card h3{color:#fff;font-size:1.35rem;font-weight:600;margin-bottom:.75rem}.test-description{border-bottom:none;color:#ffffffb3;font-size:.95rem;line-height:1.5;margin-bottom:1.25rem;padding-bottom:0}.test-meta{display:flex;flex-wrap:wrap;gap:1rem}.meta-item{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;flex:1 1 auto;gap:.5rem;min-width:120px;padding:.6rem 1rem}.meta-icon{font-size:1.1rem}.meta-label{color:#fff9;font-size:.85rem}.meta-value{color:#fff;font-size:.95rem;font-weight:600;margin-left:auto}.confirmation-instructions{background:#fbbf241a;border:1px solid #fbbf244d;border-radius:12px;margin-bottom:2rem;padding:1.5rem;text-align:left}.confirmation-instructions h3{align-items:center;color:#fbbf24;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.confirmation-instructions h3:before{content:"⚠️"}.confirmation-instructions ul{list-style:none;margin:0;padding:0}.confirmation-instructions li{color:#fffc;font-size:.9rem;padding:.4rem 0 .4rem 1.5rem;position:relative}.confirmation-instructions li:before{color:#fbbf24;content:"•";font-weight:700;left:0;position:absolute}.confirmation-actions{display:flex;gap:1rem}.back-button,.begin-test-button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 2rem;transition:all .3s ease}.back-button{background:#ffffff1a;border:1px solid #fff3;color:#fffc;flex:1 1}.back-button:hover{background:#ffffff26;color:#fff}.begin-test-button{background:linear-gradient(135deg,#e94560,#ff6b6b);box-shadow:0 4px 15px #e945604d;color:#fff;flex:2 1}.begin-test-button:hover{box-shadow:0 8px 25px #e9456066;transform:translateY(-2px)}.begin-test-button .button-icon{font-size:1rem}@media (max-width:640px){.confirmation-card{padding:1.5rem}.success-icon{font-size:2rem;height:60px;width:60px}.confirmation-header h1{font-size:1.4rem}.test-info-card h3{font-size:1.15rem}.test-meta{flex-direction:column}.meta-item{min-width:auto}.confirmation-actions{flex-direction:column}.back-button,.begin-test-button{flex:1 1;padding:.9rem 1.5rem}}
/*# sourceMappingURL=main.74e3ef08.css.map*/