.toast-container{position:fixed;top:var(--spacing-4);right:var(--spacing-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-3);max-width:400px;width:calc(100% - var(--spacing-8));pointer-events:none}.toast-standalone{position:fixed;z-index:var(--z-toast);pointer-events:none}.toast-position-top-right{top:var(--spacing-4);right:var(--spacing-4)}.toast-position-top-left{top:var(--spacing-4);left:var(--spacing-4)}.toast-position-top-center{top:var(--spacing-4);left:50%;transform:translate(-50%)}.toast-position-bottom-right{bottom:var(--spacing-4);right:var(--spacing-4)}.toast-position-bottom-left{bottom:var(--spacing-4);left:var(--spacing-4)}.toast-position-bottom-center{bottom:var(--spacing-4);left:50%;transform:translate(-50%)}.toast{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--background-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border-left:4px solid var(--color-gray-400);pointer-events:auto;animation:toastSlideIn .3s ease-out}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-exit{animation:toastSlideOut .2s ease-in forwards}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-icon{font-size:1.25rem;flex-shrink:0;line-height:1}.toast-content{flex:1;min-width:0}.toast-title{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-1)}.toast-message{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal);margin:0;word-wrap:break-word}.toast-close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1.25rem;line-height:1;cursor:pointer;transition:all var(--transition-fast)}.toast-close:hover{background:var(--color-gray-100);color:var(--text-primary)}.toast-close:focus-visible{outline:2px solid var(--color-indigo);outline-offset:2px}.toast-success{border-left-color:var(--color-success);background:linear-gradient(to right,var(--color-success-light),var(--background-light) 20%)}.toast-error{border-left-color:var(--color-danger);background:linear-gradient(to right,var(--color-danger-light),var(--background-light) 20%)}.toast-warning{border-left-color:var(--color-warning);background:linear-gradient(to right,var(--color-warning-light),var(--background-light) 20%)}.toast-info{border-left-color:var(--color-info);background:linear-gradient(to right,var(--color-info-light),var(--background-light) 20%)}.toast-default{border-left-color:var(--color-indigo)}@media(max-width:768px){.toast-container{top:auto;bottom:var(--spacing-4);left:var(--spacing-4);right:var(--spacing-4);max-width:none;width:auto}.toast{animation:toastSlideUp .3s ease-out}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.toast-exit{animation:toastSlideDown .2s ease-in forwards}@keyframes toastSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.toast-position-top-right,.toast-position-top-left,.toast-position-top-center{top:auto;bottom:var(--spacing-4);left:var(--spacing-4);right:var(--spacing-4);transform:none}}.feedback-button{position:fixed;bottom:2rem;right:2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #667eea66;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;z-index:999;animation:gentle-pulse 3s ease-in-out infinite}.feedback-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #667eea80;animation:none}.feedback-button:active{transform:translateY(-1px) scale(1.02)}.feedback-icon{font-size:1.25rem;line-height:1;animation:wave 2s ease-in-out infinite}.feedback-button:hover .feedback-icon{animation:bounce .6s ease}.feedback-text{font-weight:600;letter-spacing:.3px}@keyframes gentle-pulse{0%,to{box-shadow:0 4px 12px #667eea66}50%{box-shadow:0 4px 16px #667eea99}}@keyframes wave{0%,to{transform:rotate(0)}10%,30%{transform:rotate(-10deg)}20%,40%{transform:rotate(10deg)}50%{transform:rotate(0)}}@keyframes bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-5px)}50%{transform:translateY(0)}75%{transform:translateY(-3px)}}@media(max-width:768px){.feedback-button{bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;font-size:.9rem}.feedback-icon{font-size:1.1rem}.feedback-text{display:none}.feedback-button{border-radius:50%;width:56px;height:56px;padding:0;justify-content:center}}@media(max-width:480px){.feedback-button{bottom:1rem;right:1rem;width:50px;height:50px}.feedback-icon{font-size:1rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--background-light);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow);position:sticky;top:0;z-index:1300}.header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.logo{display:flex;align-items:center;text-decoration:none;transition:opacity .2s}.logo:hover{opacity:.85}.nav{display:flex;gap:1.5rem;flex:1}.nav-link{color:var(--text-primary);font-weight:500;padding:.5rem 1rem;border-radius:.375rem;transition:background-color .2s}.nav-link:hover{background-color:#f3f4f6}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;line-height:1;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.mobile-menu-toggle:hover{background-color:var(--color-gray-100)}.mobile-menu-toggle:focus-visible{outline:2px solid var(--color-indigo);outline-offset:2px}.menu-icon{display:flex;align-items:center;justify-content:center}.mobile-menu-overlay{display:none}.nav-link-active{color:var(--color-indigo);background-color:#4f46e51a}.desktop-header-actions{display:flex;gap:1rem;align-items:center}.mobile-header-actions{display:none}.user-menu{display:flex;align-items:center;gap:.75rem}.user-name{font-weight:600;color:var(--text-primary)}.user-role{color:var(--text-secondary);font-size:.875rem}.student-switcher{position:relative}.active-student-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem;cursor:pointer;border:none;transition:all .2s}.active-student-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.dropdown-arrow{font-size:.75rem;transition:transform .2s}.student-dropdown{position:absolute;top:100%;left:0;margin-top:.5rem;background:#fff;border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 12px #0000001a;min-width:200px;z-index:1000}.student-option{width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;cursor:pointer;transition:background .2s;color:var(--text-primary);font-weight:500;display:flex;justify-content:space-between;align-items:center}.student-option:hover{background:#f3f4f6}.student-option.active{background:#e0e7ff;color:var(--primary-color)}.manage-students-link{display:block;padding:.75rem 1rem;color:var(--primary-color);font-weight:600;border-top:1px solid var(--border-color);text-decoration:none;transition:background .2s}.manage-students-link:hover{background:#f3f4f6}.btn-primary{background-color:var(--primary-color);color:#fff;padding:.5rem 1.5rem;border-radius:.375rem;font-weight:500;transition:background-color .2s;display:inline-block}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:transparent;color:var(--text-primary);padding:.5rem 1.5rem;border:1px solid var(--border-color);border-radius:.375rem;font-weight:500;transition:all .2s;display:inline-block}.btn-secondary:hover{background-color:#f3f4f6}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.footer{background:var(--background-light);border-top:1px solid var(--border-color);padding:2rem;color:var(--text-secondary)}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-content p{margin:0;text-align:center}.footer-links{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.footer-link{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s}.footer-link:hover{color:var(--primary-color);text-decoration:underline}.footer-separator{color:var(--text-secondary);font-size:.9rem}.footer-social{display:flex;gap:1rem}.social-link{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:.5rem;transition:all .3s ease;font-size:.95rem;font-weight:500}.social-link:hover{background:linear-gradient(135deg,#fed3731a,#f152451a,#d92e7f1a,#9b36b71a,#515ecf1a);transform:translateY(-2px)}.instagram-link:hover{color:#e1306c}.social-link svg{width:20px;height:20px}.instagram-icon{transition:transform .3s ease}.instagram-link:hover .instagram-icon{transform:scale(1.1)}@media(max-width:768px){.header-content{padding:.75rem 1rem}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.desktop-header-actions{display:none}.mobile-menu-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav{position:fixed;top:0;left:-100%;width:280px;height:100vh;background:var(--background-light);flex-direction:column;gap:0;padding:1rem 0;box-shadow:2px 0 16px #00000026;transition:left .3s ease;overflow-y:auto;z-index:1001}.nav-open{left:0}.nav-link{padding:1rem 1.5rem;border-radius:0;border-bottom:1px solid var(--border-color);min-height:44px;display:flex;align-items:center}.nav-link-active{background-color:#4f46e51a;border-left:3px solid var(--color-indigo)}.mobile-header-actions{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 1.5rem 1rem;border-top:2px solid var(--border-color);margin-top:1rem}.mobile-user-info{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.75rem}.main-content{padding:1rem}.footer{padding:1.5rem 1rem}.footer-content{gap:.75rem}.social-link{font-size:.875rem;padding:.5rem .75rem}.social-link svg{width:18px;height:18px}}.footer-portal-switcher{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}@media(max-width:768px){.footer-portal-switcher{margin-bottom:.75rem;padding-bottom:.75rem}}.landing-page{width:100%;max-width:100%;margin:0;padding:0}.hero{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);color:#fff;padding:5rem 2rem 4rem;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,255,255,.05) 0%,transparent 30%);pointer-events:none}.hero-content{max-width:900px;margin:0 auto;position:relative;z-index:1;animation:heroFadeInUp .8s ease-out}@keyframes heroFadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-title{font-size:4rem;margin-bottom:1rem;font-weight:800;line-height:1.2;animation:heroTitleFade 1s ease-out}@keyframes heroTitleFade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.gradient-text{background:linear-gradient(135deg,#fbbf24,#f59e0b,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 4px 12px rgba(0,0,0,.2)}.hero-tagline{font-size:1.75rem;margin-bottom:1.5rem;font-weight:600;opacity:.95}.hero-description{font-size:1.25rem;line-height:1.8;margin-bottom:0;opacity:.9;max-width:700px;margin-left:auto;margin-right:auto}.products-section{padding:5rem 2rem;background:#f9fafb}.products-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem}.product-card{background:#fff;border-radius:1.25rem;padding:2.5rem;box-shadow:0 4px 12px #00000014;transition:all .3s;border:2px solid transparent;display:flex;flex-direction:column;position:relative}.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.product-learning:hover{border-color:#667eea}.product-community:hover{border-color:#8b5cf6}.product-content:hover{border-color:#06b6d4}.product-care:hover{border-color:#10b981}.product-donate:hover{border-color:#ef4444}.product-icon{font-size:3.5rem;margin-bottom:1.5rem}.product-card h2{font-size:2rem;color:var(--text-primary);margin-bottom:1rem}.product-description{font-size:1.125rem;line-height:1.7;color:var(--text-secondary);margin-bottom:2rem;flex-grow:1}.product-actions{display:flex;flex-direction:column;gap:1rem}.btn-product-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;border-radius:.75rem;font-size:1.125rem;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #667eea4d;text-decoration:none;text-align:center;display:block}.btn-product-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-product-secondary{background:#fff;color:#667eea;padding:1rem 2rem;border-radius:.75rem;font-size:1.125rem;font-weight:700;transition:all .3s;border:2px solid #667eea;text-decoration:none;text-align:center;display:block}.product-note{text-align:center;font-size:.875rem;color:var(--text-secondary);font-style:italic;margin-top:1rem;padding:.5rem;background:#fef3c7;border-radius:.5rem}.support-section{padding:5rem 2rem;background:linear-gradient(135deg,#fef3c7,#fde68a)}.support-content{max-width:800px;margin:0 auto;text-align:center}.support-content h2{font-size:2.5rem;color:var(--text-primary);margin-bottom:1.5rem}.support-content>p{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem}.support-list{text-align:left;max-width:600px;margin:2rem auto;list-style:none;padding:0}.support-list li{font-size:1.125rem;color:var(--text-primary);margin-bottom:1rem;padding-left:0}.support-actions{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin:2rem 0}.btn-donate{background:#ef4444;color:#fff;padding:1.25rem 3rem;border-radius:.75rem;font-size:1.25rem;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #ef44444d;text-decoration:none;display:inline-block}.btn-volunteer{background:#10b981;color:#fff;padding:1.25rem 3rem;border-radius:.75rem;font-size:1.25rem;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #10b9814d;text-decoration:none;display:inline-block}.support-note{font-size:1rem;color:var(--text-secondary);font-style:italic;margin-top:1.5rem}.why-section{padding:5rem 2rem;background:#fff}.why-content{max-width:1200px;margin:0 auto}.why-content h2{font-size:2.5rem;text-align:center;color:var(--text-primary);margin-bottom:3rem}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.why-card{background:var(--background-light);padding:2rem;border-radius:1rem;border:2px solid var(--border-color);transition:all .3s;text-align:center}.why-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a;border-color:var(--primary-color)}.why-icon{font-size:3rem;margin-bottom:1rem}.why-card h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.why-card p{color:var(--text-secondary);line-height:1.6;font-size:1rem}.cta-section{padding:5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.cta-content{max-width:800px;margin:0 auto}.cta-content h2{font-size:2.5rem;margin-bottom:1rem}.cta-content p{font-size:1.25rem;margin-bottom:2.5rem;opacity:.9}.cta-actions{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.btn-cta-primary{background:#fff;color:#667eea;padding:1.25rem 3rem;border-radius:.75rem;font-size:1.25rem;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #00000026;text-decoration:none;display:inline-block}.btn-cta-secondary{background:#fff3;color:#fff;padding:1.25rem 3rem;border-radius:.75rem;font-size:1.25rem;font-weight:700;transition:all .3s;border:2px solid white;text-decoration:none;display:inline-block}@media(max-width:768px){.hero{padding:4rem 1.5rem 3rem}.hero-title{font-size:2.5rem}.hero-tagline{font-size:1.25rem}.hero-description{font-size:1rem}.products-container{grid-template-columns:1fr;gap:2rem}.why-grid{grid-template-columns:1fr}.why-content h2,.support-content h2,.cta-content h2{font-size:2rem}.cta-actions,.support-actions{flex-direction:column;align-items:stretch}.btn-cta-primary,.btn-cta-secondary,.btn-donate,.btn-volunteer{width:100%}.product-actions{gap:.75rem}}.oauth-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 24px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#333;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.oauth-button:hover{background:#f5f5f5;border-color:#d0d0d0;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.oauth-button:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.oauth-button img{width:20px;height:20px}.oauth-button-google:hover{border-color:#4285f4}.oauth-button-github:hover{border-color:#333}@media(prefers-color-scheme:dark){.oauth-button{background:#2a2a2a;color:#e0e0e0;border-color:#444}.oauth-button:hover{background:#333;border-color:#555}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.auth-card{background:var(--background-light);padding:2.5rem;border-radius:.75rem;box-shadow:var(--shadow-lg);width:100%;max-width:450px}.auth-logo{display:flex;justify-content:center;margin-bottom:1.5rem}.auth-card h2{color:var(--text-primary);font-size:1.875rem;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:2rem}.oauth-section{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--text-secondary);font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.divider span{padding:0 1rem}.role-selection{margin-bottom:2rem}.role-label{font-weight:500;color:var(--text-primary);margin-bottom:1rem;text-align:center}.role-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.role-icon{font-size:2.5rem;margin-bottom:.5rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-primary);font-weight:500;font-size:.875rem}.form-group input,.form-group textarea,.form-group select{padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.btn-full{width:100%;padding:.875rem;font-size:1rem}.error-message{background-color:#fee2e2;color:#991b1b;padding:.75rem;border-radius:.375rem;font-size:.875rem}.success-message-container{text-align:center;padding:2rem 0}.success-icon{font-size:4rem;margin-bottom:1rem}.success-message-container h2{color:var(--text-primary);font-size:1.875rem;margin-bottom:1rem}.success-message{color:var(--text-primary);font-size:1.125rem;margin-bottom:1.5rem;line-height:1.6}.success-message strong{color:var(--primary-color)}.success-instructions{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.success-actions{margin-bottom:1.5rem}.success-note{color:var(--text-secondary);font-size:.875rem}.success-note a{color:var(--primary-color);text-decoration:underline;cursor:pointer}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-secondary)}.auth-footer a{color:var(--primary-color);font-weight:600}.demo-accounts{margin-top:2rem;padding:1rem;background-color:#f3f4f6;border-radius:.375rem;font-size:.875rem}.demo-title{font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.demo-accounts p{color:var(--text-secondary);margin:.25rem 0}.field-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem;line-height:1.5}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:background-color .2s}.checkbox-label span{color:var(--text-primary);font-weight:500}.nested-field{margin-top:.75rem;padding-left:2rem}.nested-field input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem}.day-time-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;background:#f9fafb}.day-name{font-weight:500;color:var(--text-primary)}.time-input{padding:.5rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;min-width:120px}.repeat-row{display:flex;gap:1rem;align-items:center}.repeat-number{width:80px;padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem}.repeat-unit{flex:1;padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem}.days-selector{display:flex;gap:.5rem;margin-bottom:.5rem}.day-button{width:48px;height:48px;border:2px solid var(--border-color);border-radius:.5rem;background:#fff;color:var(--text-primary);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.day-button:hover{border-color:var(--primary-color);background:#f3f4f6}.day-button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.recurrence-summary{margin-top:.75rem;padding:.75rem 1rem;background:#f0f9ff;border-left:3px solid var(--primary-color);color:var(--text-primary);font-size:.875rem;line-height:1.5;border-radius:.375rem}@media(max-width:640px){.days-selector{gap:.25rem}.day-button{width:40px;height:40px;font-size:.875rem}}@media(max-width:768px){.auth-container{padding:1rem}.auth-card{padding:1.5rem}.auth-card h2{font-size:1.5rem}.role-cards,.form-row{grid-template-columns:1fr}.day-time-row{flex-direction:column;align-items:flex-start;gap:.5rem}.time-input{width:100%}.repeat-row{flex-direction:column;align-items:stretch}.repeat-number,.repeat-unit{width:100%}}.day-time-group{display:flex;flex-direction:column;gap:.75rem}.day-time-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#f9fafb;border-radius:.5rem;gap:1rem}.day-time-row .checkbox-label{flex:1;margin:0;padding:0}.day-name{font-weight:500;min-width:100px}.time-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;min-width:120px;background:#fff}.time-input:focus{outline:none;border-color:var(--primary-color)}.star-rating{display:flex;gap:.25rem}.star{color:#d1d5db;transition:color .2s}.star.filled{color:#fbbf24}.star.interactive{cursor:pointer}.star.interactive:hover{color:#fbbf24}.star-rating.small .star{font-size:1rem}.star-rating.medium .star{font-size:1.25rem}.star-rating.large .star{font-size:2rem}.star.half-filled{background:linear-gradient(90deg,#fbbf24 50%,#ddd 50%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.course-card{background:var(--background-light);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card);transition:all var(--transition-slow);display:flex;flex-direction:column;border:2px solid transparent}.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:var(--color-indigo)}.course-card:hover .category-icon-large{transform:scale(1.1)}.course-card:hover .view-course-indicator{opacity:1;transform:translateY(0)}.course-card:focus-visible{outline:2px solid var(--color-indigo);outline-offset:2px}.course-image{position:relative;width:100%;height:160px;overflow:hidden;background:#e5e7eb}.course-image img{width:100%;height:100%;object-fit:cover}.generated-image{width:100%;height:100%;position:relative}.category-icon-large{font-size:6rem;opacity:.95;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.free-badge{position:absolute;top:.75rem;right:.75rem;background:var(--secondary-color);color:#fff;padding:.375rem .875rem;border-radius:1.5rem;font-size:.8125rem;font-weight:600;box-shadow:0 2px 4px #0003;z-index:2}.full-badge{position:absolute;bottom:.75rem;left:.75rem;right:.75rem;background:var(--danger-color);color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:700;text-align:center;box-shadow:0 2px 8px #0000004d;z-index:2;text-transform:uppercase;letter-spacing:.5px}.spots-badge{position:absolute;bottom:.75rem;left:.75rem;right:.75rem;background:#f59e0b;color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:700;text-align:center;box-shadow:0 2px 8px #0000004d;z-index:2}.course-content{padding:.875rem;display:flex;flex-direction:column;gap:.25rem}.course-metadata{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.course-category{color:var(--primary-color);font-size:.875rem;font-weight:600;text-transform:uppercase}.course-age-group{display:inline-block;padding:.25rem .5rem;background:#f3f4f6;border-radius:.25rem;font-size:.75rem;color:#6b7280;font-weight:500;white-space:nowrap;transition:background .2s}@media(max-width:768px){.course-age-group{font-size:.7rem;padding:.2rem .4rem}}@media(max-width:480px){.course-age-group{font-size:.65rem;padding:.15rem .35rem}}.course-title{font-size:1.25rem;color:var(--text-primary);font-weight:600;line-height:1.4}.course-description{color:var(--text-secondary);font-size:.875rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-instructor{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem}.course-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;margin-top:.5rem;border-top:1px solid var(--border-color)}.course-rating{display:flex;align-items:center;gap:.5rem}.course-price{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.courses{min-height:100vh;background:var(--color-off-white)}.courses-filters{margin-top:2rem;margin-bottom:2rem;display:flex;flex-direction:column;gap:1.5rem}.search-bar input{width:100%;padding:.875rem 1.25rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;background:var(--background-light)}.search-bar input:focus{outline:none;border-color:var(--primary-color)}.category-filters{display:flex;gap:.75rem;flex-wrap:wrap}.category-btn{padding:.5rem 1.25rem;border:1px solid var(--border-color);border-radius:2rem;background:var(--background-light);color:var(--text-primary);font-weight:500;transition:all .2s}.category-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.category-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;align-items:start}.no-results{grid-column:1 / -1;text-align:center;padding:4rem 2rem;color:var(--text-secondary)}@media(max-width:768px){.courses-grid{grid-template-columns:1fr}.courses-filters{margin-top:var(--spacing-6)}}.course-reviews-section{margin:3rem 0;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.reviews-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.reviews-summary h2{margin:0 0 .5rem;font-size:1.75rem;color:#1f2937}.rating-summary{display:flex;align-items:center;gap:1rem}.average-rating{display:flex;align-items:center;gap:.5rem}.rating-number{font-size:2rem;font-weight:700;color:#f59e0b}.review-count{color:#6b7280;font-size:.95rem}.btn-write-review{padding:.75rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-write-review:hover{background:#4338ca;transform:translateY(-1px)}.review-form-container{margin-bottom:2rem;padding:1.5rem;background:#f9fafb;border-radius:8px;border:2px solid #e5e7eb}.review-form h3{margin:0 0 1.5rem;color:#1f2937;font-size:1.25rem}.rating-input{display:flex;align-items:center;gap:.5rem}.star-btn{background:none;border:none;font-size:2rem;cursor:pointer;padding:0;opacity:.3;transition:all .2s}.star-btn.active{opacity:1;transform:scale(1.1)}.star-btn:hover{transform:scale(1.2)}.rating-text{margin-left:.5rem;color:#6b7280;font-size:.95rem}.review-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s}.review-textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-primary{padding:.75rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#4338ca}.reviews-loading,.no-reviews{text-align:center;padding:3rem;color:#6b7280}.review-card{padding:1.5rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.review-header{margin-bottom:1rem}.reviewer-info{display:flex;align-items:flex-start;gap:1rem}.reviewer-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.reviewer-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem}.reviewer-details{flex:1}.reviewer-name{margin:0 0 .25rem;font-size:1.1rem;color:#1f2937}.review-meta{display:flex;align-items:center;gap:1rem}.review-date{color:#6b7280;font-size:.875rem}.review-comment{margin:0;color:#374151;line-height:1.6;font-size:1rem}@media(max-width:768px){.course-reviews-section{padding:1.5rem}.reviews-header{flex-direction:column;align-items:stretch}.btn-write-review{width:100%}.rating-summary{flex-direction:column;align-items:flex-start;gap:.5rem}.form-actions{flex-direction:column}.btn-secondary,.btn-primary{width:100%}}.page-error-boundary{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.page-error-content{background:#fff;border-radius:12px;padding:40px;max-width:500px;text-align:center;box-shadow:0 4px 20px #0000001a}.page-error-content h2{font-size:1.5rem;margin-bottom:16px;color:#333}.page-error-content p{font-size:1rem;color:#666;margin-bottom:24px}.page-error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.page-error-actions button{padding:10px 20px;font-size:.95rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500}.page-error-actions .btn-primary{background:#667eea;color:#fff}.page-error-actions .btn-primary:hover{background:#5568d3;transform:translateY(-2px)}.page-error-actions .btn-secondary{background:#e0e0e0;color:#333}.page-error-actions .btn-secondary:hover{background:#d0d0d0}.error-details{margin-top:24px;text-align:left;background:#f5f5f5;padding:12px;border-radius:6px;border:1px solid #ddd}.error-details summary{cursor:pointer;font-weight:600;color:#667eea;margin-bottom:8px}.error-state-container{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;min-height:300px}.error-state-content{text-align:center;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:400px}.error-icon{font-size:3rem;margin-bottom:1rem}.error-state-content h3{color:#333;margin-bottom:1.5rem;font-size:1.1rem}.retry-button{padding:10px 24px;font-size:1rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.retry-button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.course-detail{max-width:1200px;margin:0 auto}.course-hero{display:grid;grid-template-columns:1fr 400px;gap:3rem;margin-bottom:3rem}.course-hero-content{display:flex;flex-direction:column;gap:1.5rem}.course-category-badge{display:inline-block;background:var(--primary-color);color:#fff;padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:600;text-transform:uppercase;width:fit-content}.course-hero h1{font-size:2.5rem;color:var(--text-primary);line-height:1.2}.course-lead{font-size:1.125rem;color:var(--text-secondary);line-height:1.6}.course-meta{display:flex;flex-direction:column;gap:.75rem}.meta-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.instructor-link{color:var(--primary-color);text-decoration:none;font-weight:600;transition:all .2s}.instructor-link:hover{text-decoration:underline;color:var(--secondary-color)}.schedule-details{flex-direction:column;align-items:flex-start;gap:.5rem}.schedule-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.schedule-day{background:#f3f4f6;padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;color:var(--text-primary);font-weight:500}.course-schedule-table-full{margin:2rem 0;padding:1.5rem;background:#f8fafc;border-radius:.75rem;border:2px solid #e2e8f0;max-width:1200px}.course-schedule-table-full h3{font-size:1.125rem;color:var(--text-primary);margin-bottom:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.schedule-info-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.schedule-info-item{display:flex;flex-direction:column;gap:.25rem}.info-value{font-size:1rem;color:var(--text-primary);font-weight:600}.schedule-dates-row{padding-top:1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.schedule-dates-row .info-label:not(:first-child){margin-left:1.5rem}.schedule-note{padding:1rem;background:#fff;border-radius:.5rem;text-align:center}.schedule-note p{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.5}@media(max-width:768px){.schedule-info-row{grid-template-columns:repeat(2,1fr);gap:1rem}}.course-enroll-card{background:var(--background-light);padding:2rem;border-radius:.75rem;box-shadow:var(--shadow-lg);height:fit-content;position:sticky;top:100px}.enroll-price{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:1.5rem;text-align:center}.enrollment-status{margin-bottom:1.5rem}.enrollment-bar{height:8px;background:#e5e7eb;border-radius:1rem;overflow:hidden;margin-bottom:.5rem}.enrollment-fill{height:100%;background:var(--primary-color);transition:width .3s}.enrollment-text{font-size:.875rem;color:var(--text-secondary);text-align:center}.spots-warning{color:#f59e0b;font-weight:600}.enroll-features{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.feature{color:var(--text-secondary);font-size:.875rem}button:disabled{opacity:.6;cursor:not-allowed}.course-sections{display:flex;flex-direction:column;gap:3rem}.course-section h2{font-size:1.875rem;color:var(--text-primary);margin-bottom:1.5rem}.learning-objectives{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem}.objective-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#f9fafb;border-radius:.5rem;transition:background-color .2s}.objective-item:hover{background:#f3f4f6}.objective-icon{color:var(--secondary-color);font-size:1.25rem;font-weight:700;flex-shrink:0}.objective-text{font-size:.95rem;color:var(--text-primary);line-height:1.5}.course-note{background:#eff6ff;border-left:4px solid var(--primary-color);padding:1rem 1.25rem;border-radius:.5rem;margin-top:1.5rem}.course-note p{margin:0;color:var(--text-primary);font-size:.95rem;line-height:1.6}.course-note strong{color:var(--primary-color)}.review-item{padding:1.5rem;background:var(--background-light);border-radius:.5rem;border:1px solid var(--border-color)}.review-author{font-weight:600;color:var(--text-primary)}.review-date{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.review-text{color:var(--text-secondary);line-height:1.6}.no-reviews{color:var(--text-secondary);text-align:center;padding:2rem}@media(max-width:968px){.course-hero{grid-template-columns:1fr}.course-enroll-card{position:static}.course-hero h1{font-size:2rem}}.enrollment-success-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.enrollment-success-popup{background:#fff;padding:2rem;border-radius:12px;max-width:500px;width:90%;text-align:center;box-shadow:0 10px 30px #0003;animation:popupSlideIn .3s ease-out}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.enrollment-success-popup .success-icon{font-size:3rem;margin-bottom:1rem}.enrollment-success-popup h2{color:#2d5a27;margin-bottom:1rem}.enrollment-success-popup p{margin-bottom:1rem;line-height:1.5}.enrollment-success-popup .success-subtitle{color:#666;font-size:.9rem}.enrollment-success-popup .success-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.enrollment-success-popup .success-actions button{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.enrollment-success-popup .btn-primary{background:#2d5a27;color:#fff}.enrollment-success-popup .btn-primary:hover{background:#1e3d1a}.enrollment-success-popup .btn-secondary{background:#f5f5f5;color:#333}.enrollment-success-popup .btn-secondary:hover{background:#e0e0e0}.dropdown-divider{height:1px;background:#e0e0e0;margin:.5rem 0}.other-courses-section{margin-top:4rem;padding:3rem 0;border-top:2px solid var(--border-color)}.other-courses-section h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:2rem}.other-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;align-items:start}@media(max-width:768px){.other-courses-section{margin-top:2rem;padding:2rem 0}.other-courses-section h2{font-size:1.5rem;margin-bottom:1.5rem}.carousel-btn{display:none}.carousel-item{flex:0 0 280px;min-width:280px}.other-courses-grid{grid-template-columns:1fr;gap:1.5rem}}.btn-enrolled{position:relative;overflow:hidden;transition:all .3s ease}.btn-enrolled .enrolled-text,.btn-enrolled .unenroll-text{transition:opacity .3s ease,transform .3s ease}.btn-enrolled .unenroll-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;pointer-events:none}.btn-enrolled:hover{background-color:#dc2626;border-color:#dc2626;color:#fff}.btn-enrolled:hover .enrolled-text{opacity:0}.btn-enrolled:hover .unenroll-text{opacity:1;pointer-events:auto}.btn-enrolled:disabled{opacity:.6;cursor:not-allowed}@media(prefers-color-scheme:dark){.course-schedule-table-full{background:#1e293b;border-color:#334155}.schedule-info-row{border-bottom-color:#334155}.schedule-note{background:#1e293b}.schedule-day{background:#334155;color:#e2e8f0}.objective-item{background:#1e293b}.objective-item:hover{background:#334155}.course-note{background:#1e293b;border-left-color:#6366f1}.enrollment-bar{background:#334155}.enrollment-success-popup{background:#1f2937;color:#f9fafb}.enrollment-success-popup h2{color:#86efac}.enrollment-success-popup .success-subtitle{color:#9ca3af}.enrollment-success-popup .btn-secondary{background:#374151;color:#e5e7eb}.enrollment-success-popup .btn-secondary:hover{background:#4b5563}.carousel-btn{background:#1f2937;border-color:#374151;color:#e5e7eb}.carousel-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.course-enroll-card{background:#1f2937;border:1px solid #374151}.review-item{background:#1f2937;border-color:#374151}.dropdown-divider{background:#374151}}.neurodiversity-badges{display:flex;flex-direction:column;gap:.5rem}.neurodiversity-badges.small{gap:.25rem}.badges-label{font-size:.875rem;font-weight:500;color:#6b7280}.badges-list{display:flex;flex-wrap:wrap;gap:.5rem}.neurodiversity-badges.small .badges-list{gap:.25rem}.neurodiversity-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.neurodiversity-badges.small .neurodiversity-badge{padding:.125rem .5rem;font-size:.625rem}.neurodiversity-badges.large .neurodiversity-badge{padding:.375rem 1rem;font-size:.875rem}.neurodiversity-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a;transition:all .2s ease}@media(max-width:768px){.badges-list{gap:.25rem}.neurodiversity-badge{font-size:.625rem;padding:.125rem .5rem}}.portal-switcher{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary, #f8f9fa);border-radius:8px}.portal-switcher.compact{padding:.5rem;background:transparent;justify-content:center}.portal-switcher-label{font-size:.875rem;color:var(--text-secondary, #6c757d);font-weight:500}.portal-switch-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary-color, #7c3aed);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;font-size:.875rem;transition:all .2s ease;border:none;cursor:pointer;font-family:inherit}.portal-switch-link:hover{background:var(--primary-hover, #6d28d9);transform:translate(2px)}.portal-switch-icon{font-size:1.125rem}.portal-switch-arrow{margin-left:.25rem;transition:transform .2s ease}.portal-switch-link:hover .portal-switch-arrow{transform:translate(3px)}.portal-switcher.compact .portal-switch-link{padding:.375rem .75rem;font-size:.8125rem;background:transparent;color:var(--text-secondary, #6c757d);border:1px solid var(--border-color, #dee2e6)}.portal-switcher.compact .portal-switch-link:hover{background:var(--bg-secondary, #f8f9fa);color:var(--primary-color, #7c3aed);border-color:var(--primary-color, #7c3aed);transform:none}@media(max-width:768px){.portal-switcher{flex-direction:column;align-items:stretch;gap:.5rem}.portal-switcher-label{text-align:center}.portal-switch-link{justify-content:center}}.portal-switch-link:focus{outline:2px solid var(--primary-color, #7c3aed);outline-offset:2px}.portal-switch-link:focus:not(:focus-visible){outline:none}.my-courses{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dashboard-header h1{font-size:2rem;color:var(--text-primary);margin:0 0 .5rem}.dashboard-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.student-profile-summary{display:flex;flex-direction:column;gap:.5rem}.student-profile-summary p{color:var(--text-secondary);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--background-light);padding:1.5rem;border-radius:.75rem;box-shadow:var(--shadow);text-align:center}.my-courses .stat-value{font-size:2.5rem;font-weight:700;color:#4f46e5!important;margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.dashboard-section{margin-bottom:2rem}.student-courses-list{display:flex;flex-direction:column;gap:1.5rem}.student-course-card{background:var(--background-light);padding:2rem;border-radius:.75rem;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:2rem;transition:transform .2s,box-shadow .2s}.student-course-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.course-details{flex:1}.course-details h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.75rem}.course-title-link{color:#7c3aed!important;text-decoration:none;transition:all .2s;font-weight:600}.course-title-link:hover{color:#6d28d9!important;text-decoration:underline}.course-details h3 a{color:#7c3aed;text-decoration:none;transition:color .2s}.course-details h3 a:hover{color:#6d28d9;text-decoration:underline}.course-meta{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.course-meta span{color:var(--text-secondary);font-size:.875rem}.instructor-name{font-weight:500}.course-rating-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.rating-display{display:flex;align-items:center;gap:.5rem}.rating-count{color:var(--text-secondary);font-size:.875rem}.your-rating{display:flex;align-items:center;gap:.75rem}.your-rating label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.rating-stars-interactive{display:flex;gap:.25rem}.star-button{background:none;border:none;font-size:1.5rem;color:#d1d5db;cursor:pointer;padding:0;transition:color .2s,transform .2s}.star-button:hover{transform:scale(1.1)}.star-button.filled{color:#fbbf24}.progress-section{display:flex;align-items:center;gap:1rem;margin-top:1rem}.progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:1rem;overflow:hidden}.progress-fill{height:100%;background:var(--primary-color);transition:width .3s}.progress-text{color:var(--text-secondary);font-size:.875rem;white-space:nowrap;font-weight:500}.course-actions{display:flex;flex-direction:column;gap:.75rem}.quick-action-btn.unenroll-btn{font-size:1.25rem;color:#ef4444;font-weight:700}.quick-action-btn.unenroll-btn:hover{background:#fef2f2;border-color:#ef4444;color:#dc2626}.quick-action-btn.unenroll-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.empty-state{text-align:center;padding:3rem;background:var(--background-light);border-radius:.75rem;box-shadow:var(--shadow)}.empty-state p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.125rem}.loading-state,.error-state{text-align:center;padding:3rem;color:var(--text-secondary)}@media(max-width:768px){.my-courses{padding:1rem}.dashboard-header{flex-direction:column;align-items:stretch}.stats-grid{grid-template-columns:1fr}.student-course-card{flex-direction:column;align-items:stretch}.course-actions{flex-direction:row}.course-details h3{font-size:1.25rem}}.instructor-dashboard{max-width:1200px;margin:0 auto}.dashboard-portal-switcher{margin-bottom:1.5rem}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.dashboard-header h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.notification-alert{background:#fef3c7;color:#92400e;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;margin-top:.5rem;border-left:4px solid #f59e0b}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--background-light);padding:2rem;border-radius:.75rem;box-shadow:var(--shadow);text-align:center}.stat-label{color:var(--text-secondary);font-size:.875rem}.dashboard-section{margin-bottom:3rem}.dashboard-section h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin-bottom:0}.instructor-courses-list{display:flex;flex-direction:column;gap:1rem}.instructor-course-card{background:var(--background-light);padding:2rem;border-radius:.75rem;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:2rem;transition:transform .2s,box-shadow .2s}.instructor-course-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.instructor-course-card .course-details{flex:1}.instructor-course-card .course-details h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.75rem}.instructor-course-card .course-title-link{color:#7c3aed!important;text-decoration:none;transition:all .2s;font-weight:600}.instructor-course-card .course-title-link:hover{color:#6d28d9!important;text-decoration:underline}.instructor-course-card .course-description{color:var(--text-secondary);margin-bottom:.75rem;line-height:1.5}.instructor-course-card .course-meta{display:flex;gap:1.5rem;flex-wrap:wrap}.instructor-course-card .course-meta span{color:var(--text-secondary);font-size:.875rem}.status-badge{font-weight:500}.status-badge.published{color:#059669}.status-badge.draft{color:#d97706}.course-stats{display:flex;gap:1.5rem;color:var(--text-secondary);font-size:.875rem}.full-indicator{color:var(--danger-color);font-weight:600}.course-actions{display:flex;gap:.75rem;flex-direction:column}.quick-actions{display:flex;gap:.5rem;justify-content:center}.quick-action-btn{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1.5rem;text-decoration:none;transition:all .2s;cursor:pointer}.quick-action-btn:hover{background:#f3f4f6;border-color:var(--primary-color);transform:scale(1.05)}.quick-action-btn.delete-btn{font-size:1.25rem;color:#ef4444;font-weight:700}.quick-action-btn.delete-btn:hover{background:#fef2f2;border-color:#ef4444;color:#dc2626}.quick-action-btn.delete-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.activity-list{background:var(--background-light);border-radius:.75rem;overflow:hidden;box-shadow:var(--shadow)}.activity-item{display:flex;align-items:center;gap:1rem;padding:1.25rem;border-bottom:1px solid var(--border-color);text-decoration:none;color:inherit;transition:all .2s;cursor:pointer}.activity-item:hover{background:#4f46e50d}.activity-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:50%}.activity-content{flex:1}.activity-title{color:var(--text-primary);font-weight:500}.activity-subtitle,.activity-time{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.requests-list{display:flex;flex-direction:column;gap:1rem}.request-item{background:var(--background-light);padding:1.5rem;border-radius:.75rem;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.request-info{flex:1}.request-student{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.request-course{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem}.request-profile{display:flex;gap:.5rem;margin-bottom:.5rem}.profile-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.request-time{color:var(--text-secondary);font-size:.875rem}.request-actions{display:flex;gap:.75rem}@media(max-width:768px){.dashboard-header,.instructor-course-card{flex-direction:column;align-items:stretch;gap:1rem}.course-actions{justify-content:stretch}.course-actions button,.course-actions a{flex:1}}.instructor-profile-summary{margin-top:.5rem}.instructor-profile-summary p{margin:0 0 .5rem;color:var(--text-secondary);font-size:.95rem}.profile-incomplete-notice{display:flex;align-items:center;gap:.75rem;background:#fef3c7;color:#92400e;padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem;margin-top:.5rem}.btn-link{color:var(--primary-color);text-decoration:none;font-weight:500;font-size:.875rem}.btn-link:hover{text-decoration:underline}.coming-soon-banner{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin:2rem 0;box-shadow:0 4px 6px #0000001a}.coming-soon-icon{font-size:3rem;flex-shrink:0}.coming-soon-content{flex:1}.coming-soon-content h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.coming-soon-content p{margin:0 0 1rem;font-size:1rem;line-height:1.6;opacity:.95}.donation-button{display:inline-block;padding:.75rem 1.5rem;background:#fff;color:#667eea;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.donation-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003;background:#f8f9fa}@media(max-width:768px){.coming-soon-banner{flex-direction:column;text-align:center;padding:1.5rem}.coming-soon-icon{font-size:2.5rem}.coming-soon-content h3{font-size:1.25rem}.coming-soon-content p{font-size:.9rem}.donation-button{padding:.65rem 1.25rem;font-size:.9rem}}.student-homework{width:100%}.student-homework h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:1.5rem}.homework-section{margin-bottom:2.5rem}.section-title{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem;font-weight:600}.homework-list{display:flex;flex-direction:column;gap:1.25rem}.homework-card{background:#fff;border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;transition:box-shadow .2s}.homework-card:hover{box-shadow:0 4px 12px #00000014}.homework-card.overdue{border-left:4px solid #dc2626}.homework-card.completed{background:#f9fafb;border-left:4px solid #10b981}.homework-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.homework-header h4{font-size:1.25rem;color:var(--text-primary);margin:0;flex:1}.due-badge{background:#fef3c7;color:#92400e;padding:.5rem .875rem;border-radius:.5rem;font-size:.875rem;font-weight:500;white-space:nowrap}.due-badge.overdue{background:#fee2e2;color:#991b1b}.due-badge.due-soon{background:#fed7aa;color:#9a3412}.submitted-badge{background:#d1fae5;color:#065f46;padding:.5rem .875rem;border-radius:.5rem;font-size:.875rem;font-weight:500;white-space:nowrap}.homework-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.homework-meta{display:flex;gap:1.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary)}.submit-btn{margin-top:.5rem}.feedback-section{background:#f0fdf4;border:1px solid #86efac;border-radius:.5rem;padding:1rem;margin-bottom:1rem}.feedback-label{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem}.feedback-text{color:var(--text-primary);line-height:1.6;margin:0}.pending-feedback{color:var(--text-secondary);font-style:italic;margin-bottom:1rem}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem;font-size:1rem;background:#fff;border:1px dashed var(--border-color);border-radius:.75rem}@media(max-width:768px){.homework-header{flex-direction:column;align-items:flex-start}.due-badge,.submitted-badge{align-self:flex-start}.homework-card{padding:1.25rem}}.student-resources{width:100%}.student-resources h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:1.5rem}.info-banner{background:#dbeafe;border-left:4px solid #3b82f6;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:2rem;display:flex;align-items:flex-start;gap:.75rem}.resources-list{display:flex;flex-direction:column;gap:1rem}.resource-card{background:#fff;border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;align-items:center;gap:1.25rem;transition:box-shadow .2s}.resource-card:hover{box-shadow:0 4px 12px #00000014}.resource-icon{font-size:2.5rem;flex-shrink:0}.resource-info{flex:1;min-width:0}.resource-info h3{font-size:1.125rem;color:var(--text-primary);margin:0 0 .5rem;word-break:break-word}.resource-meta{display:flex;gap:.5rem;color:var(--text-secondary);font-size:.875rem;flex-wrap:wrap}.resource-actions{display:flex;gap:.75rem;flex-shrink:0}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem;font-size:1rem;background:#fff;border:1px dashed var(--border-color);border-radius:.75rem}@media(max-width:768px){.resource-card{flex-direction:column;align-items:flex-start;padding:1.25rem}.resource-icon{font-size:2rem}.resource-actions{width:100%;flex-direction:column}.resource-actions button{width:100%}}.student-chat{width:100%}.student-chat h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:1.5rem}.chat-container{background:#fff;border:1px solid var(--border-color);border-radius:.75rem;height:600px;display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.empty-chat{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-style:italic}.chat-message{display:flex;flex-direction:column;max-width:70%;animation:slideIn .2s ease-out}.chat-message.own{align-self:flex-end;align-items:flex-end}.message-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.25rem}.message-sender{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.message-time{font-size:.75rem;color:var(--text-secondary)}.message-content{background:#f3f4f6;padding:.875rem 1.125rem;border-radius:1rem;color:var(--text-primary);line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.chat-message.own .message-content{background:var(--primary-color);color:#fff}.chat-input-container{display:flex;gap:1rem;padding:1.25rem;border-top:1px solid var(--border-color);background:#f9fafb}.chat-input{flex:1;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:.95rem;font-family:inherit;resize:none;transition:border-color .2s}.chat-input:disabled{background:#f3f4f6;cursor:not-allowed}.send-button{align-self:flex-end;min-width:100px}.chat-messages::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media(max-width:768px){.chat-container{height:500px}.chat-message{max-width:85%}.chat-input-container{flex-direction:column;padding:1rem}.send-button{width:100%;align-self:stretch}.chat-input{min-height:80px}}.modal-content.confirmation{max-width:400px;padding:3rem 2rem;text-align:center}.confirmation-icon{width:4rem;height:4rem;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1.5rem}.homework-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.submission-info{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:.5rem;font-size:.875rem;color:var(--text-secondary);flex-wrap:wrap}.submission-area,.form-group{margin-bottom:1.5rem}.text-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-family:inherit;font-size:.95rem;resize:vertical;transition:border-color .2s}.text-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.file-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:.95rem;cursor:pointer}.file-input::-webkit-file-upload-button{background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;font-weight:500;margin-right:1rem}.file-input::-webkit-file-upload-button:hover{background:#5b21b6}.file-selected{margin-top:.5rem;color:var(--text-secondary);font-size:.875rem}.checkmark-info{background:#f0fdf4;border:1px solid #86efac;border-radius:.5rem;padding:1.5rem;text-align:center}.checkmark-info p{margin:0;color:var(--text-primary);font-size:1rem}.info-banner{background:#dbeafe;border-left:4px solid #3b82f6;padding:1rem 1.25rem;border-radius:.5rem;display:flex;align-items:flex-start;gap:.75rem}.info-banner p{margin:0;color:var(--text-primary);font-size:.875rem;line-height:1.6}@media(max-width:768px){.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-header,.modal-body,.modal-footer{padding:1.25rem}.submission-info{flex-direction:column;gap:.5rem}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.modal-content{background:var(--background-light);border-radius:.75rem;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-body h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.homework-description{color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.details-section{margin-bottom:2rem}.details-section h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.info-value{font-size:.95rem;color:var(--text-primary)}.response-content{background:#fff;border:1px solid var(--border-color);border-radius:.5rem;padding:1.25rem;line-height:1.6;color:var(--text-primary);white-space:pre-wrap}.file-info{background:#fff;border:1px solid var(--border-color);border-radius:.5rem;padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem}.file-icon{font-size:1.5rem}.file-name{color:var(--text-primary);font-size:.95rem}.feedback-section{background:#f0fdf4;border:1px solid #86efac;border-radius:.5rem;padding:1.5rem;margin-bottom:0}.feedback-section h4{color:#065f46;margin-bottom:1rem}.feedback-content p{color:var(--text-primary);line-height:1.6;margin:0 0 .5rem}.feedback-date{font-size:.875rem;color:var(--text-secondary);font-style:italic}.pending-feedback-box{background:#fef3c7;border:1px solid #fbbf24;border-radius:.5rem;padding:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.pending-icon{font-size:2rem}.pending-feedback-box p{margin:0;color:var(--text-primary);font-style:italic}@media(max-width:768px){.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-header,.modal-body,.modal-footer{padding:1.25rem}.info-grid{grid-template-columns:1fr}.modal-footer button{width:100%}}.back-button-unified{display:inline-flex;align-items:center;gap:.5rem;font-family:inherit;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;border:none;background:none;padding:0;margin:0}.back-button-unified:focus{outline:2px solid var(--primary-color, #667eea);outline-offset:2px;border-radius:4px}.back-button-unified:focus:not(:focus-visible){outline:none}.back-button-unified:focus-visible{outline:2px solid var(--primary-color, #667eea);outline-offset:2px;border-radius:4px}.back-button-arrow{font-size:1.1em;transition:transform .2s ease}.back-button-label{font-size:inherit}.back-button-default{color:var(--primary-color, #667eea);font-size:1rem;padding:.5rem 0;margin-bottom:1rem}.back-button-default:hover{color:#5a3fd6;text-decoration:underline}.back-button-default:hover .back-button-arrow{transform:translate(-3px)}.back-button-default:active{color:#4c35b8}.back-button-light{color:#fff;font-size:1rem;padding:.5rem 0;margin-bottom:1.25rem;opacity:.9}.back-button-light:hover{opacity:1;text-decoration:none}.back-button-light:hover .back-button-arrow{transform:translate(-3px)}.back-button-light:focus{outline-color:#fff}.back-button-filled{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #667eea40}.back-button-filled:hover{box-shadow:0 4px 12px #667eea59}.back-button-filled:hover .back-button-arrow{transform:translate(-4px)}.back-button-filled:active{transform:translateY(1px);box-shadow:0 2px 6px #667eea40}.back-button-filled:focus{outline-color:#764ba2}@media(max-width:968px){.back-button-filled{padding:.5rem 1rem;font-size:.8125rem}}@media(max-width:768px){.back-button-default,.back-button-light{font-size:.9375rem;padding:.375rem 0;margin-bottom:.75rem}.back-button-filled{padding:.5rem 1rem;font-size:.8125rem;margin-bottom:1.25rem}}@media(max-width:480px){.back-button-default,.back-button-light{font-size:.875rem}.back-button-filled{padding:.4375rem .875rem;font-size:.75rem;margin-bottom:1rem}}@media(pointer:coarse){.back-button-unified{min-height:44px;min-width:44px}.back-button-default,.back-button-light{padding:.75rem .5rem}.back-button-filled{padding:.75rem 1.25rem}}.student-course-view{max-width:1200px;margin:0 auto;padding:2rem}.student-course-header{margin-bottom:2rem}.back-button{background:none;border:none;color:var(--primary-color);font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;font-weight:500;display:inline-block;transition:all .2s}.student-course-header h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.course-instructor{color:var(--text-secondary);font-size:1rem}.course-tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--border-color);margin-bottom:2rem;overflow-x:auto;flex-wrap:wrap}.tab-button{background:none;border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;position:relative}.tab-button:hover{color:var(--primary-color);background:#4f46e50d}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:#4f46e50d}.tab-panel{background:var(--background-light);padding:2rem;border-radius:.75rem}.tab-panel h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:1.5rem}.info-banner{background:#dbeafe;border-left:4px solid #3b82f6;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem}.info-icon{font-size:1.25rem;flex-shrink:0}.info-banner p{margin:0;color:var(--text-primary);font-size:.95rem;line-height:1.6}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem;font-size:1.125rem}.schedule-note{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.6}@media(max-width:768px){.student-course-view{padding:1rem}.course-tabs{gap:.25rem}.tab-button{padding:.75rem 1rem;font-size:.875rem}.tab-panel{padding:1.5rem}.tab-panel h2{font-size:1.5rem}}.course-progress-section{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-label{font-size:1rem;font-weight:600;color:var(--text-primary)}.progress-percentage{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.progress-bar{width:100%;height:1.5rem;background:#e5e7eb;border-radius:.75rem;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),#6366f1);transition:width .3s ease;border-radius:.75rem}.progress-stats{font-size:.875rem;color:var(--text-secondary);text-align:center}.sessions-list-student{margin-top:2rem}.sessions-list-student h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:1rem}.session-item-student{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;margin-bottom:1rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;transition:all .2s}.session-item-student:hover{border-color:var(--primary-color);box-shadow:0 4px 6px #0000000d}.session-item-student.past{opacity:.7;background:#f9fafb}.session-date-time{display:flex;flex-direction:column;gap:.25rem;min-width:150px}.session-date{font-size:.875rem;font-weight:600;color:var(--text-primary)}.session-time{font-size:.875rem;color:var(--text-secondary)}.session-duration{font-size:.75rem;color:var(--text-secondary);background:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem;display:inline-block;margin-top:.25rem}.session-details{display:flex;flex-direction:column;gap:.5rem}.session-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.meeting-link-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:all .2s;width:fit-content}.meeting-link-button:hover{background:#5b21b6;transform:translateY(-1px)}.session-status{display:flex;align-items:center}.status-badge{padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;white-space:nowrap}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.upcoming{background:#dbeafe;color:#1e40af}@media(max-width:768px){.session-item-student{grid-template-columns:1fr;gap:1rem}.session-date-time{min-width:auto}.session-status{justify-content:flex-start}}.manage-students{padding:2rem 0}.students-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.students-header h1{font-size:2rem;color:var(--text-primary)}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.student-card{background:var(--background-light);border:2px solid var(--border-color);border-radius:1rem;padding:1.5rem;transition:all .3s}.student-card.active{border-color:var(--primary-color);box-shadow:0 4px 12px #4f46e526}.student-info{display:flex;gap:1rem;margin-bottom:1.5rem}.student-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.student-details{flex:1}.student-details h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:.25rem}.student-age{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem}.student-profile{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.profile-badge{background:#e0e7ff;color:#4f46e5;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500}.student-courses{color:var(--text-secondary);font-size:.875rem}.active-badge{background:var(--primary-color);color:#fff;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:600}.btn-danger{color:var(--danger-color)!important;border-color:var(--danger-color)!important}.btn-danger:hover{background:var(--danger-color)!important;color:#fff!important}@media(max-width:768px){.students-header{flex-direction:column;align-items:flex-start;gap:1rem}.students-grid{grid-template-columns:1fr}}.time-input-container{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid var(--border-color);border-radius:.375rem;background:#fff;transition:border-color .2s}.time-input-container:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.time-input-select{border:none;background:transparent;font-size:1rem;font-family:inherit;padding:.25rem;cursor:pointer;outline:none}.time-input-select.hour{width:50px}.time-input-select.minute{width:55px}.time-separator{font-size:1.25rem;font-weight:600;color:var(--text-secondary)}.period-selector{display:flex;gap:.25rem;margin-left:.5rem;border-left:1px solid var(--border-color);padding-left:.75rem}.period-btn{padding:.375rem .75rem;border:1px solid var(--border-color);background:#fff;border-radius:.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.period-btn:hover{background:#f9fafb}.period-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}@media(max-width:768px){.time-input-container{padding:.375rem}.time-input-select{font-size:.9rem}.period-btn{padding:.25rem .5rem;font-size:.8rem}}.create-course{max-width:1200px;margin:0 auto;padding:2rem}.create-course-header{margin-bottom:2rem}.back-button{background:none;border:none;color:var(--primary-color);font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;font-weight:500;display:inline-block}.create-course-header h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem}.course-form{display:flex;flex-direction:column;gap:1.5rem}.form-card{background:#fff;border-radius:.5rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.form-card h2{margin:0 0 1.5rem;font-size:1.5rem;color:#111827;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.form-content{display:flex;flex-direction:column;gap:1.5rem}.form-section{display:flex;flex-direction:column;gap:.5rem}.form-section label{font-weight:600;color:#374151;font-size:.9rem}.form-input{padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;font-family:inherit}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}textarea.form-input{resize:vertical;min-height:100px}.form-hint{font-size:.75rem;color:#6b7280;margin:.25rem 0 0}.checkbox-label{display:flex;align-items:center;font-weight:600;color:#374151;font-size:.9rem;cursor:pointer}.checkbox-label input[type=checkbox]{margin-right:.5rem;cursor:pointer}.days-selector{display:flex;gap:.5rem;flex-wrap:wrap}.day-button{padding:.5rem 1rem;border-radius:.5rem;border:2px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.day-button:hover{background:#f3f4f6}.day-button.active{border-color:#3b82f6;background:#3b82f6;color:#fff}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.form-actions button{min-width:120px}@media(max-width:768px){.create-course{padding:1rem}.create-course-header h1{font-size:1.5rem}.form-card{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}.manage-sessions{max-width:1200px;margin:0 auto;padding:2rem}.sessions-header{margin-bottom:2rem}.back-button{background:none;border:none;color:#4f46e5;font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:.5rem;font-weight:500}.sessions-header h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.course-title{color:var(--text-secondary);font-size:1.125rem}.sessions-info-banner{background:#fef3c7;border-left:4px solid #f59e0b;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:2rem}.sessions-info-banner p{margin:0;color:var(--text-primary);font-size:.95rem;line-height:1.6}.course-schedule-info{background:#f0f9ff;border:2px solid var(--primary-color);border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.course-schedule-info h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:1rem}.schedule-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.schedule-detail{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.detail-value{font-size:1rem;color:var(--text-primary);font-weight:600}.schedule-dates{padding-top:1rem;border-top:1px solid #bfdbfe;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.course-meeting-link-section{background:var(--background-light);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.course-meeting-link-section h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.meeting-link-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.meeting-link-edit{display:flex;flex-direction:column;gap:1rem}.meeting-link-input{padding:.75rem 1rem;border:2px solid var(--primary-color);border-radius:.5rem;font-size:1rem;font-family:inherit;width:100%}.meeting-link-input:focus{outline:none;box-shadow:0 0 0 3px #4f46e51a}.meeting-link-actions{display:flex;gap:.5rem}.meeting-link-display-section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.meeting-link-value{flex:1;font-family:monospace;background:#eff6ff;padding:.75rem 1rem;border-radius:.5rem;color:#4f46e5;word-break:break-all}.sessions-container{background:var(--background-light);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border-color)}.sessions-container h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1.5rem}.sessions-list{display:flex;flex-direction:column;gap:1rem}.session-item{display:flex;gap:1.5rem;padding:1.25rem;background:#fff;border-radius:.5rem;border:1px solid var(--border-color);transition:box-shadow .2s}.session-item:hover{box-shadow:0 2px 8px #00000014}.session-date-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;padding:.75rem;background:#f9fafb;border-radius:.5rem}.session-date{font-weight:600;color:var(--text-primary);font-size:.95rem;text-align:center}.session-time{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.session-attendees{color:#4f46e5;font-size:.875rem;margin-top:.5rem;font-weight:500}.session-topic-area{flex:1;display:flex;align-items:center}.topic-display{display:flex;align-items:center;gap:1rem;width:100%}.topic-text{flex:1;font-size:1rem;color:var(--text-primary);font-weight:500}.topic-text.empty{color:var(--text-secondary);font-style:italic;font-weight:400}.topic-status{padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500;white-space:nowrap}.topic-status.set{background:#d1fae5;color:#065f46}.topic-status.pending{background:#fef3c7;color:#92400e}.topic-edit{display:flex;flex-direction:column;gap:1rem;width:100%}.edit-fields{display:flex;flex-direction:column;gap:.75rem;width:100%}.topic-input{padding:.75rem 1rem;border:2px solid var(--primary-color);border-radius:.5rem;font-size:1rem;font-family:inherit}.topic-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.topic-actions{display:flex;gap:.5rem}.topic-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.meeting-link-display{font-size:.875rem;color:#4f46e5;font-family:monospace;background:#eff6ff;padding:.5rem;border-radius:.375rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}@media(max-width:768px){.manage-sessions{padding:1rem}.student-header{flex-direction:column;align-items:flex-start;gap:1rem}.session-item{flex-direction:column;gap:1rem}.session-date-time{width:100%}.topic-display{flex-direction:column;align-items:flex-start;gap:1rem}.topic-info{width:100%}.topic-display>div:last-child{width:100%;display:flex;flex-direction:column;gap:.5rem}.topic-display>div:last-child a,.topic-display>div:last-child button{width:100%}.topic-edit{flex-direction:column}.topic-actions{width:100%}.topic-actions button{flex:1}}.sessions-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.create-session-section{margin-bottom:2rem;text-align:right}.modal-content{background:var(--background-light);border-radius:.75rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header h2{font-size:1.5rem;color:var(--text-primary);margin:0}.close-button{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s}.close-button:hover{background:#0000000d;color:var(--text-primary)}.modal-body{padding:2rem}.form-group label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem}.form-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-hint{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.info-banner-modal{background:#dbeafe;border-left:4px solid #3b82f6;padding:1rem 1.25rem;border-radius:.5rem;display:flex;align-items:flex-start;gap:.75rem;margin-top:1.5rem}.info-banner-modal .info-icon{font-size:1.25rem;flex-shrink:0}.info-banner-modal p{margin:0;color:var(--text-primary);font-size:.875rem;line-height:1.6}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem;border-top:1px solid var(--border-color)}.modal-footer button{min-width:120px}@media(max-width:768px){.sessions-header-row{flex-direction:column;align-items:flex-start;gap:1rem}.sessions-header-row button{width:100%}.form-row{grid-template-columns:1fr}.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-header,.modal-body,.modal-footer{padding:1.25rem}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.header-actions{display:flex;gap:.75rem;align-items:center}.student-actions{display:flex;gap:.5rem}.modal-large{max-width:700px}.day-selector{display:flex;gap:.5rem;flex-wrap:wrap}.day-button{padding:.75rem 1.25rem;border:2px solid var(--border-color);background:#fff;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s;color:var(--text-primary);min-width:60px}.day-button:hover{border-color:#4f46e5;background:#4f46e50d}.day-button.selected{background:var(--primary-color);color:#fff;border-color:#4f46e5}.schedule-preview{background:#f0fdf4;border:1px solid #86efac;border-radius:.5rem;padding:1.25rem;margin-top:1.5rem}.schedule-preview h4{font-size:1rem;color:var(--text-primary);margin:0 0 .75rem}.schedule-preview p{margin:.5rem 0;color:var(--text-primary);line-height:1.6}.preview-detail{font-size:.875rem;color:var(--text-secondary)}@media(max-width:768px){.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}.student-actions{flex-direction:column;width:100%}.student-actions button{width:100%}.day-selector{justify-content:space-between}.day-button{flex:1;min-width:45px;padding:.75rem .5rem;font-size:.875rem}.modal-large{max-width:100%}}.course-students{padding:1rem 0}.course-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--background-light);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color);text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.students-section{margin-top:2rem}.students-header{margin-bottom:1.5rem}.students-header h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.info-banner{background:#dbeafe;border-left:4px solid #3b82f6;padding:1rem 1.25rem;border-radius:.5rem}.info-banner p{margin:0;color:#1e40af;font-size:.95rem;line-height:1.6}.students-list{display:flex;flex-direction:column;gap:1rem}.student-card{background:var(--background-light);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;transition:box-shadow .2s}.student-card:hover{box-shadow:0 2px 8px #00000014}.student-info{flex:1}.student-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.student-profile{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.profile-badge{background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.student-next-session{color:var(--primary-color);font-size:.875rem;margin-bottom:.5rem;font-weight:500}.student-progress{color:var(--text-secondary);font-size:.875rem}.student-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-sm{padding:.5rem 1rem;font-size:.875rem;white-space:nowrap}.remove-btn{color:#dc2626;border-color:#dc2626}.remove-btn:hover{background:#dc2626;color:#fff}.student-preferences{margin-top:.5rem;font-size:.875rem}.preference-label{color:var(--text-secondary);font-weight:500;margin-right:.5rem}.preference-text{color:var(--text-primary)}.student-meta{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.enrolled-date{font-style:italic}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.loading-state,.error-state{text-align:center;padding:2rem}@media(max-width:768px){.student-card{flex-direction:column;align-items:flex-start}.student-actions{width:100%}.student-actions .btn-sm{flex:1}}.course-homework{padding:1rem 0}.homework-header{margin-bottom:1.5rem}.homework-header h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.assignments-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.assignment-card{background:var(--background-light);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.assignment-info{flex:1}.assignment-info h3{font-size:1.125rem;color:var(--text-primary);margin-bottom:.5rem}.assignment-meta{display:flex;gap:1.5rem;color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem}.assignment-stats{display:flex;gap:1rem;flex-wrap:wrap}.stat{font-size:.875rem;padding:.375rem .75rem;border-radius:.375rem;background:#f3f4f6;color:var(--text-primary)}.stat.pending{background:#fef3c7;color:#92400e}.stat.complete{background:#d1fae5;color:#065f46}.assignment-actions{display:flex;gap:.5rem;flex-wrap:wrap}.modal-content{background:#fff;border-radius:.75rem;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-content h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.form-group input.error,.form-group textarea.error{border-color:#dc2626}.error-message{color:#dc2626;font-size:.875rem;margin-top:.375rem;display:flex;align-items:center;gap:.25rem}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.radio-group input[type=radio]{width:auto;cursor:pointer}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}.submissions-header{margin-bottom:2rem}.submissions-header h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.due-date{color:var(--text-secondary);font-size:1rem}.submissions-list{display:flex;flex-direction:column;gap:1.5rem}.submission-card{background:var(--background-light);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.submission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.submitted-date{color:var(--text-secondary);font-size:.875rem}.not-submitted{color:#92400e;font-size:.875rem;font-weight:500}.submission-content{margin-bottom:1.5rem}.file-submission{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:.5rem}.text-submission{padding:1rem;background:#f9fafb;border-radius:.5rem;color:var(--text-primary);line-height:1.6}.feedback-section{display:flex;flex-direction:column;gap:.75rem}.feedback-section label{font-weight:500;color:var(--text-primary)}.feedback-section textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;font-family:inherit;resize:vertical}.feedback-section textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.feedback-section textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.feedback-actions{display:flex;align-items:center;gap:1rem}.feedback-confirmation{color:#065f46;background:#d1fae5;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.feedback-info{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.feedback-info small{color:var(--text-secondary);font-size:.75rem}@media(max-width:768px){.assignment-card{flex-direction:column}.assignment-actions{width:100%}.assignment-actions .btn-sm{flex:1}.submission-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.course-resources{padding:1rem 0}.resources-header{margin-bottom:1.5rem}.resources-header h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.resources-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary);background:var(--background-light);border:1px dashed var(--border-color);border-radius:.75rem}.resource-card{background:var(--background-light);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.resource-info{flex:1;display:flex;gap:1rem;align-items:flex-start}.resource-icon{font-size:2rem;flex-shrink:0}.resource-details{flex:1;min-width:0}.resource-details h3{font-size:1.125rem;color:var(--text-primary);margin-bottom:.5rem;word-wrap:break-word}.resource-url{color:var(--primary-color);text-decoration:none;font-size:.875rem;word-break:break-all;display:block;margin-bottom:.5rem}.resource-url:hover{text-decoration:underline}.resource-meta{display:flex;gap:1rem;color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem;flex-wrap:wrap}.resource-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.added-date,.view-stats{font-size:.875rem;color:var(--text-secondary)}.view-stats{font-weight:500}.resource-actions{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.file-selected{margin-top:.5rem;padding:.5rem;background:#d1fae5;color:#065f46;border-radius:.375rem;font-size:.875rem}.info-text{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}input[type=file]{padding:.5rem 0!important;border:none!important;background:transparent!important}input[type=file]:focus{box-shadow:none!important}input[type=file].error{color:#dc2626}@media(max-width:768px){.resource-card{flex-direction:column}.resource-info,.resource-actions{width:100%}.resource-actions .btn-sm{flex:1}}.course-chat{padding:1rem 0;display:flex;flex-direction:column;height:calc(100vh - 300px);min-height:500px}.chat-header{margin-bottom:1.5rem}.chat-header h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.back-button{background:none;border:none;color:var(--primary-color);font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0;margin-bottom:.75rem;display:inline-flex;align-items:center;gap:.25rem;transition:opacity .2s}.back-button:hover{opacity:.8}.back-button:focus{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:.25rem}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;background:var(--background-light);border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem}.no-messages{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-style:italic}.message{display:flex;flex-direction:column;max-width:70%;animation:slideIn .2s ease-out}.instructor-message{align-self:flex-end}.student-message{align-self:flex-start}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem;gap:.75rem}.sender-name{font-weight:600;font-size:.875rem}.instructor-message .sender-name{color:var(--primary-color)}.student-message .sender-name{color:var(--text-primary)}.message-time{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.message-content{padding:.875rem 1rem;border-radius:.75rem;line-height:1.5;word-wrap:break-word}.instructor-message .message-content{background:var(--primary-color);color:#fff;border-bottom-right-radius:.25rem}.student-message .message-content{background:#fff;color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:.25rem}.chat-input-form{display:flex;gap:.75rem;align-items:center}.chat-input{flex:1;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;font-family:inherit;transition:border-color .2s}.chat-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.send-button{padding:.875rem 2rem;white-space:nowrap}.send-button:disabled{opacity:.5;cursor:not-allowed}.send-confirmation{position:fixed;bottom:2rem;right:2rem;background:#065f46;color:#fff;padding:.875rem 1.25rem;border-radius:.5rem;box-shadow:0 4px 12px #00000026;font-weight:500;animation:slideInUp .3s ease-out;z-index:100}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.chat-thread-list{display:flex;flex-direction:column;gap:.75rem;padding:0}.no-threads{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary);font-style:italic}.chat-thread-item{background:#fff;border:1px solid var(--border-color);border-radius:.75rem;padding:1.25rem;cursor:pointer;transition:all .2s}.chat-thread-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #4f46e51a;transform:translateY(-1px)}.chat-thread-item:focus{outline:2px solid var(--primary-color);outline-offset:2px}.thread-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.thread-student-info{display:flex;align-items:center;gap:.75rem}.thread-icon{font-size:1.5rem}.thread-student-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.unread-badge{background:#dc2626;color:#fff;padding:.25rem .625rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.thread-preview{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.thread-last-message{flex:1;color:var(--text-secondary);font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-time{color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.thread-list-footer{margin-top:1.5rem;padding:1rem;text-align:center;color:var(--text-secondary);font-size:.875rem;font-style:italic}@media(max-width:768px){.course-chat{height:calc(100vh - 250px);min-height:400px}.message{max-width:85%}.chat-input-form{flex-wrap:wrap}.chat-input{min-width:100%}.send-button{width:100%}.send-confirmation{bottom:1rem;right:1rem;left:1rem;text-align:center}.chat-thread-item{padding:1rem}.thread-preview{flex-direction:column;align-items:flex-start;gap:.25rem}}.input-row{display:flex;gap:.75rem;align-items:center;width:100%}.attach-button{background:#fff;border:1px solid var(--border-color);border-radius:.5rem;padding:.875rem 1rem;font-size:1.25rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.attach-button:hover:not(:disabled){border-color:var(--primary-color);background:#f9fafb}.attach-button:disabled{opacity:.5;cursor:not-allowed}.selected-file-preview{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f3f4f6;border:1px solid var(--border-color);border-radius:.5rem;font-size:.875rem;margin-bottom:.5rem}.selected-file-preview span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn{background:none;border:none;color:#dc2626;font-size:1rem;cursor:pointer;padding:.25rem;line-height:1;transition:opacity .2s}.remove-file-btn:hover{opacity:.7}.message-attachment{margin-top:.5rem}.attachment-image{max-width:100%;max-height:300px;border-radius:.5rem;display:block;cursor:pointer;transition:opacity .2s}.attachment-image:hover{opacity:.9}.attachment-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff3;border-radius:.375rem;color:inherit;text-decoration:none;font-size:.875rem;transition:background .2s}.instructor-message .attachment-link{background:#fff3}.instructor-message .attachment-link:hover{background:#ffffff4d}.student-message .attachment-link{background:#f3f4f6}.student-message .attachment-link:hover{background:#e5e7eb}@media(max-width:768px){.input-row{flex-wrap:nowrap}.attach-button{padding:.875rem;font-size:1.125rem}.attachment-image{max-height:200px}}.manage-course{max-width:1200px;margin:0 auto;padding:2rem}.manage-course-header{margin-bottom:2rem}.back-button{background:none;border:none;color:#4f46e5;font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;font-weight:500;display:inline-block}.back-button:hover{text-decoration:underline}.manage-course-header h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.course-subtitle{color:var(--text-secondary);font-size:1rem}.course-tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--border-color);margin-bottom:2rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.course-tabs::-webkit-scrollbar{display:none}.tab-button{background:none;border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;flex-shrink:0}.tab-button:hover{color:#4f46e5;background:#4f46e50d}.tab-button.active{color:#4f46e5;border-bottom-color:#4f46e5;background:#4f46e50d}.tab-button{position:relative}.notification-badge{position:absolute;top:.5rem;right:.5rem;background:#dc2626;color:#fff;font-size:.75rem;font-weight:600;padding:.125rem .375rem;border-radius:.75rem;min-width:1.25rem;text-align:center;line-height:1.2}.tab-content{min-height:400px}@media(max-width:768px){.manage-course{padding:1rem}.manage-course-header h1{font-size:1.5rem}.course-subtitle{font-size:.875rem}.course-tabs{gap:0;margin-left:-1rem;margin-right:-1rem;padding:0 1rem}.tab-button{padding:.75rem 1rem;font-size:.875rem}.notification-badge{top:.25rem;right:.25rem;font-size:.625rem;padding:.125rem .25rem}.course-details-tab{padding:1rem}.details-header{flex-direction:column;align-items:flex-start;gap:1rem}.details-header h2{font-size:1.25rem}.detail-row{grid-template-columns:1fr;gap:1rem}}.course-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;text-align:center;transition:all .2s}.stat-card:hover{border-color:#4f46e5;box-shadow:0 4px 6px #0000000d}.stat-value{font-size:2.5rem;font-weight:700;color:#4f46e5;margin-bottom:.5rem}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}@media(max-width:768px){.course-stats{grid-template-columns:1fr;gap:1rem}}.course-details-tab{background:#fff;border-radius:.5rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.details-header h2{margin:0;font-size:1.5rem;color:#111827}.details-content{display:flex;flex-direction:column;gap:1.5rem}.detail-section{display:flex;flex-direction:column;gap:.5rem}.detail-section label{font-weight:600;color:#374151;font-size:.9rem}.detail-section p{margin:0;color:#6b7280;font-size:1rem}.detail-input{padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;font-family:inherit}.detail-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.detail-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}textarea.detail-input{resize:vertical;min-height:100px}.student-profile{max-width:800px;margin:0 auto}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.profile-header h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.profile-subtitle{color:var(--text-secondary);font-size:1rem}.profile-form{display:flex;flex-direction:column;gap:2rem}.profile-section{background:var(--background-light);padding:2rem;border-radius:.75rem;border:1px solid var(--border-color)}.profile-section h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.section-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;padding:1rem;background:#eff6ff;border-left:4px solid var(--primary-color);border-radius:.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{font-weight:500;color:var(--text-primary);font-size:.95rem}.form-group input,.form-group textarea,.form-group select{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;font-family:inherit;transition:border-color .2s;background:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background:#f9fafb;color:var(--text-secondary);cursor:not-allowed}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fff;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s}.checkbox-label:hover{background:#f9fafb;border-color:var(--primary-color)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.checkbox-label span{font-size:.95rem;color:var(--text-primary)}.profile-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.danger-zone{border-color:#fecaca;background:#fef2f2}.btn-danger{background:#ef4444;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;border:none;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger:hover{background:#dc2626}@media(max-width:768px){.profile-header{flex-direction:column;align-items:flex-start;gap:1rem}.form-row,.checkbox-grid{grid-template-columns:1fr}.profile-actions{flex-direction:column}.profile-actions button{width:100%}}.legal-page{min-height:100vh;background:var(--background-light);padding:2rem 1rem}.legal-container{max-width:900px;margin:0 auto;background:#fff;padding:3rem;border-radius:.5rem;box-shadow:var(--shadow)}.legal-container h1{color:var(--primary-color);font-size:2.5rem;margin-bottom:.5rem;border-bottom:3px solid var(--primary-color);padding-bottom:1rem}.last-updated{color:var(--text-secondary);font-style:italic;margin-bottom:2rem;font-size:.95rem}.legal-container section{margin-bottom:2.5rem}.legal-container h2{color:var(--text-primary);font-size:1.75rem;margin-bottom:1rem;margin-top:2rem}.legal-container h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:.75rem;margin-top:1.5rem}.legal-container p{color:var(--text-secondary);line-height:1.8;margin-bottom:1rem}.legal-container ul{margin-left:1.5rem;margin-bottom:1rem}.legal-container li{color:var(--text-secondary);line-height:1.8;margin-bottom:.5rem}.legal-container a{color:var(--primary-color);text-decoration:underline}.legal-container a:hover{color:var(--primary-hover)}@media(max-width:768px){.legal-container{padding:2rem 1.5rem}.legal-container h1{font-size:2rem}.legal-container h2{font-size:1.5rem}.legal-container h3{font-size:1.125rem}}.auth-callback{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-callback-loading,.auth-callback-error{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;text-align:center;max-width:400px}.auth-callback-loading p,.auth-callback-error p{margin:16px 0 0;color:#666;font-size:16px}.auth-callback-error h2{color:#e53e3e;margin:0 0 16px;font-size:24px}.spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-color-scheme:dark){.auth-callback-loading,.auth-callback-error{background:#2a2a2a;color:#e0e0e0}.auth-callback-loading p,.auth-callback-error p{color:#b0b0b0}.spinner{border-color:#444;border-top-color:#667eea}}.onboarding-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.onboarding-card{background:var(--background-light);padding:3rem;border-radius:1rem;box-shadow:var(--shadow-lg);width:100%;max-width:700px}.onboarding-header{text-align:center;margin-bottom:2.5rem}.onboarding-header h1{color:var(--text-primary);font-size:2rem;margin-bottom:.75rem}.onboarding-subtitle{color:var(--text-secondary);font-size:1.125rem}.onboarding-form{display:flex;flex-direction:column;gap:2.5rem}.form-section{display:flex;flex-direction:column;gap:1.25rem}.form-section h2{color:var(--text-primary);font-size:1.25rem;margin:0}.section-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.role-card{padding:1.5rem;border:2px solid var(--border-color);border-radius:.75rem;text-align:center;cursor:pointer;transition:all .2s;background:#fff}.role-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.role-card.selected{border-color:var(--primary-color);background:#6366f10d;box-shadow:0 0 0 3px #6366f11a}.role-icon{font-size:2.5rem;margin-bottom:.75rem}.role-card h3{font-size:1.125rem;color:var(--text-primary);margin-bottom:.25rem}.role-card p{font-size:.875rem;color:var(--text-secondary);margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group label{color:var(--text-primary);font-weight:500;font-size:.9375rem}.form-group input[type=text]{padding:.875rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:.9375rem;font-family:inherit;transition:border-color .2s}.form-group input[type=text]:focus{outline:none;border-color:var(--primary-color)}.required-marker{color:#dc2626;font-weight:600}.onboarding-error{background-color:#fee2e2;color:#991b1b;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.625rem;padding:.75rem;border-radius:.5rem;cursor:pointer;transition:background-color .2s}.checkbox-label:hover{background-color:#f9fafb}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.checkbox-label span{color:var(--text-primary);font-weight:500;font-size:.9375rem}.form-group textarea{padding:.875rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:.9375rem;font-family:inherit;resize:vertical;transition:border-color .2s}.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.onboarding-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.onboarding-actions button{padding:.875rem 2rem;font-size:1rem;min-width:140px}@media(max-width:640px){.onboarding-card{padding:2rem 1.5rem}.onboarding-header h1{font-size:1.5rem}.role-cards,.checkbox-grid,.form-row{grid-template-columns:1fr}.onboarding-actions{flex-direction:column-reverse}.onboarding-actions button{width:100%}}.coming-soon{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;background:linear-gradient(135deg,#f0f9ff,#e0e7ff)}.coming-soon-content{max-width:800px;text-align:center}.coming-soon-icon{font-size:5rem;margin-bottom:1.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.coming-soon h1{font-size:3.5rem;color:var(--text-primary);margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.coming-soon-subtitle{font-size:1.5rem;color:var(--text-secondary);margin-bottom:3rem;line-height:1.6}.progress-section{background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 4px 12px #0000001a;margin-bottom:2.5rem}.progress-section h2{font-size:2rem;color:var(--text-primary);margin-bottom:2rem}.features-list{display:flex;flex-direction:column;gap:1.25rem;text-align:left}.feature-item{display:flex;align-items:center;gap:1rem;font-size:1.125rem;color:var(--text-primary)}.check,.progress-icon{font-size:1.5rem;flex-shrink:0}.support-box{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:2.5rem;border-radius:1rem;margin-bottom:2.5rem;border:3px solid #f59e0b}.support-box h2{font-size:2rem;color:var(--text-primary);margin-bottom:1rem}.support-box p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.btn-donate-large{background:#ef4444;color:#fff;padding:1.25rem 3rem;border-radius:.75rem;font-size:1.25rem;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #ef44444d;text-decoration:none;display:inline-block}.btn-donate-large:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.notify-section{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 12px #0000001a;margin-bottom:2rem}.notify-section h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.75rem}.notify-section p{font-size:1rem;color:var(--text-secondary);margin-bottom:1.5rem}.notify-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-secondary{background:transparent;color:var(--primary-color);padding:.875rem 2rem;border:2px solid var(--primary-color);border-radius:.5rem;font-weight:600;transition:all .3s;text-decoration:none;display:inline-block}.btn-secondary:hover{background:var(--primary-color);color:#fff}.timeline{padding:1.5rem;background:#ffffffb3;border-radius:.75rem;border-left:4px solid var(--primary-color)}.timeline-text{font-size:1rem;color:var(--text-secondary);margin:0}.support-buttons{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.donation-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.support-btn{display:block;width:100%;padding:1.5rem 2rem;border-radius:1rem;font-weight:700;font-size:1.25rem;text-decoration:none;text-align:center;transition:all .3s ease;box-shadow:0 6px 20px #0003;cursor:pointer;border:3px solid transparent;color:#fff;position:relative;overflow:hidden;text-transform:none;letter-spacing:.5px}.donation-buttons .support-btn{width:auto;flex:1;min-width:200px}.support-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.support-btn:hover:before{left:100%}.support-btn:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 12px 35px #0000004d;border-color:#ffffff4d}.support-btn:active{transform:translateY(-2px) scale(.98);box-shadow:0 6px 20px #00000040}.donation-btn{background:linear-gradient(135deg,#10b981,#059669);border:2px solid #10b981}.donation-btn:hover{background:linear-gradient(135deg,#059669,#047857);border-color:#059669}.donation-btn.donation-india{background:linear-gradient(135deg,#f97316,#ea580c);border:2px solid #f97316}.donation-btn.donation-india:hover{background:linear-gradient(135deg,#ea580c,#dc2626);border-color:#ea580c}.volunteer-btn{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:2px solid #3b82f6}.volunteer-btn:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);border-color:#2563eb}.spread-btn{background:linear-gradient(135deg,#f97316,#ec4899);border:2px solid #f97316}.spread-btn:hover{background:linear-gradient(135deg,#ea580c,#db2777);border-color:#ea580c}.space-y-4>*+*{margin-top:1rem}.space-y-4 a{display:block;width:100%;padding:1rem 1.5rem;border-radius:.75rem;font-weight:700;font-size:1.125rem;text-decoration:none;text-align:center;transition:all .3s ease;box-shadow:0 4px 12px #00000026;cursor:pointer;border:none}.space-y-4 a:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #0003}.space-y-4 a:active{transform:translateY(0) scale(.98)}@media(max-width:768px){.coming-soon{padding:2rem 1rem}.coming-soon-icon{font-size:3.5rem}.coming-soon h1{font-size:2.5rem}.coming-soon-subtitle{font-size:1.125rem}.progress-section,.support-box,.notify-section{padding:1.5rem}.progress-section h2,.support-box h2{font-size:1.5rem}.feature-item{font-size:1rem}.btn-donate-large{width:100%;padding:1rem 2rem}.space-y-4 a,.support-btn{padding:1rem;font-size:1rem}.donation-buttons{flex-direction:column}.donation-buttons .support-btn{width:100%}}.content-landing-page{min-height:100vh;background:var(--color-off-white)}.content-landing-container{max-width:1200px;margin:0 auto;padding:40px 20px}.content-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:900px;margin:0 auto}.content-landing-card{background:#fff;border-radius:1rem;padding:2.5rem;box-shadow:0 10px 30px #0003;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.content-landing-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gradient-primary)}.content-landing-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-card-hover)}.content-landing-card h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:1rem}.content-landing-card p{color:var(--text-secondary);font-size:1rem;line-height:var(--line-height-relaxed);margin-bottom:1.5rem}.card-arrow{font-size:1.5rem;color:var(--color-indigo);font-weight:700;text-align:right;transition:transform var(--transition-normal)}.content-landing-card:hover .card-arrow{transform:translate(8px)}@media(max-width:968px){.content-landing-container{padding:30px 20px}.content-cards-grid{max-width:100%;gap:1.5rem}.content-landing-card{padding:2rem}.content-landing-card h2{font-size:1.5rem}}@media(max-width:768px){.content-landing-container{padding:24px 16px}.content-cards-grid{grid-template-columns:1fr;gap:1.25rem}.content-landing-card{padding:1.5rem}.content-landing-card h2{font-size:1.35rem}.content-landing-card p{font-size:.95rem;margin-bottom:1rem}.card-arrow{font-size:1.25rem}}@media(max-width:480px){.content-landing-container{padding:20px 12px}.content-landing-card{padding:1.25rem;border-radius:.75rem}.content-landing-card h2{font-size:1.2rem;margin-bottom:.75rem}.content-landing-card p{font-size:.9rem;line-height:1.5}}.content-comments{margin-top:3rem;padding:2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:1rem;border:1px solid #e2e8f0}.comments-header{text-align:center;margin-bottom:2rem}.comments-header h2{font-size:1.75rem;color:#1e293b;margin:0 0 .5rem}.comments-subtitle{color:#64748b;font-size:1rem;margin:0}.comment-form-section{margin-bottom:2rem}.comment-form{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.comment-form .form-group{margin-bottom:1rem}.comment-textarea{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .2s ease}.comment-textarea:focus{outline:none;border-color:#3b82f6}.comment-textarea:disabled{background:#f8fafc;cursor:not-allowed}.textarea-footer{display:flex;justify-content:flex-end;margin-top:.25rem}.char-count{font-size:.75rem;color:#94a3b8}.form-options{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.anonymous-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:#475569}.anonymous-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.btn-submit-comment{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-submit-comment:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-submit-comment:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.form-error{margin-top:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.9rem}.form-success{margin-top:1rem;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;color:#16a34a;font-size:.9rem}.login-prompt{background:#fff;padding:2rem;border-radius:.75rem;text-align:center;box-shadow:0 1px 3px #0000001a}.login-prompt p{margin:0;color:#475569;font-size:1rem}.login-prompt a{color:#3b82f6;font-weight:600;text-decoration:none}.login-prompt a:hover{text-decoration:underline}.comments-list-section{margin-top:1.5rem}.comments-count{font-size:.9rem;color:#64748b;margin-bottom:1rem;font-weight:500}.comments-loading{display:flex;flex-direction:column;align-items:center;padding:2rem;color:#64748b}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.no-comments{text-align:center;padding:3rem 2rem;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.no-comments-icon{font-size:3rem;margin-bottom:1rem}.no-comments p{color:#64748b;margin:0;font-size:1rem}.comments-list{display:flex;flex-direction:column;gap:1rem}.comment-card{background:#fff;padding:1.25rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease}.comment-card:hover{box-shadow:0 4px 6px #0000001a}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.comment-author{display:flex;align-items:center;gap:.75rem}.author-avatar{width:36px;height:36px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.author-name{font-weight:600;color:#1e293b;font-size:.95rem}.comment-date{font-size:.8rem;color:#94a3b8}.comment-body{margin-bottom:.75rem}.comment-body p{margin:0;color:#475569;line-height:1.6;white-space:pre-wrap;word-break:break-word}.comment-actions{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid #f1f5f9}.btn-delete-comment{padding:.4rem .75rem;background:transparent;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;font-size:.8rem;cursor:pointer;transition:all .2s ease}.btn-delete-comment:hover{background:#fef2f2;border-color:#dc2626}@media(max-width:768px){.content-comments{padding:1.5rem;margin-top:2rem}.comments-header h2{font-size:1.5rem}.comment-form{padding:1rem}.form-options{flex-direction:column;align-items:stretch}.btn-submit-comment{width:100%}.comment-header{flex-direction:column;align-items:flex-start;gap:.5rem}.comment-date{margin-left:calc(36px + .75rem)}}@media(max-width:480px){.content-comments{padding:1rem;border-radius:.75rem}.comments-header h2{font-size:1.25rem}.comment-textarea{padding:.75rem;font-size:.95rem}.author-avatar{width:32px;height:32px;font-size:.8rem}.comment-date{margin-left:calc(32px + .75rem)}}.nd-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.nd-page-bg{padding:40px 20px;display:flex;justify-content:center;min-height:100vh}.nd-container{background:#fff;border-radius:24px;padding:48px;max-width:1400px;width:100%;box-shadow:0 20px 60px #0000004d}.nd-back-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:24px}.nd-back-button:hover{transform:translate(-4px);box-shadow:0 4px 12px #667eea4d}.nd-container>h1{text-align:center;color:#2c3744;font-size:36px;margin-bottom:16px;font-weight:700}.nd-subtitle{text-align:center;color:#5c7a99;font-size:18px;margin-bottom:40px;line-height:1.6;max-width:900px;margin-left:auto;margin-right:auto}.nd-domain-selector{display:flex;justify-content:center;gap:16px;margin-bottom:40px;flex-wrap:wrap}.nd-domain-btn{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border:3px solid transparent;border-radius:16px;padding:18px 32px;font-size:16px;font-weight:700;color:#2c3744;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #0000001a}.nd-domain-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.nd-domain-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 8px 24px #667eea66;transform:translateY(-4px)}.nd-domain-icon{font-size:24px}.nd-comparison-section{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:40px}.nd-comparison-card{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border-radius:20px;padding:36px;border-left:8px solid;box-shadow:0 6px 20px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.nd-comparison-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.6) 100%);opacity:0;transition:opacity .3s ease}.nd-comparison-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #00000026}.nd-comparison-card:hover:before{opacity:1}.nd-comparison-card.neurotypical{border-color:#4ecdc4}.nd-comparison-card.neurodivergent{border-color:#9b59b6}.nd-card-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;position:relative;z-index:1}.nd-card-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;box-shadow:0 4px 12px #0000001a}.nd-card-title{font-size:24px;font-weight:700;color:#2c3744}.nd-card-content{position:relative;z-index:1}.nd-section-title{font-size:18px;font-weight:700;color:#2c3744;margin-bottom:16px;display:flex;align-items:center;gap:8px}.nd-section-title:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px}.nd-feature-list{list-style:none;padding:0;margin:0}.nd-feature-list li{font-size:15px;color:#5c7a99;line-height:1.8;margin-bottom:12px;padding-left:28px;position:relative}.nd-feature-list li:before{content:"●";position:absolute;left:8px;color:#667eea;font-size:20px}.nd-comparison-card.neurotypical .nd-feature-list li:before{color:#4ecdc4}.nd-comparison-card.neurodivergent .nd-feature-list li:before{color:#9b59b6}.nd-strengths-section{margin-top:24px;padding-top:24px;border-top:2px solid rgba(0,0,0,.05)}.nd-strength-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;margin:4px;box-shadow:0 2px 8px #667eea4d}.nd-strength-badge.neurotypical{background:linear-gradient(135deg,#4ecdc4,#44a08d);box-shadow:0 2px 8px #4ecdc44d}.nd-strength-badge.neurodivergent{background:linear-gradient(135deg,#9b59b6,#8e44ad);box-shadow:0 2px 8px #9b59b64d}.nd-note{background:linear-gradient(135deg,#fff4e6,#ffe8cc);border-left:6px solid #F39C12;border-radius:16px;padding:28px;font-size:15px;color:#2c3744;line-height:1.8;box-shadow:0 4px 16px #f39c121a}.nd-note strong{color:#e67e22;font-size:16px}.nd-note-icon{font-size:18px;margin-right:8px;vertical-align:middle}@media(max-width:968px){.nd-page-bg{padding:30px 16px}.nd-container{padding:32px 24px;border-radius:20px}.nd-container>h1{font-size:28px}.nd-subtitle{font-size:16px;margin-bottom:32px}.nd-domain-selector{gap:12px}.nd-domain-btn{padding:14px 24px;font-size:14px}.nd-comparison-section{grid-template-columns:1fr;gap:24px}.nd-comparison-card{padding:28px}.nd-card-title{font-size:20px}.nd-note{padding:24px}}@media(max-width:768px){.nd-page-bg{padding:20px 12px}.nd-container{padding:24px 18px;border-radius:16px}.nd-back-button{padding:8px 16px;font-size:13px;margin-bottom:20px}.nd-container>h1{font-size:24px;margin-bottom:12px}.nd-subtitle{font-size:15px;margin-bottom:28px;line-height:1.5}.nd-domain-selector{gap:10px;margin-bottom:32px}.nd-domain-btn{padding:12px 18px;font-size:13px;border-radius:12px;gap:8px}.nd-domain-icon{font-size:20px}.nd-comparison-section{gap:20px;margin-bottom:28px}.nd-comparison-card{padding:22px;border-radius:16px;border-left-width:6px}.nd-card-header{margin-bottom:20px}.nd-card-icon{font-size:26px;width:48px;height:48px}.nd-card-title{font-size:18px}.nd-section-title{font-size:16px;margin-bottom:12px}.nd-feature-list li{font-size:14px;margin-bottom:10px;padding-left:24px;line-height:1.6}.nd-feature-list li:before{font-size:16px}.nd-strengths-section{margin-top:20px;padding-top:20px}.nd-strength-badge{padding:5px 12px;font-size:12px;margin:3px}.nd-note{padding:20px;font-size:14px;border-radius:12px;line-height:1.7}.nd-note strong{font-size:15px}}@media(max-width:480px){.nd-page-bg{padding:16px 10px}.nd-container{padding:20px 14px;border-radius:14px}.nd-back-button{padding:7px 14px;font-size:12px}.nd-container>h1{font-size:20px}.nd-subtitle{font-size:14px;margin-bottom:24px}.nd-domain-selector{gap:8px;margin-bottom:24px}.nd-domain-btn{padding:10px 14px;font-size:12px;border-radius:10px;flex:1 1 calc(50% - 8px);justify-content:center}.nd-domain-icon{font-size:18px}.nd-comparison-card{padding:18px;border-radius:14px}.nd-card-icon{font-size:22px;width:42px;height:42px}.nd-card-title{font-size:16px}.nd-section-title{font-size:15px}.nd-feature-list li{font-size:13px;padding-left:20px}.nd-note{padding:16px;font-size:13px}}.sd-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.sd-page-bg{padding:40px 20px;display:flex;justify-content:center;min-height:100vh}.sd-container{background:#fff;border-radius:24px;padding:48px;max-width:1400px;width:100%;box-shadow:0 20px 60px #0000004d}.sd-back-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:24px}.sd-back-button:hover{transform:translate(-4px);box-shadow:0 4px 12px #667eea4d}.sd-container>h1{text-align:center;color:#2c3744;font-size:36px;margin-bottom:16px;font-weight:700}.sd-subtitle{text-align:center;color:#5c7a99;font-size:18px;margin-bottom:40px;line-height:1.6;max-width:900px;margin-left:auto;margin-right:auto}.sd-sense-category{margin-bottom:32px}.sd-category-title{font-size:20px;font-weight:700;color:#2c3744;margin-bottom:16px;display:flex;align-items:center;gap:8px}.sd-category-title:before{content:"";width:4px;height:24px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px}.sd-sense-selector{display:flex;justify-content:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.sd-sense-btn{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border:3px solid transparent;border-radius:16px;padding:14px 24px;font-size:15px;font-weight:700;color:#2c3744;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 4px 12px #0000001a}.sd-sense-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.sd-sense-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 8px 24px #667eea66;transform:translateY(-4px)}.sd-sense-icon{font-size:22px}.sd-sense-definition{background:linear-gradient(135deg,#e8f4f8,#d4e9f2);border-left:6px solid #3498DB;border-radius:16px;padding:20px 28px;margin-bottom:32px;font-size:16px;color:#2c3744;line-height:1.6;box-shadow:0 4px 16px #3498db1a}.sd-sense-definition strong{color:#2980b9;font-size:17px}.sd-comparison-section{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:40px}.sd-comparison-card{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border-radius:20px;padding:36px;border-left:8px solid;box-shadow:0 6px 20px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.sd-comparison-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.6) 100%);opacity:0;transition:opacity .3s ease}.sd-comparison-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #00000026}.sd-comparison-card:hover:before{opacity:1}.sd-comparison-card.hypo{border-color:#3498db}.sd-comparison-card.hyper{border-color:#9b59b6}.sd-card-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;position:relative;z-index:1}.sd-card-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;box-shadow:0 4px 12px #0000001a}.sd-card-title{font-size:24px;font-weight:700;color:#2c3744}.sd-card-subtitle{font-size:14px;color:#5c7a99;font-weight:600;margin-top:4px}.sd-card-content{position:relative;z-index:1}.sd-section-title{font-size:18px;font-weight:700;color:#2c3744;margin-bottom:16px;display:flex;align-items:center;gap:8px}.sd-section-title:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px}.sd-feature-list{list-style:none;padding:0;margin:0}.sd-feature-list li{font-size:15px;color:#5c7a99;line-height:1.8;margin-bottom:12px;padding-left:28px;position:relative}.sd-feature-list li:before{content:"●";position:absolute;left:8px;color:#667eea;font-size:20px}.sd-comparison-card.hypo .sd-feature-list li:before{color:#3498db}.sd-comparison-card.hyper .sd-feature-list li:before{color:#9b59b6}.sd-examples-section{margin-top:24px;padding-top:24px;border-top:2px solid rgba(0,0,0,.05)}.sd-example-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;margin:4px;box-shadow:0 2px 8px #667eea4d}.sd-example-badge.hypo{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 2px 8px #3498db4d}.sd-example-badge.hyper{background:linear-gradient(135deg,#9b59b6,#8e44ad);box-shadow:0 2px 8px #9b59b64d}.sd-accommodations-section{margin-top:24px;padding:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border-left:4px solid #0EA5E9}.sd-accommodations-section.hypo{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left-color:#3498db}.sd-accommodations-section.hyper{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-left-color:#9b59b6}.sd-accommodations-section .sd-section-title{font-size:16px;margin-bottom:12px}.sd-accommodations-section .sd-section-title:before{display:none}.sd-accommodations-text{font-size:14px;color:#2c3744;line-height:1.7;margin:0}.sd-note{background:linear-gradient(135deg,#fff4e6,#ffe8cc);border-left:6px solid #F39C12;border-radius:16px;padding:28px;font-size:15px;color:#2c3744;line-height:1.8;box-shadow:0 4px 16px #f39c121a}.sd-note strong{color:#e67e22;font-size:16px}.sd-note-icon{font-size:18px;margin-right:8px;vertical-align:middle}@media(max-width:968px){.sd-page-bg{padding:30px 16px}.sd-container{padding:32px 24px;border-radius:20px}.sd-container>h1{font-size:28px}.sd-subtitle{font-size:16px;margin-bottom:32px}.sd-category-title{font-size:18px}.sd-sense-selector{gap:10px}.sd-sense-btn{padding:12px 20px;font-size:14px}.sd-comparison-section{grid-template-columns:1fr;gap:24px}.sd-comparison-card{padding:28px}.sd-card-title{font-size:20px}.sd-sense-definition{padding:16px 20px;font-size:15px}.sd-accommodations-section{padding:16px}.sd-note{padding:24px}}@media(max-width:768px){.sd-page-bg{padding:20px 12px}.sd-container{padding:24px 18px;border-radius:16px}.sd-back-button{padding:8px 16px;font-size:13px;margin-bottom:20px}.sd-container>h1{font-size:24px;margin-bottom:12px}.sd-subtitle{font-size:15px;margin-bottom:28px;line-height:1.5}.sd-sense-category{margin-bottom:24px}.sd-category-title{font-size:16px;margin-bottom:12px}.sd-category-title:before{width:3px;height:20px}.sd-sense-selector{gap:8px;margin-bottom:12px}.sd-sense-btn{padding:10px 16px;font-size:13px;border-radius:12px;gap:8px}.sd-sense-icon{font-size:18px}.sd-sense-definition{padding:14px 18px;font-size:14px;margin-bottom:24px;border-radius:12px;border-left-width:4px}.sd-comparison-section{gap:20px;margin-bottom:28px}.sd-comparison-card{padding:22px;border-radius:16px;border-left-width:6px}.sd-card-header{margin-bottom:20px}.sd-card-icon{font-size:26px;width:48px;height:48px}.sd-card-title{font-size:18px}.sd-card-subtitle{font-size:12px}.sd-section-title{font-size:16px;margin-bottom:12px}.sd-section-title:before{width:3px;height:16px}.sd-feature-list li{font-size:14px;margin-bottom:10px;padding-left:24px;line-height:1.6}.sd-feature-list li:before{font-size:16px}.sd-examples-section{margin-top:20px;padding-top:20px}.sd-example-badge{padding:5px 12px;font-size:12px;margin:3px}.sd-accommodations-section{margin-top:20px;padding:14px;border-radius:10px}.sd-accommodations-section .sd-section-title{font-size:14px;margin-bottom:10px}.sd-accommodations-text{font-size:13px;line-height:1.6}.sd-note{padding:20px;font-size:14px;border-radius:12px;line-height:1.7}.sd-note strong{font-size:15px}}@media(max-width:480px){.sd-page-bg{padding:16px 10px}.sd-container{padding:20px 14px;border-radius:14px}.sd-back-button{padding:7px 14px;font-size:12px}.sd-container>h1{font-size:20px}.sd-subtitle{font-size:14px;margin-bottom:24px}.sd-category-title{font-size:15px}.sd-sense-selector{gap:6px}.sd-sense-btn{padding:8px 12px;font-size:12px;border-radius:10px;flex:1 1 calc(33% - 6px);justify-content:center}.sd-sense-btn span:last-child{display:none}.sd-sense-icon{font-size:20px}.sd-sense-definition{padding:12px 14px;font-size:13px}.sd-comparison-card{padding:18px;border-radius:14px}.sd-card-icon{font-size:22px;width:42px;height:42px}.sd-card-title{font-size:16px}.sd-section-title{font-size:15px}.sd-feature-list li{font-size:13px;padding-left:20px}.sd-accommodations-section{padding:12px}.sd-note{padding:16px;font-size:13px}}.hg-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.hg-page-bg{padding:40px 20px;display:flex;justify-content:center;min-height:100vh}.hg-container{background:#fff;border-radius:24px;padding:48px;max-width:1400px;width:100%;box-shadow:0 20px 60px #0000004d}.hg-back-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:24px}.hg-back-button:hover{transform:translate(-4px);box-shadow:0 4px 12px #667eea4d}.hg-container>h1{text-align:center;color:#2c3744;font-size:36px;margin-bottom:16px;font-weight:700}.hg-subtitle{text-align:center;color:#5c7a99;font-size:18px;margin-bottom:32px;line-height:1.6;max-width:950px;margin-left:auto;margin-right:auto}.hg-dual-approach-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:20px 28px;margin-bottom:36px;display:flex;align-items:center;gap:16px;color:#fff;box-shadow:0 6px 20px #667eea4d}.hg-banner-icon{font-size:36px;flex-shrink:0}.hg-banner-text{font-size:15px;line-height:1.6}.hg-banner-text strong{font-size:17px;display:block;margin-bottom:4px}.hg-sense-category{margin-bottom:28px}.hg-category-title{font-size:20px;font-weight:700;color:#2c3744;margin-bottom:16px;display:flex;align-items:center;gap:8px}.hg-category-title:before{content:"";width:4px;height:24px;border-radius:2px}.hg-category-title.shared:before{background:linear-gradient(180deg,#667eea,#764ba2)}.hg-category-title.boys:before{background:linear-gradient(180deg,#3498db,#2980b9)}.hg-category-title.girls:before{background:linear-gradient(180deg,#9b59b6,#8e44ad)}.hg-sense-selector{display:flex;justify-content:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.hg-sense-btn{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border:3px solid transparent;border-radius:16px;padding:14px 22px;font-size:14px;font-weight:700;color:#2c3744;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 4px 12px #0000001a}.hg-sense-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.hg-sense-btn.active{color:#fff;transform:translateY(-4px)}.hg-sense-btn.shared-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 8px 24px #667eea66}.hg-sense-btn.boys-btn.active{background:linear-gradient(135deg,#3498db,#2980b9);border-color:#3498db;box-shadow:0 8px 24px #3498db66}.hg-sense-btn.girls-btn.active{background:linear-gradient(135deg,#9b59b6,#8e44ad);border-color:#9b59b6;box-shadow:0 8px 24px #9b59b666}.hg-sense-icon{font-size:20px}.hg-topic-header{display:flex;align-items:center;gap:16px;margin-bottom:28px;padding:20px 28px;border-radius:16px;color:#fff}.hg-topic-header.shared-header{background:linear-gradient(135deg,#667eea,#764ba2)}.hg-topic-header.boys-header{background:linear-gradient(135deg,#3498db,#2980b9)}.hg-topic-header.girls-header{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.hg-header-icon{font-size:36px}.hg-header-info h2{font-size:22px;font-weight:700;margin-bottom:4px;margin-top:0}.hg-meta{font-size:14px;opacity:.9;display:flex;gap:16px;flex-wrap:wrap}.hg-meta span{display:flex;align-items:center;gap:4px}.hg-steps-section{margin-bottom:28px;padding:24px;background:linear-gradient(135deg,#f8f9ff,#eef0ff);border-radius:16px;border:2px solid rgba(102,126,234,.15)}.hg-steps-section h3{font-size:18px;font-weight:700;color:#2c3744;margin-bottom:16px;margin-top:0;display:flex;align-items:center;gap:8px}.hg-step-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.hg-step-item{background:#fff;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:600;color:#2c3744;box-shadow:0 3px 10px #00000014;display:inline-flex;align-items:center;gap:8px;border:2px solid rgba(102,126,234,.2)}.hg-step-num{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.hg-step-arrow{font-size:20px;color:#667eea;font-weight:700;margin:0 4px}.hg-comparison-section{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:24px}.hg-comparison-card{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border-radius:20px;padding:32px;border-left:8px solid;box-shadow:0 6px 20px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.hg-comparison-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.6) 100%);opacity:0;transition:opacity .3s ease}.hg-comparison-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #00000026}.hg-comparison-card:hover:before{opacity:1}.hg-comparison-card.sensory{border-color:#e67e22}.hg-comparison-card.cognitive{border-color:#2ecc71}.hg-card-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;position:relative;z-index:1}.hg-card-icon{font-size:28px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;box-shadow:0 4px 12px #0000001a}.hg-card-title{font-size:22px;font-weight:700;color:#2c3744}.hg-card-subtitle{font-size:13px;color:#5c7a99;font-weight:600;margin-top:4px}.hg-card-content{position:relative;z-index:1}.hg-section-title{font-size:16px;font-weight:700;color:#2c3744;margin-bottom:14px;display:flex;align-items:center;gap:8px}.hg-section-title:before{content:"";width:4px;height:18px;border-radius:2px}.hg-comparison-card.sensory .hg-section-title:before{background:#e67e22}.hg-comparison-card.cognitive .hg-section-title:before{background:#2ecc71}.hg-feature-list{list-style:none;padding:0;margin:0 0 20px}.hg-feature-list li{font-size:14px;color:#5c7a99;line-height:1.7;margin-bottom:10px;padding-left:24px;position:relative}.hg-feature-list li:before{content:"●";position:absolute;left:6px;font-size:16px}.hg-comparison-card.sensory .hg-feature-list li:before{color:#e67e22}.hg-comparison-card.cognitive .hg-feature-list li:before{color:#2ecc71}.hg-strategy-box{margin-top:20px;padding:18px;border-radius:12px;border-left:4px solid}.hg-strategy-box.sensory{background:linear-gradient(135deg,#fff8f0,#ffecd2);border-left-color:#e67e22}.hg-strategy-box.cognitive{background:linear-gradient(135deg,#f0fff4,#d4edda);border-left-color:#2ecc71}.hg-strategy-box .hg-section-title{font-size:15px;margin-bottom:10px}.hg-strategy-box .hg-feature-list{margin-bottom:0}.hg-strategy-box .hg-feature-list li{font-size:13px;color:#2c3744;margin-bottom:8px}.hg-note{background:linear-gradient(135deg,#fff4e6,#ffe8cc);border-left:6px solid #F39C12;border-radius:16px;padding:24px;font-size:14px;color:#2c3744;line-height:1.8;box-shadow:0 4px 16px #f39c121a;margin-top:28px}.hg-note strong{color:#e67e22;font-size:15px}@media(max-width:968px){.hg-page-bg{padding:30px 16px}.hg-container{padding:32px 24px;border-radius:20px}.hg-container>h1{font-size:28px}.hg-subtitle{font-size:16px;margin-bottom:28px}.hg-dual-approach-banner{padding:18px 24px;margin-bottom:28px}.hg-category-title{font-size:18px}.hg-sense-selector{gap:10px}.hg-sense-btn{padding:12px 18px;font-size:13px}.hg-comparison-section{grid-template-columns:1fr;gap:24px}.hg-comparison-card{padding:28px}.hg-card-title{font-size:20px}.hg-step-flow{flex-direction:column}.hg-step-arrow{transform:rotate(90deg)}.hg-dual-approach-banner,.hg-topic-header{flex-direction:column;text-align:center}.hg-note{padding:22px}}@media(max-width:768px){.hg-page-bg{padding:20px 12px}.hg-container{padding:24px 18px;border-radius:16px}.hg-back-button{padding:8px 16px;font-size:13px;margin-bottom:20px}.hg-container>h1{font-size:24px;margin-bottom:12px}.hg-subtitle{font-size:15px;margin-bottom:24px;line-height:1.5}.hg-dual-approach-banner{padding:16px 20px;margin-bottom:24px;gap:12px;border-radius:14px}.hg-banner-icon{font-size:28px}.hg-banner-text{font-size:14px}.hg-banner-text strong{font-size:15px}.hg-sense-category{margin-bottom:22px}.hg-category-title{font-size:16px;margin-bottom:12px}.hg-category-title:before{width:3px;height:20px}.hg-sense-selector{gap:8px;margin-bottom:12px}.hg-sense-btn{padding:10px 14px;font-size:12px;border-radius:12px;gap:6px}.hg-sense-icon{font-size:16px}.hg-topic-header{padding:16px 20px;margin-bottom:22px;border-radius:14px;gap:12px}.hg-header-icon{font-size:28px}.hg-header-info h2{font-size:18px}.hg-meta{font-size:13px;gap:12px}.hg-steps-section{padding:18px;margin-bottom:22px;border-radius:14px}.hg-steps-section h3{font-size:16px;margin-bottom:14px}.hg-step-item{padding:10px 14px;font-size:13px;border-radius:10px}.hg-step-num{width:22px;height:22px;font-size:11px}.hg-step-arrow{font-size:16px;margin:4px 0}.hg-comparison-section{gap:20px;margin-bottom:22px}.hg-comparison-card{padding:22px;border-radius:16px;border-left-width:6px}.hg-card-header{margin-bottom:20px}.hg-card-icon{font-size:24px;width:46px;height:46px}.hg-card-title{font-size:18px}.hg-card-subtitle{font-size:12px}.hg-section-title{font-size:15px;margin-bottom:12px}.hg-section-title:before{width:3px;height:16px}.hg-feature-list li{font-size:13px;margin-bottom:8px;padding-left:22px;line-height:1.6}.hg-feature-list li:before{font-size:14px}.hg-strategy-box{margin-top:18px;padding:14px;border-radius:10px}.hg-strategy-box .hg-section-title{font-size:14px;margin-bottom:8px}.hg-strategy-box .hg-feature-list li{font-size:12px;margin-bottom:6px}.hg-note{padding:18px;font-size:13px;border-radius:12px;line-height:1.7;margin-top:22px}.hg-note strong{font-size:14px}}@media(max-width:480px){.hg-page-bg{padding:16px 10px}.hg-container{padding:20px 14px;border-radius:14px}.hg-back-button{padding:7px 14px;font-size:12px}.hg-container>h1{font-size:20px}.hg-subtitle{font-size:14px;margin-bottom:20px}.hg-dual-approach-banner{padding:14px 16px;margin-bottom:20px;border-radius:12px}.hg-banner-icon{font-size:24px}.hg-banner-text{font-size:13px}.hg-banner-text strong{font-size:14px}.hg-sense-category{margin-bottom:18px}.hg-category-title{font-size:15px;margin-bottom:10px}.hg-sense-selector{gap:6px;margin-bottom:10px}.hg-sense-btn{padding:8px 10px;font-size:11px;border-radius:10px;gap:4px;flex:1 1 calc(50% - 6px);justify-content:center}.hg-sense-btn span:last-child{display:none}.hg-sense-icon{font-size:18px}.hg-topic-header{padding:14px 16px;margin-bottom:18px;border-radius:12px}.hg-header-icon{font-size:24px}.hg-header-info h2{font-size:16px}.hg-meta{font-size:12px;gap:10px}.hg-steps-section{padding:14px;margin-bottom:18px;border-radius:12px}.hg-steps-section h3{font-size:15px;margin-bottom:12px}.hg-step-item{padding:8px 12px;font-size:12px;border-radius:8px}.hg-step-num{width:20px;height:20px;font-size:10px}.hg-comparison-card{padding:18px;border-radius:14px}.hg-card-icon{font-size:20px;width:40px;height:40px}.hg-card-title{font-size:16px}.hg-section-title{font-size:14px}.hg-feature-list li{font-size:12px;padding-left:18px}.hg-strategy-box{padding:12px}.hg-note{padding:14px;font-size:12px;margin-top:18px}.hg-note strong{font-size:13px}}.community-page{min-height:100vh;background:var(--color-off-white)}.community-container{max-width:1400px;margin:0 auto;padding:40px 20px}.topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:40px}.topic-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;transition:all .3s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}.topic-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.topic-cover{position:relative;height:160px;overflow:hidden;flex-shrink:0}.topic-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.topic-card:hover .topic-cover img{transform:scale(1.05)}.topic-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:16px;pointer-events:none}.topic-name{font-size:20px;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3);pointer-events:auto}.topic-card-content{padding:16px;flex:1;display:flex;flex-direction:column;background:#fff;position:relative;z-index:1}.topic-card .topic-description{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-secondary);flex:1;word-wrap:break-word;overflow-wrap:break-word;padding-right:60px}.topic-stat{position:absolute;top:12px;right:12px;background:var(--color-gray-100);padding:6px 12px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-indigo);display:flex;align-items:center;gap:4px;box-shadow:var(--shadow-sm)}.topic-stats{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--spacing-3) var(--spacing-4);background:var(--color-off-white);border-radius:var(--radius-lg);min-width:90px}.stat{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-icon{font-size:var(--font-size-xl)}.community-page .stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.community-cta{text-align:center;margin-top:var(--spacing-10)}.cta-card{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border-radius:var(--radius-xl);padding:var(--spacing-8);max-width:600px;margin:0 auto;box-shadow:var(--shadow-card)}.cta-card h3{font-size:var(--font-size-xl);color:var(--text-primary);margin-bottom:var(--spacing-2)}.cta-card p{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-5)}.loading,.error-message{text-align:center;padding:60px 20px;font-size:var(--font-size-lg);color:var(--text-secondary)}.error-message{color:var(--color-danger)}@media(max-width:768px){.topics-grid{grid-template-columns:1fr;gap:16px}.topic-cover{height:140px}.topic-name{font-size:18px}.topic-card-content{padding:12px}.topic-card .topic-description{font-size:12px;padding-right:50px}.topic-stat{top:8px;right:8px;font-size:12px;padding:4px 10px}.cta-card{padding:24px 20px}.cta-card h3{font-size:20px}}.topic-detail-page{min-height:100vh;background:#f8f9fa}.topic-header{position:relative;height:400px;background-size:cover;background-position:center}.topic-header-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0006,#000000b3);display:flex;align-items:center;justify-content:center}.topic-header-content{max-width:900px;padding:40px 20px;text-align:center;color:#fff}.back-link{display:inline-block;color:#fff;text-decoration:none;margin-bottom:20px;font-size:16px;opacity:.9;transition:opacity .3s}.back-link:hover{opacity:1}.topic-header h1{font-size:48px;font-weight:700;margin-bottom:16px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.topic-header .topic-description{font-size:18px;line-height:1.6;margin-bottom:32px;opacity:.95}.btn-ask-question{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px 40px;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea66}.btn-ask-question:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.topic-content{max-width:1200px;margin:-60px auto 0;padding:0 20px 60px;position:relative;z-index:1}.questions-header{background:#fff;border-radius:16px 16px 0 0;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #00000014}.questions-header h2{font-size:24px;color:#2c3744;margin:0}.sort-buttons{display:flex;gap:8px}.sort-btn{background:#f5f7fa;border:2px solid transparent;padding:8px 20px;border-radius:8px;font-size:14px;font-weight:600;color:#5c7a99;cursor:pointer;transition:all .3s ease}.sort-btn:hover{background:#e8ecf1}.sort-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.questions-list{background:#fff;border-radius:0 0 16px 16px;box-shadow:0 2px 8px #00000014}.question-card{display:flex;flex-direction:column;gap:16px;padding:24px 32px;border-bottom:1px solid #f0f0f0;text-decoration:none;color:inherit;transition:background .3s ease}.question-card:last-child{border-bottom:none}.question-card:hover{background:#f8f9fa}.question-stats{display:flex;flex-direction:row;gap:16px;min-width:auto}.stat{display:flex;flex-direction:row;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background:#f5f7fa}.stat.answered{background:#d4edda;color:#155724}.stat-number{font-size:16px;font-weight:700;color:#2c3744!important}.stat.answered .stat-number{color:#155724!important}.stat-label{font-size:12px;color:#5c7a99!important;text-transform:lowercase}.question-content{flex:1}.question-title{font-size:20px;font-weight:600;color:#2c3744;margin-bottom:12px;line-height:1.4}.question-excerpt{font-size:15px;color:#5c7a99;line-height:1.6;margin-bottom:12px}.question-meta{display:flex;gap:16px;font-size:14px;color:#5c7a99}.author{font-weight:600}.no-questions{background:#fff;border-radius:0 0 16px 16px;padding:80px 40px;text-align:center;box-shadow:0 2px 8px #00000014}.no-questions-icon{font-size:64px;margin-bottom:24px}.no-questions h3{font-size:28px;color:#2c3744;margin-bottom:12px}.no-questions p{font-size:16px;color:#5c7a99;margin-bottom:32px}.btn-primary{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:14px 32px;border-radius:12px;font-size:16px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-secondary{display:inline-block;background:#f5f7fa;color:#2c3744;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;text-decoration:none;transition:all .3s ease}.btn-secondary:hover{background:#e8ecf1}@media(max-width:768px){.topic-header{height:300px}.topic-header h1{font-size:32px}.topic-header .topic-description{font-size:16px}.btn-ask-question{padding:12px 24px;font-size:16px}.topic-content{margin-top:20px}.questions-header{flex-direction:column;gap:16px;align-items:flex-start;padding:20px}.questions-header h2{font-size:20px}.sort-buttons{width:100%;justify-content:space-between}.sort-btn{flex:1;padding:8px 12px;font-size:13px}.question-card{flex-direction:column;gap:16px;padding:20px}.question-title{font-size:18px}.question-stats{flex-direction:row;justify-content:flex-start;flex-wrap:wrap}}.ask-question-page{min-height:100vh;background:#f8f9fa;padding:40px 20px}.ask-question-container{max-width:800px;margin:0 auto}.page-header{margin-bottom:40px}.back-link{display:inline-flex;align-items:center;color:#667eea;text-decoration:none;font-size:14px;font-weight:500;margin-bottom:16px;transition:color .2s}.back-link:hover{color:#764ba2}.page-header h1{font-size:36px;color:#2c3744;margin-bottom:8px}.page-subtitle{font-size:16px;color:#5c7a99}.question-form{background:#fff;border-radius:16px;padding:40px;box-shadow:0 4px 20px #00000014}.form-error{background:#fee;color:#c33;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.form-group{margin-bottom:28px;position:relative}.form-group label{display:block;font-size:15px;font-weight:600;color:#2c3744;margin-bottom:8px}.form-group input[type=text],.form-group input[type=url],.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical;min-height:200px}.char-count{position:absolute;right:0;top:0;font-size:12px;color:#999}.field-hint{display:block;font-size:13px;color:#999;margin-top:6px}.file-upload-label{display:inline-block;padding:10px 20px;background:#f0f0f0;border:2px dashed #ccc;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;color:#5c7a99;transition:all .2s;margin-top:8px}.file-upload-label:hover{background:#e8e8e8;border-color:#667eea;color:#667eea}.image-preview{margin-top:16px;position:relative;display:inline-block}.image-preview img{max-width:100%;max-height:300px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.btn-remove-image{position:absolute;top:8px;right:8px;padding:6px 12px;background:#fffffff2;border:none;border-radius:6px;font-size:12px;font-weight:600;color:#e74c3c;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .2s}.btn-remove-image:hover{background:#e74c3c;color:#fff}.form-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:2px solid #f0f0f0}.btn-cancel{padding:12px 28px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;background:#f0f0f0;color:#5c7a99;transition:all .2s}.btn-submit{padding:12px 28px;border-radius:8px;font-size:15px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.loading,.error-message{text-align:center;padding:60px 20px;font-size:18px;color:#5c7a99}.error-message{color:#e74c3c}@media(max-width:768px){.ask-question-page{padding:20px 16px}.page-header h1{font-size:28px}.question-form{padding:24px}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%;text-align:center}}.question-detail-page{min-height:100vh;background:#f8f9fa;padding:40px 20px}.question-detail-container{max-width:900px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:14px}.breadcrumb a{color:#667eea;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .separator{color:#999}.question-card,.answer-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014;margin-bottom:24px}.question-header h1{font-size:28px;color:#2c3744;margin-bottom:12px;line-height:1.4}.question-meta,.answer-meta{display:flex;align-items:center;gap:16px;font-size:14px;color:#5c7a99}.question-body,.answer-body{display:flex;flex-direction:column;gap:16px;margin-top:24px}.vote-section{display:flex;flex-direction:row;align-items:center;gap:12px}.vote-btn{background:transparent;border:none;padding:8px;border-radius:50%;cursor:pointer;font-size:32px;transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;pointer-events:auto;line-height:1}.vote-btn.heart:hover{transform:scale(1.2);filter:brightness(1.2)}.vote-btn.heart:active{transform:scale(.95)}.vote-count{font-size:18px;font-weight:700;color:#2c3744;min-width:40px;text-align:center}.question-content,.answer-content{flex:1}.question-content p,.answer-content p{font-size:16px;line-height:1.7;color:#2c3744;white-space:pre-wrap}.answer-content .inline-link{color:#667eea;text-decoration:none;word-break:break-all;transition:all .2s}.answer-content .inline-link:hover{text-decoration:underline;color:#764ba2}.question-media{margin-top:20px}.question-media img{max-width:100%;border-radius:12px;box-shadow:0 4px 12px #0000001a}.question-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:24px;border-top:2px solid #f0f0f0}.action-buttons{display:flex;gap:12px;align-items:center}.btn-edit,.btn-edit-answer{padding:8px 16px;background:#f0f0f0;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-edit:hover,.btn-edit-answer:hover{background:#667eea;color:#fff}.btn-delete,.btn-delete-answer{padding:8px 16px;background:#ffebee;color:#c62828;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-delete:hover,.btn-delete-answer:hover{background:#c62828;color:#fff}.edit-form{width:100%}.edit-title-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:24px;font-weight:600;font-family:inherit;margin-bottom:12px}.edit-title-input:focus{outline:none;border-color:#667eea}.edit-textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;font-family:inherit;resize:vertical;margin-bottom:12px}.edit-textarea:focus{outline:none;border-color:#667eea}.edit-actions{display:flex;gap:12px}.btn-save{padding:8px 20px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save:hover{background:#45a049}.btn-cancel{padding:8px 20px;background:#f0f0f0;color:#2c3744;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#e0e0e0}.question-stats{display:flex;gap:20px;font-size:14px;color:#5c7a99}.share-container{position:relative}.btn-share{padding:8px 20px;background:#f0f0f0;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-share:hover{background:#e0e0e0}.share-menu{position:absolute;right:0;top:100%;margin-top:8px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;padding:8px;min-width:160px;z-index:10}.share-menu button{display:block;width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:14px;cursor:pointer;border-radius:6px;transition:background .2s}.share-menu button:hover{background:#f0f0f0}.answers-section{margin-top:48px}.answers-section h2{font-size:24px;color:#2c3744;margin-bottom:24px}.answer-card.best-answer{border:2px solid #4caf50;position:relative}.best-answer-badge{position:absolute;top:-12px;left:24px;background:#4caf50;color:#fff;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600}.btn-mark-best{padding:6px 12px;background:#4caf50;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-mark-best:hover{background:#45a049}.answer-form-section{margin-top:48px;background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014}.answer-form-section h3{font-size:20px;color:#2c3744;margin-bottom:20px}.answer-form textarea{width:100%;padding:16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;font-family:inherit;resize:vertical;margin-bottom:16px}.answer-form textarea:focus{outline:none;border-color:#667eea}.answer-form .btn-submit{padding:12px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.answer-form .btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.answer-form .btn-submit:disabled{opacity:.6;cursor:not-allowed}.login-prompt{text-align:center;padding:40px;color:#5c7a99}.login-prompt a{color:#667eea;font-weight:600}@media(max-width:768px){.question-detail-page{padding:20px 16px}.question-card,.answer-card,.answer-form-section{padding:20px}.question-header h1{font-size:22px}.question-body,.answer-body{flex-direction:column}.vote-section{flex-direction:row}.question-actions{flex-direction:column;gap:16px;align-items:flex-start}}.create-topic-page{min-height:100vh;background:#f8f9fa;padding:40px 20px}.create-topic-container{max-width:800px;margin:0 auto}.topic-form{background:#fff;border-radius:16px;padding:40px;box-shadow:0 4px 20px #00000014}.image-preview{margin-bottom:28px}.image-preview label{display:block;font-size:15px;font-weight:600;color:#2c3744;margin-bottom:12px}.image-preview img{width:100%;max-height:300px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px #0000001a}@media(max-width:768px){.create-topic-page{padding:20px 16px}.topic-form{padding:24px}}.care-timeline{min-height:100vh;background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.roadmap-container{position:relative;max-width:1200px;margin:0 auto;min-height:1800px}.roadmap-path{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.roadmap-path-mobile{display:none}.roadmap-line{stroke:#7c3aed;stroke-width:8;fill:none;stroke-linecap:round;opacity:.3;animation:dashAnimation 3s linear infinite}@keyframes dashAnimation{to{stroke-dashoffset:-30}}.milestones-wrapper{position:relative;z-index:2}.milestone-card{position:absolute;width:450px;background:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #7c3aed26;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1.5rem}.milestone-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #7c3aed40}.milestone-card:focus{outline:3px solid #7c3aed;outline-offset:4px}.milestone-left{left:50px;transform-origin:right center}.milestone-right{right:50px;transform-origin:left center}.milestone-number{flex-shrink:0;width:50px;height:50px;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;box-shadow:0 4px 12px #7c3aed4d}.milestone-icon{flex-shrink:0;font-size:3rem;line-height:1}.milestone-content{flex:1}.milestone-title{font-size:1.5rem;color:#1f2937;margin:0 0 .5rem;font-weight:600}.milestone-description{font-size:.95rem;color:#6b7280;margin:0;line-height:1.5}.milestone-arrow{flex-shrink:0;font-size:2rem;color:#7c3aed;opacity:0;transition:opacity .3s ease,transform .3s ease}.milestone-card:hover .milestone-arrow{opacity:1;transform:translate(5px)}@media(max-width:1024px){.milestone-card{width:400px}.milestone-left{left:30px}.milestone-right{right:30px}}@media(max-width:768px){.roadmap-container{min-height:2200px}.roadmap-path-desktop{display:none}.roadmap-path-mobile{display:block;width:100px;left:50%;transform:translate(-50%)}.milestone-card{position:relative!important;width:100%;max-width:500px;margin:0 auto 2rem;left:0!important;right:0!important;top:0!important}.milestones-wrapper{display:flex;flex-direction:column;gap:2rem}.milestone-card{flex-direction:column;text-align:center;padding:1.5rem}.milestone-icon{font-size:2.5rem}.milestone-title{font-size:1.25rem}.milestone-description{font-size:.9rem}.milestone-arrow{display:none}}@media(max-width:480px){.care-timeline{padding:1rem .5rem}.care-timeline-header{padding:1rem .5rem;margin-bottom:2rem}.care-timeline-header h1{font-size:1.75rem}.milestone-card{padding:1.25rem}.milestone-number{width:40px;height:40px;font-size:1.25rem}.milestone-icon{font-size:2rem}}.resource-card-compact{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s}.resource-card-compact:hover{border-color:#7c3aed;transform:translateY(-4px);box-shadow:0 10px 20px #7c3aed1a}.resource-card-compact:focus{outline:2px solid #7c3aed;outline-offset:2px}.card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.75rem}.card-header h3{margin:0;font-size:1.1rem;color:#1f2937;flex:1}.verified-badge{background:#10b981;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.card-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.rating-stars{color:#f59e0b;font-weight:600}.review-count{color:#6b7280;font-size:.9rem}.card-experience{color:#6b7280;font-size:.9rem;margin-bottom:.75rem}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:#f2efff;color:#7c3aed;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.tag-more{color:#6b7280;font-size:.85rem}@media(max-width:768px){.resource-card-compact{padding:1rem}.card-header h3{font-size:1rem}}.resource-card-compact.hovered{border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed4d;transform:translateY(-2px)}.resource-listings-container{display:grid;grid-template-columns:280px 1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem}.resource-listings-container.no-filters{grid-template-columns:1fr;max-width:100%;padding:0}.resource-listings-container.no-filters .resource-listings-main{padding:0;box-shadow:none;background:transparent}.filter-panel{background:#fff;border-radius:12px;padding:1.5rem;height:fit-content;max-height:calc(100vh - 250px);overflow-y:auto;position:sticky;top:100px;box-shadow:0 1px 3px #0000001a}.filter-panel h3{margin:0 0 1.5rem;color:#1f2937;font-size:1.25rem}.filter-panel .search-input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:border-color .2s}.filter-panel .search-input:focus{outline:none;border-color:#7c3aed}.filter-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.filter-section:last-of-type{border-bottom:none}.filter-section h4{margin:0 0 .75rem;color:#374151;font-size:.95rem;font-weight:600}.filter-checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-checkbox input{cursor:pointer;width:16px;height:16px}.filter-checkbox span{font-size:.9rem;color:#374151}.tags-dropdown{position:relative}.tags-dropdown-button{width:100%;padding:.75rem;background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.9rem;text-align:left;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s}.tags-dropdown-button:hover{border-color:#7c3aed}.tags-dropdown-button:focus{outline:2px solid #7c3aed;outline-offset:2px}.dropdown-arrow{color:#6b7280;font-size:.75rem}.tags-dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:6px;padding:.5rem;max-height:250px;overflow-y:auto;z-index:10;box-shadow:0 4px 6px #0000001a}.tags-dropdown-menu .filter-checkbox{padding:.5rem;border-radius:4px;transition:background-color .2s}.tags-dropdown-menu .filter-checkbox:hover{background:#f9fafb}.rating-btn{display:block;width:100%;padding:.5rem;margin-bottom:.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.rating-btn:hover{border-color:#7c3aed}.rating-btn:focus{outline:2px solid #7c3aed;outline-offset:2px}.rating-btn.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.clear-filters-btn{width:100%;padding:.75rem;background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;font-weight:500;margin-top:1rem;transition:all .2s}.clear-filters-btn:hover{background:#f9fafb;border-color:#7c3aed}.clear-filters-btn:focus{outline:2px solid #7c3aed;outline-offset:2px}.results-count{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.9rem;text-align:center;font-weight:500}.resource-listings-main{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.listings-header{margin-bottom:2rem}.listings-header h2{margin:0 0 .5rem;color:#1f2937;font-size:2rem;display:flex;align-items:center;gap:.5rem}.milestone-description{color:#6b7280;margin:0;font-size:1rem;line-height:1.5}.sort-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.sort-label{color:#6b7280;font-size:.9rem;font-weight:500}.sort-select{padding:.5rem .75rem;border:2px solid #e5e7eb;border-radius:6px;font-size:.9rem;cursor:pointer;background:#fff;transition:border-color .2s}.sort-select:hover{border-color:#7c3aed}.sort-select:focus{outline:none;border-color:#7c3aed}.resource-grid,.loading-state{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.skeleton-card{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:12px;height:200px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:4rem 2rem;color:#6b7280}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;color:#374151;font-size:1.5rem}.empty-state p{margin:0 0 1.5rem;font-size:1rem}.clear-filters-btn-inline{padding:.75rem 1.5rem;background:#7c3aed;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;font-size:.95rem;transition:background-color .2s}.clear-filters-btn-inline:hover{background:#6d28d9}.clear-filters-btn-inline:focus{outline:2px solid #7c3aed;outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:1200px){.resource-listings-container{grid-template-columns:250px 1fr}.resource-grid,.loading-state{grid-template-columns:1fr}}@media(max-width:1024px){.resource-listings-container{grid-template-columns:1fr;gap:1.5rem}.filter-panel{position:relative;top:0;max-height:none}.resource-grid,.loading-state{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.resource-listings-container{padding:1rem;gap:1rem}.filter-panel{padding:1rem}.resource-listings-main{padding:1.5rem}.listings-header h2{font-size:1.5rem}.resource-grid,.loading-state{grid-template-columns:1fr;gap:1rem}.empty-state{padding:3rem 1rem}.empty-state-icon{font-size:3rem}}@media(max-width:480px){.resource-listings-container{padding:.75rem}.filter-panel,.resource-listings-main{padding:1rem;border-radius:8px}.listings-header h2{font-size:1.25rem}.milestone-description{font-size:.9rem}}.milestone-page{min-height:100vh;background:#f9fafb}.milestone-header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.milestone-header-content{max-width:1800px;margin:0 auto;padding:2rem}.milestone-header h1{margin:0 0 .5rem;color:#1f2937;font-size:2rem;font-weight:700}.milestone-subtitle{margin:0 0 1.5rem;color:#6b7280;font-size:1rem;line-height:1.5}.header-controls{display:flex;align-items:center;gap:1rem;max-width:100%}.resource-search-wrapper{position:relative;flex:1;max-width:400px}.header-tags-dropdown{position:relative;min-width:200px}.header-tags-dropdown .tags-dropdown-button{width:100%;padding:.875rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.95rem;text-align:left;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.header-tags-dropdown .tags-dropdown-button:hover{border-color:#7c3aed}.header-tags-dropdown .tags-dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:.5rem;max-height:300px;overflow-y:auto;z-index:1100;box-shadow:0 4px 12px #00000026}.header-tags-dropdown .filter-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;margin-bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;transition:background-color .2s}.header-tags-dropdown .filter-checkbox:hover{background:#f9fafb}.header-tags-dropdown .filter-checkbox input{cursor:pointer;width:16px;height:16px}.header-tags-dropdown .filter-checkbox span{font-size:.9rem;color:#374151}.resource-search-input{width:100%;padding:.875rem 2.5rem .875rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .2s;background:#fff}.resource-search-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.resource-search-input::placeholder{color:#9ca3af}.resource-search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.resource-search-clear:hover{color:#374151}.resource-search-clear:focus{outline:2px solid #7c3aed;outline-offset:2px;border-radius:4px}.header-country-selector{display:flex;gap:.5rem;flex-wrap:wrap}.country-flag{font-size:1.5rem;padding:.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;line-height:1}.country-flag:hover{transform:scale(1.1);border-color:#7c3aed}.country-flag:focus{outline:2px solid #7c3aed;outline-offset:2px}.country-flag.active{border-color:#7c3aed;background:#f2efff}.milestone-main-content{max-width:1800px;margin:0 auto;display:grid;grid-template-columns:1fr 400px;gap:2rem;padding:2rem;min-height:calc(100vh - 200px)}.listings-section{min-width:0}.map-panel{background:#fff;border-radius:12px;padding:1.5rem;height:fit-content;max-height:calc(100vh - 250px);position:sticky;top:100px;box-shadow:0 1px 3px #0000001a}.map-container{border-radius:8px;overflow:hidden;height:600px;box-shadow:0 2px 8px #0000001a}.map-loading-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:8px}.map-skeleton{text-align:center;color:#6b7280}.skeleton-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.map-skeleton p{margin:0;font-size:.95rem;font-weight:500}.error-message{position:fixed;bottom:2rem;right:2rem;background:#fee2e2;border:2px solid #ef4444;border-radius:8px;padding:1rem 1.5rem;box-shadow:0 4px 12px #00000026;max-width:400px;z-index:1000}.error-message p{margin:0 0 .75rem;color:#991b1b;font-weight:500}.error-message button{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.error-message button:hover{background:#dc2626}@media(max-width:1400px){.milestone-main-content{grid-template-columns:1fr 350px}.map-container{height:500px}}@media(max-width:1024px){.milestone-main-content{grid-template-columns:1fr;gap:1.5rem}.map-panel{position:relative;top:0;max-height:none;order:1}.listings-section{order:2}.map-container{height:400px}}@media(max-width:768px){.milestone-header-content{padding:1.5rem 1rem}.milestone-header h1{font-size:1.5rem}.milestone-subtitle{font-size:.9rem}.header-controls{flex-direction:column;align-items:stretch;gap:.75rem}.resource-search-wrapper{max-width:100%}.header-tags-dropdown{width:100%;min-width:auto}.header-country-selector{justify-content:center}.country-flag{font-size:1.25rem;padding:.4rem}.milestone-main-content{padding:1rem;gap:1rem}.map-panel{padding:1rem}.map-container{height:70vh;min-height:500px}.error-message{bottom:1rem;right:1rem;left:1rem;max-width:none}}@media(max-width:480px){.milestone-header-content{padding:1rem}.milestone-header h1{font-size:1.25rem}.milestone-subtitle{font-size:.85rem;margin-bottom:1rem}.header-country-selector{gap:.25rem}.country-flag{font-size:1.1rem;padding:.35rem}.map-container{height:60vh;min-height:400px}}.tags-actions{display:flex;gap:.5rem;padding:.5rem;border-bottom:1px solid #e5e7eb;margin-bottom:.5rem}.tag-action-btn{flex:1;padding:.5rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.tag-action-btn:hover{background:#e5e7eb;border-color:#9ca3af}.tag-action-btn:active{transform:scale(.98)}.admin-layout{display:flex;min-height:100vh;background:#f5f5f5}.admin-mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:60px;background:#fff;border-bottom:1px solid var(--border-color);align-items:center;padding:0 1rem;z-index:999}.admin-mobile-header h1{font-size:1.25rem;margin:0;color:var(--text-primary)}.hamburger-btn{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;flex-direction:column;gap:4px;margin-right:1rem}.hamburger-btn span{display:block;width:24px;height:3px;background:var(--primary-color);border-radius:2px;transition:all .3s}.admin-sidebar{width:280px;background:#fff;border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;overflow-y:auto;z-index:1000;transition:transform .3s ease}.sidebar-header{padding:2rem 1.5rem 1rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{font-size:1.5rem;color:var(--primary-color);margin:0}.close-sidebar-btn{display:none;background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;line-height:1}.close-sidebar-btn:hover{color:var(--text-primary)}.admin-user-info{padding:1.5rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border-color)}.admin-avatar{width:48px;height:48px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.admin-user-details{flex:1}.admin-user-name{font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.admin-user-role{font-size:.875rem;color:var(--text-secondary);margin:0}.admin-nav{flex:1;padding:1rem 0}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all .2s;font-weight:500;border-left:3px solid transparent}.nav-link:hover{background:#4f46e50d;color:var(--primary-color)}.nav-link.active{background:#4f46e51a;color:var(--primary-color);border-left-color:var(--primary-color)}.nav-icon{font-size:1.25rem}.nav-button{width:100%;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;font-size:inherit}.nav-divider{height:1px;background:var(--border-color);margin:1rem 1.5rem}.admin-main{flex:1;margin-left:280px;padding:2rem;min-height:100vh}.sidebar-overlay{display:none}@media(max-width:768px){.admin-mobile-header{display:flex}.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.close-sidebar-btn{display:block}.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:999}.admin-main{margin-left:0;padding:1rem;padding-top:76px}}@media(max-width:1024px)and (min-width:769px){.admin-sidebar{width:240px}.admin-main{margin-left:240px}}.activity-feed{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.activity-list{max-height:500px;overflow-y:auto}.activity-item{display:flex;gap:12px;padding:16px;border-bottom:1px solid #f3f4f6;transition:background-color .2s}.activity-item:last-child{border-bottom:none}.activity-item:hover{background-color:#f9fafb}.activity-icon{font-size:24px;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;border-radius:50%}.activity-content{flex:1;min-width:0}.activity-description{color:#1f2937;font-size:14px;line-height:1.5;margin-bottom:4px}.activity-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.activity-user{font-weight:500;color:#4f46e5}.activity-separator{color:#d1d5db}.activity-time{color:#9ca3af}.activity-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:#6b7280}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}.activity-error{padding:24px;text-align:center;color:#dc2626;font-size:14px}.activity-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#6b7280}.empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.activity-empty p{margin:0;font-size:14px}.activity-list::-webkit-scrollbar{width:8px}.activity-list::-webkit-scrollbar-track{background:#f3f4f6}.activity-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.activity-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media(max-width:768px){.activity-item{padding:12px;gap:10px}.activity-icon{width:36px;height:36px;font-size:20px}.activity-description{font-size:13px}.activity-meta{font-size:11px}.activity-list{max-height:400px}}.admin-dashboard{max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.dashboard-header-text h1{font-size:2rem;color:var(--text-primary);margin:0 0 .5rem}.dashboard-header-text p{color:var(--text-secondary);margin:0}.btn-refresh{padding:.5rem 1rem;border:1px solid var(--border-color);background:#fff;color:var(--text-primary);border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:.375rem}.btn-refresh:hover{background:#f9fafb;border-color:#4f46e5;color:#4f46e5}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:#fff;border-radius:.75rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;border:1px solid var(--border-color);transition:all .2s;position:relative}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:#4f46e5}.stat-icon{font-size:2.5rem;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#4f46e51a;border-radius:.5rem;flex-shrink:0}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:#4f46e5;margin-bottom:.25rem}.stat-label{color:var(--text-secondary);font-size:.95rem;font-weight:500}.stat-arrow{font-size:1.5rem;color:#4f46e5;opacity:0;transition:opacity .2s}.stat-card.clickable:hover .stat-arrow{opacity:1}.quick-actions-section{background:#fff;border-radius:.75rem;padding:1.5rem;border:1px solid var(--border-color);margin-bottom:2rem}.quick-actions-section h2{font-size:1.5rem;color:var(--text-primary);margin:0 0 1.25rem}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:#f9fafb;border:1px solid var(--border-color);border-radius:.75rem;cursor:pointer;transition:all .2s;text-decoration:none}.quick-action-btn:hover{background:#eef2ff;border-color:#4f46e5;transform:translateY(-2px);box-shadow:0 4px 12px #4f46e51a}.quick-action-icon{font-size:1.75rem}.quick-action-label{font-size:.875rem;font-weight:600;color:var(--text-primary);text-align:center}.activity-section{background:#fff;border-radius:.75rem;padding:1.5rem;border:1px solid var(--border-color)}.activity-section h2{font-size:1.5rem;color:var(--text-primary);margin:0 0 1.5rem}.activity-feed{min-height:200px}.activity-placeholder{text-align:center;color:var(--text-secondary);padding:3rem}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem;color:var(--text-secondary);min-height:300px;gap:1rem}.loading-spinner{width:2.5rem;height:2.5rem;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}.error-state{color:#ef4444}.error-state .btn-refresh{margin-top:.5rem}@media(max-width:768px){.dashboard-header h1{font-size:1.5rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1rem}.stat-icon{font-size:2rem;width:48px;height:48px}.stat-value{font-size:1.5rem}.stat-arrow{font-size:1.25rem}}.admin-analytics{padding:2rem;max-width:1400px;margin:0 auto}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.analytics-header h1{font-size:2rem;font-weight:700;color:#1f2937;margin:0}.time-range-selector{display:flex;gap:.5rem;background:#f3f4f6;padding:.25rem;border-radius:.5rem}.time-range-selector button{padding:.5rem 1rem;border:none;background:transparent;color:#6b7280;font-weight:500;border-radius:.375rem;cursor:pointer;transition:all .2s}.time-range-selector button:hover{background:#e5e7eb;color:#374151}.time-range-selector button.active{background:#4f46e5;color:#fff}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.5rem}.metric-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.metric-header h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.percentage-change{font-size:.875rem;font-weight:600;padding:.25rem .75rem;border-radius:.375rem}.percentage-change.positive{background:#d1fae5;color:#065f46}.percentage-change.negative{background:#fee2e2;color:#991b1b}.no-data{display:flex;align-items:center;justify-content:center;height:250px;background:#f9fafb;border-radius:.5rem;color:#6b7280}.custom-tooltip{background:#fff;padding:.75rem;border:1px solid #e5e7eb;border-radius:.375rem;box-shadow:0 4px 6px #0000001a}.tooltip-label{font-weight:600;color:#1f2937;margin:0 0 .25rem}.tooltip-value{color:#6b7280;margin:0}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:3rem;height:3rem;border:4px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite}.error-state p{color:#dc2626;font-size:1.125rem}.retry-button{padding:.75rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background .2s}.retry-button:hover{background:#4338ca}@media(max-width:768px){.admin-analytics{padding:1rem}.analytics-header{flex-direction:column;align-items:flex-start}.time-range-selector{width:100%;overflow-x:auto}.metrics-grid{grid-template-columns:1fr}.metric-card{padding:1rem}}.data-table-container{background:#fff;border-radius:.75rem;border:1px solid var(--border-color);overflow:hidden}.table-controls{padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.table-controls-left{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;flex:1}.table-controls-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.table-search{flex:1;max-width:400px;min-width:200px;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:.95rem}.table-search:focus{outline:none;border-color:var(--primary-color)}.table-filters{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.filter-control{display:flex;align-items:center;gap:.5rem}.filter-control label{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.filter-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;background:#fff;cursor:pointer;min-width:150px}.filter-select:focus{outline:none;border-color:var(--primary-color)}.btn-export{padding:.5rem 1rem;border:1px solid var(--border-color);background:#fff;color:var(--text-primary);border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:.375rem}.btn-export:hover:not(:disabled){background:#f0fdf4;border-color:#16a34a;color:#16a34a}.btn-export:disabled{opacity:.5;cursor:not-allowed}.table-info{color:var(--text-secondary);font-size:.875rem;white-space:nowrap}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f9fafb}.data-table th{padding:1rem 1.5rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.sortable-header:hover{background:#f3f4f6}.sortable-header.sorted{background:#eef2ff;color:#4f46e5}.header-content{display:flex;align-items:center;gap:.25rem}.sort-indicator{font-size:.75rem;opacity:.4;transition:opacity .15s}.sortable-header:hover .sort-indicator,.sortable-header.sorted .sort-indicator{opacity:1}.sortable-header.sorted .sort-indicator{color:#4f46e5}.data-table td{padding:1rem 1.5rem;border-top:1px solid var(--border-color);color:var(--text-primary)}.data-table tbody tr:hover{background:#f9fafb}.no-data{text-align:center;color:var(--text-secondary);padding:3rem!important}.actions-cell{display:flex;gap:.5rem}.btn-action{padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-edit{background:var(--primary-color);color:#fff}.btn-edit:hover{background:var(--primary-hover)}.btn-delete{background:#fee2e2;color:#dc2626}.btn-delete:hover{background:#fecaca}.table-pagination{padding:1.5rem;display:flex;justify-content:center;align-items:center;gap:1rem;border-top:1px solid var(--border-color)}.pagination-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background:#fff;border-radius:.375rem;cursor:pointer;font-weight:500;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--text-secondary);font-size:.875rem}.data-table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary);gap:1rem;min-height:200px}.table-loading-spinner{width:2.5rem;height:2.5rem;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:table-spin .8s linear infinite}@keyframes table-spin{to{transform:rotate(360deg)}}.data-table-loading p{margin:0;font-size:.95rem}@media(max-width:768px){.table-controls{flex-direction:column;align-items:stretch}.table-controls-left{flex-direction:column}.table-controls-right{flex-direction:row;justify-content:space-between}.table-search{max-width:100%}.data-table th,.data-table td{padding:.75rem 1rem;font-size:.875rem}.actions-cell{flex-direction:column}.btn-action{width:100%}.sort-indicator{display:none}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s}.modal-close:hover{background:#0000000d;color:var(--text-primary)}.modal-error{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background-color:#fee2e2;color:#991b1b;padding:.75rem 1rem;border-radius:.375rem;margin-bottom:1rem;font-size:.875rem;line-height:1.4}.modal-error-dismiss{background:none;border:none;color:#991b1b;font-size:1.25rem;cursor:pointer;padding:0 .25rem;opacity:.7;transition:opacity .2s;flex-shrink:0}.modal-error-dismiss:hover{opacity:1}.form-field{margin-bottom:1.5rem}.form-field label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem}.form-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.form-input:disabled{background:#f3f4f6;cursor:not-allowed}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid var(--border-color)}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.95rem}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border-color)}@media(max-width:768px){.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-header,.modal-body{padding:1.25rem}.modal-footer{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.admin-courses{padding:2rem}.page-header h1{font-size:2rem;color:#1f2937;margin-bottom:.5rem}.error-message{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background-color:#fee2e2;color:#991b1b;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem;line-height:1.5}.admin-courses .success-banner{display:flex;align-items:center;gap:.75rem;background-color:#d1fae5;color:#065f46;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem;font-weight:500;animation:slideDown .3s ease-out}.admin-courses .success-banner .success-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#065f46;color:#fff;border-radius:50%;font-size:.875rem;flex-shrink:0}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.status-draft{background-color:#fef3c7;color:#92400e}.status-published{background-color:#d1fae5;color:#065f46}.confirm-dialog{background:#fff;padding:2rem;border-radius:.5rem;max-width:400px;width:90%}.confirm-dialog h3{margin-bottom:1rem;color:#1f2937}.confirm-dialog p{margin-bottom:.5rem;color:#4b5563}.warning-text{color:#dc2626;font-weight:500}.btn-secondary{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:.375rem;cursor:pointer;font-size:.875rem}.btn-danger{padding:.5rem 1rem;border:none;background:#dc2626;color:#fff;border-radius:.375rem;cursor:pointer;font-size:.875rem}.page-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.btn-reorder{padding:.5rem 1rem;border:2px solid #6366f1;background:#fff;color:#6366f1;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;white-space:nowrap;transition:all .2s}.btn-reorder:hover{background:#6366f1;color:#fff}.reorder-container{background:#fff;border-radius:.75rem;border:2px solid #e0e7ff;overflow:hidden}.reorder-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:#eef2ff;border-bottom:2px solid #e0e7ff;gap:1rem}.reorder-info h2{font-size:1.125rem;color:#4338ca;margin:0 0 .25rem}.reorder-info p{font-size:.8125rem;color:#6366f1;margin:0}.reorder-actions{display:flex;gap:.75rem;flex-shrink:0}.btn-save-order{padding:.5rem 1.25rem;border:none;background:#6366f1;color:#fff;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:600;transition:background .2s}.btn-save-order:hover{background:#4f46e5}.btn-save-order:disabled{background:#a5b4fc;cursor:not-allowed}.reorder-list{padding:.5rem}.reorder-row{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;margin:.25rem 0;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:grab;transition:all .15s ease;-webkit-user-select:none;user-select:none}.reorder-row:hover{border-color:#c7d2fe;background:#fafafe;box-shadow:0 1px 3px #6366f11a}.reorder-row.dragging{opacity:.5;border-color:#6366f1;background:#eef2ff;box-shadow:0 4px 12px #6366f133}.reorder-drag-handle{display:flex;align-items:center;justify-content:center;width:1.5rem;color:#9ca3af;cursor:grab;flex-shrink:0}.drag-icon{font-size:1.25rem;line-height:1;letter-spacing:2px}.reorder-position{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#f3f4f6;color:#6b7280;border-radius:.375rem;font-size:.8125rem;font-weight:700;flex-shrink:0}.reorder-course-info{flex:1;min-width:0}.reorder-course-title{font-weight:600;color:#1f2937;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reorder-course-meta{display:flex;align-items:center;gap:.375rem;margin-top:.25rem;font-size:.8125rem;color:#6b7280;flex-wrap:wrap}.meta-separator{color:#d1d5db}.status-badge-sm{padding:.125rem .5rem;border-radius:.75rem;font-size:.75rem;font-weight:500}.status-badge-sm.status-published{background-color:#d1fae5;color:#065f46}.status-badge-sm.status-draft{background-color:#fef3c7;color:#92400e}.reorder-buttons{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.btn-move{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid #d1d5db;background:#fff;color:#6b7280;border-radius:.25rem;cursor:pointer;font-size:.625rem;transition:all .15s;padding:0}.btn-move:hover:not(:disabled){border-color:#6366f1;color:#6366f1;background:#eef2ff}.btn-move:disabled{opacity:.3;cursor:not-allowed}@media(max-width:768px){.admin-courses{padding:1rem}.page-header h1{font-size:1.5rem}.page-header-content{flex-direction:column}.reorder-header{flex-direction:column;align-items:flex-start}.reorder-actions{width:100%}.reorder-actions .btn-secondary,.reorder-actions .btn-save-order{flex:1}.reorder-course-title{font-size:.875rem}.reorder-course-meta{font-size:.75rem}}.admin-instructors{padding:2rem}.admin-instructors .page-header{margin-bottom:2rem}.admin-instructors .page-header h1{font-size:2rem;color:#1f2937;margin-bottom:.5rem}.admin-instructors .page-header p{color:#6b7280;font-size:1rem}.admin-instructors .success-banner{display:flex;align-items:center;gap:.75rem;background-color:#d1fae5;color:#065f46;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem;font-weight:500;animation:slideDown .3s ease-out}.admin-instructors .success-icon-badge{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#065f46;color:#fff;border-radius:50%;font-size:.875rem;flex-shrink:0}.admin-instructors .error-message{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background-color:#fee2e2;color:#991b1b;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem;line-height:1.5}.admin-instructors .error-message .dismiss-btn{background:none;border:none;color:#991b1b;font-size:1.25rem;cursor:pointer;padding:0 .25rem;opacity:.7;transition:opacity .2s;flex-shrink:0}.admin-instructors .error-message .dismiss-btn:hover{opacity:1}.instructor-name-cell{display:flex;flex-direction:column;gap:.25rem}.instructor-name{font-weight:600;color:#1f2937}.suspended-badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:600;background-color:#fee2e2;color:#991b1b;width:fit-content}.custom-actions{display:flex;gap:.5rem}.btn-suspend{padding:.4rem .75rem;border:none;border-radius:.375rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;background:#fef3c7;color:#92400e;white-space:nowrap}.btn-suspend:hover{background:#fde68a;color:#78350f}.suspended-label{font-size:.8rem;color:#991b1b;font-weight:500;font-style:italic}.confirm-dialog{background:#fff;padding:2rem;border-radius:.75rem;max-width:450px;width:90%;box-shadow:0 20px 25px -5px #0000001a}.suspend-warning{background:#fef2f2;border-left:4px solid #ef4444;border-radius:0 .375rem .375rem 0;padding:1rem;margin:1rem 0}.suspend-warning p{margin:0 0 .5rem;font-weight:600;color:#991b1b}.suspend-warning ul{margin:0;padding-left:1.25rem;color:#7f1d1d;font-size:.9rem}.suspend-warning li{margin-bottom:.25rem}.btn-danger:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.admin-instructors{padding:1rem}.admin-instructors .page-header h1{font-size:1.5rem}.dialog-actions{flex-direction:column-reverse}.btn-secondary,.btn-danger{width:100%;text-align:center}}.admin-students{padding:2rem}.admin-students .page-header{margin-bottom:2rem}.admin-students .page-header h1{font-size:2rem;color:#1f2937;margin-bottom:.5rem}.admin-students .page-header p{color:#6b7280;font-size:1rem}.admin-students .success-banner{display:flex;align-items:center;gap:.75rem;background-color:#d1fae5;color:#065f46;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem;font-weight:500;animation:slideDown .3s ease-out}.admin-students .success-icon-badge{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#065f46;color:#fff;border-radius:50%;font-size:.875rem;flex-shrink:0}.admin-students .error-message{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background-color:#fee2e2;color:#991b1b;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem;line-height:1.5}.admin-students .error-message .dismiss-btn{background:none;border:none;color:#991b1b;font-size:1.25rem;cursor:pointer;padding:0 .25rem;opacity:.7;transition:opacity .2s;flex-shrink:0}.admin-students .error-message .dismiss-btn:hover{opacity:1}@media(max-width:768px){.admin-students{padding:1rem}.admin-students .page-header h1{font-size:1.5rem}}.admin-enrollments{padding:2rem;max-width:1600px;margin:0 auto}.page-header h1{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.page-header p{color:#6b7280;font-size:1rem}.error-message{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#991b1b;background-color:#fee2e2;border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:1rem;line-height:1.5}.error-message .dismiss-btn{background:none;border:none;color:#991b1b;font-size:1.25rem;cursor:pointer;padding:0 .25rem;opacity:.7;transition:opacity .2s;flex-shrink:0}.error-message .dismiss-btn:hover{opacity:1}.success-icon-badge{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#065f46;color:#fff;border-radius:50%;font-size:.875rem;flex-shrink:0}.email-actions-section{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.email-actions-section h3{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:1rem}.email-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.email-course-btn{display:flex;flex-direction:column;align-items:flex-start;padding:.75rem 1.25rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;min-width:180px}.email-course-btn:hover{background:linear-gradient(135deg,#4338ca,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.email-course-btn .course-name{font-weight:600;font-size:.95rem;margin-bottom:.25rem}.email-course-btn .student-count{font-size:.8rem;opacity:.9}.student-info-cell{display:flex;flex-direction:column;gap:.25rem}.student-info-cell .student-name{font-weight:600;color:#1f2937}.student-info-cell .student-email{font-size:.85rem;color:#6b7280}.status-active{background-color:#d1fae5;color:#065f46}.status-completed{background-color:#dbeafe;color:#1e40af}.status-dropped{background-color:#fee2e2;color:#991b1b}.status-pending{background-color:#fef3c7;color:#92400e}.tags-cell{display:flex;flex-wrap:wrap;gap:.25rem;max-width:200px}.neurodiversity-tag{background:#4f46e5;color:#fff;padding:.2rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:500;white-space:nowrap}.interest-tag{background:#e0e7ff;color:#4338ca;padding:.2rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:500;white-space:nowrap}.more-tag{background:#f3f4f6;color:#6b7280;padding:.2rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:500}.no-data{color:#9ca3af;font-style:italic}.modal-content{background:#fff;border-radius:.75rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0}.close-btn{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:background-color .2s}.close-btn:hover{background-color:#f3f4f6}.modal-body{padding:1.5rem}.modal-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem;color:#1e40af;font-size:.95rem;line-height:1.6}.success-message{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;background:#d1fae5;border-radius:.5rem;color:#065f46;font-size:1.1rem;font-weight:600}.success-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#065f46;color:#fff;border-radius:50%;font-size:1.2rem}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.95rem}.form-input,.form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-input:disabled,.form-textarea:disabled{background-color:#f9fafb;cursor:not-allowed}.form-textarea{resize:vertical;min-height:150px}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.status-modal{max-width:500px}.status-options{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.status-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:all .2s;background:#fff}.status-option:hover{border-color:#c7d2fe;background:#f5f3ff}.status-option.selected{border-color:#4f46e5;background:#eef2ff}.status-option input[type=radio]{display:none}.status-option .status-badge{flex-shrink:0}.status-description{font-size:.85rem;color:#6b7280}.status-option.selected .status-description{color:#4338ca}@media(max-width:1200px){.tags-cell{max-width:150px}}@media(max-width:768px){.admin-enrollments{padding:1rem}.page-header h1{font-size:1.5rem}.email-actions-section{padding:1rem}.email-buttons{flex-direction:column}.email-course-btn{width:100%;min-width:auto}.modal-content{margin:1rem}.modal-header,.modal-body,.modal-footer{padding:1rem}}.admin-topics .success-banner{display:flex;align-items:center;gap:.75rem;background-color:#d1fae5;color:#065f46;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem;font-weight:500;animation:slideDown .3s ease-out}.admin-topics .success-icon-badge{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#065f46;color:#fff;border-radius:50%;font-size:.875rem;flex-shrink:0}.admin-topics .error-message{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background-color:#fee2e2;color:#991b1b;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem;line-height:1.5}.admin-topics .error-message .dismiss-btn{background:none;border:none;color:#991b1b;font-size:1.25rem;cursor:pointer;padding:0 .25rem;opacity:.7;transition:opacity .2s;flex-shrink:0}.admin-topics .error-message .dismiss-btn:hover{opacity:1}.admin-topics .empty-state{text-align:center;padding:3rem;color:#6b7280}.admin-topics .empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.admin-topics .spinner{width:2rem;height:2rem;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.admin-topics .loading{text-align:center;padding:3rem;color:#6b7280}.admin-topics{padding:2rem}.page-header h1{font-size:2rem;color:#1f2937;margin:0 0 .5rem}.page-subtitle{color:#6b7280;margin:0}.topics-list{display:flex;flex-direction:column;gap:1.5rem}.topic-item{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;display:flex;gap:1.5rem;align-items:flex-start}.topic-image{flex-shrink:0;width:200px;height:100px;border-radius:8px;overflow:hidden}.topic-image img{width:100%;height:100%;object-fit:cover}.topic-info{flex:1}.topic-info h3{margin:0 0 .5rem;font-size:1.25rem;color:#1f2937}.topic-description{color:#6b7280;margin:0 0 1rem;font-size:.95rem}.topic-meta{display:flex;gap:1rem;align-items:center;font-size:.875rem}.topic-slug{color:#9ca3af;font-family:monospace}.topic-featured{padding:.25rem .75rem;border-radius:12px;font-weight:500}.topic-featured.active{background:#fef3c7;color:#92400e}.topic-actions{display:flex;flex-direction:column;gap:.5rem}.btn-edit,.btn-toggle,.btn-delete{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-edit{background:#4f46e5;color:#fff}.btn-edit:hover{background:#4338ca}.btn-toggle{background:#e5e7eb;color:#374151}.btn-toggle:hover{background:#d1d5db}.btn-toggle.featured{background:#fbbf24;color:#78350f}.btn-toggle.featured:hover{background:#f59e0b}.btn-delete{background:#ef4444;color:#fff}.btn-delete:hover{background:#dc2626}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-content h2{margin:0 0 .5rem;color:#1f2937}.modal-subtitle{color:#6b7280;margin:0 0 1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.image-url-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.image-url-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.field-hint{display:block;margin-top:.5rem;font-size:.875rem;color:#6b7280}.image-preview{margin:1.5rem 0}.image-preview label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.image-preview img{width:100%;max-height:300px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-cancel:hover{background:#f9fafb}.btn-save{background:#4f46e5;color:#fff}.btn-save:hover{background:#4338ca}.btn-save:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.loading,.error-message{text-align:center;padding:3rem;color:#6b7280}.error-message{color:#dc2626}@media(max-width:768px){.topic-item{flex-direction:column}.topic-image{width:100%;height:150px}.topic-actions{flex-direction:row;width:100%}.btn-edit,.btn-toggle{flex:1}.modal-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.text-input,.textarea-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;font-family:inherit}.text-input:focus,.textarea-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.textarea-input{resize:vertical;min-height:100px}.delete-modal{max-width:500px}.modal-subtitle.warning{color:#dc2626;font-weight:600}.warning-text{color:#6b7280;margin:1rem 0;padding:1rem;background:#fef2f2;border-left:4px solid #ef4444;border-radius:4px}.btn-delete-confirm{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;background:#ef4444;color:#fff}.btn-delete-confirm:hover{background:#dc2626}.btn-delete-confirm:disabled{opacity:.5;cursor:not-allowed}.admin-sessions{padding:2rem}.admin-sessions .page-header{margin-bottom:2rem}.admin-sessions .page-header h1{font-size:2rem;color:#1f2937;margin-bottom:.5rem}.admin-sessions .page-header p{color:#6b7280;font-size:1rem}.success-banner{display:flex;align-items:center;gap:.75rem;background-color:#d1fae5;color:#065f46;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem;font-weight:500;animation:slideDown .3s ease-out}.success-banner .success-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#065f46;color:#fff;border-radius:50%;font-size:.875rem;flex-shrink:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-sessions .error-message{display:flex;align-items:center;justify-content:space-between;background-color:#fee2e2;color:#991b1b;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1rem}.dismiss-btn{background:none;border:none;color:#991b1b;font-size:1.25rem;cursor:pointer;padding:0 .25rem;opacity:.7;transition:opacity .2s}.dismiss-btn:hover{opacity:1}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-scheduled{background-color:#dbeafe;color:#1e40af}.status-in_progress{background-color:#fef3c7;color:#92400e}.status-completed{background-color:#d1fae5;color:#065f46}.status-cancelled{background-color:#fee2e2;color:#991b1b}.meeting-link{color:#4f46e5;text-decoration:none;font-weight:500;transition:color .2s}.meeting-link:hover{color:#4338ca;text-decoration:underline}.no-link{color:#9ca3af;font-style:italic;font-size:.875rem}.confirm-dialog{background:#fff;padding:2rem;border-radius:.75rem;max-width:400px;width:90%;box-shadow:0 20px 25px -5px #0000001a}.confirm-dialog h3{margin:0 0 1rem;color:#1f2937;font-size:1.25rem}.confirm-dialog p{margin-bottom:.5rem;color:#4b5563;line-height:1.5}.warning-text{color:#dc2626!important;font-weight:500;font-size:.875rem}.dialog-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.btn-secondary{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background:#f9fafb}.btn-danger{padding:.5rem 1rem;border:none;background:#dc2626;color:#fff;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-danger:hover{background:#b91c1c}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}@media(max-width:768px){.admin-sessions{padding:1rem}.admin-sessions .page-header h1{font-size:1.5rem}.dialog-actions{flex-direction:column-reverse}.btn-secondary,.btn-danger{width:100%;text-align:center}}.admin-care-resources{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;color:#1a1a1a;margin-bottom:.5rem}.page-header p{color:#666;font-size:1rem}.upload-section{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.upload-card,.info-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.upload-card h2{font-size:1.5rem;color:#1a1a1a;margin-bottom:1.5rem}.upload-instructions{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.upload-instructions h3{font-size:1.1rem;color:#1a1a1a;margin-bottom:1rem}.upload-instructions ol{margin:1rem 0 1.5rem 1.5rem;color:#666}.upload-instructions li{margin-bottom:.5rem}.dropzone{border:2px dashed #d1d5db;border-radius:12px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa;margin-bottom:1.5rem}.dropzone:hover{border-color:#7c3aed;background:#f9f5ff}.dropzone.active{border-color:#7c3aed;background:#f2efff;transform:scale(1.02)}.dropzone.has-file{border-color:#10b981;background:#f0fdf4}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-icon{font-size:3rem;margin-bottom:.5rem}.dropzone-content p{margin:0;color:#666}.dropzone-hint{font-size:.9rem;color:#999}.dropzone-formats{font-size:.85rem;color:#999;margin-top:.5rem}.file-info{display:flex;align-items:center;gap:1rem}.file-icon{font-size:2.5rem}.file-name{font-weight:600;color:#1a1a1a;margin:0}.file-size{font-size:.9rem;color:#666;margin:.25rem 0 0}.upload-actions{display:flex;gap:1rem;justify-content:center}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:#7c3aed;color:#fff}.btn-primary:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-small{padding:.5rem 1rem;font-size:.9rem}.upload-progress{margin-top:1.5rem;padding:1.5rem;background:#f8f9fa;border-radius:8px}.progress-header{display:flex;justify-content:space-between;margin-bottom:.75rem;font-weight:600;color:#1a1a1a}.progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.75rem}.progress-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a78bfa);transition:width .3s ease;border-radius:4px}.progress-note{font-size:.85rem;color:#666;margin:0;text-align:center}.upload-results{margin-top:2rem;padding-top:2rem;border-top:2px solid #e5e7eb}.upload-results h3{font-size:1.3rem;color:#1a1a1a;margin-bottom:1.5rem}.results-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.result-stat{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-radius:8px;background:#f8f9fa}.result-stat.success{background:#f0fdf4;border:1px solid #86efac}.result-stat.failed{background:#fef2f2;border:1px solid #fca5a5}.result-stat.skipped{background:#fef9c3;border:1px solid #fde047}.result-stat.total{background:#eff6ff;border:1px solid #93c5fd}.stat-icon{font-size:2rem}.admin-care-resources .stat-value{font-size:1.8rem;font-weight:700;margin:0;color:#1a1a1a}.stat-label{font-size:.9rem;color:#666;margin:.25rem 0 0}.errors-section{margin-top:2rem;padding:1.5rem;background:#fef2f2;border-radius:8px;border:1px solid #fca5a5}.errors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.errors-header h4{margin:0;color:#991b1b}.errors-table-container{overflow-x:auto}.errors-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.errors-table th,.errors-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e5e7eb}.errors-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.9rem}.errors-table td{font-size:.9rem;color:#1a1a1a}.error-message{color:#dc2626;font-size:.85rem}.errors-note{margin-top:1rem;font-size:.85rem;color:#666;text-align:center}.success-message{margin-top:1.5rem;padding:1rem;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534;font-weight:600;text-align:center}.info-card{position:sticky;top:2rem;height:fit-content}.info-card h3{font-size:1.2rem;color:#1a1a1a;margin-bottom:1rem}.info-card h4{font-size:1rem;color:#374151;margin:1.5rem 0 .5rem}.info-card p{color:#666;line-height:1.6;margin:.5rem 0}.info-card ul{margin:.5rem 0 0 1.5rem;color:#666}.info-card li{margin-bottom:.25rem}.info-note{font-size:.85rem;color:#999;font-style:italic}@media(max-width:1024px){.upload-section{grid-template-columns:1fr}.info-card{position:static}.results-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.admin-care-resources{padding:1rem}.upload-card,.info-card{padding:1.5rem}.dropzone{padding:2rem 1rem}.results-summary{grid-template-columns:1fr}.upload-actions{flex-direction:column}.errors-header{flex-direction:column;align-items:flex-start;gap:1rem}}.instructor-profile{max-width:1200px;margin:0 auto;padding:2rem 1rem}.instructor-hero{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1rem;padding:3rem;margin-bottom:3rem;color:#fff}.instructor-hero-content{display:flex;align-items:center;gap:2rem}.instructor-avatar-large{width:150px;height:150px;border-radius:50%;overflow:hidden;border:4px solid white;box-shadow:0 8px 24px #0003;flex-shrink:0}.instructor-avatar-large img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#ffffff40!important;font-size:3rem!important;font-weight:700;color:#fff!important}.instructor-avatar-large .avatar-placeholder{background:#ffffff40!important;font-size:3rem!important;color:#fff!important}.instructor-info{flex:1}.instructor-info h1{font-size:2.5rem;margin-bottom:1rem;color:#fff}.instructor-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.meta-badge{background:#fff3;padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.meta-item{font-size:.95rem;opacity:.95;color:#fff}.instructor-stats{display:flex;gap:3rem;margin-top:2rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff}.instructor-hero .stat-value{font-size:2rem;font-weight:700;color:#fff!important}.instructor-hero .stat-label{font-size:.875rem!important;opacity:.9;color:#fff!important}.instructor-bio-section{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 20px #00000014;margin-bottom:3rem}.instructor-bio-section h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:1rem}.instructor-bio{font-size:1.125rem;line-height:1.8;color:var(--text-secondary);white-space:pre-wrap}.instructor-courses-section{margin-bottom:3rem}.instructor-courses-section h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:2rem}.carousel-container{position:relative}.courses-carousel{display:flex;gap:1.5rem;overflow-x:auto;scroll-behavior:smooth;padding:1rem 0;scrollbar-width:none;-ms-overflow-style:none}.courses-carousel::-webkit-scrollbar{display:none}.carousel-item{flex:0 0 320px;min-width:320px}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:2px solid #e5e7eb;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--text-primary);cursor:pointer;z-index:10;box-shadow:0 4px 12px #0000001a;transition:all .2s}.carousel-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-50%) scale(1.1)}.carousel-btn-left{left:-24px}.carousel-btn-right{right:-24px}.instructor-reviews-section{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 20px #00000014}.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.reviews-header h2{font-size:1.75rem;color:var(--text-primary);margin:0}.reviews-summary{display:flex;align-items:center;gap:1rem}.reviews-count{font-size:1rem;color:var(--text-secondary);font-weight:500}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.review-item{padding:1.5rem;background:#f9fafb;border-radius:.75rem;border:1px solid #e5e7eb;transition:all .2s}.review-item:hover{box-shadow:0 4px 12px #00000014;border-color:#d1d5db}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.review-author{font-weight:600;color:var(--text-primary);font-size:1rem;margin-bottom:.25rem}.review-course{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.review-course a{color:var(--primary-color);text-decoration:none;font-weight:500}.review-course a:hover{text-decoration:underline}.review-date{color:var(--text-secondary);font-size:.875rem}.review-text{color:var(--text-secondary);line-height:1.6;margin:0}.no-reviews{text-align:center;padding:3rem;color:var(--text-secondary)}.no-reviews p{margin:0;font-size:1.125rem}@media(max-width:968px){.instructor-hero{padding:2rem}.instructor-hero-content{flex-direction:column;text-align:center}.instructor-info h1{font-size:2rem}.instructor-meta{justify-content:center}.instructor-stats{justify-content:center;gap:2rem}.carousel-btn{display:none}.carousel-item{flex:0 0 280px;min-width:280px}}@media(max-width:640px){.instructor-profile{padding:1rem .5rem}.instructor-hero{padding:1.5rem}.instructor-avatar-large{width:120px;height:120px}.instructor-info h1{font-size:1.75rem}.instructor-stats{gap:1.5rem}.instructor-hero .stat-value{font-size:1.5rem}.instructor-bio-section,.instructor-reviews-section{padding:1.5rem}.reviews-header{flex-direction:column;align-items:flex-start}}:root{--color-indigo: #4f46e5;--color-indigo-hover: #4338ca;--color-purple: #8b5cf6;--color-pink: #ec4899;--color-orange: #f59e0b;--color-teal: #14b8a6;--color-emerald: #10b981;--color-yellow: #fbbf24;--color-sky: #3b82f6;--color-coral: #f97316;--color-lavender: #a78bfa;--color-gray-900: #1f2937;--color-gray-600: #6b7280;--color-gray-400: #9ca3af;--color-gray-200: #e5e7eb;--color-gray-100: #f3f4f6;--color-gray-50: #f9fafb;--color-white: #ffffff;--color-off-white: #f5f5f5;--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #fbbf24;--color-warning-light: #fef3c7;--color-danger: #ef4444;--color-danger-light: #fee2e2;--color-info: #3b82f6;--color-info-light: #eff6ff;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--gradient-warm: linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #ec4899 100%);--gradient-support: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);--gradient-instagram: linear-gradient(135deg, rgba(254, 211, 115, .1) 0%, rgba(241, 82, 69, .1) 25%, rgba(217, 46, 127, .1) 50%, rgba(155, 54, 183, .1) 75%, rgba(81, 94, 207, .1) 100%);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--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: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-snug: 1.4;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-xl: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-card: 0 4px 12px rgba(0, 0, 0, .08);--shadow-card-hover: 0 12px 24px rgba(0, 0, 0, .12);--shadow-button: 0 4px 12px rgba(102, 126, 234, .3);--shadow-button-hover: 0 6px 20px rgba(102, 126, 234, .4);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-bounce: .3s cubic-bezier(.68, -.55, .265, 1.55);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-header: 1300;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--container-2xl: 1400px;--touch-target-min: 44px;--primary-color: var(--color-indigo);--primary-hover: var(--color-indigo-hover);--secondary-color: var(--color-emerald);--danger-color: var(--color-danger);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-600);--border-color: var(--color-gray-200);--background-light: var(--color-white);--shadow: var(--shadow-md);--shadow-lg: var(--shadow-xl)}@media(prefers-color-scheme:dark){:root{--color-gray-900: #f9fafb;--color-gray-600: #9ca3af;--color-gray-400: #6b7280;--color-gray-200: #374151;--color-gray-100: #1f2937;--color-gray-50: #111827;--color-white: #1f2937;--color-off-white: #111827;--text-primary: #f9fafb;--text-secondary: #9ca3af;--border-color: #374151;--background-light: #1f2937;--shadow-card: 0 4px 12px rgba(0, 0, 0, .3);--shadow-card-hover: 0 12px 24px rgba(0, 0, 0, .4)}}.d-none{display:none!important}.d-block{display:block!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-grid{display:grid!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-1{flex:1!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.align-center{align-items:center!important}.align-stretch{align-items:stretch!important}.gap-1{gap:var(--spacing-1)!important}.gap-2{gap:var(--spacing-2)!important}.gap-3{gap:var(--spacing-3)!important}.gap-4{gap:var(--spacing-4)!important}.gap-6{gap:var(--spacing-6)!important}.gap-8{gap:var(--spacing-8)!important}.m-0{margin:0!important}.m-1{margin:var(--spacing-1)!important}.m-2{margin:var(--spacing-2)!important}.m-3{margin:var(--spacing-3)!important}.m-4{margin:var(--spacing-4)!important}.m-auto{margin:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:var(--spacing-1)!important}.mt-2{margin-top:var(--spacing-2)!important}.mt-3{margin-top:var(--spacing-3)!important}.mt-4{margin-top:var(--spacing-4)!important}.mt-6{margin-top:var(--spacing-6)!important}.mt-8{margin-top:var(--spacing-8)!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--spacing-1)!important}.mb-2{margin-bottom:var(--spacing-2)!important}.mb-3{margin-bottom:var(--spacing-3)!important}.mb-4{margin-bottom:var(--spacing-4)!important}.mb-6{margin-bottom:var(--spacing-6)!important}.mb-8{margin-bottom:var(--spacing-8)!important}.ml-0{margin-left:0!important}.ml-1{margin-left:var(--spacing-1)!important}.ml-2{margin-left:var(--spacing-2)!important}.ml-3{margin-left:var(--spacing-3)!important}.ml-4{margin-left:var(--spacing-4)!important}.ml-auto{margin-left:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:var(--spacing-1)!important}.mr-2{margin-right:var(--spacing-2)!important}.mr-3{margin-right:var(--spacing-3)!important}.mr-4{margin-right:var(--spacing-4)!important}.mr-auto{margin-right:auto!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-4{margin-top:var(--spacing-4)!important;margin-bottom:var(--spacing-4)!important}.p-0{padding:0!important}.p-1{padding:var(--spacing-1)!important}.p-2{padding:var(--spacing-2)!important}.p-3{padding:var(--spacing-3)!important}.p-4{padding:var(--spacing-4)!important}.p-6{padding:var(--spacing-6)!important}.p-8{padding:var(--spacing-8)!important}.pt-0{padding-top:0!important}.pt-2{padding-top:var(--spacing-2)!important}.pt-4{padding-top:var(--spacing-4)!important}.pb-0{padding-bottom:0!important}.pb-2{padding-bottom:var(--spacing-2)!important}.pb-4{padding-bottom:var(--spacing-4)!important}.px-2{padding-left:var(--spacing-2)!important;padding-right:var(--spacing-2)!important}.px-4{padding-left:var(--spacing-4)!important;padding-right:var(--spacing-4)!important}.px-6{padding-left:var(--spacing-6)!important;padding-right:var(--spacing-6)!important}.py-2{padding-top:var(--spacing-2)!important;padding-bottom:var(--spacing-2)!important}.py-4{padding-top:var(--spacing-4)!important;padding-bottom:var(--spacing-4)!important}.py-6{padding-top:var(--spacing-6)!important;padding-bottom:var(--spacing-6)!important}.text-xs{font-size:var(--font-size-xs)!important}.text-sm{font-size:var(--font-size-sm)!important}.text-base{font-size:var(--font-size-base)!important}.text-lg{font-size:var(--font-size-lg)!important}.text-xl{font-size:var(--font-size-xl)!important}.text-2xl{font-size:var(--font-size-2xl)!important}.text-3xl{font-size:var(--font-size-3xl)!important}.text-4xl{font-size:var(--font-size-4xl)!important}.font-normal{font-weight:var(--font-weight-normal)!important}.font-medium{font-weight:var(--font-weight-medium)!important}.font-semibold{font-weight:var(--font-weight-semibold)!important}.font-bold{font-weight:var(--font-weight-bold)!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-success{color:var(--color-success)!important}.text-danger{color:var(--color-danger)!important}.text-warning{color:var(--color-warning)!important}.text-info{color:var(--color-info)!important}.text-white{color:#fff!important}.text-indigo{color:var(--color-indigo)!important}.leading-tight{line-height:var(--line-height-tight)!important}.leading-snug{line-height:var(--line-height-snug)!important}.leading-normal{line-height:var(--line-height-normal)!important}.leading-relaxed{line-height:var(--line-height-relaxed)!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.capitalize{text-transform:capitalize!important}.truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.line-clamp-2{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.line-clamp-3{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.w-full{width:100%!important}.w-auto{width:auto!important}.h-full{height:100%!important}.h-auto{height:auto!important}.min-h-screen{min-height:100vh!important}.rounded-none{border-radius:0!important}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded{border-radius:var(--radius-md)!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-xl{border-radius:var(--radius-xl)!important}.rounded-2xl{border-radius:var(--radius-2xl)!important}.rounded-full{border-radius:var(--radius-full)!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.shadow-xl{box-shadow:var(--shadow-xl)!important}.bg-white{background-color:var(--color-white)!important}.bg-gray-50{background-color:var(--color-gray-50)!important}.bg-gray-100{background-color:var(--color-gray-100)!important}.bg-transparent{background-color:transparent!important}.bg-success-light{background-color:var(--color-success-light)!important}.bg-warning-light{background-color:var(--color-warning-light)!important}.bg-danger-light{background-color:var(--color-danger-light)!important}.bg-info-light{background-color:var(--color-info-light)!important}.border{border:1px solid var(--border-color)!important}.border-0{border:0!important}.border-t{border-top:1px solid var(--border-color)!important}.border-b{border-bottom:1px solid var(--border-color)!important}.border-l{border-left:1px solid var(--border-color)!important}.border-r{border-right:1px solid var(--border-color)!important}.relative{position:relative!important}.absolute{position:absolute!important}.fixed{position:fixed!important}.sticky{position:sticky!important}.top-0{top:0!important}.right-0{right:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.inset-0{inset:0!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-y-auto{overflow-y:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default!important}.cursor-not-allowed{cursor:not-allowed!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.opacity-0{opacity:0!important}.opacity-50{opacity:.5!important}.opacity-100{opacity:1!important}.transition{transition:all var(--transition-normal)!important}.transition-fast{transition:all var(--transition-fast)!important}.transition-slow{transition:all var(--transition-slow)!important}.transition-none{transition:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.not-sr-only{position:static!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important}.focus-visible:focus-visible{outline:2px solid var(--color-indigo)!important;outline-offset:2px!important}@media(max-width:768px){.sm\:d-none{display:none!important}.sm\:d-block{display:block!important}.sm\:d-flex{display:flex!important}.sm\:flex-column{flex-direction:column!important}.sm\:text-center{text-align:center!important}.sm\:w-full{width:100%!important}}@media(min-width:769px){.md\:d-none{display:none!important}.md\:d-block{display:block!important}.md\:d-flex{display:flex!important}}@media(min-width:1025px){.lg\:d-none{display:none!important}.lg\:d-block{display:block!important}.lg\:d-flex{display:flex!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-6);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.5;text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent;border-radius:var(--radius-md);transition:all var(--transition-normal)}.btn:focus-visible{outline:2px solid var(--color-indigo);outline-offset:2px}.btn:disabled,.btn.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--gradient-primary);color:#fff;border-color:transparent;box-shadow:var(--shadow-button)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-button-hover)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:transparent;color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.btn-outline{background-color:transparent;color:var(--color-indigo);border-color:var(--color-indigo)}.btn-outline:hover:not(:disabled){background-color:var(--color-indigo);color:#fff}.btn-ghost{background-color:transparent;color:var(--text-primary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-danger{background-color:var(--color-danger);color:#fff;border-color:var(--color-danger);box-shadow:0 4px 12px #ef44444d}.btn-danger:hover:not(:disabled){background-color:#dc2626;transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.btn-success{background-color:var(--color-success);color:#fff;border-color:var(--color-success);box-shadow:0 4px 12px #10b9814d}.btn-success:hover:not(:disabled){background-color:#059669;transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-warning{background-color:var(--color-warning);color:var(--color-gray-900);border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background-color:#d97706;transform:translateY(-2px)}.btn-link{background-color:transparent;color:var(--color-indigo);border-color:transparent;padding-left:0;padding-right:0;text-decoration:underline;text-underline-offset:2px}.btn-link:hover:not(:disabled){color:var(--color-indigo-hover)}.btn-sm{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn-md{padding:var(--spacing-2) var(--spacing-6);font-size:var(--font-size-base)}.btn-lg{padding:var(--spacing-3) var(--spacing-8);font-size:var(--font-size-lg);border-radius:var(--radius-lg)}.btn-xl{padding:var(--spacing-5) var(--spacing-12);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);border-radius:var(--radius-xl)}.btn-full{width:100%}.btn-icon{padding:var(--spacing-2);aspect-ratio:1}.btn-icon.btn-sm{padding:var(--spacing-1)}.btn-icon.btn-lg{padding:var(--spacing-3)}.btn-icon-left svg,.btn-icon-left .icon{margin-right:var(--spacing-2)}.btn-icon-right svg,.btn-icon-right .icon{margin-left:var(--spacing-2)}.btn-rounded{border-radius:var(--radius-full)}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:1em;height:1em;top:50%;left:50%;margin-top:-.5em;margin-left:-.5em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}.btn-primary.btn-loading:after,.btn-danger.btn-loading:after,.btn-success.btn-loading:after{border-color:#fff;border-right-color:transparent}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex;gap:0}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.btn-group .btn:not(:last-child){border-right-width:0}.btn-group .btn:hover{z-index:1}@media(max-width:768px){.btn{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.btn-sm{min-height:36px;padding:var(--spacing-2) var(--spacing-4)}}.btn-product-primary{background:var(--gradient-primary);color:#fff;padding:var(--spacing-4) var(--spacing-8);border-radius:var(--radius-xl);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);transition:all var(--transition-slow);box-shadow:var(--shadow-button);text-decoration:none;text-align:center;display:block;border:none;cursor:pointer}.btn-product-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-button-hover)}.btn-product-secondary{background:#fff;color:#667eea;padding:var(--spacing-4) var(--spacing-8);border-radius:var(--radius-xl);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);transition:all var(--transition-slow);border:2px solid #667eea;text-decoration:none;text-align:center;display:block;cursor:pointer}.btn-product-secondary:hover{background:#f5f7ff;transform:translateY(-2px)}.btn-cta-primary{background:#fff;color:#667eea;padding:var(--spacing-5) var(--spacing-12);border-radius:var(--radius-xl);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);transition:all var(--transition-slow);box-shadow:0 4px 12px #00000026;text-decoration:none;display:inline-block;border:none;cursor:pointer}.btn-cta-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.btn-cta-secondary{background:#fff3;color:#fff;padding:var(--spacing-5) var(--spacing-12);border-radius:var(--radius-xl);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);transition:all var(--transition-slow);border:2px solid white;text-decoration:none;display:inline-block;cursor:pointer}.btn-cta-secondary:hover{background:#ffffff4d;transform:translateY(-2px)}.btn-donate{background:var(--color-danger);color:#fff;padding:var(--spacing-5) var(--spacing-12);border-radius:var(--radius-xl);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);transition:all var(--transition-slow);box-shadow:0 4px 12px #ef44444d;text-decoration:none;display:inline-block;border:none;cursor:pointer}.btn-donate:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.btn-volunteer{background:var(--color-success);color:#fff;padding:var(--spacing-5) var(--spacing-12);border-radius:var(--radius-xl);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);transition:all var(--transition-slow);box-shadow:0 4px 12px #10b9814d;text-decoration:none;display:inline-block;border:none;cursor:pointer}.btn-volunteer:hover{background:#059669;transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.hero-section{background:var(--gradient-primary);color:#fff;padding:50px 20px 40px;text-align:center;margin:-2rem -2rem 0;width:calc(100% + 4rem);position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,255,255,.05) 0%,transparent 30%);pointer-events:none}.hero-section .hero-content{position:relative;z-index:1;max-width:800px;margin:0 auto;animation:heroFadeIn .6s ease-out}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-section h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-3);text-shadow:0 2px 4px rgba(0,0,0,.1)}.hero-section .hero-subtitle{font-size:var(--font-size-base);max-width:700px;margin:0 auto;line-height:var(--line-height-relaxed);opacity:.95}.hero-section .hero-actions{display:flex;gap:var(--spacing-4);justify-content:center;margin-top:var(--spacing-6);flex-wrap:wrap}.hero-section .btn-hero-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-8);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);text-decoration:none;transition:all var(--transition-normal);background:#fff;color:var(--color-indigo);box-shadow:var(--shadow-md);min-height:44px}.hero-section .btn-hero-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hero-section .btn-hero-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-8);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);text-decoration:none;transition:all var(--transition-normal);background:#fff3;color:#fff;border:2px solid white;min-height:44px}.hero-section .btn-hero-secondary:hover{background:#ffffff4d;transform:translateY(-2px)}@media(max-width:768px){.hero-section{padding:40px 16px 32px;margin:-1rem -1rem 0;width:calc(100% + 2rem)}.hero-section h1{font-size:var(--font-size-2xl)}.hero-section .hero-subtitle{font-size:var(--font-size-sm)}.hero-section .hero-actions{flex-direction:column;align-items:stretch;padding:0 var(--spacing-4)}.hero-section .btn-hero-primary,.hero-section .btn-hero-secondary{width:100%;text-align:center}}.page-container{max-width:1400px;margin:0 auto;padding:var(--spacing-10) var(--spacing-5)}@media(max-width:768px){.page-container{padding:var(--spacing-6) var(--spacing-4)}}@media(prefers-color-scheme:dark){.auth-card,.auth-callback-loading,.auth-callback-error,.modal-content,.confirm-dialog,.form-card,.topic-card,.topic-form,.question-form,.answer-card,.comment-card,.login-prompt,.share-menu,.data-table-container,.activity-feed,.metric-card,.stat-card,.quick-action-card,.enrollment-success-popup,.error-boundary-content,.page-error-content,.content-landing-card,.resource-card-compact,.resource-card,.review-modal,.filter-panel,.nd-container,.hg-container,.hg-step-item,.sd-container,.progress-section,.notify-section,.privacy-content,.course-schedule-info,.course-progress-section,.session-item-student,.homework-card,.instructor-bio-section,.instructor-reviews-section,.info-card{background:#1f2937!important;color:#f9fafb}.form-section,.checkbox-label:hover,.objective-item,.schedule-note,.course-note,.comment-form,.response-content,.schedule-preview,.upload-instructions,.sessions-info-banner,.course-schedule-info,.chat-container,.custom-tooltip,.contact-info,.sample-review,.error-details{background:#1e293b!important}.data-table thead,.data-table thead th,.errors-table th{background:#1e293b!important;color:#e5e7eb!important}.data-table tbody tr:hover,.sortable-header:hover{background:#374151!important}input,textarea,select{background-color:#1f2937!important;color:#f9fafb!important;border-color:#374151!important}input::placeholder,textarea::placeholder{color:#6b7280!important}input:focus,textarea:focus,select:focus{border-color:#6366f1!important}input:disabled,textarea:disabled,select:disabled{background-color:#111827!important;color:#6b7280!important}.admin-header,.admin-sidebar,.admin-layout{background:#1f2937!important;border-color:#374151!important}.admin-layout{background:#111827!important}.btn-secondary,.btn-cancel{background:#374151!important;color:#e5e7eb!important;border-color:#4b5563!important}.btn-secondary:hover,.btn-cancel:hover{background:#4b5563!important}.day-button{background:#374151!important;color:#e5e7eb!important;border-color:#4b5563!important}.day-button.active{background:#4f46e5!important;color:#fff!important;border-color:#4f46e5!important}.auth-container{background:linear-gradient(135deg,#1e1b4b,#312e81)!important}.divider span{background:#1f2937!important;color:#9ca3af!important}.product-card{background:#1f2937!important;border-color:#374151!important}.product-card:hover{border-color:#6366f1!important}.cta-section{background:#1f2937!important}.questions-header{background:#1f2937!important;border-color:#374151!important}.questions-list{background:#1f2937!important}.question-card:hover{background:#374151!important}.sort-btn{background:#374151!important;color:#e5e7eb!important}.no-questions{background:#1f2937!important}.topic-detail-page,.question-detail-page,.create-course,.courses-filters{background:#111827!important}.category-btn{background:#374151!important;color:#e5e7eb!important}.category-btn.active{background:#4f46e5!important;color:#fff!important}.manage-course .stat-card{background:#1f2937!important;border-color:#374151!important}.course-details-tab{background:#1f2937!important}.detail-input{background:#1f2937!important;color:#f9fafb!important;border-color:#374151!important}.tab-button{background:#1f2937!important;color:#9ca3af!important;border-color:#374151!important}.tab-button.active{color:#f9fafb!important;border-color:#6366f1!important}.session-item-student{border-color:#374151!important}.session-item-student.past{background:#111827!important}.homework-card{border-color:#374151!important}.homework-card.completed{background:#111827!important;border-left-color:#10b981!important}.feedback-section{background:#1e293b!important;border-color:#065f46!important}.student-profile-form{background:#1f2937!important}.checkbox-label{color:#e5e7eb!important}.checkbox-label:hover{background:#374151!important}.quick-action-btn{background:#1f2937!important;border-color:#374151!important;color:#e5e7eb!important}.quick-action-btn:hover{background:#374151!important;border-color:#6366f1!important}.instructor-bio-section,.instructor-reviews-section{border-color:#374151!important}.student-message .message-content{background:#1f2937!important;color:#f9fafb!important}.chat-thread-item,.attach-button{background:#1f2937!important;border-color:#374151!important}.chat-messages::-webkit-scrollbar-track{background:#1f2937!important}.review-form{background:#1f2937!important;border-color:#374151!important}.review-summary{background:#1e293b!important}.my-courses .quick-action-btn,.admin-dashboard .stat-card,.admin-dashboard .quick-actions-section,.admin-dashboard .activity-section,.admin-analytics .metric-card{background:#1f2937!important;border-color:#374151!important}.time-range-toggle{background:#374151!important}.chart-container,.email-actions-section{background:#1e293b!important}.more-tag{background:#374151!important;color:#9ca3af!important}.reorder-container,.reorder-item{background:#1f2937!important;border-color:#374151!important}.reorder-item:hover{background:#1e293b!important}.course-card{background:#1f2937!important;border-color:#374151!important}.course-card:hover{border-color:#6366f1!important}.oauth-button{background:#1f2937!important;color:#e5e7eb!important;border-color:#374151!important}.oauth-button:hover{background:#374151!important}.time-input-container{background:#1f2937!important;border-color:#374151!important}.period-btn{background:#374151!important;color:#e5e7eb!important}.period-btn.active{background:#4f46e5!important;color:#fff!important}.resource-listings-main,.resource-card-compact,.filter-panel{background:#1f2937!important;border-color:#374151!important}.tag{background:#312e81!important;color:#a78bfa!important}.milestone-header,.map-panel,.tags-dropdown-menu,.filter-dropdown-menu{background:#1f2937!important;border-color:#374151!important}.filter-checkbox:hover{background:#374151!important}.back-btn{background:#1f2937!important;border-color:#374151!important;color:#e5e7eb!important}.back-btn:hover{background:#374151!important}.error-state,.error-boundary-content{background:#1f2937!important}.homework-details-modal .file-info{background:#1f2937!important;border-color:#374151!important}.comment-textarea:disabled{background:#111827!important}.badge-success,.status-active{background:#065f46!important;color:#6ee7b7!important}.badge-warning,.status-pending,.due-badge{background:#78350f!important;color:#fcd34d!important}.badge-danger,.due-badge.overdue{background:#7f1d1d!important;color:#fca5a5!important}.dropdown-divider,hr{background:#374151!important;border-color:#374151!important}::-webkit-scrollbar-track{background:#111827!important}::-webkit-scrollbar-thumb{background:#4b5563!important}::-webkit-scrollbar-thumb:hover{background:#6b7280!important}.carousel-btn{background:#1f2937!important;border-color:#374151!important;color:#e5e7eb!important}.onboarding-container{background:linear-gradient(135deg,#1e1b4b,#312e81)!important}.onboarding-content{background:#1f2937!important}.role-card{background:#1f2937!important;border-color:#374151!important;color:#e5e7eb!important}.role-card:hover{border-color:#6366f1!important}.role-card.selected{border-color:#6366f1!important;background:#6366f126!important}.privacy-content{border-color:#374151!important}.coming-soon-card{background:#1f2937!important}.hg-step-item,.sd-step-item{border-color:#374151!important}.nd-card{background:#1f2937!important;border-color:#374151!important}.resource-detail-page{background:#111827!important}.resource-detail-card,.care-resource-card,.session-card{background:#1f2937!important;border-color:#374151!important}.session-card:hover{background:#1e293b!important}.enrollment-success-popup p,.enrollment-success-popup .success-subtitle{color:#9ca3af!important}.enrollment-success-popup h2{color:#86efac!important}[style*="color: #333"],[style*="color: #374151"],[style*="color: #1f2937"]{color:#f9fafb!important}[style*="color: #666"],[style*="color: #6b7280"]{color:#9ca3af!important}[style*="background: white"],[style*="background-color: white"],[style*="background: #fff"],[style*="background: #ffffff"]{background:#1f2937!important}[style*="background: #f9fafb"],[style*="background: #f3f4f6"],[style*="background: #f8fafc"],[style*="background: #f8f9fa"],[style*="background: #f5f5f5"]{background:#1e293b!important}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-off-white);color:var(--text-primary);line-height:var(--line-height-normal)}button{cursor:pointer;border:none;font-family:inherit}input,textarea,select{font-family:inherit}a{text-decoration:none;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-indigo);outline-offset:2px}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--color-indigo);color:#fff;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-md);z-index:9999;font-weight:var(--font-weight-semibold);transition:top var(--transition-fast)}.skip-to-content:focus{top:var(--spacing-4)}::selection{background-color:var(--color-indigo);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}@media(min-width:768px)and (max-width:1024px){.products-container,.why-grid{grid-template-columns:repeat(2,1fr)}.header-content{padding:1rem 1.5rem}.main-content{padding:1.5rem}}@media(max-width:768px){body{font-size:14px}h1{font-size:1.75rem!important}h2{font-size:1.35rem!important}h3{font-size:1.1rem!important}a,button,input[type=button],input[type=submit],input[type=reset],[role=button]{min-height:44px}.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1rem!important;font-size:.875rem!important;min-height:44px}.btn-full{padding:.75rem 1rem!important}input,textarea,select{font-size:16px!important;padding:.75rem!important;min-height:44px}.course-card,.student-course-card,.stat-card{padding:1rem!important}.dashboard-header{margin-bottom:1.5rem!important}.stats-grid{gap:1rem!important}.stat-value{font-size:2rem!important}.stat-label{font-size:.75rem!important}}p,li,td,th{line-height:var(--line-height-relaxed)}.footer-link:hover,a:not(.btn):not(.nav-link):not(.course-card):hover{text-decoration:underline;text-underline-offset:2px}.card,.info-card,.stat-card{background:var(--background-light);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:all var(--transition-normal)}.card:hover,.info-card:hover{box-shadow:var(--shadow-card-hover)}.info-banner{background:var(--color-info-light);border-left:4px solid var(--color-info);padding:var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4)}.info-banner p{margin:0;color:var(--text-primary)}.success-banner{background:var(--color-success-light);border-left:4px solid var(--color-success);padding:var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4)}.warning-banner{background:var(--color-warning-light);border-left:4px solid var(--color-warning);padding:var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4)}.error-banner{background:var(--color-danger-light);border-left:4px solid var(--color-danger);padding:var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap}.badge-success{background:var(--color-success-light);color:#065f46}.badge-warning{background:var(--color-warning-light);color:#92400e}.badge-danger{background:var(--color-danger-light);color:#991b1b}.badge-info{background:var(--color-info-light);color:#1e40af}.badge-neutral{background:var(--color-gray-100);color:var(--text-secondary)}.form-group{margin-bottom:var(--spacing-4)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--spacing-2)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-3);font-size:var(--font-size-base);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--background-light);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-indigo);box-shadow:0 0 0 3px #4f46e51a;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-gray-400)}.form-error{font-size:var(--font-size-sm);color:var(--color-danger);margin-top:var(--spacing-1)}.form-help{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-1)}.page-header{margin-bottom:var(--spacing-8)}.page-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-2)}.page-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.section{margin-bottom:var(--spacing-12)}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-4)}.divider{height:1px;background:var(--border-color);margin:var(--spacing-6) 0}.spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--color-indigo);border-radius:50%;animation:spin .8s linear infinite}.spinner-lg{width:40px;height:40px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.center-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:200px}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.error-boundary-content{background:#fff;border-radius:12px;padding:40px;max-width:600px;text-align:center;box-shadow:0 10px 40px #0003}.error-boundary h1{font-size:2rem;margin-bottom:16px;color:#333}.error-message{font-size:1.1rem;color:#666;margin-bottom:32px}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-actions button{padding:12px 24px;font-size:1rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#d0d0d0;transform:translateY(-2px)}.error-details{margin-top:32px;text-align:left;background:#f5f5f5;padding:16px;border-radius:6px;border:1px solid #ddd}.error-details summary{cursor:pointer;font-weight:600;color:#667eea;margin-bottom:12px}.error-details pre{background:#fff;padding:12px;border-radius:4px;overflow-x:auto;font-size:.85rem;color:#d32f2f;margin-top:8px}
