.loading-wrapper{position:fixed;inset:0;background-color:#fff;display:flex;align-items:center;justify-content:center;z-index:50}.loading-container{display:flex;flex-direction:column;align-items:center;gap:4rem;padding:4rem;background-color:#fff;border-radius:2rem;box-shadow:0 25px 50px -12px #00000040;position:relative;overflow:hidden}.loading-container:before{content:"";position:absolute;width:200px;height:200px;background-color:#4b82c2;border-radius:50%;opacity:.1;top:-100px;right:-100px;animation:float 8s ease-in-out infinite}.loading-container:after{content:"";position:absolute;width:150px;height:150px;background-color:#3dc391;border-radius:50%;opacity:.1;bottom:-75px;left:-75px;animation:float 8s ease-in-out infinite reverse}.loader-text{font-size:48px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:700;display:inline-block;color:#3dc391;letter-spacing:4px;position:relative;box-sizing:border-box;text-shadow:0 2px 4px rgba(0,0,0,.1);animation:pulse 2s ease-in-out infinite}.loader-text:after{content:attr(data-text);position:absolute;left:0;top:0;color:#4b82c2;width:100%;height:100%;overflow:hidden;box-sizing:border-box;animation:animloader 6s linear infinite}.loader{position:relative;width:180px;display:flex;justify-content:space-between;padding:2.5rem;background-color:#4b82c2;border-radius:1.5rem;transform-style:preserve-3d;transform:perspective(1000px) rotateX(5deg);animation:container-bounce 2s ease-in-out infinite}.loader:after,.loader:before{content:"";display:inline-block;width:52px;height:52px;background-color:#fff;background-image:radial-gradient(circle 16px,#4D4D4D 100%,transparent 0);background-repeat:no-repeat;border-radius:50%;animation:eyeMove 10s infinite,blink 10s infinite;box-shadow:0 8px 16px -4px #0003;border:3px solid #3DC391}@keyframes eyeMove{0%,10%{background-position:0px 0px;transform:scale(1)}13%,40%{background-position:-15px 0px;transform:scale(.95)}43%,70%{background-position:15px 0px;transform:scale(1.05)}73%,90%{background-position:0px 15px;transform:scale(.98)}93%,to{background-position:0px 0px;transform:scale(1)}}@keyframes blink{0%,10%,12%,20%,22%,40%,42%,60%,62%,70%,72%,90%,92%,98%,to{height:52px}11%,21%,41%,61%,71%,91%,99%{height:20px}}@keyframes animloader{0%{height:100%}to{height:0%}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(.95)}}@keyframes container-bounce{0%,to{transform:perspective(1000px) rotateX(5deg) translateY(0)}50%{transform:perspective(1000px) rotateX(5deg) translateY(-10px)}}@media (max-width: 768px){.loading-container{gap:3rem;padding:3rem}.loader-text{font-size:36px;letter-spacing:3px}.loader{width:140px;padding:2rem}.loader:after,.loader:before{width:40px;height:40px;background-image:radial-gradient(circle 12px,#4D4D4D 100%,transparent 0)}}@media (max-width: 425px){.loading-container{gap:2rem;padding:2rem}.loader-text{font-size:28px;letter-spacing:2px}.loader{width:120px;padding:1.5rem}.loader:after,.loader:before{width:32px;height:32px;background-image:radial-gradient(circle 10px,#4D4D4D 100%,transparent 0)}}@media (max-width: 320px){.loading-container{gap:1.5rem;padding:1.5rem}.loader-text{font-size:24px;letter-spacing:1px}.loader{width:100px;padding:1rem}.loader:after,.loader:before{width:28px;height:28px;background-image:radial-gradient(circle 8px,#4D4D4D 100%,transparent 0)}}@media (prefers-contrast: high){.loading-wrapper{background-color:#000}.loading-container{background-color:#fff;border:2px solid #000000}}@media (prefers-reduced-motion: reduce){.loader,.loader-text,.loading-container:before,.loading-container:after,.loader:after,.loader:before{animation:none}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#4b82c2;padding:20px;position:relative;overflow:hidden}.login-container{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 20px 40px #0000001a,0 0 0 1px #fff3;padding:48px;width:100%;max-width:480px;text-align:center;position:relative;border:1px solid rgba(255,255,255,.3)}.login-header{margin-bottom:40px}.login-logo{margin-bottom:24px;display:flex;justify-content:center;position:relative}.login-title{font-size:2.5rem;font-weight:800;color:#4b82c2;margin:0 0 12px;line-height:1.2}.login-subtitle{font-size:1.125rem;color:#6b7280;margin:0 0 8px;line-height:1.5;font-weight:500}.welcome-message{font-size:.875rem;color:#9ca3af;margin:0;font-style:italic}.google-login-section{margin-bottom:32px;padding:32px 0;position:relative}.google-login-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:2px;background:#e5e7eb}.google-login-section:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:2px;background:#e5e7eb}.google-login-wrapper{display:flex;justify-content:center;align-items:center;margin:20px 0}.google-login-wrapper>div{display:flex;justify-content:center;width:100%;transform:scale(1.1)}.login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.feature-item{display:flex;flex-direction:column;align-items:center;padding:16px 8px;background-color:#f8fafc;border-radius:12px;border:1px solid #e5e7eb}.feature-icon{width:32px;height:32px;background-color:#4b82c2;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.feature-text{font-size:.75rem;color:#6b7280;font-weight:500;text-align:center;line-height:1.3}.login-footer{border-top:1px solid #f1f5f9;padding-top:24px;position:relative}.help-section{text-align:center}.help-text{font-size:.875rem;color:#6b7280;margin:0 0 16px;font-weight:500}.help-link{display:inline-flex;align-items:center;gap:8px;color:#4b82c2;text-decoration:none;font-size:.875rem;font-weight:600;padding:12px 24px;border-radius:12px;background-color:#4b82c21a;border:1px solid rgba(75,130,194,.2);transition:all .3s ease}.help-link:hover{background-color:#4b82c226;border-color:#4b82c24d;transform:translateY(-2px);box-shadow:0 8px 25px #4b82c233;text-decoration:none}@media (max-width: 768px){.login-container{padding:36px 32px;margin:10px;border-radius:20px}.login-title{font-size:2.25rem}}@media (max-width: 425px){.login-page{padding:10px}.login-container{padding:28px 24px}.login-title{font-size:2rem}.login-subtitle{font-size:1rem}.google-login-wrapper>div{transform:scale(1)}.login-logo{margin-bottom:20px}}@media (max-width: 375px){.login-container{padding:24px 20px}.login-title{font-size:1.75rem}.login-subtitle{font-size:1rem}.login-logo lord-icon{width:56px!important;height:56px!important}}@media (max-width: 320px){.login-container{padding:20px 16px}.login-title{font-size:1.5rem}.login-subtitle{font-size:.875rem}.login-logo{margin-bottom:16px}.login-logo lord-icon{width:48px!important;height:48px!important}.help-link{padding:10px 20px;font-size:.8125rem}}@media (prefers-contrast: high){.login-container{background:#fff;border:2px solid #4B82C2}.feature-item{border:2px solid #e5e7eb}}@media (prefers-reduced-motion: reduce){.login-page:before{animation:none}.help-link{transition:none}.help-link:hover{transform:none}lord-icon{--trigger: none !important;--delay: 0ms !important;--speed: 0ms !important}lord-icon *{animation:none!important;transition:none!important}}.app-header{background-color:#fff;border-bottom:1px solid #e5e7eb;height:60px;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000001a}.app-header-content{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 24px;max-width:2000px;margin:0 auto}.app-header-left{display:flex;align-items:center;gap:12px;justify-self:flex-start;margin-right:auto}.app-header-logo{height:32px;width:auto}.app-header-title{font-size:1.5rem;font-weight:600;color:#4b82c2;line-height:1.2}.app-header-right,.app-header-user-profile{display:flex;align-items:center;gap:16px}.app-header-profile-info{display:flex;align-items:center;gap:8px}.app-header-profile-initials{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4b82c2,#3dc391);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:#fff;text-transform:uppercase}.app-header-profile-name{font-weight:500;color:#4d4d4d}.app-header-logout-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.app-header-logout-btn:hover{background-color:#fef2f2}@media (max-width: 768px){.app-header-content{padding:0 16px}.app-header-profile-name{display:none}}@media (max-width: 425px){.app-header-content{padding:0 12px}.app-header-title{font-size:1.25rem}}@media (max-width: 375px){.app-header-content{padding:0 8px}.app-header-title{font-size:1.125rem}}@media (max-width: 320px){.app-header-content{padding:0 6px}.app-header-left,.app-header-right{gap:8px}}.sidebar{width:240px;background-color:#fff;border-right:1px solid #e5e7eb;padding:16px 0;overflow-y:auto;transition:transform .3s ease;position:sticky;top:60px;height:calc(100vh - 60px)}.mobile-menu-toggle{display:none!important;position:fixed;top:70px;left:16px;z-index:60;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.mobile-menu-toggle:hover{background-color:#f8fafc;box-shadow:0 4px 8px #00000026}.mobile-menu-toggle lord-icon{display:block!important;pointer-events:none}.mobile-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:40}.sidebar-nav{height:100%}.nav-list{list-style:none;padding:0 12px}.nav-item{margin-bottom:4px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:#4d4d4d;border-radius:8px;transition:all .2s ease;font-weight:500;position:relative}.nav-link:hover{background-color:#f8fafc;color:#4b82c2;transform:translate(2px)}.nav-link.active{background-color:#4b82c2;color:#fff;box-shadow:0 2px 4px #4b82c233}.nav-link.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:#3dc391;border-radius:0 2px 2px 0}.nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-label{font-size:.875rem;font-weight:inherit}@media (max-width: 768px){.mobile-menu-toggle{display:flex!important}.mobile-overlay{display:block}.sidebar{position:fixed;left:0;top:60px;height:calc(100vh - 60px);transform:translate(-100%);z-index:50;box-shadow:2px 0 8px #0000001a;width:280px}.sidebar.open{transform:translate(0)}}@media (max-width: 425px){.mobile-menu-toggle{top:65px;left:12px}.sidebar{width:260px}.nav-list{padding:0 8px}}@media (max-width: 375px){.mobile-menu-toggle{top:62px;left:8px;padding:6px}.sidebar{width:240px}.nav-link{padding:10px 12px;gap:10px}.nav-label{font-size:.8125rem}}@media (max-width: 320px){.mobile-menu-toggle{top:60px;left:6px;padding:4px}.sidebar{width:220px}.nav-link{padding:8px 10px;gap:8px}.nav-label{font-size:.75rem}}@media (prefers-contrast: high){.nav-link{border:1px solid transparent}.nav-link:hover{border-color:#4b82c2}.nav-link.active{border-color:#3dc391}}@media (prefers-reduced-motion: reduce){.nav-link,.sidebar{transition:none}}.profile-card{padding:24px;height:100%;display:flex;flex-direction:column}.profile-header{margin-bottom:20px}.profile-card-title{font-size:1.125rem;font-weight:600;color:#4d4d4d;margin:0}.profile-content{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.profile-avatar-section{position:relative;margin-bottom:16px}.profile-avatar-initials{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#4b82c2,#3dc391);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;text-transform:uppercase;transition:transform .2s ease}.profile-avatar-initials:hover{transform:scale(1.05)}.profile-info{width:100%;display:flex;flex-direction:column}.profile-name{font-size:1.25rem;font-weight:600;color:#4d4d4d;margin:0 0 4px}.profile-id{font-size:.875rem;color:#979797;margin:0 0 8px}.profile-program{font-size:1rem;color:#4b82c2;font-weight:500;margin:0 0 16px}.profile-details{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#f8fafc;border-radius:6px}.detail-label{font-size:.875rem;color:#979797;font-weight:500}.detail-value{font-size:.875rem;color:#4d4d4d;font-weight:600;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.status-active{color:#3dc391}.profile-actions{margin-top:auto}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;justify-content:center;width:100%}.btn-primary{background-color:#4b82c2;color:#fff}.btn-primary:hover{background-color:#3b6fa0;transform:translateY(-1px);box-shadow:0 4px 8px #4b82c24d}@media (max-width: 768px){.profile-card{padding:20px}.profile-content{flex-direction:column}}@media (max-width: 425px){.profile-card{padding:16px}.profile-avatar-initials{width:70px;height:70px;font-size:1.25rem}.profile-name{font-size:1.125rem}.detail-item{flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.detail-value{font-size:.8125rem;word-break:break-all}}@media (max-width: 375px){.profile-card{padding:14px}.profile-avatar-initials{width:60px;height:60px;font-size:1.125rem}.profile-name{font-size:1rem}.detail-item{padding:6px 10px}.detail-label,.detail-value{font-size:.75rem}}@media (max-width: 320px){.profile-card{padding:12px}.profile-avatar-initials{width:50px;height:50px;font-size:1rem}.profile-name{font-size:.9375rem}.profile-program{font-size:.875rem}.detail-item{padding:6px 8px}.detail-label,.detail-value{font-size:.6875rem}}@media (prefers-reduced-motion: reduce){.profile-avatar,.edit-photo-btn,.btn{transition:none}}.stats-grid{padding:32px;height:100%;display:flex;flex-direction:column}.stats-header{margin-bottom:24px}.stats-title{font-size:1.125rem;font-weight:600;color:#4d4d4d;margin:0;line-height:1.2}.stats-content{flex:1;display:flex;flex-direction:column}.stats-loading,.stats-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;background:#fffc;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stats-error{gap:16px}.error-icon{background:linear-gradient(135deg,#ef44441a,#ef44440d);border-radius:50%;padding:16px;margin-bottom:12px;border:2px solid rgba(239,68,68,.2)}.error-message{font-size:1.125rem;font-weight:600;color:#e53e3e;margin:0}.error-detail{font-size:.875rem;color:#718096;margin:0}.stats-items{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;flex:1}.stat-item{background-color:#fff;border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:16px;border:1px solid #f1f5f9;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.stat-item:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background-color:#4b82c2}.stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-icon{flex-shrink:0;background-color:#4b82c21a;border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:center}.stat-info{flex:1;min-width:0;position:relative}.stat-value{font-size:1.5rem;font-weight:700;color:#4d4d4d;line-height:1.1;margin-bottom:4px;word-break:break-word}.stat-label{font-size:.875rem;color:#979797;margin-bottom:8px;line-height:1.3;font-weight:500}.stat-compliance{font-size:.875rem;font-weight:600;color:#979797;margin-top:4px;line-height:1.3}.stat-compliance-compliant{color:#4b82c2}.stat-compliance-non-compliant{color:#ef4444}@media (max-width: 768px){.stats-grid{padding:24px}.stats-items{gap:16px}.stat-item{padding:20px;gap:16px}.stat-value{font-size:1.75rem}.stats-title{font-size:1.375rem}}@media (max-width: 425px){.stats-grid{padding:20px}.stats-items{grid-template-columns:1fr;gap:16px}.stat-item{padding:20px;gap:16px}.stat-value{font-size:1.625rem}.stat-label{font-size:.8125rem}.stat-icon{padding:14px}.stats-title{font-size:1.25rem}}@media (max-width: 375px){.stats-grid{padding:16px}.stat-item{padding:18px;gap:14px}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}.stat-icon{padding:12px}.stats-title{font-size:1.125rem}.stats-subtitle{font-size:.8125rem}}@media (max-width: 320px){.stats-grid{padding:14px}.stat-item{padding:16px;gap:12px}.stat-value{font-size:1.375rem}.stat-label{font-size:.6875rem}.stat-icon{padding:10px}.stats-title{font-size:1rem}.stats-subtitle{font-size:.75rem}}@media (prefers-reduced-motion: reduce){.stat-item,.stat-icon,.stat-compliance,.stat-item:before,.stat-item:after,.stat-icon:before,.stat-compliance:before{transition:none;animation:none}lord-icon{--trigger: none !important;--delay: 0ms !important;--speed: 0ms !important}lord-icon *{animation:none!important;transition:none!important}}@media (prefers-contrast: high){.stat-item{border:2px solid #2d3748;background:#fff}.stat-icon{border:2px solid #4a5568}.stat-value{color:#000;-webkit-text-fill-color:#000000}.stat-label{color:#2d3748}}.stat-item:focus-visible{outline:3px solid #4B82C2;outline-offset:2px}@media print{.stats-grid{background:#fff;color:#000;box-shadow:none}.stat-item{background:#fff;border:1px solid black;box-shadow:none}.stat-item:before,.stat-item:after{display:none}}.quick-actions{padding:24px;height:100%}.quick-actions-header{margin-bottom:24px}.quick-actions-title{font-size:1.125rem;font-weight:600;color:#4d4d4d;margin:0 0 4px}.quick-actions-subtitle{font-size:.875rem;color:#979797;margin:0;line-height:1.4}.actions-grid{display:flex;flex-direction:column;gap:12px}.action-item{background-color:#fff;border:1px solid #f1f5f9;border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:16px;text-decoration:none;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000d}.action-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:transparent;transition:all .3s ease}.action-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#e5e7eb}.action-item:hover:before{background-color:#4b82c2}.action-item:active{transform:translateY(0);box-shadow:0 4px 12px #0000001a}.action-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;position:relative}.action-item.primary .action-icon{background:linear-gradient(135deg,#4b82c2,#5a8fd4)}.action-item.secondary .action-icon{background:linear-gradient(135deg,#3dc391,#4dd4a3)}.action-item.accent .action-icon{background:linear-gradient(135deg,#ffd45a,#ffd96b)}.action-item.neutral .action-icon{background:linear-gradient(135deg,#6b7280,#7c8491)}.action-item:hover .action-icon{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.action-content{flex:1;min-width:0}.action-label{font-size:1rem;font-weight:600;color:#4d4d4d;margin:0 0 4px;line-height:1.3}.action-description{font-size:.875rem;color:#979797;margin:0;line-height:1.4}.action-arrow{width:20px;height:20px;color:#d1d5db;transition:all .2s ease;flex-shrink:0}.action-item:hover .action-arrow{color:#4b82c2;transform:translate(4px)}.action-item.external:after{content:"";position:absolute;top:12px;right:12px;width:8px;height:8px;background-color:#d1d5db;border-radius:50%;transition:all .2s ease}.action-item.external:hover:after{background-color:#4b82c2;transform:scale(1.2)}@media (max-width: 768px){.quick-actions{padding:20px}.action-item{padding:14px 16px;gap:14px}.action-icon{width:44px;height:44px}}@media (max-width: 425px){.quick-actions{padding:16px}.action-item{padding:12px 14px;gap:12px}.action-icon{width:40px;height:40px;border-radius:10px}.action-label{font-size:.9375rem}.action-description{font-size:.8125rem}}@media (max-width: 375px){.quick-actions{padding:14px}.action-item{padding:10px 12px;gap:10px}.action-icon{width:36px;height:36px;border-radius:8px}.action-label{font-size:.875rem}.action-description{font-size:.75rem}}@media (max-width: 320px){.quick-actions{padding:12px}.action-item{padding:8px 10px;gap:8px}.action-icon{width:32px;height:32px;border-radius:6px}.action-label{font-size:.8125rem}.action-description{font-size:.6875rem}.action-arrow{width:16px;height:16px}}@media (prefers-reduced-motion: reduce){.action-item,.action-item:before,.action-icon,.action-arrow,.action-item:after{transition:none}.action-item:hover,.action-item:hover .action-icon,.action-item:hover .action-arrow{transform:none}}@media (prefers-contrast: high){.action-item{border:2px solid #d1d5db}.action-item:hover{border-color:#4b82c2}}.action-item:focus{outline:2px solid #4B82C2;outline-offset:2px}.action-item:focus:not(:focus-visible){outline:none}.upcoming-events{padding:24px;height:100%;display:flex;flex-direction:column}.events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.events-title{font-size:1.125rem;font-weight:600;color:#4d4d4d;margin:0}.view-all-btn{background:none;border:none;color:#4b82c2;font-size:.875rem;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease}.view-all-btn:hover{background-color:#4b82c21a;color:#3b6fa0}.events-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.event-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:#f8fafc;border-radius:8px;transition:all .2s ease;border-left:3px solid transparent;position:relative}.event-item:hover{background-color:#f1f5f9;transform:translate(2px);box-shadow:0 2px 4px #0000001a}.event-icon{flex-shrink:0;background-color:#fff;border-radius:6px;padding:8px;box-shadow:0 1px 2px #0000001a;display:flex;align-items:center;justify-content:center}.event-content{flex:1;min-width:0}.event-title-text{font-size:.875rem;font-weight:600;color:#4d4d4d;margin:0 0 4px}.event-description{font-size:.8125rem;color:#979797;margin:0 0 8px;line-height:1.4}.event-meta{display:flex;flex-direction:column;gap:2px}.event-time{font-size:.75rem;color:#4b82c2;font-weight:500}.event-location{font-size:.75rem;color:#979797;font-weight:400}.event-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}@media (max-width: 768px){.upcoming-events{padding:20px}.event-item{padding:14px}}@media (max-width: 425px){.upcoming-events{padding:16px}.event-item{padding:12px;gap:10px}.event-icon{padding:6px}}@media (max-width: 375px){.upcoming-events{padding:14px}.event-item{padding:10px;gap:8px}.event-title-text{font-size:.8125rem}.event-description{font-size:.75rem}.event-time,.event-location{font-size:.6875rem}}@media (max-width: 320px){.upcoming-events{padding:12px}.event-item{padding:8px;gap:6px}.event-title-text{font-size:.75rem}.event-description{font-size:.6875rem}.event-time{font-size:.625rem}.event-indicator{width:6px;height:6px;margin-top:4px}}@media (prefers-reduced-motion: reduce){.event-item{transition:none}}@media (prefers-contrast: high){.event-item{border:1px solid #d1d5db}.event-icon{border:1px solid #e5e7eb}}.events-list::-webkit-scrollbar{width:6px}.events-list::-webkit-scrollbar-track{background:transparent}.events-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.events-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.home-page{max-width:1200px;margin:0 auto;padding:0 8px}.home-header{margin-bottom:24px}.home-title{font-size:2rem;font-weight:600;color:#4d4d4d;margin-bottom:4px;line-height:1.2}.home-subtitle{font-size:1rem;color:#979797;line-height:1.5}.home-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:24px;grid-template-areas:"profile stats" "actions activity"}.home-section{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.profile-section{grid-area:profile}.stats-section{grid-area:stats}.actions-section{grid-area:actions}.events-section{grid-area:activity}@media (max-width: 768px){.home-grid{grid-template-columns:1fr;grid-template-areas:"profile" "stats" "actions" "activity";gap:16px}.home-title{font-size:1.75rem}.home-header{margin-bottom:20px}}@media (max-width: 425px){.home-page{padding:0 4px}.home-grid{gap:12px}.home-title{font-size:1.5rem}.home-header{margin-bottom:16px}}@media (max-width: 375px){.home-title{font-size:1.375rem}.home-subtitle{font-size:.875rem}.home-grid{gap:10px}}@media (max-width: 320px){.home-page{padding:0 2px}.home-title{font-size:1.25rem}.home-subtitle{font-size:.8125rem}.home-grid{gap:8px}.home-header{margin-bottom:12px}}@media (prefers-contrast: high){.home-section{border:1px solid #d1d5db}}.student-profile-page{max-width:1200px;margin:0 auto;padding:0 16px}.student-profile-header{margin-bottom:32px}.student-profile-title{font-size:2rem;font-weight:600;color:#4d4d4d;margin-bottom:8px;line-height:1.2}.student-profile-subtitle{font-size:1rem;color:#979797;line-height:1.5}.student-profile-content{display:flex;flex-direction:column;gap:32px}.student-profile-overview-card{background-color:#fff;border-radius:16px;box-shadow:0 4px 6px #0000001a;padding:32px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #f1f5f9}.student-profile-header-section{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.student-profile-avatar-initials{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#4b82c2,#3dc391);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff;text-transform:uppercase;box-shadow:0 4px 12px #4b82c24d;transition:transform .2s ease;margin-bottom:16px}.student-profile-avatar-initials:hover{transform:scale(1.05)}.student-profile-name{font-size:1.75rem;font-weight:700;color:#4d4d4d;margin:0 0 4px;line-height:1.2}.student-profile-id{font-size:1rem;color:#979797;margin:0;font-weight:500}.student-profile-details-section{display:flex;flex-direction:column;gap:16px;width:100%;max-width:400px}.student-profile-detail-row{display:flex;justify-content:space-between;align-items:center;padding:0}.student-profile-detail-label{font-size:.875rem;color:#979797;font-weight:500;text-align:left}.student-profile-detail-value{font-size:.875rem;color:#4d4d4d;font-weight:600;text-align:right;word-break:break-word;overflow-wrap:break-word}.student-profile-status-active{color:#3dc391!important}.student-profile-sections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:24px}.student-profile-info-section{background-color:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px;border:1px solid #f1f5f9;transition:transform .2s ease,box-shadow .2s ease}.student-profile-info-section:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.student-profile-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #f1f5f9}.student-profile-section-title{font-size:1.125rem;font-weight:600;color:#4d4d4d;margin:0}.student-profile-info-grid{display:grid;grid-template-columns:1fr;gap:12px}.student-profile-info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f8fafc;border-radius:8px;transition:background-color .2s ease;border:1px solid #f1f5f9}.student-profile-info-item:hover{background-color:#f1f5f9;border-color:#e5e7eb}.student-profile-info-item.student-profile-full-width{grid-column:1 / -1}.student-profile-info-label{font-size:.875rem;color:#979797;font-weight:500;min-width:120px}.student-profile-info-value{font-size:.875rem;color:#4d4d4d;font-weight:600;text-align:right;word-break:break-word}@media (max-width: 1024px){.student-profile-sections-grid{grid-template-columns:1fr}}@media (max-width: 768px){.student-profile-overview-card{padding:24px}}@media (max-width: 425px){.student-profile-page{padding:0 8px}.student-profile-overview-card{padding:24px}.student-profile-info-section{padding:20px}.student-profile-avatar-initials{width:100px;height:100px;font-size:2rem}.student-profile-name{font-size:1.75rem}.student-profile-info-item{flex-direction:column;align-items:flex-start;gap:4px}.student-profile-info-value{text-align:left}.student-profile-sections-grid{grid-template-columns:1fr;gap:16px}}@media (max-width: 375px){.student-profile-overview-card{padding:20px}.student-profile-info-section{padding:16px}.student-profile-section-header{gap:8px}.student-profile-section-title{font-size:1rem}.student-profile-avatar-initials{width:80px;height:80px;font-size:1.5rem}.student-profile-name{font-size:1.5rem}}@media (max-width: 320px){.student-profile-page{padding:0 4px}.student-profile-title{font-size:1.5rem}.student-profile-name{font-size:1.25rem}.student-profile-avatar-initials{width:70px;height:70px;font-size:1.25rem}.student-profile-info-item{padding:10px 12px}}@media (prefers-contrast: high){.student-profile-overview-card,.student-profile-info-section{border:2px solid #d1d5db}.student-profile-info-item{border:1px solid #d1d5db}}@media (prefers-reduced-motion: reduce){.student-profile-avatar-initials,.student-profile-btn,.student-profile-info-section,.student-profile-info-item{transition:none}}.calendar-page{max-width:1200px;margin:0 auto;padding:0 8px}.calendar-header{margin-bottom:24px}.calendar-title{font-size:2rem;font-weight:600;color:#4d4d4d;margin-bottom:4px;line-height:1.2}.calendar-subtitle{font-size:1rem;color:#979797;line-height:1.5}.calendar-content{display:grid;grid-template-columns:2fr 1fr;gap:24px}.calendar-widget{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.nav-btn{background:#4b82c2;border:none;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s ease}.nav-btn:hover{background-color:#3dc391}.calendar-month{font-size:1.25rem;font-weight:600;color:#4d4d4d;margin:0}.calendar-grid{margin-bottom:20px}.calendar-header-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:8px}.calendar-header-cell{padding:12px 8px;text-align:center;font-size:.875rem;font-weight:600;color:#979797;background-color:#f8fafc;border-radius:4px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.calendar-day{min-height:100px;max-height:100px;padding:8px;background-color:#fff;border:1px solid #f1f5f9;border-radius:4px;position:relative;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;overflow:hidden}.calendar-day.clickable{cursor:pointer}.calendar-day.clickable:hover{border-color:#4b82c2;box-shadow:0 2px 4px #4b82c233}.calendar-day:hover{background-color:#f8fafc}.calendar-day.has-events{background-color:#4b82c205}.calendar-day.empty{background-color:#f8fafc;cursor:default}.calendar-day.today{background-color:#4b82c214;border-color:#4b82c2;box-shadow:0 0 0 2px #4b82c233}.calendar-day.today .day-number{color:#4b82c2;font-weight:600}.day-number{font-size:.875rem;color:#4d4d4d;font-weight:500;margin-bottom:4px}.day-events{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.event-pill{font-size:.625rem;font-weight:500;padding:2px 6px;border-radius:8px;background-color:#4b82c21a;color:#4b82c2;border:1px solid rgba(75,130,194,.2);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;line-height:1.2;flex-shrink:0}.more-events-indicator{font-size:.625rem;color:#3dc391;font-weight:500;padding:2px 6px;border-radius:8px;background-color:#3dc3911a;border:1px solid rgba(61,195,145,.2);text-align:center}.calendar-sidebar{display:flex;flex-direction:column;gap:24px}.upcoming-events{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.events-title{font-size:1.125rem;font-weight:600;color:#4d4d4d;margin:0 0 16px}.events-subtitle{font-size:.875rem;color:#979797;margin:0 0 16px;font-style:italic}.events-list{display:flex;flex-direction:column;gap:12px}.event-item{display:flex;align-items:center;gap:12px;padding:12px;background-color:#f8fafc;border-radius:8px;border-left:3px solid transparent;transition:all .2s ease}.event-item:hover{background-color:#f1f5f9;transform:translate(2px)}.event-item.class{border-left-color:#4b82c2}.event-item.past{border-left-color:#ef4444}.event-item.today{border-left-color:#ffd45a}.event-item.upcoming{border-left-color:#3dc391}.event-date{display:flex;flex-direction:column;align-items:center;min-width:60px}.event-day{font-size:.75rem;color:#979797;font-weight:500}.event-details{flex:1}.event-title{font-size:.875rem;font-weight:600;color:#4d4d4d;margin:0 0 2px}.event-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-indicator.class{background-color:#4b82c2}.event-indicator.past{background-color:#ef4444}.event-indicator.today{background-color:#ffd45a}.event-indicator.upcoming{background-color:#3dc391}.no-events{text-align:center;padding:20px;color:#979797;font-style:italic}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:500px;width:100%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #f1f5f9}.modal-title{font-size:1.125rem;font-weight:600;color:#4d4d4d;margin:0}.modal-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s ease}.modal-close:hover{background-color:#f3f4f6}.modal-body{padding:16px 24px 24px}.modal-event-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:#f8fafc;border-radius:8px;margin-bottom:12px;border-left:3px solid #4B82C2}.modal-event-item:last-child{margin-bottom:0}.modal-event-icon{flex-shrink:0;background-color:#fff;border-radius:6px;padding:8px;box-shadow:0 1px 2px #0000001a}.modal-event-details{flex:1}.modal-event-title{font-size:1rem;font-weight:600;color:#4d4d4d;margin:0 0 8px}.modal-event-time,.modal-event-location{font-size:.875rem;color:#979797;margin:0 0 4px}@media (max-width: 768px){.calendar-content{grid-template-columns:1fr;gap:16px}.calendar-widget{padding:20px}.calendar-day{min-height:80px;max-height:80px;padding:6px}.modal-content{margin:10px;max-height:90vh}.modal-header{padding:20px 20px 12px}.modal-body{padding:12px 20px 20px}}@media (max-width: 425px){.calendar-page{padding:0 4px}.calendar-widget{padding:16px}.calendar-day{min-height:70px;max-height:70px;padding:4px}.day-number{font-size:.75rem}.upcoming-events{padding:20px}.event-title{font-size:.625rem}.modal-title{font-size:1rem}.modal-event-item{padding:12px}}@media (max-width: 375px){.calendar-widget{padding:14px}.calendar-header-cell{padding:8px 4px;font-size:.75rem}.calendar-day{min-height:60px;max-height:60px;padding:3px}.upcoming-events{padding:16px}.event-item{padding:10px}}@media (max-width: 320px){.calendar-page{padding:0 2px}.calendar-title{font-size:1.5rem}.calendar-month{font-size:1.125rem}.calendar-day{min-height:50px;max-height:50px;padding:2px}.day-number{font-size:.6875rem}.event-pill,.more-events-indicator{font-size:.5rem;padding:1px 4px}}.library-page{max-width:1200px;margin:0 auto;padding:0 8px}.library-header{margin-bottom:32px}.library-title{font-size:2rem;font-weight:600;color:#4d4d4d;margin-bottom:8px;line-height:1.2}.library-subtitle{font-size:1rem;color:#979797;line-height:1.5;margin-bottom:24px;max-width:600px}.search-section{margin-top:20px}.search-bar{display:flex;align-items:center;background-color:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px 20px;gap:12px;transition:all .2s ease;max-width:500px;box-shadow:0 1px 3px #0000001a}.search-bar:focus-within{border-color:#4b82c2;box-shadow:0 0 0 3px #4b82c21a}.search-input{flex:1;border:none;outline:none;font-size:1rem;color:#4d4d4d;background:transparent}.search-input::placeholder{color:#979797}.library-content{display:flex;flex-direction:column}.resources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.resource-card{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:all .3s ease;border:1px solid #f1f5f9;display:flex;flex-direction:column}.resource-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026;border-color:#4b82c2}.resource-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:16px}.resource-icon{background-color:#4b82c21a;border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center}.resource-content{flex:1;margin-bottom:20px}.resource-title{font-size:1.25rem;font-weight:600;color:#4d4d4d;margin:0 0 8px;line-height:1.3}.resource-description{font-size:.875rem;color:#979797;line-height:1.5;margin:0 0 16px}.resource-topics{margin-top:16px}.topics-title{font-size:.875rem;font-weight:600;color:#4d4d4d;margin:0 0 8px}.topics-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.topic-item{font-size:.8125rem;color:#979797;line-height:1.4;position:relative;padding-left:16px}.topic-item:before{content:"•";color:#4b82c2;font-weight:700;position:absolute;left:0}.resource-footer{display:flex;justify-content:flex-end;align-items:center;padding-top:16px;border-top:1px solid #f1f5f9}.download-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#4b82c2;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.download-btn:hover{background-color:#3b6fa0;transform:translateY(-1px);box-shadow:0 4px 12px #4b82c24d}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.no-results h3{font-size:1.25rem;font-weight:600;color:#4d4d4d;margin:16px 0 8px}.no-results p{font-size:.875rem;color:#979797;margin:0}@media (max-width: 768px){.resources-grid{grid-template-columns:1fr;gap:20px}.resource-footer,.download-btn{justify-content:center}}@media (max-width: 425px){.library-page{padding:0 4px}.search-bar{padding:12px 16px}.resource-card{padding:20px}.resource-header{justify-content:center}}@media (max-width: 375px){.library-title{font-size:1.75rem}.resource-card{padding:16px}}@media (max-width: 320px){.library-page{padding:0 2px}.library-title{font-size:1.5rem}.search-bar{padding:10px 12px}.resource-card{padding:12px}}@media (prefers-contrast: high){.resource-card{border:2px solid #d1d5db}.search-bar{border:2px solid #4B82C2}}@media (prefers-reduced-motion: reduce){.resource-card,.download-btn,.search-bar{transition:none}}.admin-library-page{max-width:1200px;margin:0 auto;padding:0 8px}.admin-library-header{margin-bottom:32px}.admin-library-title{font-size:2rem;font-weight:600;color:#4d4d4d;margin-bottom:8px;line-height:1.2}.admin-library-subtitle{font-size:1rem;color:#979797;line-height:1.5;margin-bottom:24px;max-width:600px}.admin-library-content{display:flex;flex-direction:column}.policies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.policy-card{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:all .3s ease;border:1px solid #f1f5f9;display:flex;flex-direction:column}.policy-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026;border-color:#3dc391}.policy-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:16px}.policy-icon{background-color:#3dc3911a;border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center}.policy-content{flex:1;margin-bottom:20px}.policy-title{font-size:1.25rem;font-weight:600;color:#4d4d4d;margin:0 0 8px;line-height:1.3}.policy-description{font-size:.875rem;color:#979797;line-height:1.5;margin:0 0 16px}.policy-details{margin-top:16px}.details-title{font-size:.875rem;font-weight:600;color:#4d4d4d;margin:0 0 8px}.details-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.admin-detail-item{font-size:.8125rem;color:#979797;line-height:1.4;position:relative;padding-left:16px}.admin-detail-item:before{content:"•";color:#3dc391;font-weight:700;position:absolute;left:0}.policy-footer{display:flex;justify-content:flex-end;align-items:center;padding-top:16px;border-top:1px solid #f1f5f9}.download-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#3dc391;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.download-btn:hover{background-color:#2bb77a;transform:translateY(-1px);box-shadow:0 4px 12px #3dc3914d}.important-notice{background-color:#f7fffa;border:1px solid #b3ddc2;border-radius:12px;padding:20px;margin-bottom:32px;display:flex;align-items:flex-start;gap:12px}.notice-icon{flex-shrink:0;background-color:#3dc391;border-radius:50%;padding:8px;display:flex;align-items:center;justify-content:center}.notice-content{flex:1}.notice-title{font-size:1rem;font-weight:600;color:#3dc391;margin:0 0 8px}.notice-text{font-size:.875rem;color:#166534;margin:0;line-height:1.5}@media (max-width: 768px){.policies-grid{grid-template-columns:1fr;gap:20px}.policy-footer{flex-direction:column;gap:12px;align-items:center}.download-btn{justify-content:center}.important-notice{flex-direction:column;text-align:center}}@media (max-width: 425px){.admin-library-page{padding:0 4px}.search-bar{padding:12px 16px}.policy-card{padding:20px}.policy-header{justify-content:center}.important-notice{padding:16px}}@media (max-width: 375px){.admin-library-title{font-size:1.75rem}.policy-card{padding:16px}.important-notice{padding:14px}}@media (max-width: 320px){.admin-library-page{padding:0 2px}.admin-library-title{font-size:1.5rem}.search-bar{padding:10px 12px}.policy-card,.important-notice{padding:12px}}@media (prefers-contrast: high){.policy-card{border:2px solid #d1d5db}.search-bar,.important-notice{border:2px solid #ef4444}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;color:#4d4d4d;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.app-content{display:flex;flex:1;min-height:calc(100vh - 60px)}.main-content{flex:1;padding:16px;background-color:#f8f9fa;overflow-y:auto}@media (max-width: 768px){.main-content{padding-left:16px}}.skip-link{position:absolute;top:-40px;left:6px;background:#4b82c2;color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000}.skip-link:focus{top:6px}*:focus{outline:2px solid #4B82C2;outline-offset:2px}button:focus-visible{outline:2px solid #4B82C2;outline-offset:2px}@media (max-width: 768px){.app-content{flex-direction:column}.main-content{padding:12px}}@media (max-width: 425px){.main-content{padding:8px}}@media (max-width: 375px){html{font-size:14px}}@media (max-width: 320px){html{font-size:13px}.main-content{padding:6px}}@media (prefers-contrast: high){body{background-color:#000;color:#fff}.main-content{background-color:#111}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}lord-icon{--trigger: none !important;--delay: 0ms !important;--speed: 0ms !important}}@media print{.app{background:#fff;color:#000}.sidebar{display:none}.header{position:static}}:root{--color-primary: #4B82C2;--color-secondary: #3DC391;--color-accent: #FFD45A;--color-text-primary: #4D4D4D;--color-text-secondary: #979797;--color-background: #FFFFFF;--color-surface: #f8fafc;--color-border: #e5e7eb;--color-success: #3DC391;--color-warning: #FFD45A;--color-error: #ef4444;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-loose: 1.8;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-full: 50%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .1);--shadow-xl: 0 10px 15px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{height:100%}body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight);font-weight:600;color:var(--color-text-primary)}p{line-height:var(--line-height-normal)}*:focus{outline:2px solid var(--color-primary);outline-offset:2px}*:focus:not(:focus-visible){outline:none}button{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{text-decoration:none;color:inherit}a:hover{text-decoration:none}img{max-width:100%;height:auto}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}input,textarea,select{font-family:inherit;font-size:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@media (max-width: 768px){:root{--font-size-3xl: 1.75rem;--font-size-2xl: 1.375rem;--font-size-xl: 1.125rem}}@media (max-width: 425px){:root{--font-size-3xl: 1.5rem;--font-size-2xl: 1.25rem;--font-size-xl: 1rem}}@media (max-width: 375px){html{font-size:14px}:root{--font-size-3xl: 1.375rem;--font-size-2xl: 1.125rem}}@media (max-width: 320px){html{font-size:13px}:root{--font-size-3xl: 1.25rem;--font-size-2xl: 1rem;--spacing-lg: 16px;--spacing-xl: 20px}}@media (prefers-contrast: high){:root{--color-background: #000000;--color-text-primary: #ffffff;--color-text-secondary: #cccccc;--color-surface: #111111;--color-border: #333333}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}lord-icon{--trigger: none !important;--delay: 0ms !important;--speed: 0ms !important}lord-icon *{animation:none!important;transition:none!important}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.5}h1,h2,h3,h4,h5,h6{page-break-after:avoid;font-weight:700}p,blockquote{orphans:3;widows:3}a{text-decoration:underline}a[href^=http]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}}
