.navbar{background:#fff;background-color:#fff;border-bottom:1px solid var(--color-border-light);height:65px;left:0;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:10000}.navbar.navbar-auth{background:#fff!important;background-color:#fff!important;border-bottom:2px solid var(--color-blue-primary);box-shadow:0 2px 8px #00000026}.navbar.navbar-auth .navbar-logo{position:relative;z-index:10001}.navbar.navbar-auth .navbar-logo img{position:relative;z-index:10002}.navbar.navbar-with-sidebar-expanded{left:280px;width:calc(100% - 280px)}.navbar.navbar-with-sidebar-collapsed{left:70px;width:calc(100% - 70px)}.navbar-scrolled{background:var(--color-white);border-bottom:2px solid var(--color-blue-primary);box-shadow:var(--shadow-md)}.navbar-container{height:100%;justify-content:space-between;padding:0 2rem;width:100%}.navbar-container,.navbar-logo{align-items:center;display:flex}.navbar-logo{justify-content:center}.navbar-logo img{display:block;height:42px;transition:var(--transition);width:auto}.navbar-logo:hover img{transform:scale(1.05)}.navbar-profile,.navbar-profile-avatar{align-items:center;display:flex}.navbar-profile-avatar{background:var(--color-blue-primary);border-radius:50%;cursor:pointer;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;transition:transform .2s ease;width:40px}.navbar-profile-avatar:hover{transform:scale(1.05)}.navbar-profile-img{height:100%;object-fit:cover;width:100%}.navbar-profile-initial{color:#fff;font-size:1.2rem;font-weight:600}.navbar-menu{align-items:center;display:flex;gap:1.2rem;list-style:none;margin:0;padding:0}.navbar-item{position:relative}.navbar-item a{align-items:center;border-radius:6px;color:var(--color-blue-primary);cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:var(--transition)}.navbar-button-item{align-items:center;display:flex;list-style:none}.navbar-button-item:hover{background:none}.navbar-item.navbar-button-item:last-child,.navbar-item.navbar-button-item:nth-last-child(2){margin-left:-.8rem}.navbar-item a:hover{background:var(--color-blue-soft);color:var(--color-blue-light)}.dropdown-arrow{color:var(--color-blue-primary);display:inline-block;font-size:.7rem;transition:var(--transition)}.dropdown-arrow.open{transform:rotate(180deg)}.navbar-dropdown-menu{animation:fadeInDown .3s ease;background:var(--color-white);border:2px solid var(--color-blue-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);left:0;margin-top:.5rem;min-width:250px;padding:.5rem 0;position:absolute;top:100%}.navbar-dropdown-item{color:var(--text-primary);cursor:pointer;display:block;font-size:1rem;font-weight:500;padding:.8rem 1.5rem;text-decoration:none;transition:var(--transition)}.navbar-dropdown-item:hover{background:var(--color-blue-soft);color:var(--color-blue-primary)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar-overlay{background:#00000080;display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:999}@media screen and (max-width:768px){.navbar-overlay{display:block}}.navbar-hamburger{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:25px;justify-content:space-around;padding:0;width:30px;z-index:1001}.navbar-hamburger span{background:var(--color-blue-primary);border-radius:3px;height:3px;transform-origin:center;transition:var(--transition);width:100%}.navbar-hamburger.open span:first-child{transform:rotate(45deg) translate(7px,7px)}.navbar-hamburger.open span:nth-child(2){opacity:0}.navbar-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}@media screen and (max-width:1024px){.navbar-menu{gap:.8rem}.navbar-item a{font-size:1rem;padding:.5rem .8rem}.navbar-item.navbar-button-item:last-child,.navbar-item.navbar-button-item:nth-last-child(2){margin-left:-.6rem}}@media screen and (max-width:960px){.navbar.navbar-with-sidebar-collapsed,.navbar.navbar-with-sidebar-expanded{left:0;width:100%}}@media screen and (max-width:768px){.navbar{height:70px}.navbar-container{padding:0 1rem}.navbar-logo img{height:40px}.navbar-hamburger{display:flex}.navbar-menu{align-items:flex-start;background:var(--color-white);border-left:2px solid var(--color-blue-primary);box-shadow:var(--shadow-xl);flex-direction:column;gap:0;height:calc(100vh - 70px);overflow-y:auto;padding:2rem 0;position:fixed;right:-100%;top:70px;transition:right .3s ease;width:280px;z-index:1000}.navbar-menu.mobile-open{right:0}.navbar-item{border-bottom:1px solid var(--color-border-light);width:100%}.navbar-item a{border-radius:0;display:flex;justify-content:space-between;padding:1rem 1.5rem;width:100%}.navbar-item a:hover{background:var(--color-blue-soft)}.navbar-dropdown-menu{background:var(--color-off-white);border:none;border-radius:0;box-shadow:none;margin-top:0;padding:0;position:static;width:100%}.navbar-dropdown-item{border-bottom:1px solid var(--color-border-light);padding:.8rem 2.5rem}.navbar-dropdown-item:last-child{border-bottom:none}.navbar-button-item{border-bottom:1px solid var(--color-border-light);padding:.5rem 1.5rem;width:100%}.navbar-button-item:hover{background:none}.navbar-item.navbar-button-item:last-child,.navbar-item.navbar-button-item:nth-last-child(2){margin-left:0}}.custom-popup-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0000!important;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.custom-popup-content{background:#fff!important;background:var(--color-white,#fff)!important;background-color:#fff!important;background-color:var(--color-white,#fff)!important;border:2px solid #004077!important;border:2px solid var(--color-blue-primary,#004077)!important;border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #00407726;color:var(--text-primary);max-width:95%;outline:none!important;padding:2rem 2.5rem;position:relative;width:500px;z-index:10}.custom-popup-content:focus{border:2px solid #004077!important;border:2px solid var(--color-blue-primary,#004077)!important;outline:none!important}.custom-popup-content.wide-popup{max-height:80vh;max-width:900px;overflow-y:auto;width:85%}.custom-popup-content h3{color:#004077;color:var(--color-blue-primary,#004077);font-size:1.5rem;font-weight:600;margin-bottom:1rem;text-align:center}.custom-popup-content h4{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.custom-popup-content p{color:#4a4a4a;color:var(--text-secondary,#4a4a4a);font-size:1rem;line-height:1.6;margin-bottom:.5rem;text-align:center}.custom-popup-content.left-aligned-popup div,.custom-popup-content.left-aligned-popup p{text-align:left}.custom-popup-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.5rem}.popup-button{background:#004077;background:var(--color-blue-primary,#004077);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-white,#fff);cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:.75rem 2rem;text-align:center;transition:all .2s ease}.popup-button,.popup-button:focus{outline:none!important}.popup-button:hover:not(:disabled){background:#0052a3;background:var(--color-blue-light,#0052a3);outline:none!important}.popup-button:last-child:not(:only-child){background:#d1d5db;background:var(--color-border,#d1d5db);color:#1a1a1a;color:var(--text-primary,#1a1a1a);outline:none!important}.popup-button:last-child:not(:only-child):focus{outline:none!important}.popup-button:last-child:not(:only-child):hover{background:#e5e7eb;background:var(--color-border-light,#e5e7eb);outline:none!important}@media (max-width:768px){.custom-popup-content{padding:1.75rem 2rem;width:100%}.custom-popup-content.wide-popup{width:90%}.custom-popup-content h3{font-size:1.375rem;margin-bottom:.875rem}.custom-popup-buttons{gap:.75rem}.popup-button{font-size:.9375rem;min-width:100px;padding:.625rem 1.5rem}}@media (max-width:480px){.custom-popup-content{padding:1.5rem}.custom-popup-content.wide-popup{width:95%}.custom-popup-content h3{font-size:1.25rem;margin-bottom:.75rem}.custom-popup-buttons{gap:.625rem;margin-top:1rem}.popup-button{font-size:.875rem;padding:.625rem 1.25rem}}.global-sidebar{background:var(--bg-card);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100vh;left:0;overflow-x:hidden;position:fixed;top:0;transition:width .3s ease;width:280px;z-index:100000}.global-sidebar.collapsed{width:70px}.sidebar-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;height:65px;justify-content:space-between;padding:.75rem 1rem}.sidebar-toggle{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s ease}.sidebar-toggle:hover{background:var(--bg-hover)}.collapsed .sidebar-header{justify-content:center}.collapsed .sidebar-toggle{margin:0}.sidebar-nav{-ms-overflow-style:none;flex:1 1;overflow-y:auto;padding:1rem 0;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-item{margin-bottom:.25rem}.sidebar-link{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease;width:100%}.sidebar-link:hover{background:var(--bg-hover);color:var(--color-blue-light)}.sidebar-item.active>.sidebar-link{background:var(--color-blue-primary)!important;color:var(--text-white)!important}.sidebar-item.active>.sidebar-link .sidebar-icon{fill:var(--text-white)!important}.sidebar-item.active>.sidebar-link:hover{background:var(--color-blue-light)!important;color:var(--text-white)!important}.sidebar-item.active>.sidebar-link:hover .sidebar-icon{fill:var(--text-white)!important}.sidebar-icon{fill:currentColor;flex-shrink:0;height:20px;width:20px}.collapsed .sidebar-link{justify-content:center;padding:.75rem}.collapsed .sidebar-link span{display:none}.sidebar-subitem{margin-left:1rem}.sidebar-subitem .sidebar-link{color:var(--text-secondary);font-size:.85rem;padding:.5rem 1rem}.sidebar-subitem .sidebar-link:hover{background:var(--bg-hover);color:var(--color-blue-primary)}.sidebar-subitem.active .sidebar-link{background:var(--color-blue-soft);color:var(--color-blue-primary)}.sidebar-subitem .sidebar-icon{height:16px;width:16px}.sidebar-package-header .sidebar-link{color:var(--text-primary);cursor:default;font-weight:600;pointer-events:none}.sidebar-package-header .sidebar-link:hover{background:#0000}.sidebar-nested-item{margin-left:2rem}.sidebar-nested-item .sidebar-link{color:var(--text-secondary);font-size:.85rem;padding:.5rem 1rem}.sidebar-nested-item .sidebar-link:hover{background:var(--bg-hover);color:var(--color-blue-primary)}.sidebar-nested-item.active .sidebar-link{background:var(--color-blue-soft);color:var(--color-blue-primary)}.sidebar-expand-icon{fill:currentColor;transition:transform .3s ease}.sidebar-expand-icon.expanded{transform:rotate(180deg)}.profile-info{flex:1 1;gap:.75rem;min-width:0}.profile-avatar,.profile-info{align-items:center;display:flex}.profile-avatar{background:var(--color-blue-primary);border-radius:50%;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;width:40px}.profile-img{height:100%;object-fit:cover;width:100%}.profile-initial{color:var(--text-white);font-size:1.2rem;font-weight:600}.profile-details{display:flex;flex-direction:column;min-width:0}.profile-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.profile-email,.profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email{color:var(--text-secondary);font-size:.8rem}.collapsed .profile-info{display:none}.sidebar-logout,.sidebar-logout:hover{color:var(--color-red-primary)!important}.sidebar-logout:hover{background:var(--color-red-soft)}.sidebar-logout .sidebar-icon{fill:var(--color-red-primary)}[data-theme=dark] .global-sidebar{background:var(--bg-card);border-right-color:var(--color-border)}[data-theme=dark] .sidebar-link:hover{background:var(--bg-hover)}@media (max-width:960px){.global-sidebar{transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:10001}.global-sidebar.mobile-open{transform:translateX(0)}.global-sidebar.collapsed{transform:translateX(-100%);width:280px}.global-sidebar.collapsed.mobile-open{transform:translateX(0);width:280px}.global-sidebar .profile-info{display:flex!important}.global-sidebar.collapsed .sidebar-link span{display:inline!important}.global-sidebar.collapsed .sidebar-link{justify-content:flex-start;padding:.75rem 1rem}}.sidebar-overlay{display:none}@media (max-width:960px){.sidebar-overlay{background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:10000}}.footer-container{align-items:center;background-color:var(--color-off-white);border-top:2px solid var(--color-border-light);display:flex;flex-direction:column;padding:4rem 0 2rem}.footer-links{margin-bottom:2rem;max-width:1000px;width:100%}.footer-link-wrapper,.footer-links{display:flex;justify-content:center}.footer-link-wrapper{flex-wrap:wrap;gap:3rem}.footer-link-items{display:flex;flex-direction:column;min-width:160px}.footer-link-items h2{color:var(--color-blue-primary);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.footer-link-items a{color:var(--text-secondary);font-size:1rem;font-weight:500;margin-bottom:.5rem;padding:.25rem 0;text-decoration:none;transition:var(--transition)}.footer-link-items a:hover{color:var(--color-blue-primary);padding-left:.5rem}.footer-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;margin-bottom:.5rem;padding:.25rem 0;text-align:left;text-decoration:none;transition:var(--transition)}.footer-button:hover{color:var(--color-blue-primary);padding-left:.5rem}.footer-link{display:block}.footer-social-media{border-top:1px solid var(--color-border-light);max-width:1000px;padding-top:2rem;width:100%}.footer-social-media-wrap{align-items:center;display:flex;flex-direction:column}.footer-logo{margin-bottom:1rem}.footer-social-logo{color:var(--text-primary);cursor:pointer;justify-self:start;transition:var(--transition)}.footer-social-logo:hover{transform:scale(1.05)}.footer-logo-img{filter:grayscale(30%);height:50px;transition:var(--transition);width:auto}.footer-social-logo:hover .footer-logo-img{filter:grayscale(0)}.footer-website-rights{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem;text-align:center}.footer-social-icon-link,.footer-social-icons{align-items:center;display:flex;justify-content:center}.footer-social-icon-link{background:var(--color-white);border:2px solid var(--color-border-light);border-radius:50%;color:var(--text-secondary);font-size:1.75rem;height:3rem;margin:0 .75rem;transition:var(--transition);width:3rem}.footer-social-icon-link:hover{background:var(--color-blue-soft);border-color:var(--color-blue-primary);color:var(--color-blue-primary);transform:translateY(-4px)}@media screen and (max-width:820px){.footer-links{padding-top:2rem}.footer-link-wrapper{gap:2rem}.footer-link-items h2{font-size:1.125rem}.footer-logo-img{height:40px}}.home-fade-element{opacity:0;transform:translateY(30px)}.home-fade-element.fade-in-up-first{animation:fadeInUp .8s ease .1s forwards}.home-fade-element.fade-in-up-second{animation:fadeInUp .8s ease .3s forwards}.home-fade-element.fade-in-up-third{animation:fadeInUp .8s ease .5s forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.home-quotes-hero{align-items:center;background-position:0;background-repeat:no-repeat;background-size:cover;display:flex;height:60vh;justify-content:center;margin-top:65px;min-height:500px;overflow:hidden;position:relative;width:100%}.home-quotes-hero-overlay{background:#0000;bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.home-quotes-container{gap:3rem;max-width:1400px;padding:3rem;position:relative;text-align:center;z-index:2}.home-quote-content,.home-quotes-container{align-items:center;display:flex;flex-direction:column}.home-quote-content{gap:1.5rem;justify-content:center;min-height:200px}.home-quote-text{line-height:1.4}.home-quote-emphasis,.home-quote-text{color:#fff;font-size:4rem;font-style:italic;font-weight:400}.home-quote-author{align-self:flex-end;color:#fff;font-size:1.5rem;font-weight:500;margin-right:3rem}.home-quote-indicators{display:flex;gap:.75rem;justify-content:center;margin-top:2rem}.home-quote-indicator{background:#ffffffb3;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:10px;padding:0;transition:var(--transition);width:10px}.home-quote-indicator.active{background:#a90533;box-shadow:0 2px 6px #a9053380;transform:scale(1.2)}.home-quote-indicator:hover{background:#d61f4e;transform:scale(1.2)}.home-hero{align-items:center;background:var(--color-white);justify-content:flex-start;overflow:hidden;padding:3rem 1rem 4rem 2rem}.home-hero,.home-hero-content{display:flex;position:relative}.home-hero-content{align-items:flex-start;gap:6rem;max-width:1400px;width:100%;z-index:1}.home-hero-left{flex:1.5 1;text-align:left}.home-hero-right{display:flex;flex:1 1;flex-direction:column;gap:2rem;padding-left:2rem}.home-hero-title{color:var(--color-blue-primary);font-size:3.5rem;font-weight:700;letter-spacing:-2px;line-height:1.1;margin-bottom:1.5rem;margin-top:0;text-align:left}.home-hero-text{color:var(--text-secondary);font-size:1.15rem;line-height:1.8;text-align:justify}.home-hero-text p{margin-bottom:0;text-align:justify}.home-hero-services-title{color:var(--color-blue-primary);font-size:2rem;font-weight:700;margin-bottom:1rem;margin-top:0}.home-hero-service-list{display:flex;flex-direction:column;gap:1.5rem}.home-hero-service-item{align-items:center;cursor:pointer;display:flex;gap:1.5rem;transition:var(--transition)}.home-hero-service-item:hover .home-hero-service-icon{background:linear-gradient(135deg,var(--color-red-primary) 0,var(--color-red-light) 100%);border-color:var(--color-red-primary);transform:scale(1.05)}.home-hero-service-item:hover span{color:var(--color-red-primary)}.home-hero-service-icon{align-items:center;background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 100%);border:3px solid var(--color-border-light);border-radius:12px;box-shadow:var(--shadow-md);display:flex;flex-shrink:0;height:4rem;justify-content:center;transition:var(--transition);width:4rem}.home-hero-service-icon img{filter:brightness(0) invert(1);height:2.5rem;width:2.5rem}.home-hero-service-item span{color:var(--color-blue-primary);font-size:1.25rem;font-weight:600;transition:var(--transition)}.home-section{padding:3rem 2rem;position:relative}.home-container{margin:0;max-width:100%;padding:0 2rem}.home-section-title{color:var(--color-blue-primary);font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:2rem;padding-bottom:1rem;position:relative;text-align:center}.home-section-title:after{background:linear-gradient(90deg,var(--color-red-primary) 0,var(--color-red-light) 100%);border-radius:2px;bottom:0;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.home-clients{background:var(--color-off-white)}.home-clients-header-wrapper{align-items:center;display:flex;gap:4rem;margin-bottom:4rem;width:100%}.home-clients .home-section-title{color:var(--color-blue-primary);flex:0 0 auto;font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:0;min-width:500px;padding-bottom:0;text-align:left;white-space:nowrap}.home-clients .home-section-title:after{display:none}.home-clients-text{color:var(--text-secondary);flex:1 1 auto;font-size:1.3rem;line-height:1.8;margin:0;text-align:justify}.home-clients-logos-wrapper{mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000);-webkit-mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000);overflow:hidden;position:relative;width:100%}.home-clients-logos-scroll{align-items:center;display:flex;gap:4rem;width:-webkit-fit-content;width:fit-content}.home-client-logo{align-items:center;display:flex;flex-shrink:0;height:120px;justify-content:center;padding:1rem;width:250px}.home-client-logo img{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.home-skill-badge{align-items:center;background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 100%);border:2px solid var(--color-white);border-radius:50px;box-shadow:var(--shadow-md);display:flex;flex-shrink:0;justify-content:center;margin:.5rem 0;padding:1rem 2rem;transition:var(--transition)}.home-skill-badge:hover{background:linear-gradient(135deg,var(--color-red-primary) 0,var(--color-red-light) 100%);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.home-skill-badge span{color:var(--color-white);font-size:1.1rem;font-weight:600;text-align:center;white-space:nowrap}@media screen and (max-width:1024px){.home-client-logo{height:110px;width:220px}.home-skill-badge{padding:.9rem 1.75rem}.home-skill-badge span{font-size:1rem}}@media screen and (max-width:768px){.home-client-logo{height:90px;width:180px}.home-skill-badge{padding:.75rem 1.5rem}.home-skill-badge span{font-size:.95rem}}@media screen and (max-width:480px){.home-client-logo{height:80px;width:150px}.home-skill-badge{padding:.65rem 1.25rem}.home-skill-badge span{font-size:.9rem}}.home-client-logo img[alt=PCAOB]{background-color:var(--color-blue-primary);border-radius:8px;padding:1rem}.home-client-logo.text-logo{align-items:center;display:flex;justify-content:center;text-align:center}.home-client-logo.text-logo span{color:var(--text-secondary);font-size:1.8rem;font-weight:600;line-height:1.2}.home-services{background:var(--color-white)}.home-services-header-wrapper{align-items:center;display:flex;gap:4rem;margin-bottom:2rem;width:100%}.home-services .home-section-title{color:var(--color-blue-primary);flex:0 0 auto;font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:0;min-width:450px;padding-bottom:0;text-align:left;white-space:nowrap}.home-services .home-section-title:after{display:none}.home-services-intro{color:var(--text-secondary);flex:1 1 auto;font-size:1.3rem;line-height:1.8;margin:0;text-align:justify}.home-services-list{margin:0 auto;max-width:1000px}.home-service-item{align-items:flex-start;background:var(--color-off-white);border-left:4px solid var(--color-blue-primary);border-radius:8px;color:var(--text-primary);display:flex;font-size:1.125rem;line-height:1.7;margin-bottom:2.5rem;padding:1.5rem;transition:var(--transition)}.home-service-item:hover{background:var(--color-blue-softer);border-left-color:var(--color-red-primary);box-shadow:var(--shadow-md);transform:translateX(8px)}.home-service-bullet{color:var(--color-red-primary);flex-shrink:0;font-size:2rem;font-weight:700;line-height:1;margin-right:1rem;margin-top:.2rem}.home-service-item strong{color:var(--color-blue-primary);font-weight:600}.home-sentinel{background:var(--color-off-white)}.home-sentinel-intro{color:var(--text-secondary);font-size:1.25rem;line-height:1.7;margin:0 auto 4rem;max-width:900px;text-align:center}.home-sentinel-cards{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(4,1fr);margin:1rem auto 0;max-width:1400px;width:100%}.home-sentinel-card{background:var(--color-white);border:2px solid var(--color-border-light);border-radius:16px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;margin-top:2rem;padding:2.5rem 1.5rem 1.5rem;position:relative;transition:var(--transition)}.home-sentinel-card.home-clickable-card{cursor:pointer}.home-sentinel-card:hover{border-color:var(--color-red-primary);box-shadow:var(--shadow-xl);transform:translateY(-8px)}.home-sentinel-icon{align-items:center;background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 100%);border:4px solid var(--color-white);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;height:5rem;justify-content:center;left:50%;position:absolute;top:-2.5rem;transform:translateX(-50%);transition:var(--transition);width:5rem}.home-sentinel-card:hover .home-sentinel-icon{transform:translateX(-50%) scale(1.1) rotate(5deg)}.home-sentinel-icon img{filter:brightness(0) invert(1);height:3rem;width:3rem}.home-sentinel-card h3{color:var(--color-blue-primary);font-size:1.5rem;font-weight:700;line-height:1.3;margin-bottom:.75rem;margin-top:.5rem}.home-sentinel-card p{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin-bottom:0}.home-service-card-learn-more{color:var(--color-red-primary);font-size:1rem;font-weight:600;margin-top:auto;padding-top:1rem;text-align:right;transition:var(--transition)}.home-sentinel-card.home-clickable-card:hover .home-service-card-learn-more{color:var(--color-red-light)}.home-sentinel-login-btn{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:4rem}.home-forensic{background:var(--color-off-white)}.home-forensic-layout{align-items:flex-start;display:flex;gap:3rem;width:100%}.home-forensic-left{flex:1 1;flex-shrink:0}.home-forensic .home-section-title{color:var(--color-blue-primary);font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:1rem;padding-bottom:0;text-align:left}.home-forensic .home-section-title:after{display:none}.home-forensic-subtext{color:var(--text-secondary);font-size:1.3rem;line-height:1.8;margin:0;text-align:left}.home-forensic-right{display:flex;flex:2 1;flex-direction:column;gap:1.5rem}.home-forensic-item{background:var(--color-white);border:2px solid var(--color-border-light);border-radius:12px;box-shadow:var(--shadow-sm);padding:1.5rem}.home-forensic-item:hover{border-color:var(--color-blue-primary);box-shadow:var(--shadow-md)}.home-forensic-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:.75rem}.home-forensic-checkmark{align-items:center;background:linear-gradient(135deg,var(--color-red-primary) 0,var(--color-red-light) 100%);border-radius:50%;box-shadow:var(--shadow-sm);color:var(--text-white);display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:1.75rem;justify-content:center;margin-top:.25rem;width:1.75rem}.home-forensic-item h3{color:var(--color-blue-primary);font-size:1.3rem;font-weight:600;line-height:1.3;margin:0}.home-forensic-item p{color:var(--text-secondary);font-size:1.05rem;line-height:1.7;margin:0}.home-forensic-link{color:var(--color-red-primary);font-weight:600;text-decoration:none}.home-forensic-link:hover{color:var(--color-red-light);text-decoration:underline}.home-litigation{background:var(--color-white)}.home-litigation-header-wrapper{align-items:center;display:flex;gap:3rem;margin-bottom:2rem;width:100%}.home-litigation .home-section-title{color:var(--color-blue-primary);flex:0 1 auto;font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:0;padding-bottom:0;text-align:left}.home-litigation .home-section-title:after{display:none}.home-litigation-intro{color:var(--text-secondary);flex:1 1 auto;font-size:1.3rem;line-height:1.8;margin:0;text-align:justify}.home-litigation-content{margin-top:2rem}.home-litigation-tabs{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem}.home-litigation-tab{background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 100%);border-radius:12px 12px 0 0;box-shadow:var(--shadow-md);cursor:pointer;padding:1.5rem 1rem;position:relative;text-align:center;transition:var(--transition)}.home-litigation-tab:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.home-litigation-tab h3{color:var(--color-white);font-size:1.2rem;font-weight:600;line-height:1.3;margin:0}.home-litigation-tab.active{border-bottom:4px solid var(--color-red-primary);position:relative}.home-litigation-tab.active:after{border-left:30px solid #0000;border-right:30px solid #0000;border-top:24px solid var(--color-red-primary);bottom:-24px;content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:10}.home-litigation-tab-content{display:none}.home-litigation-text-content{background:var(--color-white);border:2px solid var(--color-red-primary);border-radius:12px;box-shadow:var(--shadow-sm);margin-top:2rem;padding:2rem}.home-litigation-text-content p{color:var(--text-secondary);font-size:1.1rem;line-height:1.7;margin:0}.home-experts{background:var(--color-off-white)}.home-experts-header-wrapper{align-items:center;display:flex;gap:3rem;margin-bottom:2rem;width:100%}.home-experts .home-section-title{color:var(--color-blue-primary);flex:0 1 auto;font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:0;padding-bottom:0;text-align:left}.home-experts .home-section-title:after{display:none}.home-experts-intro{color:var(--text-secondary);flex:1 1 auto;font-size:1.3rem;line-height:1.8;margin:0;text-align:justify}.home-experts-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(2,1fr);margin-left:auto;margin-right:auto;margin-top:2rem;max-width:100%}.home-expert-card{background:var(--color-white);border:2px solid var(--color-border-light);border-radius:16px;box-shadow:var(--shadow-md);display:block;padding:2rem}.home-expert-card:hover{border-color:var(--color-blue-primary);box-shadow:var(--shadow-xl)}.home-expert-photo{border:3px solid var(--color-blue-primary);border-radius:8px;box-shadow:var(--shadow-md);float:left;height:250px;margin-bottom:1rem;margin-right:2rem;overflow:hidden;width:200px}.home-expert-photo img{-webkit-font-smoothing:subpixel-antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden;height:100%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:auto;object-fit:cover;transform:translateZ(0);width:100%}.home-expert-content{display:block}.home-expert-card h3{color:var(--color-blue-primary);font-size:1.75rem;font-weight:700;margin-bottom:1rem;text-align:left}.home-expert-card p{margin:0;text-align:justify}.home-expert-card p,.home-expert-expertise{color:var(--text-secondary);font-size:1.05rem;line-height:1.7}.home-expert-expertise{margin-top:1rem}.home-expert-expertise strong{color:var(--color-blue-primary);display:block;margin-bottom:.5rem}.home-expertise-columns{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:.5rem}.home-expertise-column{display:flex;flex-direction:column;gap:.25rem}.home-expertise-column div{text-align:left}.home-rpa-section{background:var(--color-off-white)}.home-rpa-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1400px}.home-rpa-card{background:var(--color-white);border:2px solid var(--color-border-light);border-radius:16px;box-shadow:var(--shadow-md);padding:2.5rem 2rem;text-align:center;transition:var(--transition)}.home-rpa-card:hover{border-color:var(--color-blue-primary);box-shadow:var(--shadow-xl);transform:translateY(-8px)}.home-rpa-icon{display:block;font-size:3.5rem;margin-bottom:1rem}.home-rpa-card h3{color:var(--color-blue-primary);font-size:1.4rem;font-weight:700;line-height:1.3;margin-bottom:1rem}.home-rpa-card p{color:var(--text-secondary);font-size:1.05rem;line-height:1.7;margin:0}.home-web-automation-cards{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin:1rem auto 0;max-width:1400px;width:100%}.home-web-automation-section .home-web-automation-card{border-radius:20px;text-align:center}.home-web-automation-section .home-web-automation-icon{align-items:center;background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 100%);border:4px solid var(--color-white);border-radius:50%;box-shadow:var(--shadow-lg);display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;position:static;transform:none;transition:var(--transition);width:80px}.home-web-automation-section .home-web-automation-card:hover .home-web-automation-icon{background:linear-gradient(135deg,var(--color-red-primary) 0,var(--color-red-light) 100%);transform:rotate(1turn) scale(1.1)}.home-web-automation-emoji{filter:none;font-size:2.5rem}.home-web-automation-section .home-web-automation-card:hover{border-color:var(--color-blue-primary);box-shadow:var(--shadow-xl);transform:translateY(-8px) scale(1.02)}.home-people{background:var(--color-white)}.home-people-header-wrapper{align-items:center;display:flex;gap:2rem;margin-bottom:2rem;width:100%}.home-people .home-section-title{color:var(--color-blue-primary);flex:0 1 auto;font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:0;max-width:350px;padding-bottom:0;text-align:left}.home-people .home-section-title:after{display:none}.home-people-intro{color:var(--text-secondary);flex:1 1 auto;font-size:1.3rem;line-height:1.8;margin:0;text-align:justify}.home-team-carousel-container{align-items:center;display:flex;gap:1.5rem;margin:3rem auto 0;max-width:1100px;padding:0 1rem;position:relative}.home-team-carousel{border-radius:16px;flex-grow:1;overflow:hidden}.home-team-slides{display:flex;gap:1rem;width:500%}.home-carousel-nav-btn{align-items:center;background:var(--color-blue-primary);border:none;border-radius:50%;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:50px;justify-content:center;transition:var(--transition);width:50px;z-index:10}.home-carousel-nav-btn:hover{background:var(--color-red-primary);box-shadow:var(--shadow-lg);transform:scale(1.1)}.home-carousel-nav-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.home-carousel-indicators{display:flex;gap:.5rem;justify-content:center;margin-top:2rem}.home-indicator{background:var(--color-border);border:none;border-radius:50%;cursor:pointer;height:12px;transition:var(--transition);width:12px}.home-indicator.active{background:var(--color-blue-primary)}.home-indicator:hover{background:var(--color-blue-light)}.home-team-member-card{background:var(--color-white);border:2px solid var(--color-border-light);border-radius:20px;box-shadow:var(--shadow-md);display:block;flex-shrink:0;min-height:250px;padding:1.5rem;transition:var(--transition);width:calc(10% - .9rem)}.home-team-member-card:hover{border-color:var(--color-red-primary);box-shadow:var(--shadow-xl)}.home-member-image{border:3px solid var(--color-blue-primary);border-radius:8px;float:left;height:150px;margin-bottom:1rem;margin-right:1.5rem;overflow:hidden;transition:var(--transition);width:120px}.home-team-member-card:hover .home-member-image{border-color:var(--color-red-primary)}.home-member-image img{-webkit-backface-visibility:hidden;height:100%;image-rendering:auto;object-fit:cover;transform:translateZ(0);width:100%}.home-member-info{text-align:left}.home-member-info h3{color:var(--color-blue-primary);font-size:1.3rem;font-weight:600;margin-bottom:.75rem}.home-member-bio{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0;text-align:justify}.home-cta{background:var(--color-white);border-bottom:4px solid var(--color-red-primary);border-top:4px solid var(--color-red-primary);overflow:hidden;padding:3rem 2rem;position:relative}.home-cta:before{background:linear-gradient(135deg,var(--color-blue-softer) 0,#0000 100%);bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0}.home-cta-container{margin:0 auto;max-width:100%;position:relative;z-index:1}.home-cta-header-wrapper{align-items:center;display:flex;gap:3rem;width:100%}.home-cta-title{color:var(--color-blue-primary);flex:0 1 auto;font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:0;max-width:350px;text-align:left}.home-cta-content{flex:1 1 auto}.home-cta-text{color:var(--text-secondary);font-size:1.3rem;line-height:1.8;margin-bottom:1.5rem;text-align:left}.home-cta-email{color:var(--color-red-primary);font-weight:600;text-decoration:none}.home-cta-email:hover{color:var(--color-red-light);text-decoration:underline}.home-cta-btn{margin-top:1rem;text-align:left}@media screen and (min-width:1400px){.home-clients .home-section-title,.home-experts .home-section-title,.home-litigation .home-section-title,.home-people .home-section-title,.home-services .home-section-title{white-space:nowrap}}@media screen and (max-width:1200px){.home-rpa-grid,.home-sentinel-cards,.home-web-automation-cards{grid-template-columns:repeat(2,1fr)}.home-forensic-grid{gap:1.5rem}}@media screen and (max-width:768px){.home-quotes-hero{background-position:0;background-size:cover;height:50vh;min-height:400px}.home-quotes-container{padding:2rem}.home-quote-text{font-size:1.75rem}.home-quote-emphasis{font-size:2.25rem}.home-quote-author{font-size:1.1rem;margin-right:1.5rem}.home-quote-content{min-height:150px}.home-hero{justify-content:center;padding:100px 2rem 3rem}.home-hero-content{flex-direction:column;gap:3rem}.home-hero-right{padding-left:0}.home-hero-title{font-size:2.5rem}.home-hero-text{font-size:1.1rem}.home-hero-services-title{font-size:1.75rem}.home-hero-service-icon{height:3.5rem;width:3.5rem}.home-hero-service-icon img{height:2rem;width:2rem}.home-hero-service-item span{font-size:1.15rem}.home-section{padding:3rem 1.5rem}.home-section-title{font-size:2.5rem}.home-clients-header-wrapper,.home-cta-header-wrapper,.home-experts-header-wrapper,.home-litigation-header-wrapper,.home-people-header-wrapper,.home-services-header-wrapper{align-items:flex-start;flex-direction:column;gap:1rem}.home-clients .home-section-title,.home-cta-title,.home-experts .home-section-title,.home-litigation .home-section-title,.home-people .home-section-title,.home-services .home-section-title{width:100%!important}.home-clients-text,.home-cta-content,.home-experts-intro,.home-litigation-intro,.home-people-intro,.home-services-intro{width:100%}.home-clients-text,.home-experts-intro,.home-litigation-intro,.home-people-intro,.home-services-intro{font-size:1.1rem}.home-forensic-layout{flex-direction:column;gap:1rem}.home-forensic-left{width:100%!important}.home-forensic .home-section-title,.home-forensic-right{width:100%}.home-forensic-subtext{font-size:1.1rem}.home-litigation-tabs{display:flex;flex-direction:column;gap:0}.home-litigation-tab{background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 100%);border-bottom:none;border-radius:12px 12px 0 0;box-shadow:var(--shadow-md);cursor:default;margin-bottom:0;padding:1.25rem;text-align:left}.home-litigation-tab:hover{transform:none}.home-litigation-tab.active:after{display:none}.home-litigation-tab.active{border-bottom:none}.home-litigation-tab-content{background:var(--color-white);border:2px solid var(--color-red-primary);border-radius:0 0 12px 12px;border-top:none;box-shadow:var(--shadow-sm);display:block!important;margin-bottom:1.5rem;padding:1.5rem 1.25rem}.home-litigation-tab-content p{color:var(--text-secondary);font-size:1.1rem;line-height:1.7;margin:0}.home-litigation-text-content{display:none!important}.home-expert-photo{float:none;margin:0 auto 1.5rem}.home-expert-card h3{text-align:center}.home-expertise-columns{gap:.5rem;grid-template-columns:1fr}.home-member-image{float:none;margin:0 auto 1rem}.home-member-info h3{text-align:center}.home-clients-logos-scroll{gap:2rem}.home-client-logo{height:100px;min-width:200px}.home-client-logo img{max-height:100px}.home-client-logo.text-logo span{font-size:1.5rem}.home-rpa-grid,.home-sentinel-cards,.home-web-automation-cards{gap:2rem;grid-template-columns:1fr}.home-sentinel-card{margin-top:2rem;padding:3rem 1.5rem 2rem}.home-sentinel-icon{height:4rem;top:-2rem;width:4rem}.home-sentinel-icon img{height:2.5rem;width:2.5rem}.home-sentinel-card h3{font-size:1.35rem}.home-forensic-grid{gap:1.5rem;grid-template-columns:1fr}.home-forensic-item h3{font-size:1.25rem}.home-experts-grid,.home-litigation-grid{gap:2rem;grid-template-columns:1fr}.home-cta-title{font-size:2.5rem}.home-cta-text{font-size:1.1rem}}@media screen and (max-width:480px){.home-quotes-hero{background-position:0;background-size:cover;height:45vh;min-height:350px}.home-quotes-container{padding:1.5rem}.home-quote-text{color:#fff;font-size:1.35rem}.home-quote-emphasis{color:#fff;font-size:1.75rem}.home-quote-author{color:#fff;font-size:1rem;margin-right:1rem}.home-quote-content{gap:1rem;min-height:120px}.home-quote-indicators{gap:.5rem}.home-quote-indicator{height:10px;width:10px}.home-hero{padding:80px 1rem 2rem}.home-hero-content{gap:2rem}.home-hero-title{font-size:2rem;letter-spacing:-1px}.home-hero-text{font-size:1rem}.home-hero-services-title{font-size:1.5rem}.home-hero-service-list{gap:1rem}.home-hero-service-icon{height:3rem;width:3rem}.home-hero-service-icon img{height:1.75rem;width:1.75rem}.home-hero-service-item span{font-size:1rem}.home-section{padding:2.5rem 1rem}.home-clients .home-section-title,.home-cta-title,.home-experts .home-section-title,.home-forensic .home-section-title,.home-litigation .home-section-title,.home-people .home-section-title,.home-section-title,.home-services .home-section-title{font-size:2rem}.home-clients-header-wrapper,.home-cta-header-wrapper,.home-experts-header-wrapper,.home-litigation-header-wrapper,.home-people-header-wrapper,.home-services-header-wrapper{align-items:flex-start;flex-direction:column;gap:1rem;margin-bottom:2rem}.home-clients .home-section-title,.home-cta-title,.home-experts .home-section-title,.home-forensic .home-section-title,.home-litigation .home-section-title,.home-people .home-section-title,.home-services .home-section-title{width:100%!important}.home-clients-text,.home-cta-text,.home-experts-intro,.home-litigation-intro,.home-people-intro,.home-services-intro{font-size:1rem;width:100%}.home-forensic-layout{flex-direction:column;gap:1rem}.home-forensic-left{width:100%!important}.home-forensic .home-section-title,.home-forensic-right{width:100%}.home-forensic-subtext{font-size:1rem}.home-service-item{font-size:1rem;padding:1.25rem}.home-sentinel-card{padding:3rem 1.25rem 1.5rem}.home-sentinel-card h3{font-size:1.25rem}.home-sentinel-card p{font-size:1rem}.home-forensic-item{padding:1.5rem 1rem}.home-forensic-item h3{font-size:1.15rem}.home-forensic-item p{font-size:1rem}.home-litigation-tab{padding:1rem}.home-litigation-tab h3{font-size:1rem}.home-litigation-tab-content{padding:1.25rem 1rem}.home-litigation-tab-content p{font-size:1rem}.home-expert-card{padding:1.5rem 1rem}.home-expert-photo{height:180px;width:150px}.home-expert-card h3{font-size:1.5rem}.home-expert-card p,.home-expert-expertise{font-size:1rem}.home-team-carousel-container{gap:0;padding:0}.home-carousel-nav-btn{display:none}.home-team-carousel{margin:0 auto;padding:0 1rem;width:100%}.home-team-slides{gap:0;width:800%}.home-team-member-card{min-height:auto;padding:1.5rem;width:12.5%}.home-member-image{height:150px;width:120px}.home-member-info h3{font-size:1.25rem}.home-member-bio{font-size:1rem}.home-web-automation-cards{gap:1.5rem;grid-template-columns:1fr}.home-web-automation-section .home-web-automation-icon{height:70px;width:70px}.home-web-automation-emoji{font-size:2rem}.home-rpa-grid{gap:1.5rem;grid-template-columns:1fr}.home-rpa-card{padding:2rem 1.5rem}.home-rpa-icon{font-size:2.5rem}.home-rpa-card h3{font-size:1.25rem}.home-rpa-card p{font-size:1rem}.home-cta{padding:2.5rem 1rem}.home-cta-title{font-size:2rem}.home-container{padding:0 1rem}.home-btn-primary,.home-btn-secondary,.home-section .btn--primary,.home-section .btn--secondary{font-size:1rem;padding:.875rem 2rem}.home-section .btn--large{font-size:1.125rem;padding:1rem 2.25rem}}.dashboard-container{background:var(--bg-page);min-height:100vh;padding:100px 2rem 2rem}.dashboard-content{margin:0 auto;max-width:1400px}.dashboard-welcome{border-bottom:2px solid var(--color-border-light);margin-bottom:2.5rem;padding-bottom:1.5rem}.dashboard-welcome h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.dashboard-subtitle{color:var(--text-secondary);font-size:1.125rem;margin:0}.quick-links-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:3rem}.quick-link-card{align-items:center;background:var(--bg-card);border:2px solid var(--color-border-light);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:1.25rem;padding:1.75rem;text-decoration:none;transition:all .2s ease}.quick-link-card:hover{border-color:var(--color-blue-primary);box-shadow:var(--shadow-md);transform:translateY(-4px)}.grades-card:hover{border-color:var(--color-success)}.admin-card:hover{border-color:var(--color-red-primary)}.quick-link-icon{font-size:2.5rem;line-height:1}.quick-link-content{flex:1 1}.quick-link-content h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.quick-link-content p{color:var(--text-secondary);font-size:.95rem;margin:0}.quick-link-arrow{color:var(--color-blue-primary);font-size:1.5rem;font-weight:600;transition:transform .2s ease}.quick-link-card:hover .quick-link-arrow{transform:translateX(5px)}.course-sections{display:flex;flex-direction:column;gap:3rem;padding-bottom:100px}.course-section{background:var(--bg-card);border:2px solid var(--color-border-light);border-radius:16px;box-shadow:var(--shadow-sm);padding:2rem;transition:box-shadow .2s ease}.course-section:hover{box-shadow:var(--shadow-md)}.section-header{align-items:center;border-bottom:2px solid var(--color-border-light);display:flex;justify-content:space-between;margin-bottom:1.75rem;padding-bottom:1.25rem}.section-title-wrapper{align-items:center;display:flex;gap:1rem}.section-icon{align-items:center;border-radius:12px;display:flex;font-size:1.75rem;height:3.5rem;justify-content:center;width:3.5rem}.section-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.section-count{background:var(--bg-surface);border-radius:20px;color:var(--text-tertiary);font-size:.95rem;font-weight:600;padding:.5rem 1rem}.modules-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.module-card{background:var(--bg-component);border:2px solid var(--color-border-light);border-radius:12px;padding:1.5rem;transition:all .2s ease}.module-card:hover{border-color:var(--color-blue-light);box-shadow:var(--shadow-md);transform:translateY(-4px)}.module-header{border-bottom:1px solid var(--color-border-light);margin-bottom:1.25rem;padding-bottom:1rem}.module-name{color:var(--color-blue-primary);font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.module-description{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0}.module-assignments{display:flex;flex-direction:column;gap:.75rem}.assignment-link{align-items:center;background:var(--bg-card);border:2px solid var(--color-border-light);border-radius:8px;color:var(--text-primary);display:flex;font-weight:500;gap:.75rem;padding:.875rem 1rem;text-decoration:none;transition:all .2s ease}.assignment-link:hover{box-shadow:var(--shadow-sm);transform:translateX(4px)}.assignment-icon{font-size:1.25rem;line-height:1}.assignment-label{flex:1 1;font-size:.95rem}.preclass-link{border-left:4px solid var(--color-blue-primary)}.preclass-link:hover{background:var(--color-blue-softer);border-color:var(--color-blue-primary)}.postclass-link{border-left:4px solid var(--color-success)}.postclass-link:hover{background:var(--color-success-light);border-color:var(--color-success)}.quiz-link{border-left:4px solid var(--color-red-primary)}.quiz-link:hover{background:var(--color-red-soft);border-color:var(--color-red-primary)}@media screen and (max-width:960px){.dashboard-container{padding:90px 1.5rem 1.5rem}.dashboard-welcome h1{font-size:2rem}.section-title{font-size:1.5rem}.modules-grid{gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.quick-links-section{grid-template-columns:1fr}}@media screen and (max-width:600px){.dashboard-container{padding:80px 1rem 1rem}.dashboard-welcome{margin-bottom:1.5rem}.dashboard-welcome h1{font-size:1.75rem}.dashboard-subtitle{font-size:1rem}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.section-title-wrapper{gap:.75rem}.section-icon{font-size:1.5rem;height:3rem;width:3rem}.section-title{font-size:1.25rem}.modules-grid{gap:1rem;grid-template-columns:1fr}.quick-link-card{padding:1.5rem}.quick-link-icon{font-size:2rem}.quick-link-content h3{font-size:1.125rem}.course-section{padding:1.5rem}.module-card{padding:1.25rem}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}:root{--color-white:#fff;--color-off-white:#f8f9fa;--color-light-gray:#f1f3f5;--color-border-light:#e5e7eb;--color-border:#d1d5db;--color-blue-primary:#004077;--color-blue-light:#0052a3;--color-blue-lighter:#336b9e;--color-blue-dark:#002f5a;--color-blue-soft:#00407714;--color-blue-softer:#0040770a;--color-red-primary:#a90533;--color-red-light:#d61f4e;--color-red-dark:#7d0426;--color-red-soft:#a9053314;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-tertiary:#6b6b6b;--text-white:#fff;--bg-page:#fff;--bg-component:#f8f9fa;--bg-surface:#f1f3f5;--bg-card:#fff;--bg-hover:#0040770d;--color-success:#22c55e;--color-success-light:#d4edda;--color-success-dark:#16a34a;--color-success-border:#c3e6cb;--color-success-text:#155724;--color-error:#dc3545;--color-error-light:#f8d7da;--color-error-dark:#bd2130;--color-error-border:#f5c6cb;--color-error-text:#721c24;--color-warning:#ffc107;--color-warning-light:#fef3c7;--color-warning-dark:#f59e0b;--color-warning-border:#ffeaa7;--color-warning-text:#92400e;--color-info:#3b82f6;--color-info-light:#eff6ff;--color-info-dark:#1e40af;--color-info-border:#bfdbfe;--color-info-text:#1e3a8a;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000026;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.15s cubic-bezier(0.4,0,0.2,1);--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--overlay-bg:#00000080;--modal-bg:#fff;--modal-max-width:90%;--modal-max-height:80vh;--color-gray-100:#f9fafb;--color-gray-200:#f3f4f6;--color-gray-300:#e5e7eb;--color-gray-400:#d1d5db;--color-gray-500:#9ca3af;--color-gray-600:#6b7280;--color-gray-700:#4b5563;--color-gray-800:#374151;--color-gray-900:#1f2937}h1,h2,h3,h4,h5,h6{color:#1a1a1a;color:var(--text-primary);font-weight:600;line-height:1.2;margin:0}h1{font-size:3rem;font-weight:700}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:#4a4a4a;color:var(--text-secondary);line-height:1.6;margin:0}a{color:#004077;color:var(--color-blue-primary);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:var(--transition-fast)}a:hover{color:#0052a3;color:var(--color-blue-light)}.btn--primary{align-items:center;background:linear-gradient(135deg,#004077,#0052a3);background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 100%);border:2px solid #004077;border:2px solid var(--color-blue-primary);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#fff;color:var(--text-white);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#002f5a,#004077);background:linear-gradient(135deg,var(--color-blue-dark) 0,var(--color-blue-primary) 100%);border-color:#002f5a;border-color:var(--color-blue-dark);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn--secondary{align-items:center;background:linear-gradient(135deg,#a90533,#d61f4e);background:linear-gradient(135deg,var(--color-red-primary) 0,var(--color-red-light) 100%);border:2px solid #a90533;border:2px solid var(--color-red-primary);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#fff;color:var(--color-white);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--secondary:hover:not(:disabled){background:linear-gradient(135deg,#7d0426,#a90533);background:linear-gradient(135deg,var(--color-red-dark) 0,var(--color-red-primary) 100%);border-color:#7d0426;border-color:var(--color-red-dark);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn--outline{align-items:center;background:#0000;border:2px solid #004077;border:2px solid var(--color-blue-primary);border-radius:8px;border-radius:var(--radius-md);color:#004077;color:var(--color-blue-primary);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--outline:hover:not(:disabled){background:#004077;background:var(--color-blue-primary);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#fff;color:var(--text-white);transform:translateY(-2px)}.btn--small{font-size:.875rem;padding:.5rem 1.5rem}.btn--medium{font-size:1rem;padding:.75rem 2rem}.btn--large{font-size:1.25rem;padding:1.25rem 3rem}.btn--outline-red{align-items:center;background:#0000;border:2px solid #a90533;border:2px solid var(--color-red-primary);border-radius:8px;border-radius:var(--radius-md);color:#a90533;color:var(--color-red-primary);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--outline-red:hover:not(:disabled){background:#a90533;background:var(--color-red-primary);transform:translateY(-2px)}.btn--blue-solid,.btn--outline-red:hover:not(:disabled){box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#fff;color:var(--text-white)}.btn--blue-solid{align-items:center;background:#004077;background:var(--color-blue-primary);border:2px solid #004077;border:2px solid var(--color-blue-primary);border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--blue-solid:hover:not(:disabled){background:#0052a3;background:var(--color-blue-light);border-color:#0052a3;border-color:var(--color-blue-light);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--red-solid{align-items:center;background:#a90533;background:var(--color-red-primary);border:2px solid #a90533;border:2px solid var(--color-red-primary);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#fff;color:var(--text-white);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--red-solid:hover:not(:disabled){background:#d61f4e;background:var(--color-red-light);border-color:#d61f4e;border-color:var(--color-red-light);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--neutral{align-items:center;background:#fff;background:var(--bg-card);border:2px solid #d1d5db;border:2px solid var(--color-border);border-radius:8px;border-radius:var(--radius-md);color:#1a1a1a;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--neutral:hover:not(:disabled){background:#0040770a;background:var(--color-blue-softer);border-color:#004077;border-color:var(--color-blue-primary);transform:translateY(-2px)}.btn--neutral:hover:not(:disabled),.btn--success{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md)}.btn--success{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);background:linear-gradient(135deg,var(--color-success),var(--color-success-dark));border:2px solid #22c55e;border:2px solid var(--color-success);border-radius:8px;border-radius:var(--radius-md);color:#fff;color:var(--text-white);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--success:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#22c55e);background:linear-gradient(135deg,var(--color-success-dark),var(--color-success));box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--warning{align-items:center;background:#ffc107;background:var(--color-warning);border:2px solid #f59e0b;border:2px solid var(--color-warning-dark);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#fff;color:var(--text-white);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--warning:hover:not(:disabled){background:#f59e0b;background:var(--color-warning-dark);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--danger{align-items:center;background:#dc3545;background:var(--color-error);border:2px solid #dc3545;border:2px solid var(--color-error);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#fff;color:var(--text-white);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;justify-content:center;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn--danger:hover:not(:disabled){background:#bd2130;background:var(--color-error-dark);border-color:#bd2130;border-color:var(--color-error-dark);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--link{align-items:center;background:#0000;border:none;color:#004077;color:var(--color-blue-primary);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;padding:.5rem 1rem;text-align:center;text-decoration:underline;transition:all .15s cubic-bezier(.4,0,.2,1);transition:var(--transition-fast)}.btn--link:hover:not(:disabled){color:#0052a3;color:var(--color-blue-light);text-decoration:none}.btn--icon{align-items:center;background:#0000;border:none;border-radius:4px;border-radius:var(--radius-sm);color:#4a4a4a;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:1.25rem;height:2.5rem;justify-content:center;padding:.5rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:var(--transition-fast);width:2.5rem}.btn--icon:hover:not(:disabled){background:#0040770a;background:var(--color-blue-softer);color:#004077;color:var(--color-blue-primary)}.btn--blue-solid:disabled,.btn--danger:disabled,.btn--icon:disabled,.btn--link:disabled,.btn--neutral:disabled,.btn--outline-red:disabled,.btn--outline:disabled,.btn--primary:disabled,.btn--red-solid:disabled,.btn--secondary:disabled,.btn--success:disabled,.btn--warning:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}input[type=email],input[type=password],input[type=tel],input[type=text],select,textarea{background:#fff;background:var(--bg-page);border:2px solid #e5e7eb;border:2px solid var(--color-border-light);border-radius:4px;border-radius:var(--radius-sm);color:#1a1a1a;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.75rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:#004077;border-color:var(--color-blue-primary);outline:none}input.error,select.error,textarea.error{border-color:#a90533;border-color:var(--color-red-primary)}.container{margin:0 auto;max-width:1200px;padding:0 2rem;padding:0 var(--spacing-md);width:100%}.container-wide{max-width:1400px}.container-narrow{max-width:800px}.section{padding:4rem 0;padding:var(--spacing-lg) 0}.section-lg{padding:6rem 0;padding:var(--spacing-xl) 0}.section-sm{padding:2rem 0;padding:var(--spacing-md) 0}.card{background:#fff;background:var(--bg-page);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);padding:2rem;padding:var(--spacing-md);transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.card:hover{box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-sm{margin-top:1rem;margin-top:var(--spacing-sm)}.mt-md{margin-top:2rem;margin-top:var(--spacing-md)}.mt-lg{margin-top:4rem;margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:1rem;margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:2rem;margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:4rem;margin-bottom:var(--spacing-lg)}.pt-sm{padding-top:1rem;padding-top:var(--spacing-sm)}.pt-md{padding-top:2rem;padding-top:var(--spacing-md)}.pt-lg{padding-top:4rem;padding-top:var(--spacing-lg)}.pb-sm{padding-bottom:1rem;padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:2rem;padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:4rem;padding-bottom:var(--spacing-lg)}@media (max-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.btn--outline,.btn--primary,.btn--secondary{font-size:1rem;padding:.875rem 2rem}.btn--large{font-size:1.125rem;padding:1rem 2.5rem}}@media (max-width:480px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}.container{padding:0 1rem;padding:0 var(--spacing-sm)}.btn--outline,.btn--primary,.btn--secondary{padding:.75rem 1.5rem;width:100%}}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;min-height:100vh;transition:margin-left .3s ease,width .3s ease}@media (min-width:961px){.main-content.sidebar-open{margin-left:280px}.main-content.sidebar-collapsed{margin-left:70px}}@media (max-width:960px){.main-content{margin-left:0!important}}.login-sign-up{align-items:center;background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 50%,var(--color-blue-lighter) 100%);display:flex;justify-content:center;min-height:100vh;padding:85px 2rem 2rem;position:relative;z-index:1}.login-sign-up:before{background-image:radial-gradient(circle at 20% 50%,#ffffff0d 0,#0000 50%),radial-gradient(circle at 80% 80%,#a905331a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:65px;z-index:-1}.login-sign-up .container,.login-sign-up form.container{background:#fff!important;background-color:#fff!important;border:3px solid var(--color-blue-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 60px #00000026;color:var(--text-primary);max-width:95%;opacity:1!important;padding:2.5rem 3rem 2rem;position:relative;width:500px;z-index:2}.login-sign-up .header{margin-bottom:1.75rem;margin-top:0;text-align:center}.login-sign-up .text{color:var(--color-blue-primary);font-size:2.25rem;font-weight:700;margin-bottom:.75rem}.login-sign-up .underline{background:linear-gradient(90deg,var(--color-red-primary) 0,var(--color-red-light) 100%);border-radius:2px;height:3px;margin:0 auto;width:80px}.login-sign-up .inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:.75rem;margin-top:1rem}.login-sign-up .input{align-items:center;border:2px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;padding:.875rem 1.25rem;transition:var(--transition)}.login-sign-up .input,.login-sign-up .input:hover{background:#fff!important;background-color:#fff!important}.login-sign-up .input:hover{border-color:var(--color-blue-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.login-sign-up .input:focus-within{background:#fff!important;background-color:#fff!important;border-color:var(--color-blue-primary);box-shadow:0 0 0 3px var(--color-blue-soft),0 2px 8px #0040771f;transform:translateY(-1px)}.input img{height:20px;opacity:.6;width:20px}.input .input-icon,.input img{flex-shrink:0;margin-right:.75rem}.input .input-icon{font-size:1.25rem;opacity:.7}.input input{background:#0000;border:none;caret-color:var(--color-blue-primary);color:var(--text-primary);font-size:1rem;outline:none;width:100%}.input input::placeholder{color:var(--text-tertiary);opacity:.7}.input input:-webkit-autofill,.input input:-webkit-autofill:active,.input input:-webkit-autofill:focus,.input input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.login-sign-up .error-hint{color:var(--color-red-primary)!important;font-size:.9rem;font-weight:500;margin-left:.5rem;margin-top:.5rem}.login-sign-up .forgot-password{color:var(--text-secondary);font-size:.95rem;margin-bottom:.25rem;margin-top:1rem;padding:0 1rem;text-align:center}.login-sign-up .forgot-password .switch-option,.login-sign-up .toggle-text .switch-option{color:var(--color-blue-primary);cursor:pointer;font-weight:600;text-decoration:underline;-webkit-text-decoration-color:#0000;text-decoration-color:#0000;transition:var(--transition-fast)}.login-sign-up .forgot-password .switch-option:hover,.login-sign-up .toggle-text .switch-option:hover{color:var(--color-red-primary);-webkit-text-decoration-color:var(--color-red-primary);text-decoration-color:var(--color-red-primary)}.login-sign-up .submit-container{margin-top:1.5rem;text-align:center}.login-sign-up .submit-container button{background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 100%);border:2px solid var(--color-blue-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-white);cursor:pointer;font-size:1.125rem;font-weight:600;padding:.875rem 2rem;transition:var(--transition);width:100%}.login-sign-up .submit-container button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-blue-dark) 0,var(--color-blue-primary) 100%);border-color:var(--color-blue-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.login-sign-up .submit-container button:disabled{box-shadow:var(--shadow-sm)!important;cursor:not-allowed;opacity:.6;transform:none!important}.login-sign-up .errorMessage{background:var(--color-red-soft);border:1px solid var(--color-red-primary);border-radius:var(--radius-md);color:var(--color-red-primary)}.login-sign-up .errorMessage,.login-sign-up .successMessage{font-size:.95rem;font-weight:600;margin-top:1rem;padding:.75rem;text-align:center}.login-sign-up .successMessage{background:var(--color-blue-soft);border:1px solid var(--color-blue-primary);border-radius:var(--radius-md);color:var(--color-blue-primary)}.login-sign-up .toggle-text{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:.25rem;margin-top:1.25rem;padding:0 .5rem;text-align:center}.login-sign-up .loading-spinner{margin:2rem auto}.login-sign-up .terms-checkbox-container{align-items:flex-start;background:#fff;background-color:#fff;border:2px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:.75rem;margin:1rem 0 .75rem;padding:1rem;transition:var(--transition)}.login-sign-up .terms-checkbox-container:hover{border-color:var(--color-blue-light);box-shadow:var(--shadow-sm)}.login-sign-up .terms-checkbox-container input[type=checkbox]{accent-color:var(--color-blue-primary);cursor:pointer;flex-shrink:0;height:20px;margin-top:.25rem;width:20px}.login-sign-up .terms-checkbox-container label{color:var(--text-secondary);cursor:pointer;font-size:.95rem;line-height:1.6}.login-sign-up .terms-checkbox-container label a{color:var(--color-blue-primary);font-weight:600;text-decoration:underline;-webkit-text-decoration-color:#0000;text-decoration-color:#0000;transition:var(--transition-fast)}.login-sign-up .terms-checkbox-container label a:hover{color:var(--color-red-primary);-webkit-text-decoration-color:var(--color-red-primary);text-decoration-color:var(--color-red-primary)}@media screen and (max-width:768px){.login-sign-up{padding:85px 1.5rem 1.5rem}.login-sign-up .container,.login-sign-up form.container{padding:2rem 2.5rem 1.75rem;width:100%}.login-sign-up .header{margin-bottom:1.5rem}.login-sign-up .text{font-size:2rem}.login-sign-up .underline{width:70px}.login-sign-up .inputs{gap:.875rem}.login-sign-up .input{padding:.75rem 1.125rem}.login-sign-up .toggle-text{margin-bottom:.25rem;margin-top:1rem}}@media screen and (max-width:480px){.login-sign-up{padding:80px 1rem 1rem}.login-sign-up .container,.login-sign-up form.container{padding:2rem 1.75rem 1.5rem}.login-sign-up .header{margin-bottom:1.25rem}.login-sign-up .text{font-size:1.75rem}.login-sign-up .submit-container button{font-size:1rem;padding:.75rem 1.5rem}.login-sign-up .toggle-text{font-size:.9rem;margin-bottom:0;margin-top:1rem}}.custom-dropdown{display:inline-block;font-family:Arial,Helvetica,sans-serif;position:relative}.dropdown-header{align-items:center;background:var(--bg-card);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;color:var(--text-primary);cursor:pointer;display:flex;min-height:40px;padding:5px 10px;position:relative;-webkit-user-select:none;user-select:none}.dropdown-caret{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.dropdown-options{background:var(--bg-page);border:1px solid var(--color-border);box-sizing:border-box;color:var(--text-primary);left:0;max-height:200px;min-width:100%;overflow-y:auto;position:absolute;scrollbar-color:var(--bg-card) var(--bg-page);top:100%;z-index:9999}.dropdown-option{align-items:center;cursor:pointer;display:flex;gap:10px;padding:.5rem 1rem}.dropdown-option:hover{background:var(--color-blue-softer)}.dropdown-selected-label{align-items:center;display:inline-flex;gap:6px}.custom-dropdown.disabled .dropdown-header,.dropdown-header.disabled{cursor:not-allowed!important;opacity:.6;pointer-events:none}.custom-dropdown.disabled{pointer-events:none}.dropdown-header.highlighted{border-color:var(--color-yellow)!important}.dropdown-header.highlighted,.dropdown-header.highlighted .dropdown-caret{color:var(--color-yellow)!important}.dropdown-header.open{border-color:var(--color-blue-primary)!important}.loading-overlay{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0040771a;height:100vh;left:0;pointer-events:auto;position:fixed;top:0;width:100vw;z-index:9999}.loading-content,.loading-overlay{align-items:center;display:flex;flex-direction:column;justify-content:center}.loading-content{background:var(--bg-card);border:2px solid var(--color-blue-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:2rem}.loading-spinner{animation:spin .8s linear infinite;border-top:8px solid var(--color-blue-soft);border:8px solid var(--color-blue-soft);border-radius:50%;border-right:8px solid var(--color-red-primary);border-top-color:var(--color-blue-primary);height:60px;width:60px}.loading-text{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-top:1.5rem;text-align:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-theme=dark] .loading-overlay{background-color:#0000004d}[data-theme=dark] .loading-content{background:var(--bg-card);border-color:var(--color-blue-light)}[data-theme=dark] .loading-spinner{border-color:#0040774d;border-right-color:var(--color-red-light);border-top-color:var(--color-blue-light)}.two-factor-setup{align-items:center;background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 50%,var(--color-blue-lighter) 100%);bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:2rem;position:fixed;right:0;top:0;z-index:10000}.two-factor-setup:before{background-image:radial-gradient(circle at 20% 50%,#ffffff0d 0,#0000 50%),radial-gradient(circle at 80% 80%,#a905331a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.two-factor-setup .container{background:#fff!important;border:3px solid var(--color-blue-primary)!important;border-radius:16px!important;box-shadow:0 8px 24px #00000026!important;color:var(--text-main);margin:2rem auto;max-width:95%;padding:2.5rem!important;position:relative;width:500px;z-index:10001}.two-factor-setup .header{margin-bottom:1.5rem;text-align:center}.two-factor-setup .text{color:var(--text-main);font-size:2rem;font-weight:600}.two-factor-setup .underline{background:linear-gradient(90deg,var(--color-blue-primary) 0,var(--color-red-primary) 100%);border-radius:2px;height:4px;margin:.5rem auto 0;width:60px}.choice-content{text-align:center}.info-section h3{color:var(--text-main);margin-bottom:1rem}.info-section p{color:var(--text-soft);line-height:1.6;margin-bottom:1.5rem}.benefits{margin:2rem 0;text-align:left}.benefit-item{align-items:center;color:var(--text-main);display:flex;margin-bottom:1rem}.checkmark{color:var(--color-green);font-size:1.2rem;font-weight:700;margin-right:.75rem}.choice-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.two-factor-setup .choice-actions button{font-size:1rem!important;font-weight:600;min-width:140px;padding:.75rem 1.5rem!important}.setup-content{max-width:100%}.instructions{margin-bottom:2rem}.instructions h3{color:var(--text-main);margin-bottom:1rem}.instructions ol{color:var(--text-soft);line-height:1.8;padding-left:1.5rem;text-align:left}.instructions li{margin-bottom:.5rem}.qr-section{margin:2rem 0;text-align:center}.qr-code{background:#fff;border:2px solid var(--color-border);border-radius:8px;height:auto;margin-bottom:1rem;max-width:200px;padding:1rem}.manual-entry{margin-top:1.5rem}.manual-entry p{color:var(--text-soft);font-size:.9rem;margin-bottom:.5rem}.secret-key{background:var(--bg-page);border:1px solid var(--color-border);border-radius:4px;color:var(--text-main);font-family:monospace;font-size:.95rem;padding:.75rem;-webkit-user-select:all;user-select:all;word-break:break-all}.verification-section{margin-top:2rem}.verification-section label{color:var(--text-main);display:block;font-weight:500;margin-bottom:.5rem}.code-input{font-size:1.5rem;letter-spacing:.5rem;padding:.75rem 1rem}.code-input::placeholder{letter-spacing:.5rem;opacity:.5}.two-factor-setup .verification-section button{font-size:1rem!important;font-weight:600;margin-top:.5rem;padding:.75rem 1.5rem!important;width:100%}.success-content{padding:2rem 0;text-align:center}.success-icon{color:var(--color-green);font-size:4rem;margin-bottom:1rem}.success-content h3{color:var(--text-main);margin-bottom:1rem}.success-content p{color:var(--text-soft);margin-bottom:.5rem}.redirect-text{color:var(--text-soft);font-size:.9rem;font-style:italic}.errorMessage{font-size:1rem;font-weight:500;margin-top:1rem;text-align:center}:root[data-theme=dark] .qr-code{background:#fff;padding:1rem}:root[data-theme=dark] .secret-key{background:var(--color-bg-alt-darker)}@media (max-width:600px){.two-factor-setup .container{margin:2rem 1rem;max-width:500px;padding:1.5rem!important;width:100%}.two-factor-setup .choice-actions{flex-direction:column}.two-factor-setup .choice-actions button{width:100%}.two-factor-setup .qr-code{max-width:180px}}.two-factor-verification{align-items:center;background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 50%,var(--color-blue-lighter) 100%);bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:10000}.two-factor-verification:before{background-image:radial-gradient(circle at 20% 50%,#ffffff0d 0,#0000 50%),radial-gradient(circle at 80% 80%,#a905331a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.two-factor-verification .container{background:#fff!important;border:3px solid var(--color-blue-primary)!important;border-radius:16px!important;box-shadow:0 8px 24px #00000026!important;color:var(--text-main);max-width:95%;padding:2.5rem!important;position:relative;width:400px;z-index:10001}.two-factor-verification .header{margin-bottom:1.5rem;text-align:center}.two-factor-verification .text{color:var(--text-main);font-size:2rem;font-weight:600}.two-factor-verification .underline{background:linear-gradient(90deg,var(--color-blue-primary) 0,var(--color-red-primary) 100%);border-radius:2px;height:4px;margin:.5rem auto 0;width:60px}.verification-content{text-align:center}.instructions{margin-bottom:1.5rem}.instructions p{color:var(--text-soft);font-size:1rem;line-height:1.5}.code-section{margin-top:1rem}.code-input{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:4px;color:var(--text-main);font-size:2rem;letter-spacing:.75rem;margin-bottom:1rem;padding:1rem;text-align:center;transition:border-color .3s ease,background-color .3s ease;width:100%}.code-input:focus,.code-input:hover{border-color:var(--color-primary)}.code-input:focus{background:var(--color-bg-alt);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.code-input::placeholder{color:var(--text-soft);letter-spacing:.75rem;opacity:.4}.code-input:disabled{cursor:not-allowed;opacity:.6}.remember-device{margin:1rem 0 1.5rem;text-align:left}.remember-device label{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:.95rem}.remember-device input[type=checkbox]{cursor:pointer;height:16px;margin-right:.5rem;width:16px}.errorMessage,.successMessage{border-radius:4px;font-size:.95rem;margin:1rem 0;padding:.5rem}.successMessage{background:#2e9d661a}.errorMessage{background:#d64f4a1a}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.two-factor-verification .action-buttons button{font-size:1rem!important;font-weight:600;min-width:100px;padding:.75rem 1.5rem!important}.help-section{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.5rem}.help-section p{color:var(--text-soft);font-size:.9rem;margin-bottom:.5rem}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline;transition:color .2s ease}.link-button:hover{color:var(--color-primary-darker)}.link-button:disabled{cursor:not-allowed;opacity:.6}.action-buttons .loading-spinner{display:inline-block;height:16px;width:16px}.code-input:-webkit-autofill,.code-input:-webkit-autofill:active,.code-input:-webkit-autofill:focus,.code-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-main)!important;-webkit-box-shadow:0 0 0 30px var(--color-bg-alt) inset!important}:root[data-theme=dark] .code-input,:root[data-theme=dark] .code-input:focus{background:var(--color-bg-alt)}:root[data-theme=dark] .code-input:-webkit-autofill,:root[data-theme=dark] .code-input:-webkit-autofill:active,:root[data-theme=dark] .code-input:-webkit-autofill:focus,:root[data-theme=dark] .code-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-main)!important;-webkit-box-shadow:0 0 0 30px var(--color-bg-alt) inset!important}:root[data-theme=dark] .successMessage{background:#2e9d6626}:root[data-theme=dark] .errorMessage{background:#d64f4a26}@media (max-width:480px){.two-factor-verification .container{margin:0 1rem;padding:1.5rem!important;width:100%}.two-factor-verification .code-input{font-size:1.5rem;letter-spacing:.5rem}.two-factor-verification .action-buttons{flex-direction:column}.two-factor-verification .action-buttons button{width:100%}}.email-verification-sent{align-items:center;background:#0000;display:flex;justify-content:center;min-height:80vh;padding:2rem}.email-verification-sent .container{background:var(--bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 15px #0000000f;color:var(--text-main);padding:2rem;width:400px}.header{margin-bottom:1.5rem;text-align:center}.text{color:var(--text-main);font-size:2rem;font-weight:600}.underline{background:var(--color-primary);border-radius:2px;height:4px;margin:.5rem auto 0;width:60px}.content{text-align:center}.message{margin-bottom:2rem}.message p{color:var(--text-main);font-size:1rem;line-height:1.6;margin-bottom:1rem}.message p:last-child{margin-bottom:0}.email-address{color:var(--color-primary);font-size:1.1rem;font-weight:600;margin:1rem 0}.resend-section{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.5rem}.countdown{color:var(--text-soft);font-size:.95rem}.resend-button{background:var(--color-blue-primary);border:none;border-radius:4px;box-shadow:0 2px 8px #00407733;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .25s ease}.resend-button:hover:not(:disabled){background:var(--color-blue-light);box-shadow:0 4px 12px #0040774d;transform:translateY(-2px)}.resend-button:disabled{background:var(--color-border);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}:root[data-theme=dark] .message p{color:var(--text-main)}:root[data-theme=dark] .countdown{color:var(--text-soft)}@media (max-width:480px){.email-verification-sent .container{margin:0 1rem;padding:1.5rem;width:100%}.email-verification-sent .text{font-size:1.5rem}.email-verification-sent .message p{font-size:.95rem}}.reset-password .instructions{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:.5rem;margin-top:1rem;text-align:center}.reset-password{align-items:center;background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 50%,var(--color-blue-lighter) 100%);display:flex;justify-content:center;min-height:100vh;padding:85px 2rem 2rem;position:relative}.reset-password:before{background-image:radial-gradient(circle at 20% 50%,#ffffff0d 0,#0000 50%),radial-gradient(circle at 80% 80%,#a905331a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.reset-password .container{background:#fff!important;background-color:#fff!important;border:3px solid var(--color-blue-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 60px #00000026;color:var(--text-primary);max-width:95%;opacity:1!important;padding:2.5rem 3rem 2rem;position:relative;width:500px;z-index:10}.reset-password .header{margin-bottom:1.75rem;margin-top:0;text-align:center}.reset-password .text{color:var(--color-blue-primary);font-size:2.25rem;font-weight:700;margin-bottom:.75rem}.reset-password .underline{background:linear-gradient(90deg,var(--color-red-primary) 0,var(--color-red-light) 100%);border-radius:2px;height:3px;margin:0 auto;width:80px}.reset-password .inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:.75rem;margin-top:1rem}.reset-password .input{align-items:center;background:#fff!important;background-color:#fff!important;border:2px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;padding:.875rem 1.25rem;transition:var(--transition)}.reset-password .input:hover{border-color:var(--color-blue-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.reset-password .input:focus-within{border-color:var(--color-blue-primary);box-shadow:0 0 0 3px var(--color-blue-soft),0 2px 8px #0040771f;transform:translateY(-1px)}.reset-password .input img{flex-shrink:0;height:20px;margin-right:.75rem;opacity:.6;width:20px}.reset-password .input .input-icon{flex-shrink:0;font-size:1.25rem;margin-right:.75rem;opacity:.7}.reset-password .input input{background:#0000;border:none;caret-color:var(--color-blue-primary);color:var(--text-primary);font-size:1rem;outline:none;width:100%}.reset-password .input input::placeholder{color:var(--text-tertiary);opacity:.7}.reset-password .input input:-webkit-autofill,.reset-password .input input:-webkit-autofill:active,.reset-password .input input:-webkit-autofill:focus,.reset-password .input input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.reset-password .error-hint{color:var(--color-red-primary)!important;font-size:.9rem;font-weight:500;margin-left:.5rem;margin-top:.5rem}.reset-password .submit-container{margin-top:1.5rem;text-align:center}.reset-password .cancel-container{margin-top:1rem;text-align:center}.reset-password .submit-container button{background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 100%);border:2px solid var(--color-blue-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-white);cursor:pointer;font-size:1.125rem;font-weight:600;padding:.875rem 2rem;transition:var(--transition);width:100%}.reset-password .submit-container button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-blue-dark) 0,var(--color-blue-primary) 100%);border-color:var(--color-blue-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.reset-password .submit-container button:disabled{box-shadow:var(--shadow-sm)!important;cursor:not-allowed;opacity:.6;transform:none!important}.reset-password .cancel-container button{background:#0000;border:2px solid var(--color-blue-primary);border-radius:var(--radius-md);color:var(--color-blue-primary);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:var(--transition)}.reset-password .cancel-container button:hover{background:var(--color-blue-primary);box-shadow:var(--shadow-md);color:var(--text-white);transform:translateY(-2px)}.reset-password .errorMessage{background:var(--color-red-soft);border:1px solid var(--color-red-primary);border-radius:var(--radius-md);color:var(--color-red-primary)}.reset-password .errorMessage,.reset-password .successMessage{font-size:.95rem;font-weight:600;margin-top:1rem;padding:.75rem;text-align:center}.reset-password .successMessage{background:var(--color-blue-soft);border:1px solid var(--color-blue-primary);border-radius:var(--radius-md);color:var(--color-blue-primary)}@media screen and (max-width:768px){.reset-password{padding:85px 1.5rem 1.5rem}.reset-password .container{padding:2rem 2.5rem 1.75rem;width:100%}.reset-password .header{margin-bottom:1.5rem}.reset-password .text{font-size:2rem}.reset-password .underline{width:70px}.reset-password .inputs{gap:.875rem}.reset-password .input{padding:.75rem 1.125rem}}@media screen and (max-width:480px){.reset-password{padding:80px 1rem 1rem}.reset-password .container{padding:2rem 1.75rem 1.5rem}.reset-password .header{margin-bottom:1.25rem}.reset-password .text{font-size:1.75rem}.reset-password .submit-container button{font-size:1rem;padding:.75rem 1.5rem}.reset-password .cancel-container button{font-size:.95rem;padding:.65rem 1.5rem}}.email-verification{align-items:center;background:linear-gradient(135deg,var(--color-blue-primary) 0,var(--color-blue-light) 50%,var(--color-blue-lighter) 100%);display:flex;justify-content:center;min-height:100vh;padding:85px 2rem 2rem;position:relative;z-index:1}.email-verification:before{background-image:radial-gradient(circle at 20% 50%,#ffffff0d 0,#0000 50%),radial-gradient(circle at 80% 80%,#a905331a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:65px;z-index:-1}.email-verification .container{background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 15px #0000000f;color:var(--text-main);padding:2.5rem;position:relative;width:400px;z-index:2}.email-verification .header{margin-bottom:1.5rem;text-align:center}.email-verification .text{color:var(--text-main);font-size:2rem;font-weight:600}.email-verification .underline{background:linear-gradient(90deg,var(--color-blue-primary) 0,var(--color-red-primary) 100%);border-radius:2px;height:4px;margin:.5rem auto 0;width:60px}.verification-content{align-items:center;display:flex;flex-direction:column}.pending-message{color:var(--text-main);margin-top:1rem}.errorMessage,.successMessage{font-size:1rem;font-weight:500;margin-top:1rem;text-align:center}.errorMessage{color:var(--color-red)}.successMessage{color:var(--color-green)}.password-form{align-items:center;display:flex;flex-direction:column;width:100%}.password-input{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:4px;color:var(--text-main);font-size:1rem;margin-top:1rem;padding:.75rem 1rem;transition:border-color .3s ease,background-color .3s ease;width:100%}.password-input:focus,.password-input:hover{border-color:var(--color-primary)}.password-input:focus{background:var(--color-bg-alt);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.validation-error{color:var(--color-red);font-size:.9rem;margin-top:.5rem;text-align:left;width:100%}.submit-btn{background:var(--color-blue-primary);border:none;border-radius:4px;box-shadow:0 2px 8px #00407733;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1.5rem;padding:14px 28px;transition:all .25s ease;width:100%}.submit-btn:hover:not(:disabled){background:var(--color-blue-light);box-shadow:0 4px 12px #0040774d;transform:translateY(-2px)}.submit-btn:disabled{background:var(--color-border);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}:root[data-theme=dark] .password-input{background:var(--color-bg-alt)}:root[data-theme=dark] .password-input:focus{background:var(--color-bg-alt);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.login-sign-up .custom-dropdown{display:block;width:100%}.login-sign-up .custom-dropdown .dropdown-header{box-sizing:border-box;padding-right:35px;width:100%}.login-sign-up .custom-dropdown .dropdown-options{width:100%}@media (max-width:768px){.login-sign-up .container{padding:2rem 1.5rem}}@media (max-width:480px){.login-sign-up .semester-grid{grid-template-columns:1fr!important}.login-sign-up .container{padding:1.5rem 1.25rem}.login-sign-up .text{font-size:1.75rem}}body{background:#f0f4f7;color:#036;font-family:Segoe UI,Arial,sans-serif;margin:0}.container{margin:40px auto;max-width:900px;padding:0 20px}input,textarea{background:#eaf2f8;border:1px solid #b0c4de;border-radius:4px;box-sizing:border-box;color:#036;font-size:16px;padding:10px;width:100%}textarea{font-family:Consolas,Courier New,monospace}button{background:#0073e6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin:6px 4px;padding:10px 18px}button:disabled{cursor:not-allowed;opacity:.6}.green{color:green}.red{color:#c00}.button-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.lb-container{gap:24px;margin-top:30px;max-height:60vh}.lb-col,.lb-container{display:flex;overflow:hidden}.lb-col{flex:1 1;flex-direction:column}.lb-rank{color:#036;font-size:1.2rem;font-weight:600;margin:0 0 14px;text-align:center}.lb-empty{color:#666;font-style:italic;margin-top:20px;text-align:center}.lb-chart-container{flex:1 1;overflow-x:hidden;overflow-y:auto}.lb-head{color:#036;flex-shrink:0;font-size:1.2rem;font-weight:600;margin:0 0 14px;text-align:center}.ps-container{text-align:left}.ps-container textarea{background:#f8fbff;border:1px solid #b0c4de;border-radius:4px;color:#036;font-family:Consolas,Courier New,monospace;font-size:1rem;padding:8px;width:100%}.ps-container .button-row{display:flex;gap:10px;margin-top:8px}.ps-container .green{color:green}.ps-container .red{color:red}.ps-container .hint-box{background:#f0f8ff;border:2px solid #1e90ff;border-radius:8px;margin:16px 0;padding:16px}.ps-container .hint-box h3{margin-top:0}.ps-container .timer{color:#c62828;font-size:1.15rem;font-weight:700;margin-top:12px;text-align:center}.ps-output{background:#fff;border:1px solid #e1e4e8;border-radius:4px;margin-top:8px;overflow:hidden}.ps-output-header{background:#f6f8fa;border-bottom:1px solid #e1e4e8;color:#586069;font-size:.85rem;font-weight:600;padding:4px 12px}.ps-output-content{word-wrap:break-word;background:#fff;color:#24292e;font-family:Consolas,Courier New,monospace;font-size:.95rem;line-height:1.4;margin:0;max-height:300px;overflow-y:auto;padding:12px;white-space:pre-wrap}.ps-output-content:has-text("Error:"){color:#d73a49}.gm-container{margin:40px auto;max-width:900px;padding:0 20px;text-align:center}.gm-start-btn{background:#0073e6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.4rem;padding:12px 28px}.gm-title{color:#036;margin-bottom:24px;margin-top:10px}.gm-grid-container{align-items:center;display:flex;gap:24px;margin-bottom:32px}.gm-grid{grid-gap:16px;display:grid;flex:1 1;gap:16px;grid-template-columns:repeat(3,1fr)}.gm-player-counter{background:#f5f5f5;border:2px solid #0073e6;border-radius:8px;min-width:150px;padding:20px}.gm-player-count-item{align-items:center;display:flex;flex-direction:column;gap:8px}.gm-player-count-value{color:#0073e6;font-size:2rem;font-weight:700}.gm-player-count-label{color:#666;font-size:1rem;text-align:center}.gm-box{background:#fff;border:2px solid #0073e6;border-radius:8px;color:#0073e6;cursor:pointer;font-size:1rem;padding:18px 8px}.gm-box:disabled{background:#0073e6;color:#fff;cursor:default}.gm-box.selected{background:#000;color:#fff}.gm-box.revealed{background:#0073e6;color:#fff;cursor:default}.gm-start-row{align-items:center;display:flex;gap:.75rem}.gm-pass-input{border:1px solid #ccc;border-radius:.375rem;font-size:1rem;padding:.5rem .75rem;width:25%}.jeopardy-container{background:linear-gradient(135deg,#060ce9,#0a0f8c);display:flex;font-family:Arial,sans-serif;gap:30px;min-height:100vh;padding:20px}.start-screen{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center;width:100%}.game-title{animation:titlePulse 2s ease-in-out infinite;color:gold;font-size:80px;letter-spacing:4px;margin-bottom:50px;text-shadow:5px 5px 10px #000c}@keyframes titlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.start-button{background:gold;border:none;border-radius:10px;box-shadow:0 6px 12px #0006;color:#060ce9;cursor:pointer;font-size:32px;font-weight:700;letter-spacing:2px;padding:24px 48px;text-transform:uppercase;transition:all .3s ease}.start-button:hover{background:orange;box-shadow:0 0 30px #ffd700cc;transform:scale(1.1)}.start-button:active{transform:scale(1.05)}.audio-toggle{align-items:center;background:gold;border:3px solid #060ce9;border-radius:50%;bottom:20px;box-shadow:0 4px 8px #0006;cursor:pointer;display:flex;font-size:28px;height:60px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:60px;z-index:1000}.audio-toggle:hover{background:orange;box-shadow:0 0 20px #ffd700cc;transform:scale(1.1)}.audio-toggle:active{transform:scale(.95)}.jeopardy-board{background:#000;border:4px solid gold;box-shadow:0 0 30px #ffd70099;display:flex;flex:1 1;flex-direction:column;gap:4px;margin:0 auto;max-width:1200px;padding:6px}.categories-row{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(6,1fr)}.category-header{align-items:center;background:#060ce9;border:2px solid gold;color:#fff;display:flex;font-size:18px;font-weight:700;justify-content:center;letter-spacing:1px;min-height:80px;padding:20px 10px;text-align:center;text-shadow:2px 2px 4px #00000080;text-transform:uppercase}.clues-row{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(6,1fr)}.clue-box{background:#060ce9;border:2px solid gold;color:gold;cursor:pointer;font-size:36px;font-weight:700;overflow:hidden;padding:30px;position:relative;text-align:center;text-shadow:3px 3px 6px #000c;transition:all .3s ease}.clue-box:hover:not(.completed){background:#0a0f8c;box-shadow:0 0 20px #ffd700cc;transform:scale(1.05)}.clue-box.clickable{background:#0a0f8c;box-shadow:0 0 10px #ffd70066}.clue-box.clickable:hover{background:#0d12b0;box-shadow:0 0 25px #ffd700e6;transform:scale(1.05)}.clue-box.completed{background:#1a1a1a;color:#444;cursor:not-allowed;text-shadow:none}.clue-box.completed:after{background:#00000080;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.leaderboard{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border:3px solid gold;border-radius:10px;box-shadow:0 0 20px #ffd70080;color:#fff;padding:20px;width:300px}.leaderboard h2{color:gold;font-size:28px;letter-spacing:2px;margin-bottom:20px;text-shadow:2px 2px 4px #000c;text-transform:uppercase}.leaderboard ul{list-style:none;margin:0;padding:0}.leaderboard li{align-items:center;background:#ffd7001a;border:1px solid gold;border-radius:5px;display:flex;font-size:18px;justify-content:space-between;margin-bottom:8px;padding:12px;transition:all .3s ease}.leaderboard li:hover{background:#ffd70033;transform:translateX(5px)}.player-name{color:gold;font-weight:700}.player-score{color:#4caf50;font-size:20px;font-weight:700}.no-scores{color:#888;font-style:italic;padding:20px;text-align:center}.modal-overlay{background:#000000e6;bottom:0;right:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:linear-gradient(135deg,#060ce9,#0a0f8c);border:4px solid gold;border-radius:10px;box-shadow:0 0 40px #ffd700cc;max-width:700px;padding:40px;position:relative;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{margin-bottom:30px}.modal-value{color:gold;font-size:48px;font-weight:700;text-shadow:3px 3px 6px #000c}.close-button{background:none;border:2px solid gold;border-radius:50%;color:gold;cursor:pointer;font-size:32px;height:50px;transition:all .3s ease;width:50px}.close-button:hover{background:gold;color:#060ce9;transform:rotate(90deg)}.clue-content{text-align:center}.answer-text{color:#fff;font-size:28px;line-height:1.5;margin-bottom:20px}.answer-text,.question-text{text-shadow:2px 2px 4px #000c}.question-text{color:gold;font-size:32px;font-style:italic;font-weight:700;margin-bottom:30px}.player-input{display:flex;gap:10px;justify-content:center;margin-top:30px}.player-input input{background:#ffffff1a;border:2px solid gold;border-radius:5px;color:#fff;font-size:18px;padding:12px 20px;transition:all .3s ease;width:250px}.player-input input:focus{background:#fff3;box-shadow:0 0 10px #ffd70080;outline:none}.player-input input::placeholder{color:#fff9}.player-input button{background:gold;border:none;border-radius:5px;color:#060ce9;cursor:pointer;font-size:18px;font-weight:700;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.player-input button:hover{background:orange;box-shadow:0 0 15px #ffd700cc;transform:scale(1.05)}.reveal-question-button{background:gold;border:none;border-radius:8px;box-shadow:0 4px 6px #0000004d;color:#060ce9;cursor:pointer;font-size:20px;font-weight:700;letter-spacing:1px;margin-top:30px;padding:16px 32px;text-transform:uppercase;transition:all .3s ease}.reveal-question-button:hover{background:orange;box-shadow:0 0 20px #ffd700cc;transform:scale(1.05)}@media (max-width:1400px){.jeopardy-container{align-items:center;flex-direction:column}.leaderboard{margin-top:20px;max-width:1200px;width:100%}.leaderboard ul{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:900px){.category-header{font-size:14px;min-height:60px;padding:15px 5px}.clue-box{font-size:24px;padding:20px 5px}.modal-content{padding:20px}.modal-value{font-size:36px}.answer-text{font-size:20px}.question-text{font-size:24px}}.family-feud{background:linear-gradient(135deg,#1e3a8a,#3b82f6);font-family:Arial,sans-serif;min-height:100vh;padding:20px}.setup-phase{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:80vh;position:relative}.game-title{color:#fbbf24;font-size:4rem;font-weight:700;letter-spacing:3px;margin-bottom:2rem;text-shadow:3px 3px 6px #00000080;text-transform:uppercase}.team-setup{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;min-width:400px;padding:2rem}.team-setup h2{color:#1e3a8a;margin-bottom:1.5rem;text-align:center}.team-input-group{display:flex;gap:10px;margin-bottom:1.5rem}.team-input{border:2px solid #3b82f6;border-radius:5px;flex:1 1;font-size:1rem;padding:10px}.add-team-btn{background:#3b82f6;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;padding:10px 20px}.add-team-btn:hover{background:#2563eb}.teams-list{margin-bottom:1.5rem}.team-item{align-items:center;background:#f3f4f6;border-radius:5px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px}.remove-team-btn{background:#ef4444;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:5px 15px}.remove-team-btn:hover{background:#dc2626}.start-game-btn{background:#fbbf24;border:none;border-radius:8px;color:#1e3a8a;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px;text-transform:uppercase;width:100%}.start-game-btn:hover{background:#f59e0b}.click-to-start-btn{animation:pulse-btn 2s infinite;background:#fbbf24;border:none;border-radius:15px;box-shadow:0 8px 20px #0000004d;color:#1e3a8a;cursor:pointer;font-size:2rem;font-weight:700;padding:25px 50px;text-transform:uppercase;transition:all .3s}.click-to-start-btn:hover{background:#f59e0b;transform:scale(1.05)}@keyframes pulse-btn{0%,to{box-shadow:0 8px 20px #0000004d}50%{box-shadow:0 8px 30px #fbbf2499}}.download-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:1.5rem;padding:12px 24px;text-transform:uppercase}.download-btn:hover{background:#2563eb}.mute-btn{align-items:center;background:#ffffffe6;border:3px solid #1e3a8a;border-radius:50%;bottom:20px;box-shadow:0 4px 10px #0000004d;cursor:pointer;display:flex;font-size:1.8rem;height:60px;justify-content:center;position:fixed;right:20px;transition:all .3s;width:60px}.mute-btn:hover{background:#fff;transform:scale(1.1)}.game-phase{display:flex;gap:20px;margin:0 auto;max-width:1400px}.leaderboard{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;height:-webkit-fit-content;height:fit-content;max-width:300px;min-width:250px;padding:1.5rem}.leaderboard h2{color:#1e3a8a;font-size:1.5rem;margin-bottom:1rem;text-align:center}.scores{display:flex;flex-direction:column;gap:10px}.score-item{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:8px;color:#1e3a8a;display:flex;font-weight:700;justify-content:space-between;padding:10px}.team-name{font-size:1.1rem}.team-score{font-size:1.3rem}.game-board{align-items:center;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;display:flex;flex:1 1;flex-direction:column;padding:2rem}.category-name{font-size:2rem;margin-bottom:1.5rem;text-align:center}.category-name,.reveal-category-btn{color:#1e3a8a;font-weight:700;text-transform:uppercase}.reveal-category-btn{background:#fbbf24;border:none;border-radius:10px;box-shadow:0 5px 15px #0003;cursor:pointer;font-size:1.5rem;padding:20px 40px}.reveal-category-btn:hover{background:#f59e0b;transform:scale(1.05)}.x-counter{display:flex;gap:15px;margin-bottom:2rem}.x-mark{color:#cbd5e1;font-size:3rem;font-weight:700;transition:all .3s}.x-mark.active{animation:xPulse .5s;color:#ef4444}@keyframes xPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.answer-board{column-count:2;column-gap:15px;margin-bottom:2rem;width:100%}.answer-box{align-items:center;background:#1e3a8a;border:3px solid #fbbf24;border-radius:10px;break-inside:avoid;cursor:pointer;display:flex;gap:12px;height:55px;margin-bottom:10px;padding:12px 15px;page-break-inside:avoid;transition:all .3s}.answer-box:hover:not(.revealed){background:#2563eb;transform:scale(1.02)}.answer-box.revealed{animation:reveal .5s;background:#fbbf24;cursor:default}@keyframes reveal{0%{transform:rotateX(90deg)}to{transform:rotateX(0deg)}}.answer-number{align-items:center;background:#1e3a8a;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:32px;justify-content:center;width:32px}.answer-box.revealed .answer-number{background:#1e3a8a;color:#fbbf24}.answer-text{flex:1 1;font-size:1.3rem;line-height:1.2;overflow:hidden;text-transform:uppercase}.answer-points,.answer-text{color:#1e3a8a;font-weight:700;text-shadow:none}.answer-points{background:#fff;border-radius:5px;font-size:1.2rem;padding:6px 12px}.current-points{color:#1e3a8a;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}.control-buttons{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.x-btn{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 30px;text-transform:uppercase}.x-btn:hover{background:#dc2626}.award-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 30px;text-transform:uppercase}.award-btn:hover:not(:disabled){background:#059669}.award-btn:disabled{background:#9ca3af;cursor:not-allowed}.next-category-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 30px;text-transform:uppercase}.next-category-btn:hover{background:#2563eb}.x-overlay{background:#000c;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.x-overlay,.x-overlay-content{align-items:center;display:flex;justify-content:center}.x-overlay-content{flex-direction:column}.giant-x{animation:xGrow .5s;color:#ef4444;font-size:15rem;font-weight:700}@keyframes xGrow{0%{transform:scale(0)}to{transform:scale(1)}}.next-round-btn{background:#fbbf24;border:none;border-radius:10px;color:#1e3a8a;cursor:pointer;font-size:1.5rem;font-weight:700;margin-top:2rem;padding:20px 40px;text-transform:uppercase}.next-round-btn:hover{background:#f59e0b}.awarding-phase{text-align:center}.awarding-phase h2{color:#1e3a8a;font-size:1.8rem;margin-bottom:2rem}.team-selection{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:2rem}.team-select-btn{background:#cbd5e1;border:3px solid #cbd5e1;border-radius:8px;color:#1e3a8a;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 30px;transition:all .3s}.team-select-btn:hover{background:#94a3b8}.team-select-btn.selected{background:#fbbf24;border-color:#1e3a8a;transform:scale(1.1)}.confirm-award-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;margin-right:10px;padding:15px 40px;text-transform:uppercase}.confirm-award-btn:hover{background:#059669}.cancel-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 40px;text-transform:uppercase}.cancel-btn:hover{background:#4b5563}.revealing-message{animation:pulse 1s infinite;color:#1e3a8a;font-size:1.5rem;font-weight:700;margin-top:1rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.game-phase{flex-direction:column}.leaderboard{max-width:100%}.answer-board{column-count:1}.game-title{font-size:2.5rem}.team-setup{min-width:300px}}.team-generator{text-align:center}.team-generator h1{color:#036;margin-bottom:10px}.player-count{color:#666;font-size:14px;margin-bottom:30px}.input-section{align-items:center;display:flex;flex-direction:column;gap:15px;margin-bottom:40px}.input-section label{color:#036;font-size:16px;font-weight:600}.input-section input{max-width:200px;text-align:center}.generate-btn{background:#0073e6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:background .3s}.generate-btn:hover{background:#005bb5}.teams-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:40px}.team-card{background:#fff;border:2px solid #b0c4de;border-radius:8px;box-shadow:0 2px 8px #0033661a;padding:20px;transition:transform .2s,box-shadow .2s}.team-card:hover{box-shadow:0 4px 12px #00336626;transform:translateY(-4px)}.team-card h3{color:#0073e6;font-size:20px;margin-bottom:8px;margin-top:0}.team-size{color:#666;font-size:13px;font-style:italic;margin:0 0 15px}.team-card ul{list-style:none;margin:0;padding:0}.team-card li{border-bottom:1px solid #eaf2f8;color:#036;padding:8px 0}.team-card li:last-child{border-bottom:none}@media (max-width:768px){.teams-container{grid-template-columns:1fr}}.exam-container{background:linear-gradient(135deg,#667eea,#764ba2);color:#333;min-height:100vh}.exam-header{background:#fff;box-shadow:0 4px 6px #0000001a;padding:2rem;position:relative;text-align:center}.exam-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin:0}.subtitle{color:#666;font-size:1.1rem;margin:.5rem 0 0}.back-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;left:2rem;padding:.5rem 1rem;position:absolute;top:2rem;transition:all .3s ease}.back-button:hover{background:#5568d3;transform:translateX(-3px)}.exam-content{margin:0 auto;max-width:1200px;padding:2rem}.section{background:#fff;border-radius:16px;box-shadow:0 8px 16px #0000001a;margin-bottom:2rem;padding:2rem}.section h2{border-bottom:3px solid #667eea;color:#667eea;font-size:1.8rem;margin-top:0;padding-bottom:.5rem}.table-container{overflow-x:auto}.cities-table{border-collapse:collapse;margin-top:1rem;width:100%}.cities-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cities-table td,.cities-table th{border-bottom:1px solid #e0e0e0;padding:1rem;text-align:left}.cities-table tbody tr{transition:background-color .3s ease}.cities-table tbody tr:hover{background-color:#f5f5f5}.city-name{color:#667eea;font-weight:700}.safety-badge{background:#4caf50;border-radius:12px;color:#fff;font-size:.9rem;font-weight:700;padding:.3rem .6rem}.attractions-scroll{display:flex;gap:1.5rem;overflow-x:auto;padding:1rem 0;scroll-behavior:smooth}.attractions-scroll::-webkit-scrollbar{height:8px}.attractions-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.attractions-scroll::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.attraction-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;box-shadow:0 4px 8px #0000001a;min-width:280px;padding:1.5rem;position:relative;transition:transform .3s ease}.attraction-card:hover{box-shadow:0 8px 16px #0003;transform:translateY(-5px)}.attraction-rank{align-items:center;background:#ff6b6b;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;position:absolute;right:-10px;top:-10px;width:40px}.attraction-card h3{color:#333;margin:0 0 .5rem}.attraction-city{color:#666;margin:.5rem 0}.attraction-meta{color:#555;display:flex;font-size:.9rem;justify-content:space-between;margin-top:1rem}.flight-info-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 8px #0003;color:#fff;cursor:pointer;font-size:1.1rem;margin-bottom:1.5rem;padding:1rem 2rem;transition:all .3s ease}.flight-info-button:hover{box-shadow:0 6px 12px #0000004d;transform:translateY(-2px)}.json-container{background:#1e1e1e;border-radius:8px;margin-top:1rem;overflow-x:auto;padding:1.5rem}.json-container pre{color:#9cdcfe;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;margin:0}.weather-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 8px #0003;color:#fff;cursor:pointer;font-size:1.1rem;margin-bottom:1.5rem;padding:1rem 2rem;transition:all .3s ease}.weather-button:hover{box-shadow:0 6px 12px #0000004d;transform:translateY(-2px)}.weather-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1.5rem}.weather-card-wrapper{border-radius:12px;box-shadow:0 4px 8px #0000001a;overflow:hidden;transition:transform .3s ease}.weather-card-wrapper:hover{box-shadow:0 8px 16px #0003;transform:translateY(-5px)}.weather-iframe{border:none;display:block;height:400px;width:100%}.itineraries-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1.5rem}.itinerary-card{background:linear-gradient(135deg,#a8edea,#fed6e3);border-radius:12px;box-shadow:0 4px 8px #0000001a;padding:1.5rem;transition:transform .3s ease}.itinerary-card:hover{box-shadow:0 8px 16px #0003;transform:translateY(-5px)}.itinerary-card h3{color:#333;margin:0 0 1rem}.itinerary-card .price{color:#667eea;font-size:1.3rem;font-weight:700;margin:.5rem 0 1rem}.itinerary-card ul{list-style:none;margin:0;padding:0}.itinerary-card li{border-bottom:1px solid #0000001a;color:#555;padding:.5rem 0}.itinerary-card li:last-child{border-bottom:none}.exam-footer{background:#fff;box-shadow:0 -4px 6px #0000001a;padding:2rem;text-align:center}.exam-footer p{color:#666;margin:.5rem 0}.disclaimer{color:#999;font-size:.9rem;font-style:italic}@media (max-width:768px){.exam-header h1{font-size:1.8rem}.back-button{margin-top:1rem;position:static}.exam-content,.section{padding:1rem}.cities-table td,.cities-table th{font-size:.9rem;padding:.5rem}.attraction-card{min-width:240px}.itineraries-grid,.weather-grid{grid-template-columns:1fr}.weather-iframe{height:380px}}.simple-table-container{display:flex;flex-direction:column;width:100%}.body-table,.header-table{border-collapse:collapse;min-width:100%;width:auto}.simple-table-scroll-container{flex:1 1}.simple-table-scroll-container::-webkit-scrollbar{height:6px;width:6px}.simple-table-scroll-container::-webkit-scrollbar-track{background:var(--bg-page)}.simple-table-scroll-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.simple-table td,.simple-table th{border:1px solid var(--color-border);color:var(--text-primary);font-size:.95rem;line-height:1.3;padding:8px;text-align:center}.simple-table td:first-child,.simple-table th:first-child{text-align:left}.header-table th{background:var(--bg-card);cursor:pointer;font-weight:600;transition:background .2s;-webkit-user-select:none;user-select:none}.header-table th:hover{background:var(--color-blue-softer)}.header-table th.sorted-asc:after{content:" ↑"}.header-table th.sorted-desc:after{content:" ↓"}.body-table tbody tr.row-even{background:var(--bg-card)}.body-table tbody tr.row-odd{background:var(--bg-page)}.body-table tbody tr:hover{background:var(--color-blue-softer)}.body-table td .btn{font-size:.8rem;padding:4px 10px}.score-cell{align-items:center;display:inline-flex;gap:4px;justify-content:center}.score-cell img{height:16px}@media(max-width:600px){.simple-table td,.simple-table th{font-size:.85rem;padding:6px}.score-cell img{height:14px}}.simple-table.body-table,.simple-table.header-table{table-layout:auto;width:100%}.simple-table td{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.cancel-btn,.delete-btn,.edit-btn,.plus-btn,.runas-btn,.save-btn{background:var(--color-blue-primary);border:1px solid var(--color-blue-primary);border-radius:4px;color:var(--text-white);cursor:pointer;font-size:.9rem;padding:6px 14px;transition:background .2s,opacity .2s}.cancel-btn:hover,.delete-btn:hover,.edit-btn:hover,.plus-btn:hover,.runas-btn:hover,.save-btn:hover{background:var(--color-blue-dark)}.cancel-btn:active,.delete-btn:active,.edit-btn:active,.plus-btn:active,.runas-btn:active,.save-btn:active{opacity:.85}.plus-btn{font-weight:700;padding:6px 18px}.cancel-btn,.delete-btn{background:var(--color-red-primary);border-color:var(--color-red-primary)}.edit-input{background:var(--bg-card);border:1px solid var(--color-border);border-radius:4px;color:var(--text-primary);font-size:.9rem;padding:4px 6px;width:100%}.table-edit-footer{margin-top:.5rem}.simple-table-scroll-container{max-height:60vh;overflow:auto}.simple-table{border-collapse:collapse;min-width:100%;width:-webkit-max-content;width:max-content}.simple-table thead th{background:var(--bg-card);position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:2}.simple-table td,.simple-table th{padding:8px 12px;white-space:nowrap;word-break:break-word}.verified-status{border-radius:4px;display:inline-block;font-size:.85rem;font-weight:500;padding:4px 10px}.verified-status.true{background:color-mix(in srgb,var(--color-green) 15%,#0000);color:var(--color-green-dark)}.verified-status.false{background:color-mix(in srgb,var(--color-red-primary) 15%,#0000);color:var(--color-red-dark)}.profile-container{background:var(--bg-page);color:var(--text-primary);display:flex;flex-direction:row;min-height:80vh;padding-top:85px;width:100%}.profile-nav{background:var(--bg-card);display:flex;flex-direction:column;padding:1rem;width:220px}.pnav-item{background:#0000;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:1rem;margin-bottom:.5rem;padding:1rem;transition:background-color .2s}.pnav-item.active,.pnav-item:hover{background:var(--color-blue-primary);color:var(--text-white)}.pnav-submenu{margin-bottom:1rem;margin-left:1rem}.pnav-subitem{background:#0000;color:var(--text-secondary);font-size:.9rem;margin-bottom:.25rem;padding:.5rem 1rem;transition:background-color .2s}.pnav-subitem.active,.pnav-subitem:hover{background:var(--color-blue-lighter);color:var(--text-primary)}.admin-submenu-wrapper{width:100%}.admin-submenu{border-bottom:1px solid var(--color-border);display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.admin-submenu-item{background:#0000;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:background-color .2s}.admin-submenu-item.active,.admin-submenu-item:hover{background:var(--color-blue-primary);color:var(--text-white)}.mt-05{margin-top:.5rem}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mb-05{margin-bottom:.5rem}.mb-1{margin-bottom:1rem}.mb-1-5{margin-bottom:1.5rem}.max-w-200{max-width:200px}.max-w-250{max-width:250px}.max-w-400{max-width:400px}.profile-info-row{align-items:center;display:flex;flex-wrap:nowrap;gap:.5rem;margin-bottom:1rem}.profile-row-label{color:var(--text-primary);font-weight:700;width:150px}.profile-row-edit,.profile-row-value{color:var(--color-blue-primary)}.profile-row-edit{cursor:pointer;font-size:.9rem;text-decoration:underline}.profile-field-group{margin-bottom:1.5rem}.profile-field-label{color:var(--text-primary);display:block;margin-bottom:.5rem}.profile-input,.profile-row-input{background:var(--bg-card);border:1px solid var(--color-border);border-radius:4px;color:var(--text-primary);max-width:300px;padding:.5rem;width:100%}.profile-edit-buttons{display:flex;gap:.5rem;margin-top:.5rem}.notification-options{align-items:center;display:flex;gap:2rem;margin-top:.5rem}.notification-label{color:var(--text-primary);font-weight:400}.notification-checkbox{margin-left:.5rem;transform:scale(1.2)}.profile-image-wrapper{height:120px;position:relative;width:120px}.profile-image-hoverable{border-radius:50%;cursor:pointer;height:100%;overflow:hidden;position:relative;width:100%}.profile-image-preview{border:2px solid var(--color-blue-primary);border-radius:50%;height:100%;object-fit:cover;transition:opacity .3s ease;width:100%}.profile-image-hoverable:hover .profile-image-preview{opacity:.7}.profile-image-overlay{align-items:center;color:var(--text-white);display:flex;font-size:2rem;inset:0;justify-content:center;opacity:0;pointer-events:none;position:absolute}.profile-image-hoverable:hover .profile-image-overlay{opacity:1}.profile-image-initial{align-items:center;background:var(--color-blue-primary);border:3px solid var(--color-border);border-radius:50%;color:var(--text-white);display:flex;font-size:3rem;height:120px;justify-content:center;width:120px}.twofa-status{color:var(--text-tertiary);margin-bottom:1rem}.twofa-modal-overlay{background:var(--bg-page);bottom:0;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:1000}.twofa-modal-overlay .two-factor-setup{min-height:100vh;padding-top:80px}.profile-password-edit{background:var(--bg-card);border:1px solid var(--color-blue-primary);border-radius:6px;margin:1rem 0;padding:1rem}.profile-password-input{background:var(--bg-card);border:1px solid var(--color-blue-primary);border-radius:4px;color:var(--text-primary);display:block;margin:.5rem 0;max-width:100%;padding:.4rem;width:300px}.password-success{color:var(--color-green);font-size:1rem;font-weight:500}.error-hint{color:var(--color-red-primary);font-size:.9rem;margin-top:.25rem}.cropper-area{background:#333;height:300px;margin-top:1rem;position:relative;width:100%}.cropper-controls{align-items:center}.cropper-action-buttons,.cropper-controls{display:flex;gap:1rem;margin-top:1rem}.delete-account-text{max-width:400px;padding:.5rem;width:100%}.delete-hint{color:var(--text-tertiary)}.delete-phrase{font-style:italic}.pnav-submenu{display:flex;flex-direction:column;margin-left:.5rem}.pnav-subitem{border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.95rem;margin:.15rem 0 .15rem 1rem;padding:.6rem 1rem;transition:background .2s}.pnav-subitem.active,.pnav-subitem:hover{background:var(--color-blue-dark);color:var(--text-white)}.profile-content{background:var(--bg-page);display:flex;flex:1 1;flex-direction:column;gap:1rem;padding:2rem}.profile-content h2{color:var(--text-primary);margin-bottom:1rem}@media(max-width:768px){.profile-container{flex-direction:column;padding:1rem}.profile-nav{flex-direction:row;flex-wrap:wrap;justify-content:space-around;padding:.5rem;width:100%}.pnav-item{flex:1 1 30%;font-size:.9rem;margin:.25rem;padding:.75rem;text-align:center}.profile-content{padding:1rem 0}.profile-info-row{flex-wrap:wrap}.profile-row-label{width:120px}.profile-row-edit{font-size:.8rem;margin-left:.25rem}.delete-account-text,.profile-password-input,.profile-row-input{max-width:100%}.profile-edit-buttons{align-items:stretch;flex-direction:column;width:100%}.profile-edit-buttons button{width:100%}.profile-image-initial,.profile-image-preview,.profile-image-wrapper{height:100px;width:100px}}.course-switcher{display:inline-block;position:relative}.course-switcher-button{align-items:center;background:#004077;background:var(--color-blue-primary,#004077);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:background-color .2s ease;white-space:nowrap}.course-switcher-button:hover{background:#0052a3;background:var(--color-blue-light,#0052a3)}.course-switcher-button:focus{outline:2px solid #0052a3;outline:2px solid var(--color-blue-light,#0052a3);outline-offset:2px}.course-switcher-label{display:inline-block}.course-switcher-arrow{transition:transform .2s ease}.course-switcher-arrow.open{transform:rotate(180deg)}.course-switcher-dropdown{background:#fff;border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:250px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.course-switcher-option{align-items:center;background:#fff;border:none;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);color:#1a1a1a;color:var(--text-primary,#1a1a1a);cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:12px 16px;text-align:left;transition:background-color .15s ease;width:100%}.course-switcher-option:last-child{border-bottom:none}.course-switcher-option:hover{background:#f9fafb;background:var(--color-background-light,#f9fafb)}.course-switcher-option.active{background:#eff6ff;background:var(--color-blue-lightest,#eff6ff);color:#004077;color:var(--color-blue-primary,#004077);font-weight:600}.course-switcher-checkmark{color:#004077;color:var(--color-blue-primary,#004077);flex-shrink:0}.admin-dashboard{margin:0 auto;max-width:1200px;padding:2rem}.admin-dashboard-title{color:#004077;font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-align:center}.admin-dashboard-subtitle{color:#666;font-size:1.1rem;margin-bottom:3rem;text-align:center}.admin-dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:2rem}.admin-dashboard-card{background:#fff;border-radius:12px;border-top:4px solid #004077;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:2rem;text-align:center;transition:all .3s ease}.admin-dashboard-card:hover{box-shadow:0 6px 16px #00000026;transform:translateY(-4px)}.admin-dashboard-card-icon{font-size:3.5rem;margin-bottom:1rem}.admin-dashboard-card-title{color:#004077;font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.admin-dashboard-card-description{color:#666;font-size:.95rem;line-height:1.5}@media (max-width:768px){.admin-dashboard{padding:1rem}.admin-dashboard-title{font-size:2rem}.admin-dashboard-subtitle{font-size:1rem;margin-bottom:2rem}.admin-dashboard-grid{gap:1.5rem;grid-template-columns:1fr}.admin-dashboard-card{padding:1.5rem}.admin-dashboard-card-icon{font-size:3rem}.admin-dashboard-card-title{font-size:1.3rem}}.quiz-table-wrapper{border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-top:20px;overflow-x:auto}.quiz-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.quiz-table thead{background:#004077;background:var(--color-blue-primary,#004077);color:#fff}.quiz-table th{border-bottom:2px solid #0052a3;border-bottom:2px solid var(--color-blue-light,#0052a3);font-weight:600;padding:12px 16px;text-align:left}.quiz-table th:not(:first-child){text-align:center}.quiz-table tbody tr{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);transition:background-color .15s ease}.quiz-table tbody tr.clickable-row{cursor:pointer}.quiz-table tbody tr:hover{background:#f9fafb;background:var(--color-background-light,#f9fafb)}.quiz-table tbody tr:last-child{border-bottom:none}.quiz-table td{padding:12px 16px;text-align:left}.quiz-table td:not(:first-child){text-align:center}.quiz-name{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-weight:500;min-width:200px}.question-score{align-items:center;display:inline-flex;gap:4px}.score-value{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-weight:500}.ta-checks{color:#dc2626;font-size:13px;font-weight:600}.avg-score{color:#004077;color:var(--color-blue-primary,#004077);font-weight:600}@media (max-width:768px){.quiz-table{font-size:12px}.quiz-table td,.quiz-table th{padding:8px 12px}.quiz-name{min-width:150px}}.quiz-detail-table-wrapper{border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-top:20px;overflow-x:auto}.quiz-detail-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.quiz-detail-table thead{background:#004077;background:var(--color-blue-primary,#004077);color:#fff}.quiz-detail-table th{border-bottom:2px solid #0052a3;border-bottom:2px solid var(--color-blue-light,#0052a3);font-weight:600;padding:12px 16px;text-align:left}.quiz-detail-table th:not(:first-child){text-align:center}.quiz-detail-table tbody tr{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);transition:background-color .15s ease}.quiz-detail-table tbody tr:hover{background:#f9fafb;background:var(--color-background-light,#f9fafb)}.quiz-detail-table tbody tr:last-child{border-bottom:none}.quiz-detail-table td{padding:12px 16px;text-align:left}.quiz-detail-table td:not(:first-child){text-align:center}.student-name{color:#004077;color:var(--color-blue-primary,#004077);cursor:pointer;font-weight:500;text-decoration:underline}.student-name:hover{color:#0052a3;color:var(--color-blue-light,#0052a3)}.total-score{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-weight:600}@media (max-width:768px){.quiz-detail-table{font-size:12px}.quiz-detail-table td,.quiz-detail-table th{padding:8px 12px}}.custom-hover-container{display:inline-block;position:relative}.custom-hover-container:hover{z-index:30}.custom-hover-tooltip{word-wrap:break-word;background-color:#004077;background-color:var(--bg-tooltip,var(--color-blue-primary,#004077));border-radius:6px;box-shadow:0 4px 12px #00407740;color:#fff;color:var(--text-tooltip,var(--text-white,#fff));font-size:.875rem;line-height:1.4;max-width:800px;padding:8px 12px;position:absolute;text-align:left;white-space:normal;width:-webkit-max-content;width:max-content;z-index:9999}.custom-hover-tooltip-top{bottom:100%;left:50%;margin-bottom:8px;transform:translateX(-50%)}.custom-hover-tooltip-top-right{bottom:100%;left:0;margin-bottom:8px}.custom-hover-tooltip-top-left{bottom:100%;margin-bottom:8px;right:0}.custom-hover-tooltip-bottom{left:50%;margin-top:8px;top:100%;transform:translateX(-50%)}.custom-hover-tooltip-bottom-right{left:0;margin-top:8px;top:100%}.custom-hover-tooltip-bottom-left{margin-top:8px;right:0;top:100%}.custom-hover-tooltip-top-left:after,.custom-hover-tooltip-top-right:after,.custom-hover-tooltip-top:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #004077;border-top:6px solid var(--bg-tooltip,var(--color-blue-primary,#004077));content:"";height:0;position:absolute;top:100%;width:0}.custom-hover-tooltip-top:after{left:50%;transform:translateX(-50%)}.custom-hover-tooltip-top-right:after{left:12px}.custom-hover-tooltip-top-left:after{right:12px}.custom-hover-tooltip-bottom-left:after,.custom-hover-tooltip-bottom-right:after,.custom-hover-tooltip-bottom:after{border-bottom:6px solid #004077;border-bottom:6px solid var(--bg-tooltip,var(--color-blue-primary,#004077));border-left:6px solid #0000;border-right:6px solid #0000;bottom:100%;content:"";height:0;position:absolute;width:0}.custom-hover-tooltip-bottom:after{left:50%;transform:translateX(-50%)}.custom-hover-tooltip-bottom-right:after{left:12px}.custom-hover-tooltip-bottom-left:after{right:12px}:root[data-theme=dark] .custom-hover-tooltip{background-color:#0052a3;background-color:var(--bg-tooltip,var(--color-blue-light,#0052a3));color:#fff;color:var(--text-tooltip,var(--text-white,#fff))}:root[data-theme=dark] .custom-hover-tooltip-top-left:after,:root[data-theme=dark] .custom-hover-tooltip-top-right:after,:root[data-theme=dark] .custom-hover-tooltip-top:after{border-top-color:#0052a3;border-top-color:var(--bg-tooltip,var(--color-blue-light,#0052a3))}:root[data-theme=dark] .custom-hover-tooltip-bottom-left:after,:root[data-theme=dark] .custom-hover-tooltip-bottom-right:after,:root[data-theme=dark] .custom-hover-tooltip-bottom:after{border-bottom-color:#0052a3;border-bottom-color:var(--bg-tooltip,var(--color-blue-light,#0052a3))}@media (max-width:768px){.custom-hover-tooltip{max-width:90vw;text-align:left}}.disabled-field .custom-hover-tooltip{background-color:#004077!important;background-color:var(--bg-tooltip,var(--color-blue-primary,#004077))!important;color:#fff!important;color:var(--text-tooltip,var(--text-white,#fff))!important;opacity:1!important}.reactEasyCrop_Container{align-items:center;bottom:0;cursor:move;display:flex;justify-content:center;left:0;overflow:hidden;position:absolute;right:0;top:0;touch-action:none;-webkit-user-select:none;user-select:none}.reactEasyCrop_Image,.reactEasyCrop_Video{will-change:transform}.reactEasyCrop_Contain{bottom:0;left:0;margin:auto;max-height:100%;max-width:100%;position:absolute;right:0;top:0}.reactEasyCrop_Cover_Horizontal{height:auto;width:100%}.reactEasyCrop_Cover_Vertical{height:100%;width:auto}.reactEasyCrop_CropArea{border:1px solid #ffffff80;box-shadow:0 0 0 9999em;box-sizing:border-box;color:#00000080;left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%)}.reactEasyCrop_CropAreaRound{border-radius:50%}.reactEasyCrop_CropAreaGrid:before{border:1px solid #ffffff80;border-bottom:0;border-top:0;bottom:0;box-sizing:border-box;content:" ";left:33.33%;position:absolute;right:33.33%;top:0}.reactEasyCrop_CropAreaGrid:after{border:1px solid #ffffff80;border-left:0;border-right:0;bottom:33.33%;box-sizing:border-box;content:" ";left:0;position:absolute;right:0;top:33.33%}.tkinter-overlay{align-items:center;animation:fadeIn .2s ease-in;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tkinter-dialog{animation:slideIn .2s ease-out;background-color:#1e1e1e;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90%;max-width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.tkinter-dialog-header{background-color:#252526;border-bottom:1px solid #3e3e3e;border-top-left-radius:8px;border-top-right-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:12px 16px}.tkinter-dialog-body{background-color:#1e1e1e;color:#fff;flex:1 1;overflow-y:auto;padding:20px}.tkinter-dialog-footer{background-color:#252526;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid #3e3e3e;display:flex;justify-content:flex-end;padding:12px 16px}.tkinter-prompt{color:#ccc;display:block;font-size:14px;line-height:1.5;margin-bottom:12px}.tkinter-input{background-color:#2d2d2d;border:1px solid #3e3e3e;border-radius:4px;box-sizing:border-box;color:#fff;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;outline:none;padding:8px 12px;width:100%}.tkinter-input:focus{border-color:#007acc;box-shadow:0 0 0 2px #007acc33}.tkinter-button{background-color:#3a3a3a;border:1px solid #3e3e3e;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;outline:none;padding:8px 20px;transition:all .15s ease}.tkinter-button:hover{background-color:#505050}.tkinter-button:active{background-color:#2a2a2a}.tkinter-button:focus{box-shadow:0 0 0 2px #007acc66}.tkinter-form-prompt{color:#ccc;font-size:14px;line-height:1.5;margin-bottom:16px}.tkinter-form-inputs{display:flex;flex-direction:column;gap:12px}.tkinter-form-row{align-items:center;display:flex;gap:12px}.tkinter-form-label{color:#ccc;flex-shrink:0;font-size:14px;min-width:120px;text-align:right}.tkinter-message{word-wrap:break-word;color:#ccc;font-size:14px;line-height:1.6;white-space:pre-wrap}@media (prefers-color-scheme:light){.tkinter-dialog{background-color:#fff}.tkinter-dialog-header{background-color:#f0f0f0;border-bottom:1px solid #d9d9d9;color:#000}.tkinter-dialog-body{background-color:#fff;color:#000}.tkinter-dialog-footer{background-color:#f0f0f0;border-top:1px solid #d9d9d9}.tkinter-form-label,.tkinter-form-prompt,.tkinter-message,.tkinter-prompt{color:#333}.tkinter-input{background-color:#fff}.tkinter-button,.tkinter-input{border:1px solid #d9d9d9;color:#000}.tkinter-button{background-color:#f0f0f0}.tkinter-button:hover{background-color:#e0e0e0}}.interactive-python-shell{margin-bottom:1.5rem;width:100%}.loading-message{color:var(--text-secondary);font-size:1.2rem;padding:3rem;text-align:center}.exercise-title{color:var(--text-primary);font-size:1.05rem;margin-bottom:.75rem;padding:.5rem 0}.shell-controls-top{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}.shell-editor-wrapper{align-items:flex-start;display:flex;gap:.5rem}.run-button-container{flex-direction:column;gap:.25rem}.btn-run-play,.run-button-container{align-items:center;display:flex;flex-shrink:0}.btn-run-play{background:#0000;border:none;color:var(--color-blue-primary);cursor:pointer;font-size:1.2rem;height:24px;justify-content:center;margin-top:.5rem;padding:0;transition:var(--transition);width:24px}.btn-run-play:hover:not(:disabled){color:var(--color-blue-dark);transform:scale(1.15)}.btn-run-play:disabled{cursor:not-allowed;opacity:.4}.btn-stop{align-items:center;background:#0000;border:none;color:var(--color-red-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:24px;justify-content:center;margin-top:.5rem;padding:0;transition:var(--transition);width:24px}.btn-stop:hover{color:#c41e1e;transform:scale(1.15)}.validation-indicator{align-items:center;display:flex;font-size:1.2rem;font-weight:700;height:24px;justify-content:center;width:24px}.validation-indicator.validation-correct{color:#28a745}.execution-timer,.validation-indicator.validation-incorrect{color:var(--color-red-primary)}.execution-timer{align-items:center;background:#dc26261a;border-radius:4px;display:flex;font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem;font-weight:600;justify-content:center;min-width:30px;padding:.25rem}.code-editor-container{background:#f8f8f8;border:2px solid var(--color-border);border-radius:var(--radius-md);flex:1 1;overflow-x:auto;overflow-y:hidden;position:relative;transition:var(--transition)}.code-editor-container:focus-within{border-color:var(--color-blue-primary);box-shadow:0 0 0 3px var(--color-blue-soft)}.code-editor-container.validation-correct{border-color:#28a745}.code-editor-container.validation-correct:focus-within{border-color:#28a745;box-shadow:0 0 0 3px #28a74533}.code-editor-container.validation-incorrect{border-color:var(--color-red-primary)}.code-editor-container.validation-incorrect:focus-within{border-color:var(--color-red-primary);box-shadow:0 0 0 3px #dc262633}.code-highlight{word-wrap:normal;background:#0000;color:var(--text-primary);font-family:Consolas,Monaco,Courier New,monospace;font-size:1rem;height:100%;left:0;line-height:1.5;overflow:visible;padding:1rem;pointer-events:none;position:absolute;top:0;white-space:pre;width:100%;z-index:1}.code-highlight .comment{color:#6a9955;font-style:italic}.code-highlight .string{color:#ce9178}.code-highlight .keyword{color:#af4f9e}.code-highlight .builtin{color:#0078d7}.code-highlight .number{color:#098658}.code-editor{-webkit-text-fill-color:#0000;word-wrap:normal;background:#0000;border:none;border-radius:0;caret-color:var(--text-primary);color:var(--text-primary);font-family:Consolas,Monaco,Courier New,monospace;font-size:1rem;line-height:1.5;min-width:100%;overflow:visible;padding:1rem;position:relative;resize:none;transition:var(--transition);white-space:pre;width:100%;z-index:2}.code-editor::placeholder{-webkit-text-fill-color:#999;opacity:.6}.code-editor::-moz-selection,.code-editor::selection{-webkit-text-fill-color:var(--text-primary);background-color:#0078d74d}.code-editor:focus{outline:none}.output-container{background:var(--bg-card);border:2px solid var(--color-blue-primary);border-radius:var(--radius-md);margin-left:calc(31px + .5rem);margin-top:1rem;overflow:hidden}.output-header{background:var(--color-blue-primary);color:var(--text-white);font-size:.95rem;font-weight:600;padding:.75rem 1rem}.output-content{word-wrap:normal;background:#f8f8f8;color:var(--text-primary);font-family:Consolas,Monaco,Courier New,monospace;font-size:.95rem;line-height:1.6;margin:0;max-height:400px;overflow-x:auto;overflow-y:auto;padding:1rem;white-space:pre}.output-html{overflow-x:auto;white-space:normal}.figures-content{align-items:center;background:#f8f8f8;display:flex;flex-direction:column;gap:1rem;padding:1rem}.figure-item{background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:center;max-width:100%;padding:1rem;width:100%}.figure-item img{display:block;height:auto;max-width:100%}.output-html .dataframe{background:#fff;border:1px solid #ddd;border-collapse:collapse;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:.9rem;margin:0;max-width:100%;text-align:right;width:auto}.output-html .dataframe thead tr{background-color:#e0e0e0;border-bottom:2px solid #a0a0a0}.output-html .dataframe thead th{background-color:#e0e0e0;border:1px solid #ddd;color:#000;font-weight:600;padding:8px 12px;text-align:right}.output-html .dataframe tbody tr{background-color:#fff}.output-html .dataframe tbody tr:nth-of-type(odd){background-color:#f5f5f5}.output-html .dataframe tbody tr:hover{background-color:#e8f4f8}.output-html .dataframe tbody td,.output-html .dataframe tbody th{border:1px solid #ddd;color:#000;padding:6px 12px;text-align:right}.output-html .dataframe tbody th{font-weight:600}.output-html .dataframe thead th:first-child{text-align:right}.shell-controls-top button{background:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:var(--transition)}.shell-controls-top .btn-clear{background:var(--bg-card);border-color:var(--color-red-primary);color:var(--color-red-primary)}.shell-controls-top .btn-clear:hover{background:var(--color-red-primary);color:var(--text-white)}.shell-controls-top .btn-reset{background:var(--bg-card);border-color:var(--color-border);color:var(--text-secondary)}.shell-controls-top .btn-reset:hover{background:var(--color-blue-softer);border-color:var(--color-blue-primary);color:var(--color-blue-primary)}.autocomplete-popup{background:#fff;border:1px solid #ccc;border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;font-family:Consolas,Monaco,Courier New,monospace;left:0;margin-top:.25rem;max-height:200px;min-width:250px;overflow-y:auto;position:absolute;top:100%;z-index:1000}.autocomplete-item{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem .75rem;transition:background-color .1s}.autocomplete-item.selected,.autocomplete-item:hover{background-color:#0078d7;color:#fff}.autocomplete-icon{align-items:center;border-radius:3px;display:inline-flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:20px;justify-content:center;width:20px}.autocomplete-icon.variable{background-color:#e8f4f8;color:#0078d7}.autocomplete-icon.method{background-color:#f3e6f8;color:#c586c0}.autocomplete-item.selected .autocomplete-icon.method,.autocomplete-item.selected .autocomplete-icon.variable{background-color:#fff3;color:#fff}.autocomplete-name{flex:1 1}.parameter-hint-popup{background:#f8f8f8;border:1px solid #ccc;border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;left:0;margin-top:.25rem;max-width:500px;padding:.75rem;position:absolute;top:100%;z-index:1001}.parameter-hint-signature{color:#333;line-height:1.4;margin-bottom:.5rem}.parameter-hint-signature .current-param{background-color:#e3f2fd;border-radius:3px;color:#0078d7;font-weight:700;padding:.1rem .3rem}.parameter-hint-doc{border-top:1px solid #ddd;color:#666;font-size:.8rem;line-height:1.6;padding-top:.5rem;white-space:pre-line}.parameter-hint-doc strong{color:#333;font-weight:600}@media (max-width:768px){.shell-controls-top{gap:.4rem}.shell-controls-top button{font-size:.8rem;padding:.35rem .6rem}.btn-run-play,.btn-stop,.validation-indicator{font-size:1rem;height:20px;width:20px}.code-editor{font-size:.9rem}.shell-editor-wrapper{gap:.4rem}.output-container{margin-left:calc(20px + .4rem)}}body>div[style*="position: fixed"][style*="z-index: 2147483647"],iframe[style*="position: fixed"][style*=z-index]{display:none!important}.progress-container{z-index:10001}.code-example pre{font-size:.95rem;line-height:1.6}.welcome-container{background:var(--bg-page);min-height:100vh;padding:85px 1.5rem 1.5rem}.welcome-content{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:0 auto;max-width:1000px;padding:2.5rem}.welcome-header{border-bottom:3px solid var(--color-blue-primary);margin-bottom:2.5rem;padding-bottom:1.5rem;text-align:center}.welcome-header h1{color:var(--color-blue-primary);font-size:2.5rem;font-weight:700;margin-bottom:.75rem}.welcome-subtitle{color:var(--text-secondary);font-size:1.25rem;margin:0}.welcome-section{margin-bottom:2.5rem}.welcome-section h2{border-left:4px solid var(--color-red-primary);color:var(--color-blue-primary);font-size:1.75rem;font-weight:600;margin-bottom:1rem;padding-left:1rem}.welcome-section p{color:var(--text-primary);font-size:1.1rem;line-height:1.7;margin-bottom:1rem}.welcome-section code{background:var(--color-blue-softer);border-radius:var(--radius-sm);color:var(--color-blue-primary);font-family:Courier New,Courier,monospace;font-size:.95em;font-weight:600;padding:.2rem .5rem}.welcome-section ul{line-height:1.7;margin:1rem 0 1.5rem;padding-left:2rem}.welcome-section ul li{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem}.welcome-section ul li:last-child{margin-bottom:0}.feedback-message{background:#fff3cd;border:1px solid orange;border-radius:var(--radius-sm);color:#856404;font-size:.95rem;line-height:1.5;margin-top:.75rem;padding:.75rem 1rem}.btn-next,.btn-previous{border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);cursor:pointer;font-size:1.1rem;font-weight:600;padding:.875rem 2rem;transition:var(--transition)}.btn-next{background:linear-gradient(135deg,var(--color-blue-primary),var(--color-blue-light));color:var(--text-white)}.btn-next:hover:not(:disabled){background:linear-gradient(135deg,var(--color-blue-dark),var(--color-blue-primary));box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-next:disabled{background:linear-gradient(135deg,#999,#888);cursor:not-allowed;opacity:.5}.btn-finish{background:linear-gradient(135deg,var(--color-red-primary),#e05252)}.btn-finish:hover:not(:disabled){background:linear-gradient(135deg,#c00,var(--color-red-primary))}.btn-previous{background:var(--bg-card);border:2px solid var(--color-border);color:var(--text-primary)}.btn-previous:hover{background:var(--color-blue-softer);border-color:var(--color-blue-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}@media (max-width:768px){.welcome-container{padding:80px 1rem 1rem}.progress-container{gap:.75rem;max-width:90%;padding:.4rem 1rem}.progress-bar{width:150px}.progress-text{font-size:.8rem}.welcome-content{padding:1.5rem}.welcome-header h1{font-size:2rem}.welcome-subtitle{font-size:1.1rem}.welcome-section h2{font-size:1.5rem}.welcome-section p{font-size:1rem}.python-shell-section{padding:1.25rem}.navigation-buttons{flex-direction:column}.btn-next,.btn-previous{margin-left:0!important;width:100%}.learning-objectives li{font-size:1rem}}@media (max-width:480px){.welcome-header h1{font-size:1.75rem}.exercise-box,.hint-box{padding:1rem}}.postclass-container{background:var(--bg-page);min-height:100vh;padding:85px 1.5rem 1.5rem}.progress-container{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid var(--color-blue-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;gap:.75rem;left:50%;max-width:400px;padding:.4rem 1rem;position:fixed;top:8px;transform:translateX(-50%);transition:left .3s ease;width:auto;z-index:100002}@media (min-width:961px){.progress-container.sidebar-expanded{left:calc(50% + 140px)}.progress-container.sidebar-collapsed{left:calc(50% + 35px)}}.progress-bar{background:var(--color-border-light);border-radius:10px;box-shadow:inset 0 1px 3px #0000001a;height:6px;overflow:hidden;width:180px}.progress-fill{background:linear-gradient(90deg,var(--color-blue-primary),var(--color-blue-light));border-radius:10px;box-shadow:0 0 10px #0040774d;height:100%;transition:width .3s ease}.progress-text{color:var(--text-primary);font-size:.8rem;font-weight:600;white-space:nowrap}.progress-nav-arrow{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-blue-primary);cursor:pointer;display:flex;font-size:1rem;justify-content:center;line-height:1;padding:.2rem .4rem;transition:var(--transition)}.progress-nav-arrow:hover:not(:disabled){background:var(--color-blue-softer);transform:scale(1.1)}.progress-nav-arrow:disabled{cursor:not-allowed;opacity:.3}.progress-nav-left{margin-right:.25rem}.progress-nav-right{margin-left:.25rem}.postclass-content{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:0 auto;max-width:1000px;padding:2.5rem}.postclass-header{border-bottom:3px solid var(--color-blue-primary);margin-bottom:2.5rem;padding-bottom:1.5rem;text-align:center}.postclass-header h1{color:var(--color-blue-primary);font-size:2.5rem;font-weight:700;margin-bottom:.75rem}.postclass-subtitle{color:var(--text-secondary);font-size:1.25rem;margin:0}.postclass-section{margin-bottom:2.5rem}.postclass-section h2{border-left:4px solid var(--color-red-primary);color:var(--color-blue-primary);font-size:1.75rem;font-weight:600;margin-bottom:1rem;padding-left:1rem}.postclass-section p{color:var(--text-primary);font-size:1.1rem;line-height:1.7;margin-bottom:1rem}.postclass-section code{background:var(--color-blue-softer);border-radius:var(--radius-sm);color:var(--color-blue-primary);font-family:Courier New,Courier,monospace;font-size:.95em;font-weight:600;padding:.2rem .5rem}.postclass-section ol,.postclass-section ul{color:var(--text-primary);font-size:1.1rem;line-height:1.7;margin:1.5rem 0;padding-left:2rem}.postclass-section ol li,.postclass-section ul li{margin-bottom:.75rem;padding-left:.5rem}.postclass-section ol li:last-child,.postclass-section ul li:last-child{margin-bottom:0}.exercise-box{background:var(--color-blue-softer);border:2px solid var(--color-blue-primary);border-radius:var(--radius-md);margin:1.5rem 0;padding:1.5rem}.exercise-box h3{color:var(--color-blue-primary);font-size:1.25rem;margin-bottom:1rem;margin-top:0}.exercise-box ol{margin:1rem 0;padding-left:1.5rem}.exercise-box ol li{color:var(--text-primary);line-height:1.6;margin-bottom:.75rem}.hint-box{background:#fffbf0;border:2px solid orange;border-radius:var(--radius-md);margin-top:1rem;padding:1rem}.hint-box strong{color:#cc8400;font-size:1.05rem}.hint-box ul{margin:.75rem 0 0;padding-left:1.5rem}.hint-box ul li{color:var(--text-primary);margin-bottom:.5rem}.hint-box kbd{background:#f4f4f4;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 2px #0000001a;font-family:monospace;font-size:.9em;padding:.1rem .4rem}.python-shell-section,.quiz-question-box{background:var(--bg-page);border:2px solid var(--color-blue-primary);border-radius:var(--radius-lg);padding:2rem}.quiz-question-box{margin-bottom:2.5rem}.quiz-question-box .postclass-header{border-bottom:none;margin-bottom:1.5rem;padding-bottom:0}.quiz-question-box .postclass-section{margin-bottom:1.5rem}.quiz-question-box .postclass-section:last-child{margin-bottom:0}.quiz-question-box .python-shell-section{background:#0000;border:none;padding:0}.navigation-buttons{border-top:2px solid var(--color-border-light);display:flex;gap:1rem;justify-content:space-between;margin-top:2.5rem;padding-top:2rem}.btn-next{margin-left:auto}.learning-objectives{list-style:none;margin:1.5rem 0;padding:0}.learning-objectives li{border-bottom:1px solid var(--color-border-light);color:var(--text-primary);font-size:1.1rem;padding:.75rem 0}.learning-objectives li:last-child{border-bottom:none}.code-example{background:#f8f8f8;border:2px solid var(--color-border);border-radius:var(--radius-md);margin:1rem 0;overflow-x:auto;padding:1rem}.code-example pre{box-sizing:border-box;color:var(--text-primary);font-family:Consolas,Monaco,Courier New,monospace;font-size:1rem;line-height:1.5;margin:0;max-width:100%;overflow-x:auto;padding-bottom:.5rem;white-space:pre;width:100%}@media (max-width:768px){.postclass-container{padding:80px 1rem 1rem}.progress-container{gap:.75rem;max-width:90%;padding:.4rem 1rem}.progress-bar{width:150px}.progress-text{font-size:.8rem}.postclass-content{padding:1.5rem}.postclass-header h1{font-size:2rem}.postclass-subtitle{font-size:1.1rem}.postclass-section h2{font-size:1.5rem}.postclass-section p{font-size:1rem}.python-shell-section{padding:1.25rem}.navigation-buttons{flex-direction:column}.btn-next,.btn-previous{margin-left:0!important;width:100%}.learning-objectives li{font-size:1rem}}@media (max-width:480px){.postclass-header h1{font-size:1.75rem}.exercise-box,.hint-box{padding:1rem}}.solution-button-container{display:flex;justify-content:center;margin:1.5rem 0}.solution-section{background:#f0f9ff;border:2px solid var(--color-blue-primary);border-radius:var(--radius-lg);margin-top:2rem;padding:2rem}.formula-box{background:var(--color-blue-softer);border:2px solid var(--color-blue-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:1rem 0;padding:1.5rem;text-align:center}.note-box,.warning-box{background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius-md);font-size:1.05rem;line-height:1.6;margin:1.5rem 0;padding:1rem}.code-pre-small{font-size:.65rem!important}.code-pre-medium{font-size:.75rem!important}.code-pre-large{font-size:.8rem!important}.grade-table-container{margin:1.5rem 0;overflow-x:auto}.grade-table{border:2px solid var(--color-blue-primary);border-collapse:collapse;margin:0 auto;max-width:600px;width:100%}.grade-table thead tr{background:var(--color-blue-primary);color:#fff}.grade-table th{border-right:1px solid #ffffff4d;padding:.75rem;text-align:center}.grade-table th:last-child{border-right:none}.grade-table tbody tr:nth-child(odd){background:#f8f9fa}.grade-table tbody tr:nth-child(2n){background:#fff}.grade-table td{border-right:1px solid #dee2e6;padding:.5rem;text-align:center}.grade-table td:first-child{font-weight:600}.grade-table td:last-child{border-right:none}.user-input-section{background:var(--bg-card);border:2px solid var(--color-blue-primary);border-radius:var(--radius-md);margin-bottom:1.5rem;margin-top:1.5rem;overflow:hidden}.user-input-header{background:var(--color-blue-primary);color:var(--text-white);font-size:.95rem;font-weight:600;padding:.75rem 1rem}.user-input-content{background:#f8f8f8;padding:1.5rem}.user-input-item{margin-bottom:1.5rem}.user-input-item:last-child{margin-bottom:0}.user-input-label{color:var(--text-primary);display:block;font-size:.95rem;font-weight:600;margin-bottom:.75rem}.user-input-radio-group{display:flex;flex-wrap:wrap;gap:2rem}.user-input-radio-option{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;gap:.5rem}.user-input-radio-option input[type=radio]{accent-color:var(--color-blue-primary);cursor:pointer;height:18px;width:18px}.user-input-radio-option input[type=radio]:disabled{cursor:not-allowed;opacity:.6}.user-input-radio-option:has(input:disabled){cursor:not-allowed;opacity:.7}.user-input-radio-option span{-webkit-user-select:none;user-select:none}.user-input-text{border:2px solid #ddd;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.95rem;max-width:400px;padding:.75rem;transition:border-color .2s;width:100%}.user-input-text:focus{border-color:var(--color-blue-primary);box-shadow:0 0 0 3px #0d6efd1a;outline:none}.user-input-text:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.7}.user-input-text::placeholder{color:#999}@media (max-width:768px){.user-input-content{padding:1rem}.user-input-radio-group{gap:1rem}.user-input-text{max-width:100%}}.jupyter-section{background-color:var(--color-info-light);border:2px solid var(--color-info);border-radius:var(--radius-md);margin-bottom:30px;padding:20px}.jupyter-section__title{color:var(--color-info-dark);font-size:18px;font-weight:600;margin:0 0 12px}.jupyter-section__description{color:var(--color-gray-900);line-height:1.6;margin:0 0 20px}.jupyter-section__steps{color:var(--color-gray-900);line-height:1.8;margin:0 0 8px;padding-left:20px}.jupyter-section__note{background-color:var(--color-warning-light);border:1px solid var(--color-warning-dark);border-radius:var(--radius-sm);color:var(--color-warning-text);font-size:14px;line-height:1.6;margin:12px 0 20px;padding:10px}.jupyter-section__buttons{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.jupyter-section__buttons button.btn--primary,.jupyter-section__buttons button.btn-download-jupyter,.jupyter-section__buttons label.btn--blue-solid,.jupyter-section__buttons label.btn-upload-jupyter{box-sizing:border-box!important;font-family:inherit!important;font-size:1rem!important;font-weight:600!important;height:auto!important;line-height:1.5!important;margin:0!important;padding:.75rem 2rem!important;white-space:nowrap!important}.downloadable-files{margin-bottom:8px;margin-top:8px}.downloadable-file{margin-bottom:5px}.downloadable-file a{box-sizing:border-box!important;font-size:1rem!important;font-weight:600!important;height:auto!important;line-height:1.5!important;padding:.75rem 2rem!important;white-space:nowrap!important}.downloadable-file a,.downloadable-file a:hover{color:var(--text-white)!important;text-decoration:none!important}.success-message{background-color:var(--color-success-light);border:2px solid var(--color-success-border);border-radius:var(--radius-md);color:var(--color-success-text);margin-bottom:2rem;padding:1.5rem}.warning-message{background-color:var(--color-warning-light);border:2px solid var(--color-warning-border);border-radius:var(--radius-md);color:var(--color-warning-text);margin-bottom:2rem;padding:1.5rem}.result-correct{background-color:var(--color-success-light)!important;border-color:var(--color-success-border)!important}.result-incorrect{background-color:var(--color-error-light)!important;border-color:var(--color-error-border)!important}.result-neutral{background-color:var(--color-gray-100)!important}.feedback-error{background-color:var(--color-error-light);border-left:4px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error-text);margin-top:10px;padding:10px}.feedback-figures{align-items:center;background-color:var(--color-gray-100);display:flex;flex-direction:column;gap:15px}.feedback-figure,.feedback-figures{border-radius:var(--radius-sm);padding:15px}.feedback-figure{background-color:var(--modal-bg);box-shadow:var(--shadow-sm);max-width:100%;width:100%}.ta-request-form{background-color:var(--color-info-light);border:2px solid var(--color-info-border);border-radius:var(--radius-md);margin-top:15px;padding:15px}.ta-request-textarea{border:2px solid var(--color-border-light);border-radius:var(--radius-sm);font-family:inherit;font-size:14px;margin-bottom:10px;min-height:80px;padding:10px;resize:vertical;width:100%}.ta-request-textarea:focus{border-color:var(--color-blue-primary);outline:none}.ta-request-buttons{display:flex;gap:10px}.ta-status-pending{color:var(--color-warning);font-weight:600}.ta-status-verified{color:var(--color-success);font-weight:600}.modal-overlay{align-items:center;background-color:var(--overlay-bg);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:100000}.modal-content{background-color:var(--modal-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:var(--modal-max-height);max-width:var(--modal-max-width);overflow:hidden;width:800px}.modal-header{align-items:center;background-color:var(--color-blue-primary);border-bottom:2px solid var(--color-blue-dark);color:var(--text-white);display:flex;justify-content:space-between;padding:20px}.modal-title{font-size:1.5rem;font-weight:600;margin:0}.modal-body{background-color:var(--color-gray-100);flex:1 1;overflow-y:auto;padding:20px}.modal-body-content{word-wrap:break-word;background-color:var(--modal-bg);border-radius:var(--radius-md);color:var(--text-primary);font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;padding:20px;white-space:pre-wrap}.modal-footer{align-items:center;background-color:var(--color-gray-100);border-top:1px solid var(--color-border-light);display:flex;gap:10px;justify-content:space-between;padding:15px 20px}.excel-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:15px}.excel-tab{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:var(--transition-fast)}.excel-tab-active{background-color:var(--color-info);color:var(--text-white)}.excel-tab-inactive{background-color:var(--color-gray-200);color:var(--text-secondary)}.excel-tab-inactive:hover{background-color:var(--color-gray-300)}.excel-table-container{background-color:var(--modal-bg);border-radius:var(--radius-sm);overflow-x:auto}.excel-table{border-collapse:collapse;font-size:13px;width:100%}.excel-table th{background-color:var(--color-gray-200);border:1px solid var(--color-border);font-weight:600;padding:8px;text-align:left;white-space:nowrap}.excel-table td{border:1px solid var(--color-border-light);padding:6px 8px;white-space:nowrap}.excel-table tbody tr:nth-child(2n){background-color:var(--color-gray-100)}.excel-table tbody tr:hover{background-color:var(--bg-hover)}.page-instructions{background-color:var(--color-gray-100);border:2px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:2rem;padding:1.5rem}.page-instructions h2{color:var(--color-blue-primary);margin-bottom:1rem}.page-instructions ul{list-style-position:inside}@media (max-width:768px){.modal-content{max-height:90vh;max-width:95%}.modal-header{padding:15px}.modal-title{font-size:1.25rem}.modal-body{padding:15px}.modal-footer{flex-direction:column;gap:10px}.btn-modal-close,.btn-modal-download{width:100%}.jupyter-section__buttons{flex-direction:column}.btn-download-jupyter,.btn-upload-jupyter{width:100%}.excel-tabs{flex-direction:column}.excel-tab{width:100%}}.quiz-grading-question-box{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px;padding:24px}.grading-controls{background:#f9fafb;background:var(--color-background-light,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:6px;margin-top:20px;padding:20px}.grading-field{margin-bottom:15px}.grading-field:last-child{margin-bottom:0}.grading-field label{color:#1a1a1a;color:var(--text-primary,#1a1a1a);display:block;font-weight:600;margin-bottom:5px}.grading-field input[type=number]{border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:4px;font-family:inherit;font-size:14px;padding:8px 12px;width:80px}.grading-field input[type=number]:disabled{background:#f3f4f6;cursor:not-allowed}.grading-field textarea{border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:4px;font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;width:100%}.grading-field textarea:disabled{background:#f3f4f6;cursor:not-allowed}.ta-request-text{background:#fef3c7;border:1px solid #fcd34d;border-radius:4px;color:#78350f;font-size:14px;padding:10px 12px}.verify-button{background:#004077;background:var(--color-blue-primary,#004077);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s ease}.verify-button:hover{background:#0052a3;background:var(--color-blue-light,#0052a3)}.verify-button:active{transform:translateY(1px)}
/*# sourceMappingURL=main.86ed5784.css.map*/