.TemporaryAccessBanner_root__kEW3_{background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.98));border:1px solid rgba(234,179,8,.1);box-shadow:0 2px 8px rgba(234,179,8,.05);padding:8px 16px;border-radius:6px;margin:8px;transition:all .3s ease}.TemporaryAccessBanner_expired__uxASp{border-color:rgba(71,85,105,.1);box-shadow:0 2px 8px rgba(71,85,105,.05)}.TemporaryAccessBanner_container__ifGlC{display:flex;align-items:center;gap:16px}.TemporaryAccessBanner_statusIndicator__w0mKu{display:flex;align-items:center;gap:6px}.TemporaryAccessBanner_statusIcon__nAE_J{font-size:16px!important;opacity:.8}.TemporaryAccessBanner_statusText__pDwd_{font-family:Roboto Mono,monospace;font-weight:600;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#eab308}.TemporaryAccessBanner_messageSection__1C8eh{font-family:Roboto Mono,monospace;font-size:12px;color:rgba(0,0,0,.6);flex:1}.TemporaryAccessBanner_message__tMOG4{font-weight:500}.TemporaryAccessBanner_countdown__SZIq5{font-family:Roboto Mono,monospace;font-weight:600;color:#eab308;padding:.1em .3em;border-radius:3px;margin:0 .2em;position:relative;background:rgba(234,179,8,.1)}.TemporaryAccessBanner_buttonGroup__wB9GC{display:flex;gap:8px}.TemporaryAccessBanner_actionButton__NP553{font-family:Roboto Mono,monospace;background:white;color:#eab308;border:1px solid rgba(234,179,8,.3);border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.TemporaryAccessBanner_expiredButton__ITXKW{color:#64748b;border-color:rgba(71,85,105,.3)}.TemporaryAccessBanner_actionButton__NP553:hover{background:rgba(234,179,8,.05);border-color:rgba(234,179,8,.5)}.TemporaryAccessBanner_expiredButton__ITXKW:hover{background:rgba(71,85,105,.05);border-color:rgba(71,85,105,.5)}.TemporaryAccessBanner_buttonIcon__tV6RG{font-size:14px!important;opacity:.8}@media (max-width:768px){.TemporaryAccessBanner_container__ifGlC{flex-direction:column;gap:12px;text-align:center}.TemporaryAccessBanner_statusIndicator__w0mKu{justify-content:center}.TemporaryAccessBanner_actionButton__NP553{width:100%;max-width:150px;margin:0 auto}}.StudentViewBanner_root__XmVJj{background-color:#1e40af;width:100%;border-bottom:1px solid rgba(255,255,255,.1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:white;position:relative}.StudentViewBanner_container__RmWt3{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;max-width:1400px;margin:0 auto;padding:8px 24px;height:48px}.StudentViewBanner_statusIndicator__2K7tc{display:flex;align-items:center;gap:8px;background-color:rgba(255,255,255,.15);padding:4px 10px;border-radius:4px;border-left:3px solid #60a5fa}.StudentViewBanner_statusIndicator__2K7tc svg{color:#93c5fd;font-size:14px}.StudentViewBanner_statusText__e3r9t{font-size:11px;font-weight:600;letter-spacing:.5px;color:#bfdbfe}.StudentViewBanner_nameSection__9BBi2{display:flex;align-items:center;gap:10px;overflow:hidden;white-space:nowrap;background:rgba(255,255,255,.08);border-radius:6px;padding:4px 12px;border:1px solid rgba(255,255,255,.12);box-shadow:0 1px 2px rgba(0,0,0,.1)}.StudentViewBanner_nameLabel__RRtdf{font-size:12px;color:#93c5fd;font-weight:500;position:relative;padding-right:14px}.StudentViewBanner_nameLabel__RRtdf:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);height:14px;width:1px;background-color:rgba(255,255,255,.2)}.StudentViewBanner_name__P_u2I{font-size:14px;font-weight:600;color:white;max-width:300px;overflow:hidden;text-overflow:ellipsis;position:relative;padding-left:4px;display:flex;align-items:center}.StudentViewBanner_name__P_u2I:before{content:"";display:inline-block;width:6px;height:6px;background-color:#4ade80;border-radius:50%;margin-right:8px;box-shadow:0 0 0 2px rgba(74,222,128,.2)}.StudentViewBanner_exitButton__63CMN{background-color:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);color:white;font-size:12px;font-weight:500;padding:6px 14px;border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.StudentViewBanner_exitButton__63CMN:hover{background-color:rgba(255,255,255,.25);border-color:rgba(255,255,255,.3)}.StudentViewBanner_exitButton__63CMN:active{transform:scale(.98)}@media (max-width:768px){.StudentViewBanner_container__RmWt3{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto;padding:12px 16px;gap:12px}.StudentViewBanner_statusIndicator__2K7tc{grid-column:1;grid-row:1}.StudentViewBanner_nameSection__9BBi2{grid-column:1/-1;grid-row:2;width:100%}.StudentViewBanner_exitButton__63CMN{grid-column:2;grid-row:1;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 50%}to{background-position:200% 50%}}@keyframes float{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-3px) rotate(2deg)}to{transform:translateY(0) rotate(0deg)}}.update-banner-container{padding:20px 24px;position:relative;animation:slideDown .5s ease-out;border:1px solid;border-right:none;border-left:none}.update-banner-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color),var(--primary-color));background-size:200% 100%;animation:shine 3s linear infinite}.update-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:32px}@media (max-width:768px){.update-banner-content{flex-direction:column;gap:16px}}.update-banner-info{display:flex;align-items:center;gap:24px}.update-banner-actions{display:flex;align-items:center;gap:12px}@media (max-width:768px){.update-banner-actions{flex-direction:column;gap:8px}}.update-banner-icon{animation:float 3s ease-in-out infinite}.update-banner-text{text-align:center}@media (min-width:769px){.update-banner-text{text-align:left}}.update-banner-title{font-family:Roboto Mono,monospace;font-weight:700;font-size:1.25rem;margin:0 0 4px;letter-spacing:.5px}.update-banner-subtitle{font-family:Roboto Mono,monospace;font-size:.95rem;font-weight:500;margin:0}.update-banner-button{font-family:Roboto Mono,monospace;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;letter-spacing:.5px;border:none;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;color:white}.update-banner-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--border-color)!important;animation:pulse .3s ease}.update-banner-button:active{transform:translateY(0)}.update-banner-button-secondary{background:transparent!important;color:var(--primary-color)!important;border:2px solid var(--primary-color)!important}.update-banner-button-secondary:hover{background:var(--primary-color)!important;color:white!important;border-color:var(--primary-color)!important}.update-banner-dismiss{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.update-banner-dismiss:hover{background:var(--dismiss-hover-bg)!important;transform:translateY(-50%) scale(1.1);border-color:var(--primary-color)}.UpgradeCSAwesomeBanner_root__pNPhD{background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);width:100%;border-bottom:1px solid rgba(0,0,0,.1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:white;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.1)}.UpgradeCSAwesomeBanner_container___ttac{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;max-width:1400px;margin:0 auto;padding:8px 24px;height:48px}.UpgradeCSAwesomeBanner_statusIndicator__yM0wR{display:flex;align-items:center;gap:8px;background-color:rgba(255,255,255,.2);padding:4px 10px;border-radius:4px;border-left:3px solid #c4b5fd}.UpgradeCSAwesomeBanner_statusIndicator__yM0wR svg{color:#fef3c7;font-size:16px;animation:UpgradeCSAwesomeBanner_sparkle__J5LSn 2s ease-in-out infinite}@keyframes UpgradeCSAwesomeBanner_sparkle__J5LSn{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.UpgradeCSAwesomeBanner_statusText__vPdu5{font-size:11px;font-weight:600;letter-spacing:.5px;color:#fef3c7}.UpgradeCSAwesomeBanner_messageSection__HcdKA{display:flex;align-items:center;overflow:hidden;white-space:nowrap;background:rgba(255,255,255,.12);border-radius:6px;padding:4px 12px;border:1px solid rgba(255,255,255,.15);box-shadow:0 1px 2px rgba(0,0,0,.1)}.UpgradeCSAwesomeBanner_message__kNTOt{font-size:13px;color:white;font-weight:500;overflow:hidden;text-overflow:ellipsis}.UpgradeCSAwesomeBanner_upgradeButton__JGlXb{background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.15));border:1px solid rgba(255,255,255,.4);color:white;font-size:12px;font-weight:600;padding:6px 14px;border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap;display:flex;align-items:center;gap:6px;backdrop-filter:blur(10px)}.UpgradeCSAwesomeBanner_upgradeButton__JGlXb svg{font-size:16px;transition:transform .15s ease}.UpgradeCSAwesomeBanner_upgradeButton__JGlXb:hover{background:linear-gradient(135deg,rgba(255,255,255,.35),rgba(255,255,255,.25));border-color:rgba(255,255,255,.5);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.UpgradeCSAwesomeBanner_upgradeButton__JGlXb:hover svg{transform:translateX(2px)}.UpgradeCSAwesomeBanner_upgradeButton__JGlXb:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.15)}@media (max-width:768px){.UpgradeCSAwesomeBanner_container___ttac{grid-template-columns:1fr;grid-template-rows:auto auto auto;height:auto;padding:12px 16px;gap:12px}.UpgradeCSAwesomeBanner_statusIndicator__yM0wR{grid-row:1}.UpgradeCSAwesomeBanner_messageSection__HcdKA{grid-row:2;width:100%;white-space:normal}.UpgradeCSAwesomeBanner_upgradeButton__JGlXb{grid-row:3;width:100%;justify-content:center}}.highlight{animation:highlight 1s ease-in-out,shake .5s ease-in-out}@keyframes highlight{0%{background-color:#3a9fde}to{background-color:initial}}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-10px)}40%,80%{transform:translateX(10px)}}