.TemporaryAccessBanner-module__RGCUhG__root{background:linear-gradient(135deg,#fffffff2,#fffffffa);border:1px solid #eab3081a;border-radius:6px;margin:8px;padding:8px 16px;transition:all .3s;box-shadow:0 2px 8px #eab3080d}.TemporaryAccessBanner-module__RGCUhG__expired{border-color:#4755691a;box-shadow:0 2px 8px #4755690d}.TemporaryAccessBanner-module__RGCUhG__container{align-items:center;gap:16px;display:flex}.TemporaryAccessBanner-module__RGCUhG__statusIndicator{align-items:center;gap:6px;display:flex}.TemporaryAccessBanner-module__RGCUhG__statusIcon{opacity:.8;font-size:16px!important}.TemporaryAccessBanner-module__RGCUhG__statusText{letter-spacing:.5px;text-transform:uppercase;color:#eab308;font-family:Roboto Mono,monospace;font-size:11px;font-weight:600}.TemporaryAccessBanner-module__RGCUhG__messageSection{color:#0009;flex:1;font-family:Roboto Mono,monospace;font-size:12px}.TemporaryAccessBanner-module__RGCUhG__message{font-weight:500}.TemporaryAccessBanner-module__RGCUhG__countdown{color:#eab308;background:#eab3081a;border-radius:3px;margin:0 .2em;padding:.1em .3em;font-family:Roboto Mono,monospace;font-weight:600;position:relative}.TemporaryAccessBanner-module__RGCUhG__buttonGroup{gap:8px;display:flex}.TemporaryAccessBanner-module__RGCUhG__actionButton{color:#eab308;cursor:pointer;background:#fff;border:1px solid #eab3084d;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-family:Roboto Mono,monospace;font-size:12px;font-weight:500;transition:all .2s;display:flex}.TemporaryAccessBanner-module__RGCUhG__expiredButton{color:#64748b;border-color:#4755694d}.TemporaryAccessBanner-module__RGCUhG__actionButton:hover{background:#eab3080d;border-color:#eab30880}.TemporaryAccessBanner-module__RGCUhG__expiredButton:hover{background:#4755690d;border-color:#47556980}.TemporaryAccessBanner-module__RGCUhG__buttonIcon{opacity:.8;font-size:14px!important}@media (max-width:768px){.TemporaryAccessBanner-module__RGCUhG__container{text-align:center;flex-direction:column;gap:12px}.TemporaryAccessBanner-module__RGCUhG__statusIndicator{justify-content:center}.TemporaryAccessBanner-module__RGCUhG__actionButton{width:100%;max-width:150px;margin:0 auto}}
.StudentViewBanner-module__-yfvmG__root{color:#fff;background-color:#1e40af;border-bottom:1px solid #ffffff1a;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;position:relative}.StudentViewBanner-module__-yfvmG__container{grid-template-columns:auto 1fr auto;align-items:center;gap:24px;max-width:1400px;height:48px;margin:0 auto;padding:8px 24px;display:grid}.StudentViewBanner-module__-yfvmG__statusIndicator{background-color:#ffffff26;border-left:3px solid #60a5fa;border-radius:4px;align-items:center;gap:8px;padding:4px 10px;display:flex}.StudentViewBanner-module__-yfvmG__statusIndicator svg{color:#93c5fd;font-size:14px}.StudentViewBanner-module__-yfvmG__statusText{letter-spacing:.5px;color:#bfdbfe;font-size:11px;font-weight:600}.StudentViewBanner-module__-yfvmG__nameSection{white-space:nowrap;background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:10px;padding:4px 12px;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000001a}.StudentViewBanner-module__-yfvmG__nameLabel{color:#93c5fd;padding-right:14px;font-size:12px;font-weight:500;position:relative}.StudentViewBanner-module__-yfvmG__nameLabel:after{content:"";background-color:#fff3;width:1px;height:14px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.StudentViewBanner-module__-yfvmG__name{color:#fff;text-overflow:ellipsis;align-items:center;max-width:300px;padding-left:4px;font-size:14px;font-weight:600;display:flex;position:relative;overflow:hidden}.StudentViewBanner-module__-yfvmG__name:before{content:"";background-color:#4ade80;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 0 2px #4ade8033}.StudentViewBanner-module__-yfvmG__exitButton{color:#fff;cursor:pointer;white-space:nowrap;background-color:#ffffff26;border:1px solid #fff3;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.StudentViewBanner-module__-yfvmG__exitButton:hover{background-color:#ffffff40;border-color:#ffffff4d}.StudentViewBanner-module__-yfvmG__exitButton:active{transform:scale(.98)}@media (max-width:768px){.StudentViewBanner-module__-yfvmG__container{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:12px;height:auto;padding:12px 16px}.StudentViewBanner-module__-yfvmG__statusIndicator{grid-area:1/1}.StudentViewBanner-module__-yfvmG__nameSection{grid-area:2/1/auto/-1;width:100%}.StudentViewBanner-module__-yfvmG__exitButton{grid-area:1/2;justify-self:end}}
@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shine{0%{background-position:0%}to{background-position:200%}}@keyframes float{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(2deg)}to{transform:translateY(0)rotate(0)}}.update-banner-container{border:1px solid;border-left:none;border-right:none;padding:20px 24px;animation:.5s ease-out slideDown;position:relative}.update-banner-container:before{content:"";background:linear-gradient(90deg, var(--primary-color), var(--secondary-color), var(--primary-color));background-size:200% 100%;height:2px;animation:3s linear infinite shine;position:absolute;top:0;left:0;right:0}.update-banner-content{justify-content:center;align-items:center;gap:32px;max-width:1200px;margin:0 auto;display:flex}@media (max-width:768px){.update-banner-content{flex-direction:column;gap:16px}}.update-banner-info{align-items:center;gap:24px;display:flex}.update-banner-actions{align-items:center;gap:12px;display:flex}@media (max-width:768px){.update-banner-actions{flex-direction:column;gap:8px}}.update-banner-icon{animation:3s ease-in-out infinite float}.update-banner-text{text-align:center}@media (min-width:769px){.update-banner-text{text-align:left}}.update-banner-title{letter-spacing:.5px;margin:0 0 4px;font-family:Roboto Mono,monospace;font-size:1.25rem;font-weight:700}.update-banner-subtitle{margin:0;font-family:Roboto Mono,monospace;font-size:.95rem;font-weight:500}.update-banner-button{letter-spacing:.5px;cursor:pointer;color:#fff;border:none;border-radius:12px;padding:12px 24px;font-family:Roboto Mono,monospace;font-size:14px;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.update-banner-button:hover{animation:.3s pulse;transform:translateY(-2px);box-shadow:0 6px 20px var(--border-color)!important}.update-banner-button:active{transform:translateY(0)}.update-banner-button-secondary{color:var(--primary-color)!important;border:2px solid var(--primary-color)!important;background:0 0!important}.update-banner-button-secondary:hover{background:var(--primary-color)!important;color:#fff!important;border-color:var(--primary-color)!important}.update-banner-dismiss{cursor:pointer;border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.update-banner-dismiss:hover{border-color:var(--primary-color);transform:translateY(-50%)scale(1.1);background:var(--dismiss-hover-bg)!important}
.UpgradeCSAwesomeBanner-module__XOg3sq__root{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#a855f7 100%);border-bottom:1px solid #0000001a;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;position:relative;box-shadow:0 1px 3px #0000001a}.UpgradeCSAwesomeBanner-module__XOg3sq__container{grid-template-columns:auto 1fr auto;align-items:center;gap:24px;max-width:1400px;height:48px;margin:0 auto;padding:8px 24px;display:grid}.UpgradeCSAwesomeBanner-module__XOg3sq__statusIndicator{background-color:#fff3;border-left:3px solid #c4b5fd;border-radius:4px;align-items:center;gap:8px;padding:4px 10px;display:flex}.UpgradeCSAwesomeBanner-module__XOg3sq__statusIndicator svg{color:#fef3c7;font-size:16px;animation:2s ease-in-out infinite UpgradeCSAwesomeBanner-module__XOg3sq__sparkle}@keyframes UpgradeCSAwesomeBanner-module__XOg3sq__sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.UpgradeCSAwesomeBanner-module__XOg3sq__statusText{letter-spacing:.5px;color:#fef3c7;font-size:11px;font-weight:600}.UpgradeCSAwesomeBanner-module__XOg3sq__messageSection{white-space:nowrap;background:#ffffff1f;border:1px solid #ffffff26;border-radius:6px;align-items:center;padding:4px 12px;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000001a}.UpgradeCSAwesomeBanner-module__XOg3sq__message{color:#fff;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.UpgradeCSAwesomeBanner-module__XOg3sq__upgradeButton{color:#fff;cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff40 0%,#ffffff26 100%);border:1px solid #fff6;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.UpgradeCSAwesomeBanner-module__XOg3sq__upgradeButton svg{font-size:16px;transition:transform .15s}.UpgradeCSAwesomeBanner-module__XOg3sq__upgradeButton:hover{background:linear-gradient(135deg,#ffffff59 0%,#ffffff40 100%);border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.UpgradeCSAwesomeBanner-module__XOg3sq__upgradeButton:hover svg{transform:translate(2px)}.UpgradeCSAwesomeBanner-module__XOg3sq__upgradeButton:active{transform:translateY(0);box-shadow:0 2px 4px #00000026}@media (max-width:768px){.UpgradeCSAwesomeBanner-module__XOg3sq__container{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:12px;height:auto;padding:12px 16px}.UpgradeCSAwesomeBanner-module__XOg3sq__statusIndicator{grid-row:1}.UpgradeCSAwesomeBanner-module__XOg3sq__messageSection{white-space:normal;grid-row:2;width:100%}.UpgradeCSAwesomeBanner-module__XOg3sq__upgradeButton{grid-row:3;justify-content:center;width:100%}}
.highlight{animation:1s ease-in-out highlight,.5s ease-in-out shake}@keyframes highlight{0%{background-color:#3a9fde}to{background-color:#0000}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}
