.header{position:absolute;top:0;left:0;right:0;background:transparent;height:var(--header-height);font-family:var(--font-family-primary);z-index:var(--z-index-header)}.header-container{max-width:var(--container-xl);margin:0 auto;padding:72px var(--space-xl);height:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.header-left{display:flex;align-items:center;gap:var(--space-md)}@media (max-width: 1024px){.header-container{padding:48px var(--space-lg)}}@media (max-width: 768px){.header-container{padding:32px var(--space-md)}}@media (max-width: 480px){.header-container{padding:16px var(--space-sm);flex-direction:column;align-items:center;gap:var(--space-sm)}.header{height:auto;min-height:var(--header-height-mobile)}.header-left{gap:var(--space-xs);justify-content:center}}.logo{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-white);cursor:pointer;transition:var(--transition-all);outline:none;text-decoration:none;letter-spacing:.5px;font-family:inherit}.logo:hover{color:#fffc;transform:translateY(-1px)}.logo:focus{color:#fffc;box-shadow:0 0 0 var(--focus-ring-width) #fffc;border-radius:var(--border-radius-sm);padding:var(--space-xs) var(--space-xs)}.header.scrolled .logo:focus{color:var(--color-primary-hover);box-shadow:var(--focus-ring-shadow)}.logo:active{transform:translateY(0)}@media (max-width: 768px){.logo{font-size:var(--font-size-xl)}}@media (max-width: 480px){.logo{font-size:var(--font-size-lg);letter-spacing:.25px}}.cart-icon-container{position:relative;cursor:pointer;padding:var(--space-sm);border-radius:var(--border-radius-sm);transition:var(--transition-all);outline:none;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.cart-icon-container:hover{background-color:#19189c14;transform:translateY(-1px)}.cart-icon-container:focus{background-color:#19189c14;box-shadow:var(--focus-ring-shadow)}.cart-icon-container:active{transform:translateY(0);background-color:#19189c1f}.cart-icon{color:var(--color-white);transition:var(--transition-all);font-size:24px;text-shadow:none!important}.cart-icon-container:hover .cart-icon{color:#fffc}.header.scrolled .cart-icon-container:hover .cart-icon{color:var(--color-primary-hover)}.cart-badge{position:absolute;top:2px;right:2px;background:var(--color-error-light);color:var(--color-white);border-radius:var(--border-radius-full);width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);min-width:20px;border:var(--border-width-medium) solid var(--color-white);box-shadow:var(--shadow-sm);text-shadow:none!important}@media (max-width: 768px){.cart-icon-container{padding:var(--space-xs);min-width:40px;min-height:40px}.cart-icon{font-size:22px}.cart-badge{width:18px;height:18px;font-size:var(--font-size-xs);min-width:18px}}@media (max-width: 480px){.cart-icon-container{padding:var(--space-xs);min-width:36px;min-height:36px}.cart-icon{font-size:20px}.cart-badge{width:16px;height:16px;font-size:var(--font-size-xs);min-width:16px;top:1px;right:1px}}.focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--header-primary-color);color:#fff;padding:8px;z-index:var(--header-z-index);transition:top .2s ease}.logo:focus-visible,.cart-icon-container:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset);box-shadow:none}@media (max-width: 480px){.logo,.cart-icon-container{min-height:44px;min-width:44px;display:flex;align-items:center}}.navigation{position:relative;background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--border-radius-pill);padding:var(--space-xs) var(--space-sm)}.navigation-pill{position:absolute;background:var(--color-primary);border-radius:var(--border-radius-pill);opacity:0;pointer-events:none;z-index:1;transition:all .3s cubic-bezier(.4,0,.2,1)}.navigation-content{display:flex;align-items:center;gap:var(--space-md);min-width:0;flex-wrap:nowrap}.separator{width:1px;height:24px;background:#ffffff4d;margin:0 var(--space-md)}.login-section{margin-left:auto;display:flex;align-items:center;gap:var(--space-sm)}.navigation-item,.navigation button,.navigation .admin-login-btn,.navigation .admin-panel-btn,.navigation .admin-logout-btn,.navigation .cart-icon-container{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-md);color:var(--color-white);background:transparent;border:none;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);border-radius:var(--border-radius-pill);cursor:pointer;outline:none;z-index:2;font-family:inherit;min-height:32px;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;white-space:nowrap;transition:var(--transition-colors)}.navigation-item:hover,.navigation button:hover,.navigation .admin-login-btn:hover,.navigation .admin-panel-btn:hover,.navigation .admin-logout-btn:hover{text-decoration:none;color:var(--color-white)}.navigation-item:focus-visible,.navigation button:focus-visible,.navigation .cart-icon-container:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}.navigation .admin-auth{display:flex;align-items:center;gap:var(--space-sm);margin:0;flex-shrink:0;white-space:nowrap}.navigation *{text-shadow:none}.navigation .mini-cart-button:hover{background:transparent!important}@media (max-width: 768px){.navigation{padding:var(--space-xs)}.navigation-content{gap:var(--space-sm)}.navigation-item,.navigation button,.navigation .admin-login-btn,.navigation .admin-panel-btn,.navigation .admin-logout-btn,.navigation .cart-icon-container{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);min-height:44px}.separator{height:20px;margin:0 var(--space-xs);opacity:.5}.login-section{gap:var(--space-xs)}.navigation .admin-user-name{display:block}}@media (max-width: 480px){.navigation{width:100%;max-width:400px}.navigation-content{gap:var(--space-xs);justify-content:center}.separator,.navigation .mica-link{display:none}.navigation .admin-user-name{display:none!important}.login-section{margin-left:0}}@supports not (backdrop-filter: blur(20px)){.navigation{background:#fffffff2}}@media (prefers-contrast: high){.navigation{background:#fffffffa;border:2px solid var(--color-text-primary)}}@media (prefers-reduced-motion: reduce){.navigation-pill{transition:none}}.admin-auth{display:flex;align-items:center;gap:var(--space-md);margin-left:auto;margin-right:var(--space-md)}.admin-loading{font-size:var(--font-size-sm);font-style:italic;color:var(--color-white);display:flex;align-items:center;min-height:40px;white-space:nowrap}.admin-auth.authenticated{gap:var(--space-sm)}.admin-user-info{display:flex;align-items:center}.admin-user-name{font-size:var(--font-size-sm);color:var(--color-white);font-weight:var(--font-weight-medium);transition:var(--transition-all)}.header.scrolled .admin-user-name{color:var(--color-text-primary);text-shadow:none}.admin-login-btn,.admin-panel-btn,.admin-logout-btn{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--border-radius-pill);background:transparent;color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-all);text-decoration:none;display:inline-block;text-transform:uppercase;letter-spacing:.5px;text-shadow:none;min-height:40px}.header.scrolled .admin-login-btn,.header.scrolled .admin-panel-btn,.header.scrolled .admin-logout-btn{border:var(--border-width-thin) solid var(--color-border-medium);background:var(--color-white);color:var(--color-text-primary);-webkit-backdrop-filter:none;backdrop-filter:none}.admin-login-btn:hover{background:#fff3;border-color:#ffffff80}.header.scrolled .admin-login-btn:hover{background:var(--color-gray-50);border-color:var(--color-secondary);color:var(--color-secondary)}.admin-panel-btn{background:var(--color-secondary)!important;color:var(--color-white)!important;border-color:var(--color-secondary)!important}.admin-panel-btn:hover{background:var(--color-secondary-hover)!important;border-color:var(--color-secondary-hover)!important;color:var(--color-white)!important}.admin-logout-btn{background:var(--color-danger)!important;color:var(--color-white)!important;border-color:var(--color-danger)!important}.admin-logout-btn:hover{background:var(--color-danger-hover)!important;border-color:var(--color-danger-hover)!important;color:var(--color-white)!important}.admin-login-btn:focus,.admin-panel-btn:focus,.admin-logout-btn:focus{outline:var(--focus-ring-width) solid var(--color-secondary);outline-offset:var(--focus-ring-offset)}@media (max-width: 768px){.admin-auth{gap:var(--space-sm);margin-right:var(--space-sm)}.admin-user-name{font-size:var(--font-size-xs)}.admin-login-btn,.admin-panel-btn,.admin-logout-btn{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}}@media (max-width: 480px){.admin-auth{gap:var(--space-xs)}.admin-user-name{display:none}.admin-login-btn,.admin-panel-btn,.admin-logout-btn{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}}.admin-hero-section{position:relative;height:30vh;min-height:200px;overflow:hidden}.admin-hero-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/assets/classic_sml_mica-spring-201800807--QIyrxOM.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}@media (max-width: 768px){.admin-hero-section{height:25vh;min-height:150px}}@media (max-width: 480px){.admin-hero-section{height:20vh;min-height:120px}}.mini-cart{position:relative;display:inline-block}.mini-cart-button{display:flex;align-items:center;background:none;border:none;padding:var(--space-sm) var(--space-md);cursor:pointer;color:var(--color-white);font-size:var(--font-size-sm);border-radius:var(--border-radius-sm);transition:var(--transition-all)}.header.scrolled .mini-cart-button{color:var(--color-text-primary);text-shadow:none}.mini-cart-button:hover{background-color:#0000000d}.mini-cart-button:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.cart-icon{font-size:1.2rem;margin-right:5px;transition:all .2s ease}.header.scrolled .cart-icon{filter:none}.cart-count{background-color:var(--color-secondary);color:var(--color-white);border-radius:var(--border-radius-full);width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-right:var(--space-sm)}.cart-total{font-weight:var(--font-weight-bold);color:var(--color-white);transition:var(--transition-all)}.header.scrolled .cart-total{color:var(--color-text-primary);text-shadow:none}.mini-cart-dropdown{position:absolute;top:100%;right:0;width:400px;background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--space-md);z-index:var(--z-index-header);margin-top:var(--space-xs)}.mini-cart-dropdown h3{margin:0 0 var(--space-md) 0;font-size:var(--font-size-base);color:var(--color-text-primary);border-bottom:var(--border-width-thin) solid var(--color-border-light);padding-bottom:var(--space-sm)}.mini-cart-loading,.mini-cart-empty{padding:var(--space-md) 0;text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.mini-cart-items{list-style:none;padding:0;margin:0 0 var(--space-md) 0;max-height:200px;overflow-y:auto}.mini-cart-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:var(--border-width-thin) solid var(--color-gray-100)}.mini-cart-item:last-child{border-bottom:none}.mini-cart-item-details{flex:1;display:flex;justify-content:space-between;align-items:center;margin-right:var(--space-md)}.mini-cart-item-name{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.3;flex:1;margin-right:var(--space-sm)}.mini-cart-item-price{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-secondary)}.mini-cart-more{padding:var(--space-sm) 0;font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic;text-align:center}.mini-cart-total{display:flex;justify-content:space-between;padding:var(--space-sm) 0;border-top:var(--border-width-thin) solid var(--color-border-light);margin-bottom:var(--space-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.mini-cart-actions{display:flex;gap:var(--space-sm)}.mini-cart-actions a{flex:1;text-align:center;padding:var(--space-sm) 0;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);text-decoration:none;font-weight:var(--font-weight-bold);transition:var(--transition-colors)}.view-cart-button{background-color:var(--color-gray-100);border:var(--border-width-thin) solid var(--color-border-medium);color:var(--color-text-primary)}.view-cart-button:hover{background-color:var(--color-gray-200)}.checkout-button{background-color:var(--color-secondary);color:var(--color-white)}.view-cart-button:focus,.checkout-button:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}.mini-cart-remove-btn{color:#dc3545;cursor:pointer;font-size:var(--font-size-sm);font-weight:400;margin-left:var(--space-sm);text-decoration:none}.mini-cart-remove-btn:hover{color:#c82333}@media (max-width: 768px){.mini-cart-dropdown{width:320px;right:-100px}.mini-cart-dropdown:before{right:115px}}@media (max-width: 480px){.mini-cart-dropdown{width:280px;right:-80px}.mini-cart-dropdown:before{right:95px}}.footer{width:100%;background-color:#fedb00;color:var(--color-text-primary);font-family:var(--font-family-primary)}.footer-container{max-width:1200px;margin:0 auto;padding:var(--space-2xl) var(--space-lg)}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg)}.footer-logo-section{display:flex;align-items:flex-start}.mica-logo-image{height:60px;width:auto;object-fit:contain}.footer-social{display:flex;gap:var(--space-md);align-items:center}.footer-social a{color:var(--color-text-primary);font-size:24px;transition:transform var(--transition-normal)}.footer-social a:hover{transform:scale(1.1);color:var(--color-text-primary)}.footer-social a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--border-radius-sm)}.footer-separator{height:2px;background-color:var(--color-text-primary);margin:var(--space-xl) 0}.footer-content{display:grid;grid-template-columns:300px 1fr auto;gap:var(--space-2xl);align-items:start;justify-items:start}.footer-contact{grid-column:1;display:flex;flex-direction:column;gap:var(--space-lg);width:100%}.footer-nav{grid-column:3;display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:var(--space-lg);justify-content:start}.footer .footer-section h3{font-family:TheinhardtLight,sans-serif;font-weight:300;font-size:.75rem;letter-spacing:.04063rem;margin:0 0 .5rem;text-transform:uppercase;color:var(--color-text-primary)}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section li{margin-bottom:var(--space-sm)}.footer-section a{color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-relaxed);transition:var(--transition-colors);font-family:Tiempos,Times New Roman,Georgia,serif}.footer-section a:hover{color:var(--color-text-secondary);text-decoration:underline}.footer-section a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--border-radius-sm)}@media (max-width: 1200px){.footer-content{grid-template-columns:280px 1fr auto}.footer-nav{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media (max-width: 1024px){.footer-content{grid-template-columns:1fr;gap:var(--space-xl);justify-items:center;text-align:center}.footer-nav{grid-template-columns:repeat(3,1fr);gap:var(--space-xl);width:100%;max-width:800px}}@media (max-width: 768px){.footer-top{flex-direction:column;align-items:center;gap:var(--space-lg);text-align:center}.footer-content{grid-template-columns:1fr;text-align:center;gap:var(--space-xl)}.footer-nav{grid-template-columns:1fr;gap:var(--space-lg)}.footer-contact{align-items:center}.mica-logo-image{height:50px}}@media (max-width: 480px){.footer-container{padding:var(--space-xl) var(--space-md)}.footer-social{gap:var(--space-lg)}.mica-logo-image{height:40px}}.footer-contact a{color:var(--color-text-primary);text-decoration:none}.footer-contact a:hover{text-decoration:underline}.footer-phone{display:block;margin:var(--space-sm) 0;font-weight:var(--font-weight-bold)}.footer-logo-section a{display:block}.localhost-banner{background:var(--color-warning-bg, #fff3cd);border:1px solid var(--color-warning-border, #ffeaa7);color:var(--color-warning-text, #856404);padding:var(--space-sm, 12px) var(--space-md, 16px);text-align:center;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);position:sticky;top:0;z-index:1000;box-shadow:0 2px 4px #0000001a}.localhost-banner__content{max-width:1200px;margin:0 auto}.localhost-banner{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:12px 16px;font-size:.875rem;font-weight:500}.home{font-family:var(--font-family-primary);padding:0;width:100%}.summer-offerings{margin-top:var(--space-xl);max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding:0 var(--space-xl)}.summer-offerings-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:start;min-height:680px}.catalog-card{position:relative;background-color:var(--color-gray-800);background-image:url(/assets/classic_sml_evie-zhu_the-river-2-D0il9Nwx.jpg);background-size:cover;background-position:center;color:var(--color-white);border-radius:0;overflow:hidden;height:680px}.catalog-image{flex:1}.catalog-overlay{position:absolute;bottom:var(--space-md);right:var(--space-md);background:var(--color-white);padding:0;border-radius:var(--border-radius-sm);overflow:hidden}.catalog-button{background:var(--color-white);color:var(--color-black);font-weight:var(--font-weight-bold);padding:var(--space-md) var(--space-lg);text-align:center;border:none;cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-family-primary);letter-spacing:.5px;display:flex;align-items:center;gap:var(--space-sm)}.catalog-button:after{content:"→";font-size:var(--font-size-base)}.offering-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--space-lg);height:680px}.upcoming-courses-section{margin-top:var(--space-xl);max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding:0 var(--space-xl)}.explore-all-wrapper{text-align:center;margin-top:var(--space-xl)}.explore-all-button{background:var(--color-primary);color:var(--color-white);border:none;padding:var(--space-md) var(--space-lg);font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-all)}.explore-all-button:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.footer{background:var(--color-accent-hover);padding:var(--space-xl);margin-top:var(--space-xl);width:100%}.footer h3{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);margin-bottom:var(--space-lg)}.footer h4{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);margin-bottom:var(--space-sm)}.footer p{font-family:var(--font-family-primary);font-weight:var(--font-weight-light);line-height:var(--line-height-relaxed)}@media (max-width: 1024px){.summer-offerings,.upcoming-courses-section{padding:0 var(--space-lg)}}@media (max-width: 768px){.summer-offerings,.upcoming-courses-section{padding:0 var(--space-md)}.summer-offerings-grid{grid-template-columns:1fr;gap:var(--space-md);min-height:auto}.catalog-card{height:450px}.offering-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,280px);height:auto}.footer-content{flex-direction:column;gap:var(--space-md)}}.no-results-section{margin-top:var(--space-xl);max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding:0 var(--space-xl)}.no-results-message{text-align:center;padding:var(--space-lg);color:var(--color-text-secondary);font-size:var(--font-size-lg);font-family:var(--font-family-primary)}@media (max-width: 1024px){.no-results-section{padding:0 var(--space-lg)}}@media (max-width: 768px){.no-results-section{padding:0 var(--space-md)}}@media (max-width: 480px){.summer-offerings,.upcoming-courses-section,.no-results-section{padding:0 var(--space-md)}}.hero-section{position:relative;height:45vh;min-height:350px;overflow:hidden;display:flex;align-items:flex-end;background-image:url(/assets/classic_sml_mica-spring-201800807--QIyrxOM.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.hero-section:before{content:"";position:absolute;inset:0;background:#0006;z-index:1}.hero-content{width:100%;max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-xl) var(--space-lg);position:relative;z-index:2}.hero-section .section-heading-container{margin-bottom:0}.hero-section .section-heading{color:var(--color-white);font-size:var(--font-size-4xl);font-weight:var(--font-weight-thin)}.hero-section .section-heading:after{display:none}@media (max-width: 1024px){.hero-section .section-heading{font-size:3.5rem}.hero-content{padding:0 var(--space-lg) var(--space-lg)}}@media (max-width: 768px){.hero-section{height:40vh;min-height:300px}.hero-section .section-heading{font-size:2.75rem}.hero-content{padding:0 var(--space-md) var(--space-md)}}@media (max-width: 480px){.hero-section{height:35vh;min-height:280px}.hero-section .section-heading{font-size:2.25rem}.hero-content{padding:0 var(--space-md) var(--space-sm)}}.section-heading-container{display:flex;align-items:center;margin-bottom:var(--space-md);gap:var(--space-md)}.section-heading{font-size:var(--font-size-3xl);font-weight:var(--font-weight-light);color:var(--color-black);margin:0;display:flex;align-items:center;flex:1}.section-heading:after{content:"";flex:1;height:var(--border-width-thin);background-color:var(--color-black);margin-left:var(--space-md)}.section-heading__search{flex-shrink:0}@media (max-width: 768px){.section-heading-container{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.section-heading__search{width:100%}}@media (max-width: 480px){.section-heading{font-size:var(--font-size-2xl)}}.course-card-redesign:nth-child(1) .course-image{background-image:url(/assets/classic_sml_mica-spring-201802488-B-BorCOg.jpg)}.course-card-redesign:nth-child(2) .course-image{background-image:url(/assets/classic_sml_my-project-2-D2jchMTK.jpg)}.course-card-redesign:nth-child(3) .course-image{background-image:url(/assets/classic_sml_mica-spring-201803204-2-BdHmzumq.jpg)}.course-card-redesign:nth-child(4) .course-image{background-image:url(/assets/classic_sml_raum-nat-without-1-2-BdALkQhF.jpg)}.new-badge{position:absolute;top:var(--space-sm);right:var(--space-sm);background:var(--color-accent);color:var(--color-black);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm)}.course-content{background:var(--color-white);padding:var(--space-lg);text-align:center;transition:var(--transition-all);min-height:140px;display:flex;flex-direction:column;justify-content:flex-start;flex:1}.course-card-redesign .course-title{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-black);margin:0 0 var(--space-sm) 0;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.course-card-redesign .course-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;background:transparent}@media (max-width: 1024px){.course-card-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.course-card-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.course-card-redesign{height:320px}}@media (max-width: 480px){.course-card-grid{grid-template-columns:1fr}.course-cart-actions{gap:var(--space-sm)}.course-in-cart-indicator,.course-remove-btn,.course-loading-indicator{width:28px;height:28px}.course-spinner{font-size:var(--font-size-xl)}}.category-header{display:flex;align-items:center;padding:var(--space-md) 0;cursor:pointer;border:none;background:none;width:100%;transition:all var(--transition-base);border-radius:var(--border-radius-sm);margin-bottom:var(--space-sm)}.category-header:hover{background-color:var(--color-gray-50);padding-left:var(--space-sm);padding-right:var(--space-sm)}.category-header:hover .category-header__content:after{background-color:var(--color-primary)}.category-header:focus{outline:2px solid var(--color-primary);outline-offset:2px;background-color:var(--color-gray-50);padding-left:var(--space-sm);padding-right:var(--space-sm)}.category-header:focus .category-header__content:after{background-color:var(--color-primary)}.category-header__content{display:flex;align-items:center;width:100%;position:relative}.category-header__content .section-heading{margin:0;margin-right:var(--space-md);white-space:nowrap;flex-shrink:0}.category-header__content:after{content:"";flex:1;height:var(--border-width-thin);background-color:var(--color-black);margin-left:var(--space-md);margin-right:var(--space-md)}.category-header__meta{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.category-header__count{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.category-header__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:transform var(--transition-base)}.category-header__chevron{width:20px;height:20px;color:var(--color-text-secondary);transition:transform var(--transition-base),color var(--transition-base)}.category-header:hover .category-header__chevron{color:var(--color-primary)}.category-header--expanded .category-header__chevron,.category-header--collapsed .category-header__chevron{transform:rotate(0)}.category-header__chevron{transform-origin:center}@media (max-width: 768px){.category-header{padding:var(--space-sm) 0}.category-header__title{font-size:var(--font-size-lg)}.category-header__count{font-size:var(--font-size-xs)}.category-header__chevron{width:18px;height:18px}}.category-content{overflow:hidden;transition:height .3s ease-in-out;will-change:height}.category-content--collapsed{height:0}.category-content--expanded{height:auto}.category-content__inner{padding-top:var(--space-sm)}.category-content{transform:translateZ(0);backface-visibility:hidden}@media (prefers-reduced-motion: reduce){.category-content{transition:none}.category-content--collapsed{display:none}.category-content--expanded{display:block;height:auto}}.category-content[aria-hidden=false]{min-height:auto}.category-content[aria-hidden=true]{min-height:0}.category-content--loading{opacity:.6;pointer-events:none}.category-content--loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--color-gray-300);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.category-section{margin-top:var(--space-xl);max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding:0 var(--space-xl)}.course-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);margin:var(--space-xl) 0}.course-card-redesign{position:relative;background:var(--color-white);border-radius:var(--border-radius-sm);font-family:var(--font-family-primary);overflow:hidden;cursor:pointer;transition:var(--transition-all);display:flex;flex-direction:column;height:380px}.course-card-redesign:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.course-image{flex:1;background-color:#ddd;background-size:cover;background-position:center;position:relative;min-height:200px}.course-hover{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:var(--transition-all)}.course-card-redesign:hover .course-hover{opacity:1}.course-learn-more-btn{background:var(--color-accent);border:none;font-weight:var(--font-weight-bold);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-sm);color:var(--color-black);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-pill);box-shadow:var(--shadow-md);transition:var(--transition-all)}.course-learn-more-btn:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.course-content{background:var(--color-white);padding:var(--space-lg);text-align:left;transition:var(--transition-all);min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.course-card-redesign:hover .course-content{background:var(--color-accent)}.course-title{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-black);margin:0 0 var(--space-sm) 0}.course-dates{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-light);margin:0 0 var(--space-md) 0}.course-footer{display:flex;justify-content:space-between;align-items:center}.course-actions{display:flex;gap:var(--space-sm)}.course-cart-btn{background:transparent;border:none;cursor:pointer;padding:var(--space-xs);color:var(--color-text-secondary);font-size:var(--font-size-base);transition:var(--transition-all)}.course-cart-btn:hover{color:var(--color-black);background:transparent}.course-card-redesign:hover .course-cart-btn:hover{background:var(--color-accent)}.course-card-redesign:hover .course-learn-more-btn:hover{background:var(--color-accent-hover)}.course-cart-btn:disabled,.course-remove-btn:disabled{opacity:.5;cursor:not-allowed}.course-cart-actions{display:flex;align-items:center;gap:.25rem}.course-in-cart-indicator{background:#28a745;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem}.course-check-icon{font-size:.6rem}.course-remove-btn{background:#dc3545;color:#fff;border:none;cursor:pointer;padding:.25rem;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .2s ease}.course-remove-btn:hover:not(:disabled){background:#c82333;transform:scale(1.1)}.course-loading-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.course-spinner{color:#666;font-size:1rem;animation:spin 1s linear infinite}.course-price{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-black)}@media (max-width: 1024px){.category-section{padding:0 var(--space-lg)}.course-card-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.category-section{padding:0 var(--space-md)}.course-card-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.course-card-redesign{height:320px}}@media (max-width: 480px){.category-section{padding:0 var(--space-md)}.course-card-grid{grid-template-columns:1fr}.course-cart-actions{gap:var(--space-sm)}.course-in-cart-indicator,.course-remove-btn,.course-loading-indicator{width:28px;height:28px}.course-spinner{font-size:var(--font-size-xl)}}.offering-card{position:relative;background-color:var(--color-gray-100);border-radius:var(--border-radius-sm);font-family:var(--font-family-primary);overflow:hidden;cursor:pointer;transition:var(--transition-all);display:flex;flex-direction:column;text-decoration:none;color:inherit}.offering-card:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.offering-image{flex:1;transition:var(--transition-all);position:relative;min-height:200px;overflow:hidden}.offering-image-element{width:100%;height:100%;object-fit:cover;object-position:center;transition:var(--transition-all)}.offering-content{background:var(--color-white);padding:var(--space-lg) var(--space-md);text-align:center;transition:var(--transition-all);min-height:80px;display:flex;align-items:center;justify-content:center}.offering-content h3{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-black)}.offering-hover{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:var(--transition-all)}.offering-card:hover .offering-hover{opacity:1}.offering-card:hover .offering-content{background:var(--color-accent)}.learn-more-btn{background:var(--color-accent);border:none;font-weight:var(--font-weight-bold);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-sm);color:var(--color-black);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-pill);box-shadow:var(--shadow-md);transition:var(--transition-all);display:inline-block;text-decoration:none}.learn-more-btn:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.offering-card:hover .learn-more-btn:hover{background:var(--color-accent-hover)}.course-search{display:flex;align-items:center;min-width:0}.course-search .form-input{min-width:300px;max-width:400px}@media (max-width: 768px){.course-search .form-input{min-width:200px;max-width:300px}}@media (max-width: 480px){.course-search{width:100%}.course-search .form-input{min-width:0;max-width:none;width:100%}}.category-content{max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding:0 var(--space-xl)}.os_category-header{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2xl);align-items:center;margin-bottom:var(--space-3xl);padding:var(--space-2xl);background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:var(--border-radius-lg);box-shadow:0 4px 20px #00000014;border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}.os_category-header:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(25,24,156,.03) 0%,transparent 70%);border-radius:50%;transform:translate(50%,-50%)}.os_category-header__image{width:clamp(240px,30vw,360px);aspect-ratio:1 / 1;height:auto;object-fit:cover;border-radius:var(--border-radius-xl);box-shadow:0 8px 32px #0000001f;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative;z-index:2;transform:none!important;transition:none!important}.os_category-header__image:hover{transform:none!important;background:none!important;box-shadow:0 8px 32px #0000001f!important}.os_category-header__copy{display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;max-width:600px}.os_category-header__title{font-size:clamp(var(--font-size-2xl),4vw,var(--font-size-4xl));font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-lg);line-height:var(--line-height-tight);position:relative}.os_category-header__title:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:2px}.os_category-header__desc{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:55ch;margin-bottom:var(--space-lg)}.os_category-header__cta{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-md)}.os_category-header__cta:after{content:"→";transition:transform var(--transition-base)}@media (max-width: 1024px){.category-content{padding:0 var(--space-lg)}}@media (max-width: 768px){.category-content{padding:0 var(--space-md)}.os_category-header{grid-template-columns:1fr;gap:var(--space-xl);margin-bottom:var(--space-2xl);padding:var(--space-xl);text-align:center}.os_category-header__image{width:min(80vw,280px);margin:0 auto;order:-1}.os_category-header__title{font-size:var(--font-size-2xl);text-align:center}.os_category-header__title:after{left:50%;transform:translate(-50%)}.os_category-header__desc{font-size:var(--font-size-base);text-align:center;margin:0 auto var(--space-lg)}.os_category-header__cta{justify-content:center}}@media (max-width: 480px){.category-content{padding:0 var(--space-md)}.os_category-header{padding:var(--space-lg);gap:var(--space-lg)}.os_category-header__image{width:min(70vw,240px)}.os_category-header__title{font-size:var(--font-size-xl)}}.os_category-back-button{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--space-sm) 0;margin-bottom:var(--space-lg);transition:var(--transition-colors);text-transform:uppercase;letter-spacing:.5px}.os_category-back-button:hover{color:var(--color-primary);transform:none!important}.os_category-back-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--border-radius-sm)}.category-hero{position:relative;height:30vh;min-height:200px;background:linear-gradient(#0006,#0006),url(/assets/classic_sml_mica-spring-201800807--QIyrxOM.jpg) center/cover no-repeat;color:#fff;display:flex;align-items:center;padding:0 var(--space-xl)}.category-hero-content{max-width:var(--container-xl);margin:0 auto;width:100%;z-index:1}@media (max-width: 768px){.category-hero{height:25vh;min-height:150px;padding:0 var(--space-lg)}}@media (max-width: 480px){.category-hero{height:20vh;min-height:120px;padding:0 var(--space-md)}}.course-card{background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-sm);padding:var(--space-lg);display:flex;flex-direction:column;height:100%;transition:var(--transition-all);box-shadow:var(--shadow-sm);cursor:pointer}.course-card:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.course-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.course-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-md) 0;line-height:var(--line-height-tight)}.course-title a{color:var(--color-primary);text-decoration:none;transition:var(--transition-colors)}.course-title a:hover{color:var(--color-primary-hover);text-decoration:underline}.course-title a:focus{outline:var(--focus-ring-width) solid var(--color-primary);outline-offset:var(--focus-ring-offset);border-radius:var(--border-radius-sm)}.course-details{margin-bottom:var(--space-md)}.course-code{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.course-instructor{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.course-credits{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-weight:var(--font-weight-medium)}.course-dates{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-md);font-weight:var(--font-weight-light)}.course-price{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-primary);margin-bottom:var(--space-sm)}.course-availability{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-success);font-weight:var(--font-weight-bold);margin-bottom:var(--space-lg);letter-spacing:.5px}.add-to-cart-button{background-color:var(--color-primary);color:var(--color-white);border:none;padding:var(--space-button-padding-y) var(--space-button-padding-x);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-colors);margin-top:auto;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);text-transform:uppercase;display:flex;align-items:center;justify-content:center;min-height:var(--button-height)}.add-to-cart-button:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.add-to-cart-button:disabled{background-color:var(--color-gray-300);cursor:not-allowed;opacity:.6}.add-to-cart-button:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}.in-cart-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:auto}.in-cart-indicator{display:flex;align-items:center;gap:var(--space-sm);background-color:var(--color-success-light);color:var(--color-white);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex:1}.check-icon{font-size:var(--font-size-xs)}.remove-from-cart-button{background-color:var(--color-danger);color:var(--color-white);border:none;padding:var(--space-sm);cursor:pointer;border-radius:var(--border-radius-sm);transition:var(--transition-colors);display:flex;align-items:center;justify-content:center;min-width:var(--button-height);height:var(--button-height)}.remove-from-cart-button:hover:not(:disabled){background-color:var(--color-danger-hover)}.remove-from-cart-button:disabled{background-color:var(--color-gray-300);cursor:not-allowed;opacity:.6}.remove-from-cart-button:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}@media (max-width: 768px){.in-cart-actions{flex-direction:column;gap:var(--space-xs)}.in-cart-indicator{justify-content:center;width:100%}.remove-from-cart-button{width:100%;height:36px}.add-to-cart-button{padding:var(--space-sm);font-size:var(--font-size-xs)}}.course-list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-sm);transition:var(--transition-all);gap:var(--space-lg)}.course-list-item:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-medium)}.course-list-item-main{display:flex;flex:1;gap:var(--space-lg);align-items:flex-start}.course-list-item-info{flex:1}.course-list-item-title{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.course-list-item-title a{color:var(--color-text-primary);text-decoration:none;transition:var(--transition-colors)}.course-list-item-title a:hover{color:var(--color-primary)}.course-list-item-details{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.course-code{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.course-list-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);min-width:120px}.course-list-item-meta .course-price{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.course-list-item-meta .course-availability{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;font-weight:var(--font-weight-medium);letter-spacing:.5px}.course-list-item-actions{display:flex;align-items:center;min-width:140px;justify-content:flex-end}.add-to-cart-button-list{background-color:var(--color-primary);color:var(--color-white);border:none;padding:var(--space-sm) var(--space-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-all);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.add-to-cart-button-list:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.add-to-cart-button-list:disabled{background-color:var(--color-gray-300);cursor:not-allowed;opacity:.6;transform:none}.in-cart-actions-list{display:flex;align-items:center;gap:var(--space-sm)}.in-cart-indicator-list{display:flex;align-items:center;gap:var(--space-xs);background-color:var(--color-success-light);color:var(--color-white);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.remove-from-cart-button-list{background-color:var(--color-danger);color:var(--color-white);border:none;padding:var(--space-sm);cursor:pointer;border-radius:var(--border-radius-sm);transition:var(--transition-all);display:flex;align-items:center;justify-content:center;width:36px;height:36px}.remove-from-cart-button-list:hover:not(:disabled){background-color:var(--color-danger-hover);transform:translateY(-1px)}@media (max-width: 768px){.course-list-item{flex-direction:column;align-items:stretch;gap:var(--space-md)}.course-list-item-main{flex-direction:column;gap:var(--space-md)}.course-list-item-meta{flex-direction:row;justify-content:space-between;align-items:center}.course-list-item-actions{justify-content:stretch;min-width:auto}.add-to-cart-button-list{width:100%;justify-content:center}.in-cart-actions-list{justify-content:space-between;width:100%}.in-cart-indicator-list{flex:1;justify-content:center}}.course-list{padding:0}.view-toggle-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding:var(--space-md) 0;border-bottom:var(--border-width-thin) solid var(--color-border-light)}.view-toggle{display:flex;background:var(--color-gray-100);border-radius:var(--border-radius-sm);padding:var(--space-xs);gap:var(--space-xs)}.view-toggle-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:none;background:transparent;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:var(--transition-all)}.view-toggle-btn:hover{background:var(--color-white);color:var(--color-text-primary)}.view-toggle-btn.active{background:var(--color-white);color:var(--color-primary);box-shadow:var(--shadow-sm)}.course-count{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-xl);margin-top:var(--space-lg)}.course-list-view{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-lg)}.course-list-loading{text-align:center;padding:var(--space-3xl);font-style:italic;color:var(--color-text-secondary);font-size:var(--font-size-lg)}.course-list-error{text-align:center;padding:var(--space-3xl);background-color:var(--color-error-light);border-radius:var(--border-radius-sm);color:var(--color-error);font-size:var(--font-size-base);border:var(--border-width-thin) solid var(--color-error)}.course-list-empty{text-align:center;padding:var(--space-3xl);background-color:var(--color-gray-50);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-base)}@media (max-width: 768px){.view-toggle-container{flex-direction:column;gap:var(--space-md);align-items:flex-start}.course-grid{grid-template-columns:1fr;gap:var(--space-lg)}.view-toggle-btn span{display:none}}@media (max-width: 480px){.view-toggle-container{padding:var(--space-sm) 0}}.filter-bar{padding:var(--space-lg) 0;background-color:var(--color-gray-50);border-bottom:var(--border-width-thin) solid var(--color-border-light);margin-bottom:var(--space-lg)}.filter-bar-content{display:flex;flex-wrap:wrap;gap:var(--space-lg);align-items:center}.category-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;font-weight:var(--font-weight-light)}.filter-dropdown{display:flex;flex-direction:column;min-width:140px}.filter-dropdown label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs);text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.5px}.filter-dropdown select{padding:var(--space-sm) var(--space-md);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-sm);background-color:var(--color-white);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-colors)}.filter-dropdown select:hover{border-color:var(--color-primary)}.filter-dropdown select:focus{outline:var(--focus-ring-width) solid var(--color-primary);outline-offset:var(--focus-ring-offset);border-color:var(--color-primary)}@media (max-width: 768px){.filter-bar{padding:var(--space-md) 0}.filter-bar-content{flex-direction:column;gap:var(--space-md);align-items:stretch}.filter-dropdown{min-width:auto}}.shopping-cart{border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);background-color:var(--color-white);box-shadow:var(--shadow-md);margin-bottom:var(--space-lg);overflow:hidden}.shopping-cart-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background-color:var(--color-gray-50);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.shopping-cart-header h2{margin:0;font-size:var(--font-size-xl);color:var(--color-text-primary)}.toggle-button{background:none;border:none;color:var(--color-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm)}.toggle-button:hover{background-color:var(--color-info-bg)}.cart-content{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}.cart-content.expanded{max-height:2000px}.loading,.empty-cart{padding:var(--space-lg);text-align:center;color:var(--color-text-secondary)}.error-message{padding:var(--space-sm) var(--space-lg);background-color:var(--color-error-bg);color:var(--color-error);border-bottom:var(--border-width-thin) solid var(--color-error-border)}.cart-items{padding:0}.cart-item{display:flex;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.item-details{flex:1}.item-details h3{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-base);color:var(--color-text-primary)}.item-details p{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.item-details .course-code{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.item-meta{display:flex;gap:var(--space-md);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm);min-width:120px}.audit-option{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.item-price{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.remove-button{background:none;border:none;color:var(--color-error-light);cursor:pointer;font-size:var(--font-size-xs);padding:var(--space-xs);text-decoration:underline}.remove-button:hover{color:var(--color-error)}.cart-summary{padding:var(--space-md) var(--space-lg);background-color:var(--color-gray-50);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.summary-row.total{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-text-primary);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:var(--border-width-thin) solid var(--color-border-light)}.cart-actions{display:flex;justify-content:space-between;padding:var(--space-md) var(--space-lg)}.clear-cart-button{background-color:var(--color-gray-100);border:var(--border-width-thin) solid var(--color-border-medium);color:var(--color-text-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.clear-cart-button:hover{background-color:var(--color-gray-200)}.checkout-button{background-color:var(--color-secondary);border:none;color:var(--color-white);padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.checkout-button:hover{background-color:var(--color-secondary-hover)}.checkout-button:disabled{background-color:var(--color-gray-300);cursor:not-allowed}@media (max-width: 768px){.cart-item{flex-direction:column}.item-actions{flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-top:var(--space-sm)}.cart-actions{flex-direction:column;gap:var(--space-sm)}.checkout-button,.clear-cart-button{width:100%}}.discount-code-form{margin-bottom:var(--space-lg);padding:var(--space-md);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);background-color:var(--color-gray-50)}.discount-code-form h3{margin:0 0 var(--space-md) 0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.input-group{display:flex;gap:10px}.input-group input{flex:1;padding:var(--space-input-padding-y) var(--space-input-padding-x);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);transition:var(--transition-colors)}.input-group input:focus{outline:none;border-color:var(--color-secondary);box-shadow:var(--focus-ring-shadow)}.input-group button{background-color:var(--color-secondary);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;font-size:var(--font-size-sm);transition:var(--transition-colors)}.input-group button:hover{background-color:var(--color-secondary-hover)}.input-group button:disabled{background-color:var(--color-gray-300);cursor:not-allowed;opacity:.6}.applied-discount{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background-color:var(--color-success-bg);border:var(--border-width-thin) solid var(--color-success-border);border-radius:var(--border-radius-sm)}.discount-info{display:flex;flex-direction:column}.discount-code{font-weight:var(--font-weight-bold);color:var(--color-success)}.discount-value{font-size:var(--font-size-sm);color:var(--color-success-light)}.remove-code-button{background:none;border:none;color:var(--color-error);cursor:pointer;font-size:var(--font-size-sm);text-decoration:underline}.remove-code-button:hover{color:var(--color-error-light)}.remove-code-button:disabled{color:var(--color-gray-400);cursor:not-allowed}@media (max-width: 768px){.input-group{flex-direction:column;gap:10px}.input-group button{width:100%}}.cart-summary-component{background-color:var(--color-gray-50);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg)}.cart-summary-component h3{margin:0 0 var(--space-md) 0;font-size:var(--font-size-xl);color:var(--color-text-primary);border-bottom:var(--border-width-thin) solid var(--color-border-light);padding-bottom:var(--space-sm)}.cart-items-summary{margin-bottom:var(--space-lg)}.cart-items-summary h4{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-base);color:var(--color-text-secondary)}.cart-items-summary ul{list-style:none;padding:0;margin:0}.cart-items-summary li{display:flex;justify-content:space-between;padding:var(--space-sm) 0;border-bottom:var(--border-width-thin) dashed var(--color-border-light);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cart-items-summary li:last-child{border-bottom:none}.cart-item-summary{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-md) 0;border-bottom:var(--border-width-thin) solid var(--color-border-light)}.cart-item-summary:last-child{border-bottom:none}.cart-item-summary .course-info{flex:1;margin-right:var(--space-md)}.cart-item-summary .course-info h4{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.cart-item-summary .course-info .course-code{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-xs) 0}.cart-item-summary .course-info p{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.cart-item-summary .course-cost{font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-size:var(--font-size-base)}.cart-item-summary .audit-indicator{color:var(--color-info);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.summary-calculations{margin-top:var(--space-md)}.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.summary-row.total{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-text-primary);margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-width-thin) solid var(--color-border-light)}@media (max-width: 768px){.cart-summary-component{padding:var(--space-md)}}.cart-page{max-width:var(--container-xl);margin:80px auto 0;padding:var(--space-lg)}.cart-page h1{margin-bottom:var(--space-lg);color:var(--color-text-primary);font-size:var(--font-size-2xl)}.cart-page-content{display:grid;grid-template-columns:1fr 350px;gap:var(--space-2xl)}.cart-main{display:flex;flex-direction:column}.cart-codes-section{margin-top:var(--space-lg)}.cart-checkout-button-container{margin-top:var(--space-2xl);display:flex;justify-content:flex-end}.proceed-to-checkout-button{background-color:var(--color-secondary);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-colors)}.proceed-to-checkout-button:hover{background-color:var(--color-secondary-hover)}.proceed-to-checkout-button:disabled{background-color:var(--color-gray-300);cursor:not-allowed}.cart-sidebar{display:flex;flex-direction:column;gap:var(--space-lg)}.cart-help{background-color:var(--color-gray-50);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--space-lg)}.cart-help h3{margin:0 0 var(--space-md) 0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.cart-help p{margin:0 0 var(--space-md) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.cart-help a{color:var(--color-secondary);text-decoration:none}.cart-help a:hover{text-decoration:underline}@media (max-width: 992px){.cart-page-content{grid-template-columns:1fr}.cart-sidebar{order:-1}}@media (max-width: 768px){.cart-page{padding:15px}.cart-page h1{font-size:1.5rem}}.personal-info-form-container{max-width:var(--container-md);margin:0 auto;padding:var(--space-lg)}.personal-info-form-container h2{margin-bottom:var(--space-lg);color:var(--color-text-primary);font-size:var(--font-size-2xl)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) 0}.form-error-message{background-color:var(--color-error-bg);border:var(--border-width-thin) solid var(--color-error-border);border-radius:var(--border-radius-md);padding:var(--space-md);margin-bottom:var(--space-lg);color:var(--color-error)}.personal-info-form{background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--space-lg)}.form-section{margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{margin:0 0 var(--space-md) 0;font-size:var(--font-size-xl);color:var(--color-text-primary)}.form-row{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-bottom:var(--space-md)}.form-group{flex:1;min-width:200px;margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.required{color:var(--color-error)}.form-group input,.form-group select{width:100%;padding:var(--space-sm);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-secondary);box-shadow:var(--focus-ring-shadow)}.form-group input.error,.form-group select.error{border-color:var(--color-error)}.error-message{color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--space-xs)}.form-actions{display:flex;justify-content:space-between;margin-top:var(--space-2xl)}.cancel-button{background-color:var(--color-gray-100);border:var(--border-width-thin) solid var(--color-border-medium);color:var(--color-text-primary);padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.cancel-button:hover{background-color:var(--color-gray-200)}.submit-button{background-color:var(--color-secondary);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer}.submit-button:hover{background-color:var(--color-secondary-hover)}.submit-button:disabled{background-color:var(--color-gray-300);cursor:not-allowed}@media (max-width: 768px){.personal-info-form-container{padding:var(--space-md)}.form-row{flex-direction:column;gap:0}.form-group{width:100%}.form-actions{flex-direction:column-reverse;gap:var(--space-sm)}.cancel-button,.submit-button{width:100%}}.personal-info-page{max-width:var(--container-xl);margin:80px auto 0;padding:var(--space-lg)}.personal-info-page h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-lg) 0;text-align:center}.personal-info-page-content{display:grid;grid-template-columns:1fr 350px;gap:var(--space-2xl)}.personal-info-main{background-color:var(--color-white);border-radius:var(--border-radius-md);overflow:hidden}.personal-info-sidebar{display:flex;flex-direction:column;gap:var(--space-lg)}.personal-info-help{background-color:var(--color-gray-50);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--space-lg)}.personal-info-help h3{margin:0 0 var(--space-md) 0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.personal-info-help p{margin:0 0 var(--space-md) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.personal-info-help a{color:var(--color-secondary);text-decoration:none}.personal-info-help a:hover{text-decoration:underline}@media (max-width: 992px){.personal-info-page-content{grid-template-columns:1fr}.personal-info-sidebar{order:-1}}@media (max-width: 768px){.personal-info-page{padding:var(--space-md)}.checkout-steps{padding:0;font-size:var(--font-size-xs)}.step:not(:last-child):after{width:10px;right:-5px}}.payment-form-container{max-width:800px;margin:0 auto;padding:20px}.payment-form-container h2{margin-bottom:20px;color:var(--color-text-primary);font-size:1.5rem}.payment-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0}.spinner{border:4px solid rgba(0,0,0,.1);border-radius:var(--border-radius-full);border-top:4px solid var(--color-secondary);width:40px;height:40px;animation:spin var(--duration-slowest) linear infinite;margin-bottom:var(--space-md)}.payment-error{background-color:var(--color-error-bg);border:var(--border-width-thin) solid var(--color-error-border);border-radius:var(--border-radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);text-align:center}.payment-error p{color:var(--color-error);margin-bottom:var(--space-md)}.try-again-button{background-color:var(--color-gray-100);border:var(--border-width-thin) solid var(--color-border-light);color:var(--color-text-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:var(--transition-colors)}.try-again-button:hover{background-color:var(--color-gray-200)}.payment-iframe-container{margin-bottom:20px;min-height:400px;border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);overflow:hidden}.payment-iframe-content{width:100%;height:100%}.payment-iframe-content iframe{width:100%;height:600px;border:none}.payment-actions{display:flex;justify-content:space-between;margin-top:20px}.cancel-payment-button{background-color:var(--color-gray-100);border:var(--border-width-thin) solid var(--color-border-light);color:var(--color-text-primary);padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:var(--transition-colors)}.cancel-payment-button:hover{background-color:var(--color-gray-200)}.payment-response{max-width:800px;margin:0 auto;padding:20px}.payment-response-content{background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:20px;margin-bottom:20px}.payment-response-content h2{color:#2e7d32;margin-top:0}.payment-response-actions{display:flex;justify-content:center;margin-top:20px}.continue-shopping-button{background-color:var(--color-secondary);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base);cursor:pointer;transition:var(--transition-colors)}.continue-shopping-button:hover{background-color:var(--color-secondary-hover)}@media (max-width: 768px){.payment-form-container{padding:15px}.payment-iframe-content iframe{height:500px}}.payment-page{max-width:1200px;margin:80px auto 0;padding:20px}.payment-page h1{font-size:2rem;font-weight:700;color:#333;margin:0 0 20px;text-align:center}.checkout-steps{display:flex;justify-content:space-between;margin-bottom:30px;padding:0 20px}.step{position:relative;flex:1;text-align:center;padding:10px;font-size:.9rem;color:#999}.step:not(:last-child):after{content:"";position:absolute;top:50%;right:-10px;width:20px;height:2px;background-color:#e0e0e0}.step.active{color:#06c;font-weight:700}.step.completed{color:#2e7d32}.payment-page-content{display:grid;grid-template-columns:1fr 350px;gap:30px}.payment-main{background-color:#fff;border-radius:8px;overflow:hidden}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;text-align:center}.spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #0066cc;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:15px}.error-container p{color:#c62828;margin-bottom:15px}.error-container button{background-color:#f5f5f5;border:1px solid #ddd;color:#333;padding:8px 15px;border-radius:4px;cursor:pointer;font-size:.9rem}.error-container button:hover{background-color:#e0e0e0}.payment-sidebar{display:flex;flex-direction:column;gap:20px}.personal-info-summary{background-color:#f8f8f8;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.personal-info-summary h3{margin:0 0 15px;font-size:1.1rem;color:#333;border-bottom:1px solid #e0e0e0;padding-bottom:10px}.info-group{margin-bottom:15px}.info-group p{margin:0 0 5px;font-size:.9rem;color:#555;line-height:1.5}.edit-info-button{background:none;border:none;color:#06c;cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline;display:block;margin-top:10px}.edit-info-button:hover{color:#05a}.payment-help{background-color:#f8f8f8;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.payment-help h3{margin:0 0 15px;font-size:1.1rem;color:#333}.payment-help p{margin:0 0 15px;font-size:.9rem;color:#555;line-height:1.5}.payment-help a{color:#06c;text-decoration:none}.payment-help a:hover{text-decoration:underline}@media (max-width: 992px){.payment-page-content{grid-template-columns:1fr}.payment-sidebar{order:-1}}@media (max-width: 768px){.payment-page{padding:15px}.checkout-steps{padding:0;font-size:.8rem}.step:not(:last-child):after{width:10px;right:-5px}}.confirmation-page{max-width:var(--container-lg);margin:80px auto 0;padding:var(--space-lg)}.checkout-steps{display:flex;justify-content:space-between;margin-bottom:var(--space-2xl);padding:0 var(--space-lg)}.step{position:relative;flex:1;text-align:center;padding:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-gray-400)}.step:not(:last-child):after{content:"";position:absolute;top:50%;right:-10px;width:20px;height:var(--border-width-medium);background-color:var(--color-border-light)}.step.active{color:var(--color-secondary);font-weight:var(--font-weight-bold)}.step.completed{color:var(--color-success)}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) 0;text-align:center}.spinner{border:var(--border-width-thick) solid rgba(0,0,0,.1);border-radius:var(--border-radius-full);border-top:var(--border-width-thick) solid var(--color-secondary);width:40px;height:40px;animation:spin var(--duration-slowest) linear infinite;margin-bottom:var(--space-md)}.error-container h2{color:var(--color-error);margin-bottom:var(--space-sm)}.error-container p{margin-bottom:var(--space-lg)}.error-container button{background-color:var(--color-gray-100);border:var(--border-width-thin) solid var(--color-border-medium);color:var(--color-text-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.error-container button:hover{background-color:var(--color-gray-200)}.confirmation-content{background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--space-2xl)}.confirmation-header{text-align:center;margin-bottom:var(--space-2xl)}.confirmation-header h1{color:var(--color-success);margin-bottom:var(--space-sm);font-size:var(--font-size-2xl)}.confirmation-message{color:var(--color-text-secondary);font-size:var(--font-size-base)}.confirmation-details,.confirmation-section{margin-bottom:var(--space-2xl)}.confirmation-section h2{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.detail-row{display:flex;margin-bottom:var(--space-sm);font-size:var(--font-size-sm)}.detail-row span:first-child{width:150px;font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.payment-status{color:var(--color-success);font-weight:var(--font-weight-bold)}.courses-table{border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-sm);overflow:hidden}.table-header{display:flex;background-color:var(--color-gray-100);padding:var(--space-sm) var(--space-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.table-row{display:flex;padding:var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.course-col{flex:3}.credits-col{flex:1;text-align:center}.price-col{flex:1;text-align:right}.course-name{font-weight:var(--font-weight-bold);margin-bottom:var(--space-xs)}.course-title{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.table-footer{padding:var(--space-md);background-color:var(--color-gray-50)}.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--space-xs);font-size:var(--font-size-sm)}.summary-row.discount{color:var(--color-success)}.summary-row.total{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:var(--border-width-thin) solid var(--color-border-light)}.confirmation-actions{display:flex;justify-content:space-between;margin-bottom:var(--space-2xl)}.print-button,.continue-button{padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer}.print-button{background-color:var(--color-gray-100);border:var(--border-width-thin) solid var(--color-border-medium);color:var(--color-text-primary)}.print-button:hover{background-color:var(--color-gray-200)}.continue-button{background-color:var(--color-secondary);border:none;color:var(--color-white);font-weight:var(--font-weight-bold)}.continue-button:hover{background-color:var(--color-secondary-hover)}.confirmation-footer{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.confirmation-footer a{color:var(--color-secondary);text-decoration:none}.confirmation-footer a:hover{text-decoration:underline}@media print{.checkout-steps,.confirmation-actions{display:none}.confirmation-page{padding:0}.confirmation-content{border:none;padding:0}.confirmation-header h1{font-size:1.5rem}.confirmation-section h2{font-size:1.2rem}}@media (max-width: 768px){.confirmation-page,.confirmation-content{padding:var(--space-md)}.checkout-steps{padding:0;font-size:var(--font-size-xs)}.step:not(:last-child):after{width:10px;right:-5px}.detail-row{flex-direction:column}.detail-row span:first-child{width:100%;margin-bottom:var(--space-xs)}.table-header,.table-row{font-size:var(--font-size-sm)}.confirmation-actions{flex-direction:column;gap:var(--space-sm)}.print-button,.continue-button{width:100%}}.error-message{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-md);border-radius:var(--border-radius-sm);margin:var(--space-sm) 0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);background-color:var(--color-error-bg);border:var(--border-width-thin) solid var(--color-error-border);color:var(--color-error)}.error-content{display:flex;align-items:flex-start;flex:1;gap:var(--space-sm)}.error-text{flex:1;word-break:break-word}.error-actions{display:flex;align-items:center;gap:var(--space-sm);margin-left:var(--space-md);flex-shrink:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:200px;padding:var(--space-xl) var(--space-lg)}.loading-message{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.admin-auth-guard{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-gray-50)}.admin-auth-loading{background:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);padding:var(--space-xl);max-width:400px;width:100%;margin:var(--space-md)}.admin-auth-error{background:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);padding:var(--space-xl);max-width:500px;width:100%;margin:var(--space-md)}.admin-navigation{background-color:var(--color-white);border-bottom:var(--border-width-thin) solid var(--color-border-medium);position:sticky;top:0}.admin-nav-content{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-md);display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.admin-nav-links{display:flex;gap:0}.admin-nav-link{display:block;padding:var(--space-md) var(--space-lg);text-decoration:none;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);border-bottom:var(--border-width-thick) solid transparent;transition:var(--transition-all);position:relative}.admin-nav-link:hover{color:var(--color-text-primary);background-color:var(--color-gray-50)}.admin-nav-link--active{color:var(--color-secondary);border-bottom-color:var(--color-secondary);background-color:var(--color-gray-50)}.admin-nav-link:focus{outline:var(--focus-ring-width) solid var(--color-secondary);outline-offset:calc(-1 * var(--focus-ring-width))}.admin-user-info{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--space-sm)}.admin-user-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.admin-user-id{color:var(--color-text-secondary)}.admin-user-info .admin-logout-btn{padding:var(--space-xs) var(--space-sm);margin-left:var(--space-sm);border:var(--border-width-thin) solid var(--color-danger);border-radius:var(--border-radius-sm);background:var(--color-danger);color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-all);text-transform:uppercase;letter-spacing:.5px}.admin-user-info .admin-logout-btn:hover{background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.admin-user-info .admin-logout-btn:focus{outline:var(--focus-ring-width) solid var(--color-secondary);outline-offset:var(--focus-ring-offset)}@media (max-width: 768px){.admin-nav-content{flex-direction:column;padding:0;gap:0}.admin-nav-links{width:100%;flex-direction:column}.admin-nav-link{padding:var(--space-md) var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light);border-right:none}.admin-nav-link--active{border-bottom-color:var(--color-secondary);border-left:var(--border-width-thick) solid var(--color-secondary)}.admin-user-info{width:100%;justify-content:center;padding:var(--space-md);border-top:var(--border-width-thin) solid var(--color-border-light);background-color:var(--color-gray-50);flex-wrap:wrap;gap:var(--space-sm)}.admin-user-info .admin-logout-btn{margin-left:0}}@media (max-width: 480px){.admin-nav-link{font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-md)}}.admin-layout{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-gray-100);position:relative}.admin-layout:before{content:"";position:fixed;top:0;left:0;width:100%;height:200px;background-image:url(/assets/classic_sml_mica-spring-201800807--QIyrxOM.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-2}.admin-layout:after{content:"";position:fixed;top:0;left:0;width:100%;height:200px;background:#0006;z-index:-1}.admin-main{flex:1;width:100%;padding:0 var(--admin-content-padding);position:relative;z-index:1;min-height:90vh;padding-bottom:300px}.admin-content{background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);margin:var(--space-md) 0;overflow:hidden}.admin-page-header{background-color:var(--color-gray-50);border-bottom:var(--border-width-thin) solid var(--color-border-light);padding:var(--space-sm) var(--admin-content-padding)}.admin-page-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.admin-page-content{padding:var(--space-md) var(--admin-content-padding)}@media (max-width: 768px){.admin-layout{padding-top:var(--header-height-mobile)}.admin-layout:before,.admin-layout:after{height:125px}.admin-main{padding:0 var(--space-sm);padding-bottom:250px}.admin-page-header,.admin-page-content{padding:var(--space-sm)}}@media (max-width: 480px){.admin-layout:before,.admin-layout:after{height:100px}.admin-main{padding-bottom:200px}}.admin-dashboard{padding:var(--space-lg);max-width:var(--container-xl);margin:0 auto}.dashboard-section{margin-bottom:var(--space-2xl)}.dashboard-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-lg) 0;border-bottom:var(--border-width-thin) solid var(--color-border-light);padding-bottom:var(--space-sm)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.stat-card{background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--space-lg);text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition-transform)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:var(--space-sm);line-height:var(--line-height-tight)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.categories-list{background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.category-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:var(--border-width-thin) solid var(--color-border-light);transition:var(--transition-colors)}.category-item:last-child{border-bottom:none}.category-item:hover{background-color:var(--color-gray-50)}.category-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.category-courses{font-size:var(--font-size-sm);color:var(--color-text-secondary);background-color:var(--color-gray-100);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-pill)}.empty-categories{background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--space-2xl);text-align:center;box-shadow:var(--shadow-sm)}.empty-categories p{margin:0 0 var(--space-sm) 0;color:var(--color-text-secondary)}.empty-categories p:last-child{margin-bottom:0;font-weight:var(--font-weight-medium);color:var(--color-warning)}.dashboard-actions{display:flex;justify-content:center;margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:var(--border-width-thin) solid var(--color-border-light)}.sync-controls{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.sync-description{color:var(--color-text-secondary);margin:0;font-size:var(--font-size-sm)}.sync-loading,.sync-error{margin-top:var(--space-md)}.sync-result{background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--space-lg);margin-top:var(--space-md);box-shadow:var(--shadow-sm)}.sync-status{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.sync-summary{margin-bottom:var(--space-lg)}.sync-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-md) 0}.sync-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}.sync-stat{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background-color:var(--color-gray-50);border-radius:var(--border-radius-sm)}.sync-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.sync-value{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.sync-details{margin-top:var(--space-lg)}.sync-details-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.sync-details-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:200px;overflow-y:auto;border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-sm);padding:var(--space-sm)}.sync-detail-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.sync-detail-item.success{background-color:var(--color-success-bg)}.sync-detail-item.error{background-color:var(--color-error-bg)}.sync-detail-filename{flex:1;font-family:var(--font-family-mono);color:var(--color-text-primary)}.sync-detail-action{color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:capitalize}.sync-detail-status{font-weight:var(--font-weight-bold);width:16px;text-align:center}.sync-detail-status.success{color:var(--color-success)}.sync-detail-status.error{color:var(--color-error)}.sync-error-message{background-color:var(--color-error-bg);color:var(--color-error);padding:var(--space-md);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);margin-top:var(--space-md)}.debug-controls{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);align-items:flex-end}.debug-input-group{display:flex;flex-direction:column;gap:var(--space-xs)}.debug-input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.debug-emplid-input{min-width:200px;font-family:var(--font-family-mono)}.debug-loading,.debug-error{margin-top:var(--space-md)}.debug-result{background-color:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--space-lg);margin-top:var(--space-md);box-shadow:var(--shadow-sm)}.debug-status{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.status-indicator{font-weight:var(--font-weight-semibold);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.status-indicator.success{background-color:var(--color-success-bg);color:var(--color-success)}.status-indicator.error{background-color:var(--color-error-bg);color:var(--color-error)}.debug-stage{font-size:var(--font-size-sm);color:var(--color-text-secondary);background-color:var(--color-gray-100);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-pill)}.debug-section{margin-bottom:var(--space-lg)}.debug-section:last-child{margin-bottom:0}.debug-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-md) 0}.debug-data{display:flex;flex-direction:column;gap:var(--space-sm)}.debug-item{display:flex;align-items:flex-start;gap:var(--space-md)}.debug-item.debug-xml,.debug-item.debug-response{flex-direction:column;gap:var(--space-xs)}.debug-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);min-width:120px;flex-shrink:0}.debug-value{color:var(--color-text-primary);word-break:break-all}.debug-url{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background-color:var(--color-gray-50);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm)}.debug-xml-content,.debug-response-content{background-color:var(--color-gray-50);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-sm);padding:var(--space-md);font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow-y:auto}.debug-error-content{background-color:var(--color-error-bg);color:var(--color-error);padding:var(--space-md);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium)}.debug-error-detail{background-color:var(--color-error-bg);color:var(--color-error);padding:var(--space-md);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);margin-top:var(--space-sm);font-size:var(--font-size-sm);border-left:var(--border-width-thick) solid var(--color-error)}@media (max-width: 768px){.admin-dashboard{padding:var(--space-md)}.stats-grid{grid-template-columns:1fr;gap:var(--space-md)}.dashboard-section-title{font-size:var(--font-size-lg)}.stat-value{font-size:var(--font-size-2xl)}.category-item{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.category-courses{align-self:flex-end}.sync-stats{grid-template-columns:1fr}.sync-detail-item{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.sync-detail-status{align-self:flex-end}.debug-controls{flex-direction:column;gap:var(--space-sm);align-items:stretch}.debug-emplid-input{min-width:auto}.debug-item{flex-direction:column;gap:var(--space-xs);align-items:flex-start}.debug-label{min-width:auto}}@media (max-width: 480px){.admin-dashboard{padding:var(--space-sm)}.dashboard-section{margin-bottom:var(--space-xl)}.stat-card{padding:var(--space-md)}.stat-value{font-size:var(--font-size-xl)}.category-item{padding:var(--space-sm) var(--space-md)}.empty-categories{padding:var(--space-lg)}.sync-result{padding:var(--space-md)}.sync-status{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.sync-details-list{max-height:150px}.debug-result{padding:var(--space-md)}.debug-status{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.debug-xml-content,.debug-response-content{font-size:var(--font-size-xs);padding:var(--space-sm)}}.category-sidebar{--sidebar-item-height: 60px;--sidebar-item-height-mobile: 64px;--sidebar-toggle-width: 32px;--sidebar-toggle-height: 18px;--sidebar-toggle-width-mobile: 36px;--sidebar-toggle-height-mobile: 20px;--sidebar-status-indicator-size: 8px;--sidebar-hover-transform: translateX(2px);background:var(--color-white);border-radius:var(--border-radius-md);padding:0;border:var(--border-width-thin) solid var(--color-border-light);height:100%;display:flex;flex-direction:column;overflow:hidden;contain:layout style paint}.status-legend{padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light);background:var(--color-gray-50)}.legend-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.legend-items{display:flex;gap:var(--space-md)}.legend-item{display:flex;align-items:center;gap:var(--space-xs)}.legend-item span{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.status-indicator{width:var(--sidebar-status-indicator-size);height:var(--sidebar-status-indicator-size);border-radius:50%;flex-shrink:0}.status-indicator--enabled{background:var(--color-success)}.status-indicator--disabled{background:var(--color-gray-400)}.category-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.category-sidebar-header h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.view-all-btn{display:flex;align-items:center;gap:var(--space-xs);padding:6px 10px;background:var(--color-white);color:var(--color-text-secondary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-colors);margin-right:var(--space-sm);line-height:1}.view-all-btn:hover:not(:disabled){background:var(--color-gray-50);color:var(--color-text-primary);border-color:var(--color-border-medium)}.view-all-btn:disabled{opacity:.6;cursor:not-allowed}.view-all-btn svg{width:14px;height:14px}@media (max-width: 992px){.view-all-btn .btn-text{display:none}}.category-error{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-md) var(--space-lg);border-bottom:var(--border-width-thin) solid var(--color-border-light);font-size:var(--font-size-sm)}.category-form{padding:var(--space-md) var(--space-lg);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.category-input{width:100%;padding:var(--space-sm);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-sm)}.category-input:focus{outline:none;border-color:var(--color-info-light);box-shadow:var(--focus-ring-shadow)}.category-form-actions{display:flex;gap:var(--space-md);justify-content:flex-start}.category-save-btn,.category-cancel-btn{padding:var(--space-sm);border:none;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;transition:var(--transition-colors);font-size:14px;flex-shrink:0}.category-save-btn svg,.category-cancel-btn svg{width:14px;height:14px}.category-save-btn{background:var(--color-success-light);color:var(--color-white)}.category-save-btn:hover:not(:disabled){background:var(--color-success)}.category-save-btn:disabled{background:var(--color-gray-300);cursor:not-allowed}.category-cancel-btn{background:var(--color-error-light);color:var(--color-white)}.category-cancel-btn:hover:not(:disabled){background:var(--color-error)}.categories-list{flex:1;overflow-y:auto;padding:var(--space-sm) 0 var(--space-md) 0;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;contain:layout style paint;overscroll-behavior:contain}.categories-list::-webkit-scrollbar{width:8px}.categories-list::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--border-radius-sm)}.categories-list::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--border-radius-sm)}.categories-list::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.no-categories{padding:var(--space-xl) var(--space-lg);text-align:center;color:var(--color-text-secondary)}.no-categories p{margin:var(--space-sm) 0;font-size:var(--font-size-sm)}.category-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-gray-100);transition:var(--transition-colors);min-height:60px;gap:var(--space-sm);contain:layout style}.category-item:hover{background:var(--color-gray-50);transform:var(--sidebar-hover-transform);transition:var(--transition-transform),var(--transition-colors)}.category-item.selected{background:var(--color-info-bg);border-left:var(--border-width-thick) solid var(--color-info-light);box-shadow:inset 3px 0 0 var(--color-info-light)}.category-item.selected:hover{background:var(--color-info-light);transform:none}.category-info--two-row{flex:1;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-xs);min-width:0;border-radius:var(--border-radius-sm);padding:var(--space-xs);margin:calc(-1 * var(--space-xs))}.category-info--two-row:focus{outline:2px solid var(--color-info-light);outline-offset:2px}.category-name-row{display:flex;align-items:center;width:100%}.category-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex:1;font-size:var(--font-size-sm);line-height:var(--line-height-tight);transition:var(--transition-colors);word-wrap:break-word;overflow-wrap:break-word}.category-item:hover .category-name{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.category-item.selected .category-name{color:var(--color-info-dark);font-weight:var(--font-weight-semibold)}.category-meta-row{display:flex;align-items:center;gap:var(--space-sm)}.course-count-badge{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);background:var(--color-gray-100);padding:2px 6px;border-radius:var(--border-radius-sm);min-width:20px;text-align:center;flex-shrink:0;transition:var(--transition-colors)}.category-item:hover .course-count-badge{background:var(--color-gray-200);color:var(--color-text-primary)}.category-item.selected .course-count-badge{background:var(--color-info-light);color:var(--color-white)}.category-actions{display:flex;gap:var(--space-sm);opacity:1;flex-shrink:0;margin-left:var(--space-sm)}.category-edit-btn,.category-delete-btn{background:none;border:none;padding:var(--space-xs);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;width:28px;height:28px;transition:var(--transition-colors);font-size:12px;flex-shrink:0}.category-edit-btn svg,.category-delete-btn svg{width:12px;height:12px}.category-edit-btn{color:var(--color-text-secondary)}.category-edit-btn:hover:not(:disabled){background:var(--color-border-light);color:var(--color-text-primary)}.category-delete-btn{color:var(--color-error-light)}.category-delete-btn:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error)}.category-edit-btn:disabled,.category-delete-btn:disabled{opacity:.5;cursor:not-allowed}.category-loading{padding:var(--space-md) var(--space-lg);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);border-top:var(--border-width-thin) solid var(--color-border-light)}.category-toggle--compact{position:relative;display:inline-block;width:var(--sidebar-toggle-width);height:var(--sidebar-toggle-height);cursor:pointer;flex-shrink:0}.category-toggle--compact input{opacity:0;width:0;height:0}.toggle-slider--compact{position:absolute;inset:0;background-color:var(--color-gray-300);transition:var(--transition-colors);border-radius:18px}.toggle-slider--compact:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background-color:var(--color-white);transition:var(--transition-transform);border-radius:50%}.category-toggle--compact input:checked+.toggle-slider--compact{background-color:var(--color-success-light)}.category-toggle--compact input:checked+.toggle-slider--compact:before{transform:translate(14px)}.category-toggle--compact input:disabled+.toggle-slider--compact{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.category-sidebar-header{padding:var(--space-md)}.category-form{padding:var(--space-md) var(--space-md)}.category-item{padding:var(--space-md) var(--space-md);min-height:var(--sidebar-item-height-mobile)}.category-toggle--compact{width:var(--sidebar-toggle-width-mobile);height:var(--sidebar-toggle-height-mobile)}.toggle-slider--compact:before{height:16px;width:16px}.category-toggle--compact input:checked+.toggle-slider--compact:before{transform:translate(16px)}.category-item:hover{transform:none}}@media (prefers-reduced-motion: reduce){.category-item,.category-name,.course-count-badge,.toggle-slider--compact,.toggle-slider--compact:before{transition:none}}@media (prefers-contrast: high){.status-indicator--enabled{background:#0f0;border:1px solid #000}.status-indicator--disabled{background:gray;border:1px solid #000}.category-item.selected{border-left-color:#00f;box-shadow:inset 3px 0 #00f}}.bulk-actions{padding:var(--space-md) var(--space-lg);border-bottom:var(--border-width-thin) solid var(--color-border-light);background:var(--color-gray-50)}.bulk-actions-header{margin-bottom:var(--space-sm)}.bulk-actions-header span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.bulk-actions-buttons{display:flex;gap:var(--space-sm)}.bulk-enable-btn,.bulk-disable-btn{flex:1;padding:var(--space-sm) var(--space-md);border:var(--border-width-thin) solid transparent;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-colors)}.bulk-enable-btn{background:var(--color-success-light);color:var(--color-success-dark);border-color:var(--color-success)}.bulk-enable-btn:hover:not(:disabled){background:var(--color-success);color:var(--color-white)}.bulk-disable-btn{background:var(--color-warning-light);color:var(--color-warning-dark);border-color:var(--color-warning)}.bulk-disable-btn:hover:not(:disabled){background:var(--color-warning);color:var(--color-white)}.bulk-enable-btn:disabled,.bulk-disable-btn:disabled{opacity:.6;cursor:not-allowed}.course-table-container{background:var(--color-white);border-radius:var(--border-radius-md);border:var(--border-width-thin) solid var(--color-border-light);flex:1;display:flex;flex-direction:column;min-height:600px;max-height:800px;margin-bottom:var(--space-md)}.course-table-wrapper{flex:1;overflow:auto;min-height:400px;transform:translateZ(0);backface-visibility:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;contain:layout style paint;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:var(--color-gray-400) var(--color-gray-100)}.course-table-wrapper::-webkit-scrollbar{width:12px;height:12px}.course-table-wrapper::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--border-radius-sm)}.course-table-wrapper::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--border-radius-sm);border:2px solid var(--color-gray-100)}.course-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.course-table{width:100%;min-width:900px;border-collapse:collapse;font-size:var(--font-size-xs);table-layout:fixed;contain:layout style paint}.course-table thead{background:var(--color-gray-50);position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--color-border-light)}.course-table th{padding:var(--space-sm);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:var(--border-width-medium) solid var(--color-border-light);white-space:nowrap;height:var(--table-row-height);background:var(--color-gray-50);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.course-table td{padding:var(--space-sm);border-bottom:var(--border-width-thin) solid var(--color-gray-100);vertical-align:middle;height:var(--table-row-height)}.select-column{width:40px;text-align:center}.subject-column{width:60px}.catalog-column{width:72px}.term-column{width:120px}.title-column{min-width:140px;width:20%;max-width:220px}.credits-column{width:60px}.categories-column{width:96px}.status-column{width:120px;text-align:center}.days-before-column,.days-after-column{width:100px;text-align:center}.actions-column{width:150px;text-align:center}.image-column{width:120px;text-align:center}.course-row{transition:var(--transition-colors)}.course-row:hover{background:var(--color-gray-50);border-left:var(--border-width-thick) solid var(--color-info-light)}.course-row.selected{background:var(--color-info-bg)}.course-row.selected:hover{background:var(--color-info-border)}.course-row.editing{background:#f8f9fa;border-left:3px solid #2196f3}.subject-badge{background:var(--color-info-light);color:var(--color-white);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.025em}.category-count{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.loading-row,.empty-row{height:200px}.loading-content,.empty-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);color:var(--color-text-secondary)}.loading-spinner{animation:spin var(--duration-slowest) linear infinite;font-size:var(--font-size-2xl);color:var(--color-info-light)}.empty-content p{margin:0;text-align:center}.empty-content p:first-child{font-weight:var(--font-weight-medium);font-size:var(--font-size-base)}.empty-content p:last-child{font-size:var(--font-size-sm);color:var(--color-gray-400)}.status-toggle{background:none;border:1px solid #ddd;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.25rem;transition:all .2s;white-space:nowrap}.status-toggle.active{background:#e8f5e8;border-color:#4caf50;color:#2e7d32}.status-toggle.inactive{background:#ffeaa7;border-color:#ff9800;color:#e65100}.status-toggle:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.status-toggle:disabled{cursor:not-allowed;opacity:.6}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#4caf50}.toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.6}.days-input{width:60px;padding:.25rem;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:.8rem}.days-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.days-input:disabled{background:#f5f5f5;cursor:not-allowed}.days-value{font-weight:500;color:#333}.action-buttons{display:flex;gap:.25rem;justify-content:center;align-items:center}.edit-btn,.save-btn,.cancel-btn,.remove-btn{background:none;border:1px solid #ddd;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.25rem;transition:all .2s;white-space:nowrap}.edit-btn{color:#2196f3;border-color:#2196f3}.edit-btn:hover:not(:disabled){background:#e3f2fd}.save-btn{color:#4caf50;border-color:#4caf50}.save-btn:hover:not(:disabled){background:#e8f5e8}.cancel-btn{color:#ff9800;border-color:#ff9800}.cancel-btn:hover:not(:disabled){background:#fff3e0}.remove-btn{color:#f44336;border-color:#f44336}.remove-btn:hover:not(:disabled){background:#ffebee}.edit-btn:disabled,.save-btn:disabled,.cancel-btn:disabled,.remove-btn:disabled{cursor:not-allowed;opacity:.6}.upload-message{padding:var(--space-md);margin-bottom:var(--space-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.upload-message.success{background:var(--color-success-bg);color:var(--color-success);border:var(--border-width-thin) solid var(--color-success-light)}.upload-message.error{background:var(--color-error-bg);color:var(--color-error);border:var(--border-width-thin) solid var(--color-error-light)}.image-upload-container{display:flex;justify-content:center;align-items:center}.image-actions{display:flex;gap:var(--space-xs);align-items:center}.image-upload-btn,.image-browse-btn,.image-remove-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs);border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-xs);transition:var(--transition-colors);text-decoration:none;width:28px;height:28px}.image-upload-btn{background:var(--color-info-light);color:var(--color-white)}.image-upload-btn:hover:not(.uploading){background:var(--color-info)}.image-browse-btn{background:var(--color-success-light);color:var(--color-white)}.image-browse-btn:hover:not(:disabled){background:var(--color-success)}.image-remove-btn{background:var(--color-error-light);color:var(--color-white)}.image-remove-btn:hover:not(:disabled){background:var(--color-error)}.image-upload-btn.uploading,.image-browse-btn:disabled,.image-remove-btn:disabled{background:var(--color-gray-400);cursor:not-allowed}.image-upload-container .image-filename{margin-top:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center;font-style:italic}.image-browser-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.image-browser-content{background:var(--color-white);border-radius:var(--border-radius-md);max-width:800px;max-height:600px;width:90vw;height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.image-browser-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.image-browser-header h3{margin:0;font-size:var(--font-size-xl);color:var(--color-text-primary)}.close-btn{background:none;border:none;font-size:var(--font-size-lg);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:var(--border-radius-sm);transition:var(--transition-colors)}.close-btn:hover{background:var(--color-gray-100);color:var(--color-text-primary)}.image-browser-grid{flex:1;overflow-y:auto;padding:var(--space-lg);display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-md);max-height:400px}.image-browser-item{border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-sm);overflow:hidden;cursor:pointer;transition:var(--transition-all);background:var(--color-white);position:relative}.image-browser-item:hover{border-color:var(--color-info);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.image-browser-item:active{transform:translateY(0);box-shadow:var(--shadow-md)}.image-browser-item:hover:after{content:"Select";position:absolute;inset:0;background:#007bffcc;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium);font-size:var(--font-size-md);opacity:1;transition:opacity .2s ease}.image-preview{width:100%;height:120px;object-fit:cover;display:block}.image-info{padding:var(--space-sm);background:var(--color-gray-50)}.image-filename{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-xs);word-break:break-all}.image-size{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.loading-images,.no-images,.error-images{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--color-text-secondary);text-align:center}.loading-images .loading-spinner{font-size:var(--font-size-xl);margin-bottom:var(--space-md);animation:spin 1s linear infinite}.error-images{color:var(--color-error)}.error-images .error-icon{font-size:var(--font-size-xl);margin-bottom:var(--space-md);color:var(--color-error)}.retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-info);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:var(--transition-colors)}.retry-btn:hover{background:var(--color-info-dark)}.image-status{margin-bottom:var(--space-sm);padding:var(--space-xs);border-radius:var(--border-radius-sm);background:var(--color-gray-50)}.image-status-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);text-align:center}.image-status-indicator.has-image{color:var(--color-success-dark)}.image-status-indicator.no-image{color:var(--color-text-secondary)}.image-status-indicator .status-icon{font-size:var(--font-size-md)}.image-status-indicator.has-image .status-icon{color:var(--color-success)}.image-status-indicator.no-image .status-icon{color:var(--color-gray-400)}.image-status-indicator .status-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1}.image-status-indicator .status-filename{font-size:var(--font-size-xs);color:var(--color-text-secondary);word-break:break-all;max-width:120px;line-height:1.2}.image-actions{margin-top:var(--space-xs)}@media (max-width: 1024px){.course-table-container{min-height:500px;max-height:calc(100vh - 550px)}.course-table{font-size:.8rem}.course-table th,.course-table td{padding:.5rem}.action-buttons{flex-direction:column;gap:.125rem}.edit-btn,.save-btn,.cancel-btn,.remove-btn{font-size:.7rem;padding:.125rem .25rem}}@media (max-width: 768px){.course-table-container{min-height:400px;max-height:calc(100vh - 450px)}.course-table{min-width:800px}.image-browser-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-sm);padding:var(--space-md)}.image-column{width:100px}}@media (max-width: 480px){.course-table-container{min-height:350px;max-height:calc(100vh - 400px)}.image-browser-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.term-info{display:flex;flex-direction:column;gap:2px}.term-name{font-weight:500;font-size:.875rem}.class-section{font-size:.75rem;color:var(--color-text-secondary);font-weight:400}.filter-bar{background:#fff;border-radius:var(--border-radius-sm);border:var(--border-width-thin) solid var(--color-border-light);margin-bottom:var(--space-sm);min-height:var(--filter-bar-height)}.filter-bar-content{display:flex;gap:var(--space-sm);padding:var(--space-md) var(--space-md);align-items:center;flex-wrap:nowrap;min-height:var(--filter-bar-height)}.filter-group{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.filter-group.search-group{flex:1;min-width:250px}.filter-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--space-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);z-index:1}.search-input{width:100%;padding:var(--space-input-padding-y) var(--space-input-padding-x) var(--space-input-padding-y) 2rem;border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);transition:var(--transition-colors);height:32px}.search-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.clear-search-btn{position:absolute;right:.5rem;background:none;border:none;color:#666;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.clear-search-btn:hover{background:#f0f0f0;color:#333}.filter-select{padding:var(--space-input-padding-y) var(--space-input-padding-x);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);background:var(--color-white);cursor:pointer;transition:var(--transition-colors);min-width:120px;height:32px}.filter-select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.clear-filters-btn{background:var(--color-gray-200);color:var(--color-text-secondary);border:var(--border-width-thin) solid var(--color-border-medium);padding:var(--space-button-padding-y) var(--space-button-padding-x);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--space-xs);transition:var(--transition-colors);white-space:nowrap;height:32px}.clear-filters-btn:hover{background:var(--color-gray-300);color:var(--color-text-primary)}.active-filters{padding:var(--space-xs) var(--space-md);border-top:var(--border-width-thin) solid var(--color-border-light);background:var(--color-gray-50);display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center;min-height:24px}.active-filters-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.active-filter{background:var(--color-info-bg);color:var(--color-info);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);border:var(--border-width-thin) solid var(--color-info-border)}@media (max-width: 1024px){.filter-bar-content{gap:var(--space-xs);flex-wrap:wrap}.filter-group.search-group{min-width:200px}.filter-select{min-width:100px}}@media (max-width: 768px){.filter-bar{min-height:auto}.filter-bar-content{flex-direction:column;align-items:stretch;padding:var(--space-md);min-height:auto}.filter-group{width:100%;flex-direction:column;align-items:stretch}.filter-group.search-group{min-width:auto}.filter-select{min-width:auto;width:100%}.clear-filters-btn{justify-content:center;width:100%}.active-filters{padding:var(--space-xs) var(--space-sm)}}.multi-select-subject-filter{position:relative;display:inline-block;width:100%}.multi-select-subject-filter .dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;text-align:left}.multi-select-subject-filter .dropdown-trigger svg{font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0}.dropdown-menu{position:absolute;top:100%;left:0;min-width:100%;width:max-content;background:#fff;border:1px solid var(--color-border);border-radius:4px;box-shadow:0 4px 6px #0000001a;z-index:9999;max-height:200px;overflow-y:auto;margin-top:2px;white-space:nowrap}.subject-checkbox-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);cursor:pointer;transition:var(--transition-colors);border:none;background:none;width:100%;font-size:var(--font-size-sm);white-space:nowrap;min-width:max-content}.subject-checkbox-item:hover{background:var(--color-gray-50)}.subject-checkbox-item input[type=checkbox]{margin:0;cursor:pointer}.checkbox-label{flex:1;cursor:pointer;-webkit-user-select:none;user-select:none}.no-subjects-message{padding:var(--space-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;font-style:italic}.selected-subjects-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.subject-tag{display:inline-flex;align-items:center;gap:var(--space-xs);background:var(--color-primary-bg);color:var(--color-primary);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);border:var(--border-width-thin) solid var(--color-primary-border)}.subject-tag-text{font-weight:var(--font-weight-medium)}.subject-tag .remove-button{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;width:16px;height:16px;transition:var(--transition-colors)}.subject-tag .remove-button:hover{background:var(--color-primary);color:var(--color-white)}.subject-tag .remove-button svg{font-size:10px}@media (max-width: 768px){.dropdown-menu{max-height:150px}.subject-checkbox-item{padding:var(--space-sm);font-size:var(--font-size-base)}.subject-tag{padding:var(--space-xs) var(--space-sm)}.subject-tag .remove-button{width:20px;height:20px}}.bulk-actions-toolbar{background:var(--color-info-bg);border:var(--border-width-thin) solid var(--color-info-border);border-radius:var(--border-radius-sm);margin-bottom:var(--space-sm);animation:slideDown var(--duration-slow) ease-out;min-height:var(--toolbar-height)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bulk-actions-content{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);gap:var(--space-sm);height:var(--toolbar-height)}.selection-info{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-info-light);font-weight:var(--font-weight-medium)}.selection-icon{font-size:var(--font-size-base)}.selection-count{font-size:var(--font-size-xs)}.bulk-actions{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.action-group{display:flex;align-items:center;gap:var(--space-sm)}.action-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap}.category-select{padding:var(--space-input-padding-y) var(--space-input-padding-x);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);background:var(--color-white);cursor:pointer;transition:var(--transition-colors);min-width:160px;height:32px}.category-select:focus{outline:none;border-color:var(--color-info-light);box-shadow:var(--focus-ring-shadow)}.category-select:disabled{background:var(--color-gray-100);cursor:not-allowed;color:var(--color-gray-400)}.assign-btn{background:var(--color-success-light);color:var(--color-white);border:none;padding:var(--space-button-padding-y) var(--space-button-padding-x);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--space-xs);transition:var(--transition-colors);white-space:nowrap;height:32px}.assign-btn:hover:not(:disabled){background:var(--color-success)}.assign-btn:disabled{background:var(--color-gray-300);cursor:not-allowed}.clear-selection-btn{background:var(--color-error-light);color:var(--color-white);border:none;padding:var(--space-button-padding-y) var(--space-button-padding-x);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--space-xs);transition:var(--transition-colors);white-space:nowrap;height:32px}.clear-selection-btn:hover:not(:disabled){background:var(--color-error)}.clear-selection-btn:disabled{background:var(--color-gray-300);cursor:not-allowed}.status-btn{border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:background-color .2s;white-space:nowrap}.activate-btn{background:var(--color-success-light);color:var(--color-white)}.activate-btn:hover:not(:disabled){background:var(--color-success)}.deactivate-btn{background:var(--color-warning-light);color:var(--color-white)}.deactivate-btn:hover:not(:disabled){background:var(--color-warning)}.status-btn:disabled{background:var(--color-gray-300);cursor:not-allowed}.spinner{animation:spin 1s linear infinite}.bulk-message{border-top:var(--border-width-thin) solid var(--color-info-border);padding:var(--space-md) var(--space-lg);background:#ffffffb3;border-radius:0 0 var(--border-radius-md) var(--border-radius-md)}.bulk-message.success{background:var(--color-success-bg);border-top-color:var(--color-success-light)}.bulk-message.error{background:var(--color-error-bg);border-top-color:var(--color-error-light)}.message-content{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm)}.bulk-message.success .message-content{color:var(--color-success)}.bulk-message.error .message-content{color:var(--color-error)}.message-icon{font-size:.8rem}@media (max-width: 1024px){.bulk-actions-content{flex-wrap:wrap;gap:var(--space-sm)}.bulk-actions{justify-content:center;flex-wrap:wrap}.category-select{min-width:140px}}@media (max-width: 768px){.bulk-actions-toolbar{min-height:auto}.bulk-actions-content{flex-direction:column;align-items:stretch;padding:var(--space-sm);height:auto}.bulk-actions{flex-direction:column;gap:var(--space-sm)}.action-group{width:100%;justify-content:space-between}.assign-btn,.clear-selection-btn{justify-content:center;width:100%}.bulk-message{padding:var(--space-sm)}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:400;padding:var(--space-lg)}.modal{background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;border:var(--border-width-thin) solid var(--color-border-light);z-index:var(--z-index-modal)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:var(--border-width-thin) solid var(--color-border-light);background-color:var(--color-gray-50)}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-close-button{background:none;border:none;font-size:var(--font-size-xl);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-xs);border-radius:var(--border-radius-sm);line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:var(--transition-colors)}.modal-close-button:hover{background-color:var(--color-gray-100);color:var(--color-text-primary)}.modal-close-button:focus{outline:var(--border-width-medium) solid var(--color-primary);outline-offset:2px}.modal-content{padding:var(--space-lg);overflow-y:auto;flex:1}@media (max-width: 768px){.modal-backdrop{padding:var(--space-md)}.modal{max-height:90vh}.modal-header,.modal-content{padding:var(--space-md)}.modal-title{font-size:var(--font-size-md)}}@media (max-width: 480px){.modal-backdrop{padding:var(--space-sm)}.modal{max-height:95vh}.modal-header,.modal-content{padding:var(--space-sm)}}.course-categorization-page{padding:var(--admin-content-padding);padding-bottom:var(--space-lg);max-width:100vw;width:100%;min-height:calc(100vh - 120px);overflow:visible;display:flex;flex-direction:column;box-sizing:border-box}.course-categorization-header{margin-bottom:var(--space-lg);flex-shrink:0}.course-categorization-header h1{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.course-categorization-header p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.course-categorization-layout{display:flex;gap:var(--space-sm);flex:1;min-height:800px;overflow:visible;width:100%}.categories-sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--color-gray-50);border-radius:var(--border-radius-md);padding:var(--space-sm);overflow-y:auto;border:var(--border-width-thin) solid var(--color-border-light);will-change:scroll-position;-webkit-overflow-scrolling:touch}.courses-main-content{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden}.course-categorization-page *{box-sizing:border-box}.course-categorization-layout,.categories-sidebar,.courses-main-content{transition:var(--transition-all)}.course-categorization-page:focus-within{outline:none}@media (prefers-contrast: high){.categories-sidebar{border:var(--border-width-medium) solid var(--color-black)}.course-categorization-header h1{color:var(--color-black)}.course-categorization-header p{color:var(--color-text-primary)}}@media (prefers-reduced-motion: reduce){.course-categorization-layout,.categories-sidebar,.courses-main-content{transition:none}}.course-categorization-loading,.course-categorization-error{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.course-categorization-error{flex-direction:column;gap:1rem}@media (min-width: 1400px){.categories-sidebar{width:280px}.course-categorization-page{padding:var(--space-lg)}}@media (max-width: 1399px) and (min-width: 1024px){.categories-sidebar{width:var(--sidebar-width)}}@media (max-width: 1023px) and (min-width: 768px){.course-categorization-layout{flex-direction:column;gap:var(--space-lg);min-height:700px}.categories-sidebar{width:100%;max-height:250px;padding:var(--space-lg)}.course-categorization-page{padding:var(--space-lg)}.course-categorization-header{margin-bottom:var(--space-lg)}.course-categorization-header h1{font-size:var(--font-size-2xl)}}@media (max-width: 767px) and (min-width: 480px){.course-categorization-page{padding:var(--space-md);height:100vh}.course-categorization-header{margin-bottom:var(--space-md)}.course-categorization-header h1{font-size:var(--font-size-2xl)}.course-categorization-header p{font-size:var(--font-size-sm)}.course-categorization-layout{flex-direction:column;gap:var(--space-md);min-height:600px}.categories-si{width:100%;max-height:200px;padding:var(--space-md)}}@media (max-width: 479px){.course-categorization-page{padding:var(--space-md);height:100vh}.course-categorization-header{margin-bottom:var(--space-md)}.course-categorization-header h1{font-size:var(--font-size-xl)}.course-categorization-header p{font-size:var(--font-size-sm)}.course-categorization-layout{flex-direction:column;gap:var(--space-md);min-height:500px}.categories-sidebar{width:100%;max-height:180px;padding:var(--space-md);border-radius:var(--border-radius-sm)}}@media (max-width: 767px) and (orientation: landscape){.course-categorization-page{height:100vh}.categories-sidebar{max-height:150px}.course-categorization-header{margin-bottom:var(--space-sm)}.course-categorization-header h1{font-size:var(--font-size-xl)}.course-categorization-header p{display:none}}@media (hover: none) and (pointer: coarse){.categories-sidebar{padding:var(--space-lg)}.categories-sidebar{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}}.course-categorization-page *:focus{outline:var(--focus-ring-width) solid var(--color-info-light);outline-offset:var(--focus-ring-offset)}.course-categorization-page *:focus:not(:focus-visible){outline:none}.course-categorization-page *:focus-visible{outline:var(--focus-ring-width) solid var(--color-info-light);outline-offset:var(--focus-ring-offset)}.skip-link{position:absolute;top:-40px;left:var(--space-xs);background:var(--color-info-light);color:var(--color-white);padding:var(--space-sm);text-decoration:none;border-radius:var(--border-radius-sm);z-index:var(--z-index-header)}.skip-link:focus{top:var(--space-xs)}[aria-busy=true]{cursor:wait}.categories-sidebar,.courses-main-content{transform:translateZ(0);backface-visibility:hidden;contain:layout style paint;overscroll-behavior:contain}@media print{.course-categorization-page{height:auto;padding:var(--space-md)}.course-categorization-layout{flex-direction:column}.categories-sidebar{width:100%;max-height:none;page-break-inside:avoid}.bulk-actions-toolbar,.filter-bar,.pagination-controls{display:none}}.courses-main-content>section{flex-shrink:0;position:relative;z-index:2}.courses-main-content>div:last-child{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.catalog-visibility-info{background:var(--color-info-light);border:var(--border-width-thin) solid var(--color-info);border-radius:var(--border-radius-md);padding:var(--space-lg);margin-top:var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.catalog-visibility-info p{margin:0;color:var(--color-info-dark);font-size:var(--font-size-md);line-height:1.6;flex:1}.visibility-rules-button{flex-shrink:0;font-size:var(--font-size-sm)}.visibility-rules-content p{margin:0 0 var(--space-md) 0;color:var(--color-text-secondary)}.visibility-rules-content ul{margin:0;padding-left:var(--space-lg);list-style:disc}.visibility-rules-content li{margin-bottom:var(--space-sm);color:var(--color-text-primary);line-height:1.5}.visibility-rules-content li:last-child{margin-bottom:0}.visibility-rules-content strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}@media (max-width: 768px){.catalog-visibility-info{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.visibility-rules-button{align-self:flex-end}}.discount-manager{padding:var(--space-lg);max-width:1200px}.discount-manager-error{margin-bottom:var(--space-lg)}.discount-code-form{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius);padding:var(--space-lg);margin-bottom:var(--space-xl)}.discount-code-form h3{margin:0 0 var(--space-md) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.discount-form .form-row{display:flex;gap:var(--space-md);align-items:flex-start}.discount-form .form-group{flex:1;min-width:0}.discount-form .form-group:last-child{flex:0 0 auto}.discount-form .form-input{width:100%}.discount-form .form-input--error{border-color:var(--color-error)}.discount-form .btn{white-space:nowrap}.discount-codes-table{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius);padding:var(--space-lg)}.discount-codes-table h3{margin:0 0 var(--space-md) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.discount-codes-loading,.discount-codes-empty{text-align:center;padding:var(--space-xl);color:var(--color-text-secondary)}.discount-codes-empty h3{color:var(--color-text-primary);margin-bottom:var(--space-md)}.discount-codes-empty p{margin:var(--space-sm) 0}.table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;margin-top:var(--space-md)}.admin-table th,.admin-table td{padding:var(--space-md);text-align:left;border-bottom:1px solid var(--color-gray-200)}.admin-table th{background:var(--color-gray-50);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.admin-table td{color:var(--color-text-secondary)}.discount-code-value{background:var(--color-gray-100);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary)}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px;margin-right:var(--space-sm)}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-gray-300);transition:var(--transition-colors);border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-white);transition:var(--transition-transform);border-radius:50%}input:checked+.toggle-slider{background-color:var(--color-primary)}input:checked+.toggle-slider:before{transform:translate(26px)}input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}.operation-pending{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.btn--small{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);min-width:auto}.btn--danger{background-color:var(--color-error);color:var(--color-white);border:1px solid var(--color-error)}.btn--danger:hover:not(:disabled){background-color:var(--color-error-dark);border-color:var(--color-error-dark)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-white);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-width:400px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--color-gray-200)}.modal-header h4{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.modal-body{padding:var(--space-lg)}.modal-body p{margin:0 0 var(--space-md) 0;color:var(--color-text-secondary)}.modal-body p:last-child{margin-bottom:0}.modal-actions{padding:var(--space-lg);border-top:1px solid var(--color-gray-200);display:flex;gap:var(--space-md);justify-content:flex-end}@media (max-width: 768px){.discount-form .form-row{flex-direction:column}.discount-form .form-group:last-child{flex:1}.admin-table{font-size:var(--font-size-sm)}.admin-table th,.admin-table td{padding:var(--space-sm)}}.welcome-message-manager{padding:var(--space-lg);max-width:800px}.welcome-message-header{margin-bottom:var(--space-lg)}.welcome-message-header h2{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.welcome-message-header p{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0}.config-file-instructions{background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--border-radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg)}.config-file-instructions h3{color:var(--color-warning-dark);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-md)}.config-file-instructions p{color:var(--color-text-primary);margin-bottom:var(--space-md)}.config-file-instructions ol{color:var(--color-text-primary);margin-bottom:var(--space-md);padding-left:var(--space-lg)}.config-file-instructions li{margin-bottom:var(--space-sm)}.config-file-instructions code{background:var(--color-gray-100);border-radius:var(--border-radius-sm);padding:var(--space-xs) var(--space-sm);font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.config-example{background:var(--color-gray-900);color:var(--color-gray-100);border-radius:var(--border-radius-md);padding:var(--space-md);font-family:var(--font-family-mono);font-size:var(--font-size-sm);overflow-x:auto;margin:var(--space-md) 0}.welcome-message-form{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm)}.form-textarea{width:100%;min-height:80px;padding:var(--space-md);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-family:inherit;line-height:1.5;resize:vertical;transition:var(--transition-border)}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-textarea:disabled{background:var(--color-gray-50);color:var(--color-text-disabled);cursor:not-allowed}.character-count{text-align:right;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-xs)}.success-message{background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--border-radius-md);padding:var(--space-md);color:var(--color-success-dark);font-size:var(--font-size-md);margin-bottom:var(--space-md)}.form-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-lg)}.welcome-message-info{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);padding:var(--space-lg)}.welcome-message-info h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-md)}.welcome-message-info ul{list-style:none;padding:0;margin:0}.welcome-message-info li{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-bottom:var(--space-sm);display:flex;align-items:flex-start;gap:var(--space-sm)}.welcome-message-info li:last-child{margin-bottom:0}@media (max-width: 768px){.welcome-message-manager{padding:var(--space-md)}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}@media (prefers-reduced-motion: reduce){.form-textarea{transition:none}}@media (prefers-contrast: high){.config-file-instructions,.welcome-message-form{border-width:2px}.form-textarea:focus{box-shadow:0 0 0 3px var(--color-primary)}}.registrations-table-container{overflow-x:auto}.registrations-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.registrations-table th,.registrations-table td{padding:var(--space-sm);text-align:left;border-bottom:1px solid var(--color-gray-200);vertical-align:top}.registrations-table th{background-color:var(--color-gray-50);font-weight:var(--font-weight-medium);position:sticky;top:0;z-index:1}.registrations-table tr:hover{background-color:var(--color-gray-25)}.registrations-table tr.has-outstanding-balance{background-color:var(--color-warning-50)}.registrations-table tr.has-outstanding-balance:hover{background-color:var(--color-warning-100)}.status-column{text-align:center;padding:var(--space-sm)}.status-circle{width:12px;height:12px;border-radius:50%;margin:0 auto;cursor:help;display:block;min-width:12px;min-height:12px}.status-circle.status-not-completed{background-color:#9ca3af;border:1px solid #6b7280}.status-circle.status-completed{background-color:#10b981;border:1px solid #059669}.status-circle.status-failed{background-color:#ef4444;border:1px solid #dc2626}.manual-controls-column{text-align:center;padding:var(--space-sm);min-width:120px}.actions-cell{min-width:200px}.action-btn{padding:var(--space-xs) var(--space-sm);margin-right:var(--space-xs);margin-bottom:var(--space-xs);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);background:var(--color-white);color:var(--color-text-primary);font-size:var(--font-size-xs);cursor:pointer;transition:var(--transition-colors)}.action-btn.details-btn{background-color:var(--color-primary-50);color:var(--color-primary-700);border-color:var(--color-primary-200)}.action-btn.details-btn:hover{background-color:var(--color-primary-100)}.registrations-table-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xl);color:var(--color-text-secondary)}.loading-spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.registrations-table{font-size:var(--font-size-xs)}.status-column{min-width:40px}}.manual-control-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);margin-left:var(--space-xs);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);background:var(--color-white);color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-colors);min-width:80px;justify-content:center}.manual-control-btn:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.manual-control-btn:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.manual-control-btn:active:not(:disabled){transform:translateY(1px)}.manual-btn--plan{background-color:var(--color-info-50);color:var(--color-info-700);border-color:var(--color-info-200)}.manual-btn--plan:hover:not(:disabled){background-color:var(--color-info-100);border-color:var(--color-info-300)}.manual-btn--term{background-color:var(--color-warning-50);color:var(--color-warning-700);border-color:var(--color-warning-200)}.manual-btn--term:hover:not(:disabled){background-color:var(--color-warning-100);border-color:var(--color-warning-300)}.manual-btn--enroll{background-color:var(--color-success-50);color:var(--color-success-700);border-color:var(--color-success-200)}.manual-btn--enroll:hover:not(:disabled){background-color:var(--color-success-100);border-color:var(--color-success-300)}.manual-btn--loading{cursor:not-allowed;opacity:.8}.manual-btn-spinner{animation:spin 1s linear infinite}.manual-btn--completed{background-color:var(--color-success-100)!important;color:var(--color-success-800)!important;border-color:var(--color-success-300)!important;cursor:default}.manual-btn--completed:hover{background-color:var(--color-success-100)!important;border-color:var(--color-success-300)!important;transform:none!important}.manual-btn--completed .manual-btn-icon{color:var(--color-success-600)}.manual-btn--disabled{cursor:not-allowed;opacity:.6;background-color:var(--color-gray-100);color:var(--color-gray-500);border-color:var(--color-gray-200)}.manual-btn-icon{font-size:var(--font-size-xs);flex-shrink:0}.manual-btn-text{white-space:nowrap;font-size:var(--font-size-xs)}@media (max-width: 768px){.manual-control-btn{min-width:70px;padding:var(--space-xs);gap:2px}.manual-btn-text,.manual-btn-icon{font-size:10px}}@media (prefers-contrast: high){.manual-control-btn{border-width:2px}.manual-control-btn:focus{outline-width:3px}}@media (prefers-reduced-motion: reduce){.manual-control-btn{transition:none}.manual-btn-spinner{animation:none}.manual-control-btn:active:not(:disabled){transform:none}}.registration-detail{max-width:1200px;margin:0 auto;padding:var(--space-lg)}.detail-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-gray-200)}.back-btn{padding:var(--space-sm) var(--space-md);background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-colors)}.back-btn:hover{background:var(--color-gray-200)}.detail-header h1{margin:0;color:var(--color-text-primary)}.detail-content{display:grid;gap:var(--space-lg)}.detail-section{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-md);padding:var(--space-lg)}.detail-section h2{margin:0 0 var(--space-md) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.detail-table{width:100%;border-collapse:collapse}.detail-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-gray-100);vertical-align:top}.detail-table td:first-child{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);width:200px}.detail-table td:last-child{color:var(--color-text-primary)}.automation-status-detail{display:flex;flex-direction:column;gap:var(--space-lg)}.status-group{display:flex;flex-direction:column;gap:var(--space-sm)}.status-group h3{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.status-items{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.status-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.status-item.completed{background-color:var(--color-success-50);color:var(--color-success-700)}.status-item.failed{background-color:var(--color-error-50);color:var(--color-error-700)}.status-item.not-completed{background-color:var(--color-gray-50);color:var(--color-gray-600)}.status-icon{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.status-name{font-weight:var(--font-weight-medium)}.error-details{padding:var(--space-md);background-color:var(--color-error-50);border:1px solid var(--color-error-200);border-radius:var(--border-radius-sm)}.error-details h4{margin:0 0 var(--space-sm) 0;color:var(--color-error-700);font-size:var(--font-size-md)}.error-details p{margin:var(--space-xs) 0;color:var(--color-error-600);font-size:var(--font-size-sm)}.multiple-search-results{display:flex;flex-direction:column;gap:var(--space-sm)}.multiple-search-results p{margin:0;color:var(--color-text-secondary)}.search-match-dropdown{padding:var(--space-sm);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);background:var(--color-gray-50);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:not-allowed;width:100%;max-width:500px}.dropdown-note{font-size:var(--font-size-xs);color:var(--color-warning-600);font-style:italic}.course-enrollments-table{width:100%;border-collapse:collapse;margin-top:var(--space-md)}.course-enrollments-table th,.course-enrollments-table td{padding:var(--space-sm);text-align:left;border-bottom:1px solid var(--color-gray-200)}.course-enrollments-table th{background-color:var(--color-gray-50);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.course-enrollments-table tfoot td{font-weight:var(--font-weight-medium)}.course-enrollments-table .total-line td{border-top:2px solid var(--color-gray-300);font-weight:var(--font-weight-bold)}.course-enrollments-table .outstanding-balance td{color:var(--color-error-600);font-weight:var(--font-weight-bold)}.course-enrollments-table .paid-in-full td{color:var(--color-success-600);font-weight:var(--font-weight-bold)}.detail-actions{display:flex;gap:var(--space-md);padding:var(--space-lg);background:var(--color-gray-50);border-radius:var(--border-radius-md);flex-wrap:wrap}.action-btn{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);background:var(--color-white);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-colors)}.action-btn:hover{background-color:var(--color-gray-50)}.action-btn.status-btn.processed{background-color:var(--color-success-50);color:var(--color-success-700);border-color:var(--color-success-200)}.action-btn.status-btn.not-processed{background-color:var(--color-warning-50);color:var(--color-warning-700);border-color:var(--color-warning-200)}.action-btn.email-btn.email-sent{background-color:var(--color-success-50);color:var(--color-success-700);border-color:var(--color-success-200);cursor:not-allowed}.action-btn.email-btn.email-not-sent{background-color:var(--color-info-50);color:var(--color-info-700);border-color:var(--color-info-200)}.action-btn.delete-btn{background-color:var(--color-error-50);color:var(--color-error-700);border-color:var(--color-error-200)}.action-btn.delete-btn:hover{background-color:var(--color-error-100)}@media (max-width: 768px){.registration-detail{padding:var(--space-md)}.detail-header{flex-direction:column;align-items:flex-start}.status-items,.detail-actions{flex-direction:column}.detail-table td:first-child{width:auto}}.manual-controls-section{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-sm);padding:var(--space-md)}.manual-controls-section p{margin:0 0 var(--space-md) 0;color:var(--color-text-secondary)}.manual-controls-buttons{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.manual-controls-info{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-sm);padding:var(--space-sm);font-size:var(--font-size-sm)}.manual-controls-info p{margin:0 0 var(--space-xs) 0;color:var(--color-text-primary)}.manual-controls-info p:last-child{margin-bottom:0}.manual-controls-info strong{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.registrations-page{padding:var(--space-xl);max-width:var(--container-2xl);margin:0 auto}.registrations-header{margin-bottom:var(--space-xl)}.registrations-header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.registrations-header p{color:var(--color-text-secondary);margin:0}.registrations-filter{display:flex;gap:var(--space-md);align-items:end;margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--color-gray-50);border-radius:var(--border-radius-md);border:var(--border-width-thin) solid var(--color-border-light)}.filter-group{display:flex;flex-direction:column;gap:var(--space-sm)}.filter-group label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.filter-group input[type=date]{padding:var(--space-sm);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.filter-group input[type=date]:focus{outline:none;border-color:var(--color-secondary);box-shadow:var(--focus-ring-shadow)}.registrations-filter button{padding:var(--space-sm) var(--space-md);background:var(--color-secondary);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.registrations-filter button:hover:not(:disabled){background:var(--color-secondary-hover)}.registrations-filter button:disabled{background:var(--color-gray-500);cursor:not-allowed}.registrations-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);gap:var(--space-md)}.registrations-loading,.registrations-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl);text-align:center}.registrations-loading .loading-spinner{animation:spin var(--duration-slowest) linear infinite;font-size:var(--font-size-3xl);color:var(--color-secondary);margin-bottom:var(--space-md)}.empty-state{text-align:center;padding:var(--space-3xl);color:var(--color-text-secondary)}.empty-state p{font-size:var(--font-size-lg);margin:0}@media (max-width: 768px){.registrations-page{padding:var(--space-md)}.registrations-filter,.registrations-actions{flex-direction:column;align-items:stretch}}.registrations-table-container{background:var(--color-white);border-radius:var(--border-radius-md);border:var(--border-width-thin) solid var(--color-border-light);overflow:hidden;box-shadow:var(--shadow-md)}.registrations-table{width:100%;border-collapse:collapse}.registrations-table th{background:var(--color-gray-50);padding:var(--space-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:var(--border-width-medium) solid var(--color-border-light);font-size:var(--font-size-sm)}.registrations-table td{padding:var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light);vertical-align:top}.registrations-table tr:hover{background:var(--color-gray-50)}.registrations-table tr.has-outstanding-balance{background:var(--color-warning-bg);border-left:var(--border-width-thick) solid var(--color-warning)}.registrations-table tr.has-outstanding-balance:hover{background:var(--color-warning-border)}.actions-cell{white-space:nowrap}.action-btn{padding:var(--space-xs) var(--space-md);margin:0 var(--space-xs);border:var(--border-width-thin) solid transparent;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;text-decoration:none;display:inline-block;transition:var(--transition-all)}.details-btn{background:var(--color-gray-500);color:var(--color-white);border-color:var(--color-gray-500)}.details-btn:hover{background:var(--color-gray-600);border-color:var(--color-gray-600)}.status-btn.processed{background:var(--color-success-light);color:var(--color-white);border-color:var(--color-success-light)}.status-btn.processed:hover{background:var(--color-success);border-color:var(--color-success)}.status-btn.not-processed{background:var(--color-error-light);color:var(--color-white);border-color:var(--color-error-light)}.status-btn.not-processed:hover{background:var(--color-error);border-color:var(--color-error)}.email-btn.email-sent{background:var(--color-success-light);color:var(--color-white);border-color:var(--color-success-light);cursor:default}.email-btn.email-not-sent{background:var(--color-secondary);color:var(--color-white);border-color:var(--color-secondary)}.email-btn.email-not-sent:hover{background:var(--color-secondary-hover);border-color:var(--color-secondary-hover)}.delete-btn{background:var(--color-error-light);color:var(--color-white);border-color:var(--color-error-light)}.delete-btn:hover{background:var(--color-error);border-color:var(--color-error)}.bulk-actions-toolbar{display:flex;gap:1rem;align-items:center}.bulk-action-btn{padding:.5rem 1rem;border:1px solid transparent;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out}.processed-btn{background:#28a745;color:#fff;border-color:#28a745}.processed-btn:hover{background:#218838;border-color:#1e7e34}.not-processed-btn{background:#6c757d;color:#fff;border-color:#6c757d}.not-processed-btn:hover{background:#545b62;border-color:#4e555b}.export-actions{display:flex;flex-direction:column;gap:1rem}.export-buttons{display:flex;gap:1rem}.export-btn{padding:.5rem 1rem;background:#17a2b8;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .15s ease-in-out}.export-btn:hover:not(:disabled){background:#138496}.export-btn:disabled{background:#6c757d;cursor:not-allowed}.export-error{background:#f8d7da;color:#721c24;padding:.75rem;border-radius:4px;border:1px solid #f5c6cb;display:flex;justify-content:space-between;align-items:center}.export-error button{background:none;border:none;color:#721c24;cursor:pointer;font-weight:500;text-decoration:underline}.export-info{color:#6c757d;font-size:.875rem;margin:0}.registrations-table-loading{display:flex;align-items:center;justify-content:center;padding:3rem;gap:1rem}.loading-spinner{animation:spin 1s linear infinite;color:#007bff}@media (max-width: 768px){.registrations-table th,.registrations-table td{padding:.5rem;font-size:.75rem}.action-btn{padding:.25rem .5rem;font-size:.625rem;margin:.125rem}.export-buttons{flex-direction:column}.bulk-actions-toolbar{flex-direction:column;align-items:stretch}}.registration-manager{width:100%;height:100%}.registration-manager .registrations-page{padding:0}.admin-app{min-height:100vh;background-color:transparent;font-family:var(--font-family-primary)}.admin-auth-loading,.admin-auth-error,.admin-access-denied{display:flex;justify-content:center;align-items:center;min-height:70vh;margin-top:30vh;background-color:transparent}.admin-auth-loading .loading-message{font-size:var(--font-size-lg);color:var(--color-white);text-shadow:0 2px 4px rgba(0,0,0,.5)}.admin-auth-error .loading-error,.admin-access-denied .loading-error{text-align:center;padding:var(--space-xl);background:#fffffff2;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-hero-section{position:relative;height:15vh;min-height:100px;overflow:hidden}.admin-hero-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/assets/classic_sml_mica-spring-201800807--QIyrxOM.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.admin-hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006}@media (max-width: 768px){.admin-app{font-size:var(--font-size-sm)}.admin-hero-section{height:12vh;min-height:75px}}@media (max-width: 480px){.admin-hero-section{height:10vh;min-height:60px}}.course-detail{font-family:var(--font-family-primary);width:100%}.course-hero-section{position:relative;height:30vh;min-height:200px;background:linear-gradient(#0006,#0006),url(/assets/classic_sml_mica-spring-201800807--QIyrxOM.jpg) center/cover no-repeat}.course-detail-container{max-width:var(--container-xl);margin:var(--space-xl) auto;padding:0 var(--space-xl)}.back-button{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-light);cursor:pointer;margin-bottom:var(--space-xl);transition:var(--transition-colors)}.back-button:hover{color:var(--color-primary)}.back-button:focus{outline:var(--focus-ring-width) solid var(--color-primary);outline-offset:var(--focus-ring-offset);border-radius:var(--border-radius-sm)}.course-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-3xl);align-items:start}.course-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-lg);line-height:var(--line-height-tight);align-content:left}.course-description{font-size:var(--font-size-base);font-weight:var(--font-weight-light);line-height:var(--line-height-loose);text-align:left}.course-sidebar{position:sticky;top:var(--space-xl)}.course-info-card{background:var(--color-white);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-sm);padding:var(--space-lg)}.info-item{margin-bottom:var(--space-md)}.info-item:last-child{margin-bottom:0}.info-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:var(--font-size-base)}.info-value.cost{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.info-value.availability{font-weight:var(--font-weight-medium)}.add-to-cart-btn{width:100%;margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;min-height:44px;transition:var(--transition-all);background:var(--color-accent);color:var(--color-black)}.add-to-cart-btn:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.add-to-cart-btn:focus{outline:var(--focus-ring-width) solid var(--color-primary);outline-offset:var(--focus-ring-offset)}.add-to-cart-btn.in-cart{background:var(--color-primary);color:var(--color-white)}.add-to-cart-btn.in-cart:hover:not(:disabled){background:var(--color-primary-hover)}.add-to-cart-btn:disabled{background:var(--color-gray-300);color:var(--color-text-secondary);cursor:not-allowed}.available-sessions{margin-top:3rem}.section-heading{font-size:1.4rem;font-weight:300;margin-bottom:1.5rem;display:flex;align-items:center;color:#000}.section-heading:after{content:"";flex:1;height:1px;background-color:#000;margin-left:1rem}.session-list{background:#f9f9f9;border-radius:4px;padding:1.5rem}.session-item{font-size:.95rem;line-height:1.6}.session-details{margin-bottom:.5rem}.session-details strong,.session-schedule strong{font-weight:600;color:#000}.session-format{background:#19189c;color:#fff;padding:.2rem .5rem;border-radius:3px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.session-schedule{color:#666;font-size:.9rem}.similar-courses{margin-top:3rem}.similar-courses-list{line-height:1.5}.similar-course-wrapper{display:inline}.similar-course-link{background:none;border:none;color:#19189c;font-size:1rem;font-weight:300;cursor:pointer;text-decoration:underline transparent;transition:all .2s ease;padding:0;margin:0}.similar-course-link:hover{text-decoration-color:#19189c;color:#0f0f7a}.similar-course-link:focus{outline:2px solid #19189C;outline-offset:2px;text-decoration-color:#19189c}.separator{color:#000;background:none;margin:0;padding:0}.course-detail .course-footer{background:#ffd500;padding:2rem;margin-top:2rem}.course-footer h3{font-weight:700;font-size:1.5rem;margin-bottom:1.5rem}.course-footer h4{font-weight:700;font-size:1.2rem;margin-bottom:.5rem}.course-footer p{font-weight:300;line-height:1.5}.footer-content{display:flex;justify-content:space-between}.highlight{text-decoration:underline}@media (max-width: 1024px){.course-detail-container{padding:0 1.5rem}.course-layout{gap:2rem}}@media (max-width: 768px){.course-hero-section{height:25vh;min-height:150px}.course-detail-container{padding:0 1rem;margin:1rem auto}.course-layout{grid-template-columns:1fr;gap:1.5rem}.course-title{font-size:1.6rem}.course-sidebar{position:static}.course-info-card{padding:1.25rem}.available-sessions{margin-top:2rem}.section-heading{font-size:1.2rem}.session-list{padding:1.25rem}.session-details{flex-direction:column;gap:.5rem}.footer-content{flex-direction:column;gap:1rem}}@media (max-width: 480px){.course-hero-section{height:20vh;min-height:120px}.course-detail-container{padding:0 .75rem}.course-title{font-size:1.4rem}.course-info-card{padding:1rem}.back-button{margin-bottom:1.5rem}.add-to-cart-btn{padding:.875rem 1.25rem;font-size:.85rem}.session-list{padding:1rem}.session-details{font-size:.9rem}.similar-course-link{font-size:.95rem}}.course-catalog-browser{min-height:100vh;background-color:var(--color-gray-50)}.catalog-hero-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/assets/classic_sml_mica-spring-201800807--QIyrxOM.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.skip-links{position:absolute;top:-40px;left:6px;z-index:1000}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-black);color:var(--color-white);padding:var(--space-sm);text-decoration:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);z-index:1001}.skip-link:focus{top:6px}.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}.course-catalog-header{background-color:var(--color-white);padding:var(--space-xl) 0;border-bottom:var(--border-width-thin) solid var(--color-border-light);text-align:center;position:relative;z-index:1}.course-catalog-header h1{margin:0;font-size:2.5rem;font-weight:var(--font-weight-light);color:var(--color-text-primary)}.course-catalog-content{display:flex;max-width:var(--container-xl);margin:0 auto;padding:var(--space-xl);gap:var(--space-xl)}.course-catalog-filters{flex:0 0 250px;background-color:var(--color-white);padding:var(--space-lg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);height:fit-content}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.course-catalog-filters h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.filters-toggle{display:none;background:none;border:none;font-size:var(--font-size-xl);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-xs);border-radius:var(--border-radius-sm);transition:var(--transition-colors)}.filters-toggle:hover{background-color:var(--color-gray-50);color:var(--color-text-primary)}.filters-toggle:focus{box-shadow:var(--focus-ring-shadow)}.filters-content{transition:max-height var(--transition-slow) ease-out,opacity var(--transition-slow) ease-out;overflow:hidden}.filters-content.collapsed{max-height:0;opacity:0}.filter-group{margin-bottom:var(--space-lg);border:none;padding:0}.filter-group legend{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding:0}.filter-group h3{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.filter-option{display:flex;align-items:center;margin-bottom:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-colors)}.filter-option input[type=checkbox]{margin-right:var(--space-sm);cursor:pointer}.filter-option:hover{color:var(--color-text-primary)}.filter-option input[type=checkbox]:focus{box-shadow:var(--focus-ring-shadow)}.course-catalog-courses{flex:1;background-color:var(--color-white);padding:var(--space-lg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md)}.course-catalog-courses h2{margin:0 0 var(--space-lg) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-normal);color:var(--color-text-primary)}.course-list{display:flex;flex-direction:column;gap:var(--space-xl)}.course-item{padding:var(--space-lg) 0;border-bottom:var(--border-width-thin) solid var(--color-border-light)}.course-item:last-child{border-bottom:none}.course-catalog-browser .course-title{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-secondary);cursor:pointer;text-decoration:none;outline:none;transition:var(--transition-colors)}.course-catalog-browser .course-title:hover,.course-catalog-browser .course-title:focus{text-decoration:underline}.course-catalog-browser .course-title:focus{box-shadow:var(--focus-ring-shadow)}.course-description{margin:0 0 var(--space-md) 0;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.course-session-info{margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-width-thin) solid var(--color-border-light)}.course-dates{margin-bottom:var(--space-sm);font-size:var(--font-size-base);color:var(--color-text-primary)}.course-section,.course-instructor{margin-bottom:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.course-seats{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.course-sessions{margin-top:var(--space-md)}.course-session-date{margin-bottom:var(--space-sm);font-size:var(--font-size-base);color:var(--color-text-primary)}.course-session-date:last-child{margin-bottom:0}.course-session-date .course-instructor{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);margin-top:var(--space-xs)}.session-actions{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-sm)}.course-availability{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.seats-available{color:var(--color-success);font-weight:var(--font-weight-medium)}.course-full{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.session-cart-actions{flex-shrink:0}.add-to-cart-button,.remove-from-cart-button{background-color:var(--color-secondary);color:var(--color-white);border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;transition:var(--transition-colors)}.add-to-cart-button:hover{background-color:var(--color-secondary-hover)}.remove-from-cart-button{background-color:var(--color-error)}.remove-from-cart-button:hover{background-color:var(--color-danger-hover)}.add-to-cart-button:disabled,.remove-from-cart-button:disabled{background-color:var(--color-gray-400);cursor:not-allowed;opacity:.6}.course-meta{display:flex;align-items:center;gap:var(--space-lg);margin:var(--space-sm) 0 var(--space-md) 0}.course-credits{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);background-color:var(--color-gray-100);border-radius:var(--border-radius-sm)}.course-price{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.course-catalog-loading,.course-catalog-error{text-align:center;padding:var(--space-2xl);font-size:var(--font-size-lg)}.course-catalog-error{color:var(--color-error);background-color:var(--color-white);padding:var(--space-xl);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);margin:var(--space-xl)}.course-catalog-error h2{margin:0 0 var(--space-md) 0;color:var(--color-error)}.retry-button{background-color:var(--color-secondary);color:var(--color-white);border:none;padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-base);margin-top:var(--space-md);transition:var(--transition-colors)}.retry-button:hover{background-color:var(--color-secondary-hover)}.no-courses-found{text-align:center;padding:var(--space-2xl) var(--space-xl);background-color:var(--color-gray-50);border-radius:var(--border-radius-md);margin:var(--space-xl) 0}.no-courses-found h3{margin:0 0 var(--space-md) 0;color:var(--color-text-secondary)}.no-courses-found p{margin:0 0 var(--space-lg) 0;color:var(--color-text-secondary)}.clear-filters-button{background-color:var(--color-success);color:var(--color-white);border:none;padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-base);transition:var(--transition-colors)}.clear-filters-button:hover{background-color:var(--color-success-light)}.clear-filters-button:focus{box-shadow:var(--focus-ring-shadow)}@media (max-width: 768px){.course-catalog-content{flex-direction:column;padding:var(--space-md);gap:var(--space-md)}.course-catalog-filters{flex:none;order:2;margin-bottom:var(--space-md)}.course-catalog-courses{order:1}.course-catalog-header{padding:var(--space-lg) 0}.course-catalog-header h1{font-size:2rem}.filters-toggle{display:block}.course-item{padding:var(--space-md) 0}.course-title{font-size:var(--font-size-xl)}.course-description,.course-session-date{font-size:var(--font-size-sm)}.course-session-date .course-instructor{font-size:var(--font-size-xs)}}@media (max-width: 480px){.course-catalog-content{padding:var(--space-sm)}.course-catalog-filters,.course-catalog-courses{padding:var(--space-md)}.course-catalog-header{padding:var(--space-md) 0}.course-catalog-header h1{font-size:var(--font-size-2xl)}.course-title{font-size:var(--font-size-lg)}.course-description{font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.filter-option{font-size:var(--font-size-xs)}.filter-group h3{font-size:var(--font-size-sm)}}@media (max-width: 768px){.catalog-hero-section{height:25vh;min-height:150px}}@media (max-width: 480px){.catalog-hero-section{height:20vh;min-height:120px}}.catalog-unavailable{text-align:center;padding:var(--space-xl) var(--space-lg);background:var(--color-warning-light);border:var(--border-width-thin) solid var(--color-warning);border-radius:var(--border-radius-md);margin:var(--space-lg) 0}.catalog-unavailable h3{color:var(--color-warning-dark);margin-bottom:var(--space-md);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.catalog-unavailable p{color:var(--color-warning-dark);font-size:var(--font-size-lg);margin:0;line-height:1.5}.search-indicator{margin-top:var(--space-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.search-indicator em{font-style:italic}.reset-filters-group{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.reset-filters-btn{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px;transition:var(--transition-colors)}.reset-filters-btn:hover{background-color:var(--color-gray-600)}.reset-filters-btn:focus{box-shadow:var(--focus-ring-shadow)}.main-content{min-height:100vh}.catalog-hero-section{position:relative;height:30vh;min-height:200px;overflow:hidden}.catalog-hero-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/assets/classic_sml_mica-spring-201800807--QIyrxOM.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.catalog-hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006}@font-face{font-family:Theinhardt;src:url(/assets/Theinhardt-Bold-Czc-MqBw.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Theinhardt;src:url(/assets/Theinhardt-Regular-DG9pVKvL.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Theinhardt;src:url(/assets/Theinhardt-Light-DLMboSAX.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Theinhardt;src:url(/assets/Theinhardt-Thin-D_zTc2XI.otf) format("opentype");font-weight:100;font-style:normal;font-display:swap}:root{--color-primary: #19189C;--color-primary-hover: #0f0f7a;--color-secondary: #0066cc;--color-secondary-hover: #0055aa;--color-success: #2e7d32;--color-success-light: #4caf50;--color-error: #c62828;--color-error-light: #f44336;--color-warning: #f57f17;--color-warning-light: #ff9800;--color-info: #1565c0;--color-info-light: #2196f3;--color-success-bg: rgba(46, 125, 50, .1);--color-success-border: rgba(46, 125, 50, .2);--color-error-bg: rgba(198, 40, 40, .1);--color-error-border: rgba(198, 40, 40, .2);--color-warning-bg: rgba(245, 127, 23, .1);--color-warning-border: rgba(245, 127, 23, .2);--color-info-bg: rgba(21, 101, 192, .1);--color-info-border: rgba(21, 101, 192, .2);--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f8f8f8;--color-gray-100: #f5f5f5;--color-gray-200: #e0e0e0;--color-gray-300: #ccc;--color-gray-400: #999;--color-gray-500: #666;--color-gray-700: #333;--color-gray-800: #213547;--color-accent: #fedb00;--color-accent-hover: #fedb00;--color-danger: var(--color-error);--color-danger-hover: var(--color-error-light);--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-gray-100);--color-bg-light: #f0f0f0;--color-text-primary: var(--color-gray-700);--color-text-secondary: var(--color-gray-500);--color-text-muted: var(--color-gray-400);--color-border-light: var(--color-gray-200);--color-border-medium: var(--color-gray-300);--color-border-dark: var(--color-gray-400);--color-link: #646cff;--color-link-hover: #535bf2;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--space-button-padding-x: .75rem;--space-button-padding-y: .375rem;--space-input-padding-x: .5rem;--space-input-padding-y: .375rem;--space-card-padding: 1rem;--space-section-padding: 1rem;--filter-bar-height: 70px;--table-row-height: 40px;--sidebar-item-height: 45px;--toolbar-height: 60px;--sidebar-width: 270px;--admin-content-padding: 1rem;--font-family-primary: "Theinhardt", system-ui, Avenir, Helvetica, Arial, sans-serif;--font-family-mono: "Courier New", monospace;--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;--font-size-4xl: 3.2rem;--font-weight-thin: 100;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.1;--line-height-normal: 1.4;--line-height-relaxed: 1.5;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-full: 50%;--border-radius-pill: 20px;--border-width-thin: 1px;--border-width-medium: 2px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .1);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .1);--focus-ring-color: var(--color-secondary);--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-shadow: 0 0 0 var(--focus-ring-width) rgba(0, 102, 204, .2);--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-colors: color .2s ease, background-color .2s ease, border-color .2s ease;--transition-transform: transform .2s ease;--transition-all: all .2s ease;--z-index-modal: 500;--z-index-header: 1000;--z-index-max: 9999;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--container-2xl: 1440px;--header-height: 60px;--button-height: 40px;--button-height-sm: 32px;--button-height-lg: 48px;--input-height: 40px;--input-height-sm: 32px;--input-height-lg: 48px;--duration-normal: .2s;--duration-slow: .3s;--duration-slowest: 1s}.container{width:100%;margin:0 auto;padding:0 var(--space-md)}.container--sm{max-width:var(--container-sm)}.container--md{max-width:var(--container-md)}.container--lg{max-width:var(--container-lg)}.container--xl{max-width:var(--container-xl)}.container--2xl{max-width:var(--container-2xl)}.container--fluid{max-width:none}.card{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.card--elevated{box-shadow:var(--shadow-md)}.card--flat{box-shadow:none}.card--bordered{border:var(--border-width-thin) solid var(--color-border-light)}.card--borderless{border:none}.card-header{padding:var(--space-lg) var(--space-card-padding);background-color:var(--color-gray-50);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.card-body{padding:var(--space-card-padding)}.card-footer{padding:var(--space-lg) var(--space-card-padding);background-color:var(--color-gray-50);border-top:var(--border-width-thin) solid var(--color-border-light)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.card-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--space-md) 0}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-6{grid-column:span 6 / span 6}.col-span-full{grid-column:1 / -1}.gap-0{gap:0}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.m-0{margin:0}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.m-2xl{margin:var(--space-2xl)}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-xs{margin-left:var(--space-xs);margin-right:var(--space-xs)}.mx-sm{margin-left:var(--space-sm);margin-right:var(--space-sm)}.mx-md{margin-left:var(--space-md);margin-right:var(--space-md)}.mx-lg{margin-left:var(--space-lg);margin-right:var(--space-lg)}.mx-xl{margin-left:var(--space-xl);margin-right:var(--space-xl)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-xs{margin-top:var(--space-xs);margin-bottom:var(--space-xs)}.my-sm{margin-top:var(--space-sm);margin-bottom:var(--space-sm)}.my-md{margin-top:var(--space-md);margin-bottom:var(--space-md)}.my-lg{margin-top:var(--space-lg);margin-bottom:var(--space-lg)}.my-xl{margin-top:var(--space-xl);margin-bottom:var(--space-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mb-auto{margin-bottom:auto}.ml-0{margin-left:0}.ml-xs{margin-left:var(--space-xs)}.ml-sm{margin-left:var(--space-sm)}.ml-md{margin-left:var(--space-md)}.ml-lg{margin-left:var(--space-lg)}.ml-xl{margin-left:var(--space-xl)}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-xs{margin-right:var(--space-xs)}.mr-sm{margin-right:var(--space-sm)}.mr-md{margin-right:var(--space-md)}.mr-lg{margin-right:var(--space-lg)}.mr-xl{margin-right:var(--space-xl)}.mr-auto{margin-right:auto}.p-0{padding:0}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.px-0{padding-left:0;padding-right:0}.px-xs{padding-left:var(--space-xs);padding-right:var(--space-xs)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.px-xl{padding-left:var(--space-xl);padding-right:var(--space-xl)}.py-0{padding-top:0;padding-bottom:0}.py-xs{padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.py-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.min-h-screen{min-height:100vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}@media (max-width: 1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (max-width: 768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:flex-col{flex-direction:column}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:text-center{text-align:center}.md\:px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}}@media (max-width: 480px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex-col{flex-direction:column}.sm\:text-center{text-align:center}.sm\:w-full{width:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-button-padding-y) var(--space-button-padding-x);border:var(--border-width-thin) solid transparent;border-radius:var(--border-radius-sm);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-colors),var(--transition-transform);min-height:var(--button-height);outline:none}.btn:focus-visible{box-shadow:var(--focus-ring-shadow)}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn--primary{background-color:var(--color-primary);color:var(--color-white)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn--secondary{background-color:var(--color-secondary);color:var(--color-white)}.btn--secondary:hover:not(:disabled){background-color:var(--color-secondary-hover);transform:translateY(-1px)}.btn--success{background-color:var(--color-success);color:var(--color-white)}.btn--success:hover:not(:disabled){background-color:var(--color-success-light);transform:translateY(-1px)}.btn--danger{background-color:var(--color-error);color:var(--color-white)}.btn--danger:hover:not(:disabled){background-color:var(--color-danger);transform:translateY(-1px)}.btn--warning{background-color:var(--color-warning);color:var(--color-white)}.btn--warning:hover:not(:disabled){background-color:var(--color-warning-light);transform:translateY(-1px)}.btn--accent{background-color:var(--color-accent);color:var(--color-black);font-weight:var(--font-weight-bold)}.btn--accent:hover:not(:disabled){background-color:var(--color-accent-hover);transform:translateY(-1px)}.btn--outline{background-color:transparent;border-color:currentColor}.btn--outline-primary{color:var(--color-primary);border-color:var(--color-primary)}.btn--outline-primary:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}.btn--outline-secondary{color:var(--color-secondary);border-color:var(--color-secondary)}.btn--outline-secondary:hover:not(:disabled){background-color:var(--color-secondary);color:var(--color-white)}.btn--ghost{background-color:transparent;border-color:transparent;color:var(--color-text-primary)}.btn--ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn--link{background-color:transparent;border-color:transparent;color:var(--color-link);text-decoration:underline;padding:0;min-height:auto}.btn--link:hover:not(:disabled){color:var(--color-link-hover)}.btn--sm{padding:calc(var(--space-button-padding-y) * .75) calc(var(--space-button-padding-x) * .75);font-size:var(--font-size-xs);min-height:var(--button-height-sm)}.btn--lg{padding:calc(var(--space-button-padding-y) * 1.25) calc(var(--space-button-padding-x) * 1.5);font-size:var(--font-size-base);min-height:var(--button-height-lg)}.btn--loading{position:relative;color:transparent}.btn--loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:var(--border-radius-full);animation:spin var(--duration-slowest) linear infinite}.btn--icon{padding:var(--space-sm);min-width:var(--button-height);aspect-ratio:1}.btn--icon-sm{padding:calc(var(--space-sm) * .75);min-width:var(--button-height-sm)}.btn--icon-lg{padding:calc(var(--space-sm) * 1.25);min-width:var(--button-height-lg)}.btn-group{display:inline-flex;align-items:center}.btn-group .btn{border-radius:0;border-right-width:0}.btn-group .btn:first-child{border-top-left-radius:var(--border-radius-sm);border-bottom-left-radius:var(--border-radius-sm)}.btn-group .btn:last-child{border-top-right-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm);border-right-width:var(--border-width-thin)}.btn--full{width:100%}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width: 768px){.btn--responsive{width:100%;justify-content:center}.btn-group--responsive{flex-direction:column;width:100%}.btn-group--responsive .btn{border-radius:var(--border-radius-sm);border-right-width:var(--border-width-thin);border-bottom-width:0;width:100%}.btn-group--responsive .btn:last-child{border-bottom-width:var(--border-width-thin)}}.form-group{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.form-group--horizontal{flex-direction:row;align-items:center;gap:var(--space-md)}.form-group--inline{flex-direction:row;align-items:flex-end;gap:var(--space-sm)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.form-label--required:after{content:" *";color:var(--color-error)}.form-label--optional:after{content:" (optional)";color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.form-input{width:100%;padding:var(--space-input-padding-y) var(--space-input-padding-x);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--border-radius-sm);font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:var(--transition-colors);min-height:var(--input-height);outline:none}.form-input:focus{border-color:var(--color-secondary);box-shadow:var(--focus-ring-shadow)}.form-input:disabled{background-color:var(--color-gray-100);color:var(--color-text-tertiary);cursor:not-allowed}.form-input::placeholder{color:var(--color-text-tertiary)}.form-input--sm{padding:calc(var(--space-input-padding-y) * .75) calc(var(--space-input-padding-x) * .75);font-size:var(--font-size-sm);min-height:var(--input-height-sm)}.form-input--lg{padding:calc(var(--space-input-padding-y) * 1.25) calc(var(--space-input-padding-x) * 1.25);font-size:var(--font-size-lg);min-height:var(--input-height-lg)}.form-input--error{border-color:var(--color-error)}.form-input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 var(--focus-ring-width) #c6282833}.form-input--success{border-color:var(--color-success)}.form-input--success:focus{border-color:var(--color-success);box-shadow:0 0 0 var(--focus-ring-width) #2e7d3233}.form-textarea{resize:vertical;min-height:calc(var(--input-height) * 2.5)}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-sm) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;cursor:pointer}.form-select:disabled{cursor:not-allowed}.input-group{display:flex;align-items:stretch;width:100%}.input-group .form-input{border-radius:0;border-right:none}.input-group .form-input:first-child{border-top-left-radius:var(--border-radius-sm);border-bottom-left-radius:var(--border-radius-sm)}.input-group .form-input:last-child{border-top-right-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm);border-right:var(--border-width-thin) solid var(--color-border-medium)}.input-group .btn{border-radius:0;border-left:none}.input-group .btn:last-child{border-top-right-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm)}.input-group .btn:first-child{border-top-left-radius:var(--border-radius-sm);border-bottom-left-radius:var(--border-radius-sm);border-left:var(--border-width-thin) solid transparent}.input-addon{display:flex;align-items:center;padding:var(--space-input-padding-y) var(--space-input-padding-x);background-color:var(--color-gray-100);border:var(--border-width-thin) solid var(--color-border-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.input-addon--left{border-right:none;border-top-left-radius:var(--border-radius-sm);border-bottom-left-radius:var(--border-radius-sm)}.input-addon--right{border-left:none;border-top-right-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm)}.form-message{font-size:var(--font-size-sm);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs)}.form-message--error{color:var(--color-error)}.form-message--success{color:var(--color-success)}.form-message--warning{color:var(--color-warning)}.form-message--info{color:var(--color-info)}.validation-error,.api-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-sm)}.form-check{display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-sm)}.form-check-input{width:1rem;height:1rem;margin-top:.125rem;cursor:pointer}.form-check-label{font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;line-height:var(--line-height-normal)}.form-section{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-md) 0}.form-section-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:var(--line-height-relaxed)}.form-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:var(--border-width-thin) solid var(--color-border-light)}.form-actions--left{justify-content:flex-start}.form-actions--center{justify-content:center}.form-actions--between{justify-content:space-between}@media (max-width: 768px){.form-group--horizontal,.form-group--inline{flex-direction:column;align-items:stretch}.input-group{flex-direction:column}.input-group .form-input,.input-group .btn{border-radius:var(--border-radius-sm);border:var(--border-width-thin) solid var(--color-border-medium)}.input-group .form-input:not(:last-child){margin-bottom:var(--space-sm)}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;min-height:200px}.loading-state--compact{padding:var(--space-lg) var(--space-md);min-height:100px}.loading-state--inline{flex-direction:row;padding:var(--space-sm) 0;min-height:auto;gap:var(--space-sm)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top:3px solid var(--color-secondary);border-radius:var(--border-radius-full);animation:spin var(--duration-slowest) linear infinite;margin-bottom:var(--space-md)}.loading-spinner--sm{width:24px;height:24px;border-width:2px;margin-bottom:var(--space-sm)}.loading-spinner--lg{width:56px;height:56px;border-width:4px}.loading-spinner--inline{width:16px;height:16px;border-width:2px;margin-bottom:0}.loading-spinner--primary{border-top-color:var(--color-primary)}.loading-spinner--success{border-top-color:var(--color-success)}.loading-spinner--white{border-color:#ffffff4d;border-top-color:var(--color-white)}.loading-message{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.loading-message--sm,.loading-message--inline{font-size:var(--font-size-sm)}.message{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--border-radius-sm);border:var(--border-width-thin) solid;margin:var(--space-sm) 0;font-size:var(--font-size-base);line-height:var(--line-height-normal)}.message--compact{padding:var(--space-sm);font-size:var(--font-size-sm);margin:var(--space-xs) 0}.message--full-width{width:100%;box-sizing:border-box}.message--error{background-color:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}.message--success{background-color:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.message--warning{background-color:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.message--info{background-color:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.message-content{flex:1;display:flex;align-items:flex-start;gap:var(--space-sm)}.message-icon{font-size:var(--font-size-base);flex-shrink:0;margin-top:1px}.message-text{flex:1;word-break:break-word}.message-actions{display:flex;align-items:center;gap:var(--space-sm);margin-left:var(--space-md);flex-shrink:0}.message-btn{background:none;border:var(--border-width-thin) solid currentColor;color:inherit;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-colors)}.message-btn:hover{background-color:#0000000d}.message-dismiss-btn{background:none;border:none;color:inherit;font-size:var(--font-size-lg);cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity var(--transition-normal)}.message-dismiss-btn:hover{opacity:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;min-height:200px;color:var(--color-text-secondary)}.empty-state--compact{padding:var(--space-lg) var(--space-md);min-height:120px}.empty-icon{font-size:var(--font-size-4xl);display:block;margin-bottom:var(--space-md);opacity:.6;color:var(--color-text-tertiary)}.empty-icon--sm{font-size:var(--font-size-2xl);margin-bottom:var(--space-sm)}.empty-message{font-size:var(--font-size-base);margin:0 0 var(--space-lg) 0;line-height:var(--line-height-relaxed);max-width:400px}.empty-message--sm{font-size:var(--font-size-sm)}.empty-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.status-indicator{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.025em}.status-indicator--success{background-color:var(--color-success-bg);color:var(--color-success)}.status-indicator--error{background-color:var(--color-error-bg);color:var(--color-error)}.status-indicator--warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.status-indicator--info{background-color:var(--color-info-bg);color:var(--color-info)}.status-indicator--neutral{background-color:var(--color-gray-100);color:var(--color-text-secondary)}.progress{width:100%;height:8px;background-color:var(--color-gray-200);border-radius:var(--border-radius-sm);overflow:hidden}.progress-bar{height:100%;background-color:var(--color-secondary);transition:width var(--transition-slow)}.progress-bar--success{background-color:var(--color-success)}.progress-bar--warning{background-color:var(--color-warning)}.progress-bar--error{background-color:var(--color-error)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (max-width: 768px){.message{flex-direction:column;gap:var(--space-sm)}.message-actions{margin-left:0;align-self:flex-end}.empty-state{padding:var(--space-xl) var(--space-md)}.empty-icon{font-size:var(--font-size-3xl)}.empty-actions{flex-direction:column;width:100%}.empty-actions .btn{width:100%}}*{box-sizing:border-box}html{font-family:var(--font-family-primary);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-bg-light);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-light)}body.admin-page{position:relative}body.admin-page:before{content:"";position:fixed;top:0;left:0;width:100%;height:400px;background-image:url(/assets/classic_sml_mica-spring-201800807--QIyrxOM.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-2}body.admin-page:after{content:"";position:fixed;top:0;left:0;width:100%;height:400px;background:#0006;z-index:-1}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-md) 0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin:0 0 var(--space-md) 0;line-height:var(--line-height-relaxed)}a{color:var(--color-link);text-decoration:none;font-weight:var(--font-weight-medium);transition:var(--transition-colors)}a:hover{color:var(--color-link-hover);text-decoration:underline}a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--border-radius-sm)}ul,ol{margin:0 0 var(--space-md) 0;padding-left:var(--space-lg)}li{margin-bottom:var(--space-xs)}input,textarea,select,button{font-family:inherit;font-size:inherit}button{border-radius:var(--border-radius-sm);border:var(--border-width-thin) solid transparent;padding:var(--space-button-padding-y) var(--space-button-padding-x);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:inherit;background-color:var(--color-gray-100);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-all);outline:none}button:hover:not(:disabled){background-color:var(--color-gray-200);transform:translateY(-1px)}button:focus-visible{box-shadow:var(--focus-ring-shadow)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--color-primary);color:var(--color-white);padding:var(--space-sm);z-index:var(--z-index-max);transition:top var(--transition-normal);text-decoration:none;border-radius:0 0 var(--border-radius-sm) 0}.skip-to-content:focus{top:0}.focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}.btn,button{border:1px solid black;background:transparent}.hidden-print{display:none!important}}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:400px;padding:20px}.error-content{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:30px;max-width:600px;text-align:center;box-shadow:0 4px 12px #0000001a}.error-content h2{color:#c62828;margin-bottom:15px;font-size:1.5rem}.error-content p{color:#555;margin-bottom:20px;font-size:1rem}.error-details{margin:20px 0;text-align:left;background-color:#f8f8f8;padding:15px;border-radius:4px;border:1px solid #e0e0e0}.error-details p{margin-bottom:10px;color:#333}.error-details details{margin-top:10px}.error-details summary{cursor:pointer;color:#06c;font-size:.9rem;margin-bottom:10px}.error-details pre{background-color:#f1f1f1;padding:10px;border-radius:4px;overflow-x:auto;font-size:.8rem;color:#333}.error-actions{display:flex;justify-content:center;gap:15px;margin-top:20px}.primary-button,.secondary-button{padding:10px 20px;border-radius:4px;font-size:.95rem;cursor:pointer;transition:background-color .2s}.primary-button{background-color:#06c;border:none;color:#fff}.primary-button:hover{background-color:#05a}.secondary-button{background-color:#f5f5f5;border:1px solid #ddd;color:#333}.secondary-button:hover{background-color:#e0e0e0}.retry-button,.home-button{padding:10px 20px;border-radius:4px;font-size:.95rem;cursor:pointer}.retry-button{background-color:#f5f5f5;border:1px solid #ddd;color:#333}.retry-button:hover{background-color:#e0e0e0}.home-button{background-color:#06c;border:none;color:#fff}.home-button:hover{background-color:#05a}@media (max-width: 768px){.error-content{padding:20px}.error-actions{flex-direction:column;gap:10px}.retry-button,.home-button{width:100%}}
