@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Merriweather:wght@400;700&display=swap);.page-container{min-height:calc(100vh - 160px);padding:var(--spacing-xxl) 0}.page-header{margin-bottom:var(--spacing-xxl)}.page-subtitle{color:var(--dark-gray);font-size:1.2rem;margin:0 auto;max-width:600px;opacity:.9}.coming-soon{background:var(--light-gray);border-radius:var(--border-radius-lg);margin:var(--spacing-xl) 0;padding:var(--spacing-xxl);text-align:center}.coming-soon h2{color:var(--primary-color);margin-bottom:var(--spacing-md)}.hero-section{background:linear-gradient(135deg,var(--primary-color) 0,#004080 100%);color:var(--white);margin-bottom:var(--spacing-xxl);padding:var(--spacing-xxl) 0}.hero-content{grid-gap:var(--spacing-xxl);align-items:center;display:grid;gap:var(--spacing-xxl);grid-template-columns:1fr 1fr}.hero-title{color:var(--white);font-size:3rem;margin-bottom:var(--spacing-lg)}.hero-subtitle{color:#ffffffe6;font-size:1.3rem;margin-bottom:var(--spacing-xl);opacity:.9}.hero-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.hero-image img{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);height:auto;width:100%}.stats-section{background:var(--light-gray);padding:var(--spacing-xxl) 0}.stats-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);text-align:center}.stat-icon{color:var(--secondary-color);font-size:2.5rem;margin-bottom:var(--spacing-md)}.stat-number{color:var(--primary-color);font-size:2.5rem;margin-bottom:var(--spacing-sm)}.stat-label{color:var(--medium-gray);font-weight:500}.announcements-section{padding:var(--spacing-xxl) 0}.announcements-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.announcement-card{background:var(--white);border:1px solid var(--light-gray);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);transition:box-shadow var(--transition-normal)}.announcement-card:hover{box-shadow:var(--shadow-md)}.announcement-date{color:var(--medium-gray);font-size:.9rem;margin-bottom:var(--spacing-sm)}.announcement-title{color:var(--primary-color);margin-bottom:var(--spacing-md)}.announcement-link{color:var(--accent-color);font-weight:600;text-decoration:none}.sidebar .card{margin-bottom:var(--spacing-lg)}.quick-actions{flex-direction:column}.quick-action-btn,.quick-actions{display:flex;gap:var(--spacing-sm)}.quick-action-btn{align-items:center;background:var(--light-gray);border-radius:var(--border-radius-md);color:var(--primary-color);padding:var(--spacing-md);text-decoration:none;transition:all var(--transition-fast)}.quick-action-btn:hover{background:var(--primary-color);color:var(--white)}.supporter-logo{height:auto;margin-bottom:var(--spacing-md);max-width:150px}.calendar-section{background:var(--light-gray);padding:var(--spacing-xxl) 0}.calendar-placeholder{background:var(--white);border:2px dashed var(--medium-gray);border-radius:var(--border-radius-lg);padding:var(--spacing-xxl);text-align:center}.calendar-layout{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:2fr 1fr;margin-bottom:var(--spacing-xxl)}.calendar-main{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.calendar-header{border-bottom:2px solid var(--light-gray);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.calendar-header h2{color:var(--primary-color)}.refresh-btn{background:var(--primary-color);border-radius:var(--border-radius-md);color:var(--white);font-size:.9rem;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.refresh-btn:hover{background:#024}.calendar-sidebar{display:flex;flex-direction:column;gap:var(--spacing-lg)}.events-section{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.events-section h3{font-size:1.5rem}.calendar-summary{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.calendar-summary h3{color:var(--primary-color);margin-bottom:var(--spacing-lg)}.summary-stats{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.summary-stats .stat{flex:1 1;text-align:center}.summary-stats .stat-number{color:var(--primary-color);display:block;font-size:2rem;font-weight:700;line-height:1}.summary-stats .stat-label{color:var(--medium-gray);display:block;font-size:.9rem;margin-top:var(--spacing-xs)}.calendar-note{background:var(--light-gray);border-left:4px solid var(--secondary-color);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.calendar-note p{color:var(--dark-gray)}.events-section h3{border-bottom:2px solid var(--secondary-color);color:var(--primary-color);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.contact-section{padding:var(--spacing-xxl) 0}.contact-info p{margin-bottom:var(--spacing-sm)}.social-links{gap:var(--spacing-sm)}.social-links a{color:var(--primary-color);font-weight:500;text-decoration:none}.board-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--spacing-xxl)}.board-member-card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-normal)}.board-member-card:hover{box-shadow:var(--shadow-lg)}.member-photo{height:200px;overflow:hidden}.member-photo img{height:100%;object-fit:cover;width:100%}.photo-placeholder{align-items:center;background:var(--light-gray);color:var(--medium-gray);display:flex;font-size:3rem;height:100%;justify-content:center;width:100%}.member-info{padding:var(--spacing-lg)}.member-info h3{color:var(--primary-color);margin-bottom:var(--spacing-xs)}.member-info h4{color:var(--secondary-color);font-size:1rem;margin-bottom:var(--spacing-md)}.contact-link{color:var(--accent-color);font-weight:500}.board-info-section{background:var(--light-gray);border-radius:var(--border-radius-lg);margin-top:var(--spacing-xxl);padding:var(--spacing-xl)}.board-info-section .col-6{padding:0 var(--spacing-lg)}.board-info-section .col-6:first-child{border-right:1px solid var(--medium-gray);padding-right:var(--spacing-xl)}.board-info-section .col-6:last-child{padding-left:var(--spacing-xl)}.store-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--spacing-xxl)}.product-card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-normal)}.product-card:hover{box-shadow:var(--shadow-lg)}.product-image{height:200px;overflow:hidden}.product-image img{height:100%;object-fit:cover;width:100%}.product-placeholder{align-items:center;background:var(--light-gray);color:var(--medium-gray);display:flex;font-size:3rem;height:100%;justify-content:center;width:100%}.product-info{padding:var(--spacing-lg)}.product-price{color:var(--primary-color);font-size:1.5rem;font-weight:700;margin:var(--spacing-md) 0}.store-info{background:var(--light-gray);border-radius:var(--border-radius-lg);padding:var(--spacing-xl)}.membership-benefits{margin-bottom:var(--spacing-xxl)}.benefits-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.benefit-card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);text-align:center}.membership-types{margin-bottom:var(--spacing-xxl)}.membership-cards{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.membership-card{background:var(--white);border:2px solid #0000;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);text-align:center;transition:all var(--transition-normal)}.membership-card.featured{border-color:var(--secondary-color);transform:scale(1.05)}.membership-card:hover{box-shadow:var(--shadow-lg)}.membership-card .price{color:var(--primary-color);font-size:2.5rem;font-weight:700;margin:var(--spacing-md) 0}.volunteer-opportunities{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.opportunity-card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-normal)}.opportunity-card:hover{box-shadow:var(--shadow-lg)}.opportunity-details{color:var(--medium-gray);display:flex;flex-direction:column;font-size:.9rem;gap:var(--spacing-xs);margin:var(--spacing-md) 0}.time-commitment:before{content:"⏰ "}.skills:before{content:"🔧 "}.auth-page{align-items:center;background:var(--light-gray);display:flex;min-height:calc(100vh - 160px)}.auth-container{margin:0 auto;max-width:500px;width:100%}.auth-card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xxl)}.auth-header{margin-bottom:var(--spacing-xl);text-align:center}.auth-header h1{color:var(--primary-color);margin-bottom:var(--spacing-sm)}.auth-form,.form-group{margin-bottom:var(--spacing-lg)}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.form-group label{color:var(--dark-gray);display:block;font-weight:600;margin-bottom:var(--spacing-xs)}.form-control{border:2px solid var(--light-gray);border-radius:var(--border-radius-md);font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast);width:100%}.form-control:focus{border-color:var(--primary-color);outline:none}.btn-full{width:100%}.error-message{background:#fee;border:1px solid #fcc;border-radius:var(--border-radius-md);color:#c33;margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.auth-footer{text-align:center}.auth-footer p{margin-bottom:var(--spacing-sm)}.auth-link{color:var(--primary-color);font-weight:600}.dashboard-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--spacing-xxl)}.dashboard-card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);text-align:center}.status-badge{background:var(--secondary-color);border-radius:var(--border-radius-sm);color:var(--primary-color);font-size:.8rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.admin-section{background:var(--light-gray);border-radius:var(--border-radius-lg);padding:var(--spacing-xl)}.admin-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.loading-container{align-items:center;display:flex;justify-content:center;min-height:200px}.loading-spinner{text-align:center}.spinner{animation:spin 1s linear infinite;border-top:4px solid var(--light-gray);border:4px solid var(--light-gray);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin:0 auto var(--spacing-md);width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.access-denied{padding:var(--spacing-xxl);text-align:center}.access-denied h2{color:var(--accent-color);margin-bottom:var(--spacing-md)}@media (max-width:768px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.hero-buttons{justify-content:center}.calendar-layout{gap:var(--spacing-lg);grid-template-columns:1fr}}@media (max-width:480px){.hero-title{font-size:2rem}.stats-grid{grid-template-columns:1fr}.page-container{padding:var(--spacing-lg) 0}}.header{background:var(--white);box-shadow:var(--shadow-md);z-index:1000}.header,.mobile-menu-overlay{left:0;position:fixed;right:0;top:0;transition:all var(--transition-normal)}.mobile-menu-overlay{background:#00000080;bottom:0;opacity:0;visibility:hidden;z-index:998}.mobile-menu-overlay.active{opacity:1;visibility:visible}.header-content{align-items:center;display:flex;justify-content:space-between;min-height:80px;padding:var(--spacing-sm) 0}.header-brand{flex-shrink:0}.brand-link{color:inherit;text-decoration:none}.logo-container{align-items:center;display:flex;gap:var(--spacing-md)}.school-logo{height:50px;object-fit:contain;width:auto}.brand-text{display:flex;flex-direction:column}.school-name{color:var(--primary-color);font-size:1.5rem;font-weight:700;line-height:1.2;margin:0}.pta-text{color:var(--medium-gray);font-size:.875rem;font-weight:500;margin:0}.mobile-menu-toggle{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:30px;justify-content:space-around;padding:0;width:30px;z-index:1001}.mobile-menu-toggle.show{display:flex}.mobile-menu-toggle span{background:var(--primary-color);border-radius:2px;height:3px;transform-origin:center;transition:all var(--transition-fast);width:100%}.mobile-menu-toggle.active span:first-child{transform:rotate(45deg) translate(6px,6px)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.nav,.nav-desktop{align-items:center;display:flex;gap:var(--spacing-xl)}.nav-desktop .nav-list{align-items:center;display:flex;gap:var(--spacing-lg)}.nav-desktop .auth-section{align-items:center;display:flex;gap:var(--spacing-md);margin-left:auto}.nav-mobile{display:none}.nav-mobile.nav-open{-webkit-overflow-scrolling:touch;animation:slideDown .3s ease-out;background:var(--white);bottom:0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;left:0;overflow-y:auto;padding:var(--spacing-lg);position:fixed;right:0;top:70px;z-index:999}.nav-list{list-style:none;margin:0;padding:0}.nav-item{position:relative}.nav-link{align-items:center;border-radius:var(--border-radius-sm);color:var(--dark-gray);display:flex;font-size:.95rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:color var(--transition-fast)}.nav-link:hover{background-color:var(--light-gray);color:var(--primary-color)}.dropdown{position:relative}.dropdown-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.dropdown-toggle:after{content:"▼";font-size:.7rem;margin-left:var(--spacing-xs);transition:transform var(--transition-fast)}.dropdown-menu.show+.dropdown-toggle:after,.dropdown:hover .dropdown-toggle:after{transform:rotate(180deg)}.dropdown-menu{background:var(--white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);left:0;list-style:none;margin:0;min-width:200px;opacity:0;padding:var(--spacing-sm) 0;position:absolute;top:100%;transform:translateY(-10px);transition:all var(--transition-fast);visibility:hidden;z-index:1000}.dropdown-menu.show,.dropdown:hover .dropdown-menu{opacity:1;transform:translateY(0);visibility:visible}.dropdown-link{color:var(--dark-gray);display:block;font-size:.9rem;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast)}.dropdown-link:hover{background-color:var(--light-gray);color:var(--primary-color)}.auth-section,.user-menu{align-items:center;display:flex;gap:var(--spacing-md)}.welcome-text{color:var(--medium-gray);font-size:.9rem;font-weight:500}.auth-buttons{align-items:center;display:flex;gap:var(--spacing-sm)}.auth-buttons .btn{white-space:nowrap}.btn-sm{font-size:.875rem;min-height:36px;padding:var(--spacing-xs) var(--spacing-md)}@media (max-width:1024px){.nav{gap:var(--spacing-md)}.nav-list{gap:var(--spacing-sm)}.nav-link{font-size:.9rem}.auth-buttons .btn,.nav-link{padding:var(--spacing-xs) var(--spacing-sm)}.auth-buttons .btn{font-size:.875rem}}.nav-mobile .nav-list{flex-direction:column;gap:0;width:100%}.nav-mobile .nav-item{border-bottom:1px solid var(--light-gray);width:100%}.nav-mobile .nav-item:last-child{border-bottom:none}.nav-mobile .nav-link{border-radius:0;justify-content:space-between;padding:var(--spacing-md);width:100%}.nav-mobile .dropdown-menu{background:var(--light-gray);border-radius:0;box-shadow:none;margin-top:0;max-height:0;opacity:0;overflow:hidden;position:static;transform:none;transition:all var(--transition-fast);visibility:hidden}.nav-mobile .dropdown-menu.show,.nav-mobile .dropdown:hover .dropdown-menu{max-height:200px;opacity:1;visibility:visible}.nav-mobile .auth-section{border-top:1px solid var(--light-gray);justify-content:center;padding-top:var(--spacing-lg);width:100%}.nav-mobile .user-menu{flex-direction:column;gap:var(--spacing-sm);text-align:center}.nav-mobile .auth-buttons{flex-direction:column;gap:var(--spacing-sm);width:100%}.nav-mobile .auth-buttons .btn{width:100%}@media (max-width:480px){.header-content{min-height:70px}.logo-container{gap:var(--spacing-sm)}.school-logo{height:40px}.school-name{font-size:1.1rem}.pta-text{font-size:.75rem}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.footer{background:var(--primary-color);color:var(--white);margin-top:auto}.footer-content{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:var(--spacing-xxl) 0}.footer-section{display:flex;flex-direction:column}.footer-title{border-bottom:2px solid var(--secondary-color);color:var(--secondary-color);font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-item{align-items:flex-start;display:flex;gap:var(--spacing-sm)}.contact-icon{color:var(--secondary-color);flex-shrink:0;font-size:1.1rem;margin-top:2px}.contact-link{color:var(--white);text-decoration:none;transition:color var(--transition-fast)}.contact-link:hover{color:var(--secondary-color)}.contact-text{line-height:1.5}.footer-links{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.footer-link{border-left:3px solid #0000;color:var(--white);padding:var(--spacing-xs) 0;padding-left:var(--spacing-sm);text-decoration:none;transition:all var(--transition-fast)}.footer-link:hover{border-left-color:var(--secondary-color);color:var(--secondary-color);padding-left:var(--spacing-md)}.school-info{display:flex;flex-direction:column;gap:var(--spacing-lg)}.school-description{color:#ffffffe6;line-height:1.6}.school-links{display:flex;flex-direction:column;gap:var(--spacing-sm)}.school-link{align-items:center;color:var(--white);display:inline-flex;font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.school-link:hover{color:var(--secondary-color)}.school-link:after{content:"→";margin-left:var(--spacing-xs);transition:transform var(--transition-fast)}.school-link:hover:after{transform:translateX(4px)}.social-section{gap:var(--spacing-lg)}.social-links,.social-section{display:flex;flex-direction:column}.social-links{gap:var(--spacing-md)}.social-link{align-items:center;background:#ffffff1a;border-radius:var(--border-radius-md);color:var(--secondary-color);display:flex;font-size:1.1rem;gap:var(--spacing-sm);padding:var(--spacing-sm);text-decoration:none;transition:all var(--transition-fast)}.social-link:hover{background:var(--secondary-color);color:var(--primary-color);transform:translateY(-2px)}.social-text{font-size:.9rem;font-weight:500}.newsletter-signup{display:flex;flex-direction:column;gap:var(--spacing-sm)}.newsletter-text{color:#ffffffe6;font-size:.9rem;margin:0}.newsletter-form{display:flex;gap:var(--spacing-xs)}.newsletter-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:none;border-radius:var(--border-radius-sm);color:var(--white);flex:1 1;font-size:.9rem;padding:var(--spacing-sm)}.newsletter-input::placeholder{color:#ffffffb3}.newsletter-input:focus{background:#fff3;outline:none}.newsletter-btn{background:var(--secondary-color);border:none;border-radius:var(--border-radius-sm);color:var(--primary-color);cursor:pointer;font-size:.9rem;font-weight:600;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast);white-space:nowrap}.newsletter-btn:hover{background:#e6c200;transform:translateY(-1px)}.footer-bottom{border-top:1px solid #fff3;padding:var(--spacing-lg) 0}.footer-bottom-content{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.copyright{color:#fffc;font-size:.9rem;margin:0}.footer-bottom-links{display:flex;gap:var(--spacing-lg)}.footer-bottom-link{color:#fffc;font-size:.9rem;text-decoration:none;transition:color var(--transition-fast)}.footer-bottom-link:hover{color:var(--secondary-color)}@media (max-width:768px){.footer-content{gap:var(--spacing-xl);grid-template-columns:1fr;padding:var(--spacing-xl) 0}.footer-section{text-align:center}.contact-item{justify-content:center}.footer-links{align-items:center}.footer-link{border-bottom:2px solid #0000;border-left:none;padding-bottom:var(--spacing-xs);padding-left:0}.footer-link:hover{border-bottom-color:var(--secondary-color);border-left:none;padding-left:0}.school-links{align-items:center}.social-links{flex-direction:row;gap:var(--spacing-lg);justify-content:center}.newsletter-form{flex-direction:column}.footer-bottom-content{flex-direction:column;text-align:center}.footer-bottom-links{flex-wrap:wrap;justify-content:center}}@media (max-width:640px){.social-links{flex-direction:row;gap:var(--spacing-lg);justify-content:center}.social-link{font-size:1.3rem;height:50px;justify-content:center;padding:var(--spacing-sm);width:50px}.social-text{display:none}}@media (max-width:480px){.footer-content{padding:var(--spacing-lg) 0}.footer-title{font-size:1.1rem}.social-link{font-size:1.5rem;height:50px;justify-content:center;padding:var(--spacing-sm);width:50px}.social-text{display:none}.footer-bottom-links{flex-direction:column;gap:var(--spacing-sm)}}.calendar-events-list{width:100%}.last-event-section{margin-bottom:var(--spacing-xxl)}.last-event-section h3{font-size:1.5rem;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.upcoming-events-section h3{color:var(--dark-gray);font-size:1.5rem;margin-bottom:var(--spacing-lg)}.error,.loading,.no-events{color:var(--medium-gray);padding:var(--spacing-xxl);text-align:center}.loading-icon,.no-events-icon{color:var(--primary-color);display:block;font-size:3rem;margin-bottom:var(--spacing-lg)}.error{color:var(--accent-color)}.retry-btn{background:var(--primary-color);border-radius:var(--border-radius-md);color:var(--white);font-weight:600;margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.retry-btn:hover{background:#024;transform:translateY(-1px)}.events-grid{display:flex;flex-direction:column;gap:var(--spacing-lg)}.event-card{background:var(--white);border:1px solid var(--light-gray);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;position:relative;transition:all var(--transition-normal)}.event-card:hover{box-shadow:var(--shadow-md)}.event-card.ongoing{border-left:4px solid var(--secondary-color)}.event-card.upcoming{border-left:4px solid var(--primary-color)}.event-card.past{border-left:4px solid #6c757d;opacity:.85}.last-event-section .event-card .event-date-badge{background:#6c757d!important}.last-event-section .event-card .event-title{color:#5a6c7d!important}.event-card.past .event-title:after{color:var(--medium-gray);content:" (Recent)";font-size:.8rem;font-weight:400;margin-left:.5rem}.event-date-badge{align-items:center;background:var(--primary-color);color:var(--white);display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:var(--spacing-lg);text-align:center}.event-month{font-size:.8rem;font-weight:600;letter-spacing:1px;margin-bottom:var(--spacing-xs)}.event-day{font-size:1.8rem}.event-card.ongoing .event-date-badge{background:var(--secondary-color);color:var(--primary-color)}.event-card.past .event-date-badge{background:var(--medium-gray)}.event-content{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.event-title{color:var(--primary-color);font-size:1.25rem;line-height:1.3;margin:0}.event-card.past .event-title{color:var(--medium-gray)}.event-details{flex-direction:column}.event-detail,.event-details{display:flex;gap:var(--spacing-sm)}.event-detail{align-items:center;color:var(--dark-gray);font-size:.9rem}.detail-icon{color:var(--primary-color);flex-shrink:0;font-size:.8rem;width:16px}.event-card.past .detail-icon,.event-description{color:var(--medium-gray)}.event-description{line-height:1.5}.event-link{align-items:center;color:var(--accent-color);display:inline-flex;font-size:.9rem;font-weight:600;gap:var(--spacing-xs);margin-top:auto;text-decoration:none;transition:color var(--transition-fast)}.event-link:hover{color:#b91c3c}.event-link svg{font-size:.8rem}.view-all-container{border-top:1px solid var(--light-gray);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);text-align:center}@media (max-width:768px){.event-card{flex-direction:column}.event-date-badge{flex-direction:row;justify-content:center;min-width:auto;padding:var(--spacing-md)}.event-month{margin-bottom:0;margin-right:var(--spacing-sm)}.event-day{font-size:1.5rem}.event-details{gap:var(--spacing-xs)}.event-detail{font-size:.85rem}}@media (max-width:480px){.calendar-events-list{margin:0 -var(--spacing-sm)}.event-card{border-radius:var(--border-radius-md);margin:0 var(--spacing-sm)}.event-content{padding:var(--spacing-md)}.event-title{font-size:1.1rem}}.calendar-container{font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.calendar-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.calendar-header h2{color:#2c3e50;font-size:2rem;margin:0}.refresh-btn{align-items:center;background-color:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:center;min-width:44px;padding:10px 20px;transition:all .3s ease}.refresh-btn:hover{background-color:#2980b9;transform:translateY(-1px)}.refresh-icon{font-size:14px;transition:transform .3s ease}.refresh-btn:hover .refresh-icon{transform:rotate(180deg)}.refresh-text{white-space:nowrap}.calendar-content{display:flex;flex-direction:column;gap:30px;margin-top:20px}.calendar-events-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:2fr 1fr}.last-event-section{margin-bottom:30px}.last-event-section h3{align-items:center;color:#6c757d;display:flex;font-size:1.3rem;gap:10px;margin-bottom:15px}.past-event{border-left:4px solid #6c757d!important;opacity:.85}.past-event .event-date{background-color:#6c757d!important}.past-event .event-title{color:#5a6c7d!important}@media (max-width:768px){.calendar-container{padding:15px}.calendar-header{gap:15px;margin-bottom:20px}.calendar-header h2{font-size:1.5rem}.refresh-btn{height:44px;min-width:44px;padding:10px;width:44px}.refresh-text{display:none}.refresh-icon{font-size:16px}.calendar-content{gap:20px}.calendar-events-section{gap:20px;grid-template-columns:1fr}}@media (max-width:480px){.calendar-header{gap:10px}.calendar-header h2{font-size:1.3rem}.refresh-btn{height:40px;padding:8px;width:40px}.refresh-icon{font-size:14px}}.upcoming-events h3{color:#2c3e50;font-size:1.5rem;margin-bottom:20px}.events-list{display:flex;flex-direction:column;gap:15px}.event-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 4px #0000001a;display:flex;gap:15px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.event-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.event-date{background-color:#3498db;border-radius:8px;color:#fff;height:-webkit-fit-content;height:fit-content;min-width:60px;padding:10px;text-align:center}.event-day{font-size:1.5rem;font-weight:700;line-height:1}.event-month{font-size:.9rem;margin-top:2px;text-transform:uppercase}.event-details{flex:1 1}.event-title{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 8px}.event-time{color:#7f8c8d;font-weight:500;margin:0 0 5px}.event-location{color:#27ae60;font-size:.9rem;margin:0 0 8px}.event-description{color:#5d6d7e;font-size:.9rem;line-height:1.4;margin:0}.event-description p{margin:0 0 .5rem}.event-description a{color:#007bff;text-decoration:none}.event-description a:hover{text-decoration:underline}.event-actions{align-items:flex-start;display:flex}.view-in-google-btn{background-color:#e74c3c;border-radius:5px;color:#fff;font-size:.8rem;padding:8px 12px;text-decoration:none;transition:background-color .3s ease;white-space:nowrap}.view-in-google-btn:hover{background-color:#c0392b;color:#fff;text-decoration:none}.calendar-summary{background:#f8f9fa;border-radius:10px;height:-webkit-fit-content;height:fit-content;padding:20px}.calendar-summary h3{color:#2c3e50;font-size:1.3rem;margin-bottom:20px}.summary-stats{display:flex;gap:20px;margin-bottom:20px}.stat{flex:1 1;text-align:center}.stat-number{color:#3498db;display:block;font-size:2rem;font-weight:700;line-height:1}.stat-label{color:#7f8c8d;display:block;font-size:.9rem;margin-top:5px}.calendar-note{background:#fff;border-left:4px solid #f39c12;border-radius:8px;padding:15px}.calendar-note p{color:#5d6d7e;font-size:.9rem;line-height:1.4;margin:0}.error,.loading{color:#7f8c8d;padding:40px;text-align:center}.error{color:#e74c3c}.retry-btn{background-color:#e74c3c;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:10px;padding:10px 20px;transition:background-color .3s ease}.retry-btn:hover{background-color:#c0392b}.no-events{background:#f8f9fa;border-radius:8px;color:#7f8c8d;font-style:italic;padding:20px;text-align:center}.calendar-page{min-height:100vh}.page-header{background:linear-gradient(135deg,#2c3e50,#3498db);color:#fff;padding:60px 0;text-align:center}.page-header h1{font-size:3rem;font-weight:700;margin-bottom:15px}.page-description{font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:600px;opacity:.9}.page-content{padding:40px 0}.container{padding:0 20px}.calendar-info{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:50px}.info-section{background:#fff;border-left:4px solid #3498db;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:30px}.info-section h3{color:#2c3e50;font-size:1.4rem;margin-bottom:20px}.info-section ul{list-style:none;padding:0}.info-section li{margin-bottom:15px;padding-left:20px;position:relative}.info-section li:before{color:#27ae60;content:"✓";font-weight:700;left:0;position:absolute}.meeting-details{display:flex;flex-direction:column;gap:20px}.meeting-item{background:#f8f9fa;border-left:3px solid #e74c3c;border-radius:8px;padding:20px}.meeting-item h4{color:#2c3e50;font-size:1.1rem;margin-bottom:10px}.meeting-item p{color:#5d6d7e;line-height:1.5;margin:0}@media (max-width:768px){.page-header h1{font-size:2rem}.page-description{font-size:1rem}.calendar-info{grid-template-columns:1fr;margin-top:30px}.info-section{padding:20px}}.embedded-calendar{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-top:30px;padding:20px}.embedded-calendar h3{color:#2c3e50;font-size:1.3rem;margin-bottom:20px;text-align:center}.embed-note{color:#7f8c8d;font-size:.9rem;margin:0;text-align:center}.embed-note a{color:#3498db;text-decoration:none}.embed-note a:hover{text-decoration:underline}.full-calendar-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-top:50px;padding:30px}.full-calendar-section h2{color:#2c3e50;font-size:1.8rem;margin-bottom:25px;text-align:center}.calendar-controls{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px;padding:15px}.calendar-control-btn{background-color:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s ease}.calendar-control-btn:hover{background-color:#2980b9}.calendar-navigation{display:flex;gap:5px}.nav-btn{background-color:#ecf0f1;border:none;border-radius:5px;color:#2c3e50;cursor:pointer;font-size:16px;padding:8px 12px;transition:background-color .3s ease}.nav-btn:hover{background-color:#bdc3c7}.calendar-month{color:#2c3e50;font-size:1.1rem;font-weight:600}.calendar-view-options{display:flex;gap:5px}.view-btn{background-color:#e74c3c;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s ease}.view-btn:hover{background-color:#c0392b}.calendar-embed{background:#fff;border-radius:10px;box-shadow:0 4px 15px #0000001a;margin-bottom:15px;overflow:hidden}.calendar-embed iframe{border:0;display:block;height:600px;width:100%}@media (max-width:768px){.embedded-calendar{margin-top:20px;padding:15px}.calendar-embed iframe{height:400px!important}.calendar-controls{align-items:stretch;flex-direction:column;gap:15px}.calendar-navigation,.calendar-view-options{justify-content:center}.full-calendar-section{margin-top:30px;padding:20px}.full-calendar-section h2{font-size:1.5rem}}:root{--primary-color:#036;--secondary-color:gold;--accent-color:#e31837;--white:#fff;--light-gray:#f8f9fa;--medium-gray:#6c757d;--dark-gray:#343a40;--black:#000;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-secondary:"Merriweather",Georgia,serif;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--transition-fast:0.15s ease-in-out;--transition-normal:0.3s ease-in-out;--transition-slow:0.5s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--white);color:#343a40;color:var(--dark-gray);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-primary);line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding-top:80px}h1,h2,h3,h4,h5,h6{color:#036;color:var(--primary-color);font-family:Merriweather,Georgia,serif;font-family:var(--font-secondary);font-weight:700;line-height:1.2;margin-bottom:1rem;margin-bottom:var(--spacing-md)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{line-height:1.7;margin-bottom:1rem;margin-bottom:var(--spacing-md)}a{color:#036;color:var(--primary-color);text-decoration:none;transition:color .15s ease-in-out;transition:color var(--transition-fast)}a:hover{color:#e31837;color:var(--accent-color)}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--border-radius-md);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-primary);font-size:1rem;font-weight:600;justify-content:center;min-height:44px;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all .15s ease-in-out;transition:all var(--transition-fast)}.btn-primary{background-color:#036;background-color:var(--primary-color);color:#fff;color:var(--white)}.btn-primary:hover{background-color:#024;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:gold;background-color:var(--secondary-color);color:#036;color:var(--primary-color)}.btn-secondary:hover{background-color:#e6c200;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{background-color:initial;border:2px solid #036;border:2px solid var(--primary-color);color:#036;color:var(--primary-color)}.btn-outline:hover{background-color:#036;background-color:var(--primary-color);color:#fff;color:var(--white)}.container{margin:0 auto;max-width:1200px}.container,.container-fluid{padding:0 1.5rem;padding:0 var(--spacing-lg)}.container-fluid{width:100%}.row{display:flex;flex-wrap:wrap;margin:0 -var(--spacing-sm)}.col{flex:1 1;padding:0 .5rem;padding:0 var(--spacing-sm)}.col-12{flex:0 0 100%}.col-6{flex:0 0 50%}.col-4{flex:0 0 33.333333%}.col-3{flex:0 0 25%}.card{background:#fff;background:var(--white);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .3s ease-in-out;transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg)}.card-header{border-bottom:1px solid #f8f9fa;border-bottom:1px solid var(--light-gray)}.card-body,.card-footer,.card-header{padding:1.5rem;padding:var(--spacing-lg)}.card-footer{background-color:#f8f9fa;background-color:var(--light-gray);border-top:1px solid #f8f9fa;border-top:1px solid var(--light-gray)}@media (max-width:768px){.container{padding:0 1rem;padding:0 var(--spacing-md)}.col-3,.col-4,.col-6{flex:0 0 100%;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.main-content{padding-top:70px}}@media (max-width:480px){.container{padding:0 .5rem;padding:0 var(--spacing-sm)}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:.25rem;margin-top:var(--spacing-xs)}.mt-2{margin-top:.5rem;margin-top:var(--spacing-sm)}.mt-3{margin-top:1rem;margin-top:var(--spacing-md)}.mt-4{margin-top:1.5rem;margin-top:var(--spacing-lg)}.mt-5{margin-top:2rem;margin-top:var(--spacing-xl)}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.align-items-center{align-items:center}.fade-in{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}