.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;opacity:0;pointer-events:none;transition:opacity var(--transition-normal, .2s ease);z-index:var(--z-modal-backdrop, 400)}.sidebar-overlay.open{opacity:1;pointer-events:auto}.sidebar{position:fixed;left:0;top:0;width:260px;height:100vh;background:var(--white, #ffffff);border-right:1px solid var(--border-color, #e2e8f0);display:flex;flex-direction:column;transform:translate(-100%);transition:transform var(--transition-normal, .2s ease);z-index:var(--z-modal, 500);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}@media (min-width: 1024px) and (max-width: 1280px){.sidebar{width:240px}}.sidebar-header{padding:var(--spacing-6, 24px) var(--spacing-5, 20px);display:flex;flex-direction:column;gap:var(--spacing-4, 16px);background:var(--primary-color);border-bottom:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.sidebar-header:after{content:"";position:absolute;top:0;right:0;width:60px;height:60px;background:var(--secondary-color);clip-path:polygon(0 0,100% 0,100% 100%);opacity:.95}.sidebar-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5;pointer-events:none}.sidebar-header-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-3, 12px);position:relative;z-index:1}.logo-icon{font-size:28px;display:flex;align-items:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.logo-image{width:48px;height:48px;object-fit:contain;border-radius:var(--radius-lg, 8px);background:#fffffff2;padding:var(--spacing-2, 8px);box-shadow:0 2px 8px #0000001a}.logo-text-container{display:flex;flex-direction:column;gap:2px}.logo-title{font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-on-primary, #ffffff);opacity:.8;text-transform:uppercase;letter-spacing:.05em}.logo-text{font-size:var(--text-xl, 1.25rem);font-weight:700;color:var(--text-on-primary, #ffffff);letter-spacing:-.025em;line-height:1}.sidebar-close{display:none;background:#ffffff1a;border:none;color:var(--text-on-primary, #ffffff);font-size:18px;cursor:pointer;padding:var(--spacing-2, 8px);border-radius:var(--radius-md, 6px);transition:background var(--transition-fast);line-height:1}.sidebar-close:hover{background:#fff3}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--spacing-3, 12px) 0}.nav-list{list-style:none;margin:0;padding:0}.nav-list>li{margin-bottom:var(--spacing-1, 4px)}.nav-link{display:flex;align-items:center;gap:var(--spacing-3, 12px);padding:var(--spacing-3, 12px) var(--spacing-5, 20px);color:var(--text-secondary, #4a5568);text-decoration:none;transition:all var(--transition-fast);font-size:var(--text-sm, .875rem);font-weight:500;border:none;background:none;cursor:pointer;width:100%;text-align:left;border-left:3px solid transparent;border-radius:0}.nav-link:hover{background:var(--primary-light);color:var(--primary-color)}.nav-link.active{background:var(--primary-light);color:var(--primary-color);border-left-color:var(--primary-color);font-weight:600}.nav-link.menu-toggle{justify-content:space-between;padding-right:var(--spacing-4, 16px)}.nav-link.menu-toggle:hover{background:var(--primary-light);color:var(--primary-color)}.nav-link.menu-toggle.expanded{background:var(--background-gray, #f7fafc);color:var(--primary-color);font-weight:600}.toggle-icon{display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast);min-width:12px;color:var(--text-muted, #718096)}.toggle-icon.expanded{transform:rotate(180deg)}.nav-icon{display:inline-flex;align-items:center;justify-content:center;min-width:20px;color:inherit}.nav-label{flex:1}.submenu{list-style:none;margin:var(--spacing-1, 4px) 0 var(--spacing-2, 8px) 0;padding:var(--spacing-1, 4px) 0;background:var(--background-gray, #f7fafc);border-left:2px solid var(--border-color, #e2e8f0);margin-left:var(--spacing-5, 20px);animation:slideDown var(--transition-fast)}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.submenu li{display:list-item}.submenu-link{display:flex;align-items:center;gap:var(--spacing-2, 8px);padding:var(--spacing-2, 8px) var(--spacing-4, 16px) var(--spacing-2, 8px) var(--spacing-5, 20px);color:var(--text-secondary, #4a5568);text-decoration:none;font-size:var(--text-sm, .875rem);font-weight:500;transition:all var(--transition-fast);border-left:3px solid transparent}.submenu-icon{display:inline-flex;align-items:center;justify-content:center;min-width:18px;opacity:.7}.submenu-label{flex:1}.submenu-link:hover{color:var(--primary-color);background:var(--white, #ffffff)}.submenu-link.active{color:var(--primary-color);background:var(--white, #ffffff);border-left-color:var(--primary-color);font-weight:600}.sidebar-footer{padding:var(--spacing-4, 16px) var(--spacing-5, 20px);border-top:1px solid var(--border-color, #e2e8f0);background:var(--background-gray, #f7fafc);text-align:center}.sidebar-footer .version{font-size:var(--text-xs, .75rem);color:var(--text-muted, #718096);margin:0}@media (max-width: 768px){.sidebar-close{display:flex!important;align-items:center;justify-content:center}}@media (min-width: 1024px){.sidebar{transform:translate(0);box-shadow:var(--shadow-sm)}.sidebar-overlay{display:none!important;opacity:0!important;pointer-events:none!important;visibility:hidden!important}.sidebar-close{display:none!important}}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#9ca3af}.layout{display:flex;min-height:100vh;background:var(--background-gray, #f7fafc)}.layout-content{flex:1;display:flex;flex-direction:column;margin-left:0;transition:margin-left var(--transition-normal, .2s ease);min-width:0;max-width:none;width:100%}@media (min-width: 1024px){.layout-content{margin-left:260px}}@media (min-width: 1024px) and (max-width: 1280px){.layout-content{margin-left:240px}}.top-nav{background:var(--white, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);padding:0 var(--spacing-8, 32px);display:flex;justify-content:space-between;align-items:center;height:64px;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky, 200);gap:var(--spacing-4, 16px)}.nav-left{display:flex;align-items:center;gap:var(--spacing-4, 16px);flex:1;min-width:0}.menu-toggle{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary, #4a5568);padding:var(--spacing-2, 8px);display:none;transition:color var(--transition-fast);border-radius:var(--radius-md, 6px)}.menu-toggle:hover{color:var(--primary-color);background:var(--primary-light)}@media (max-width: 1023px){.menu-toggle{display:flex;align-items:center;justify-content:center}}.nav-title{margin:0;font-size:var(--text-lg, 1.125rem);color:var(--text-primary, #1a202c);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-right{display:flex;align-items:center;gap:var(--spacing-4, 16px)}.user-info{display:flex;align-items:center;gap:var(--spacing-3, 12px);color:var(--text-secondary, #4a5568);font-size:var(--text-sm, .875rem);padding:var(--spacing-2, 8px) var(--spacing-3, 12px);background:var(--background-gray, #f7fafc);border-radius:var(--radius-lg, 8px)}.user-avatar{font-size:20px;display:flex;align-items:center}.user-email{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--text-primary, #1a202c)}.logout-btn{background:var(--text-secondary, #4a5568);color:var(--white, #ffffff);border:none;padding:var(--spacing-2, 8px) var(--spacing-4, 16px);border-radius:var(--radius-md, 6px);cursor:pointer;font-weight:600;font-size:var(--text-sm, .875rem);transition:all var(--transition-fast);white-space:nowrap}.logout-btn:hover{background:var(--text-primary, #1a202c);transform:translateY(-1px);box-shadow:var(--shadow-md)}.logout-btn:active{transform:translateY(0)}.main-content{flex:1;padding:var(--spacing-6, 24px) var(--spacing-8, 32px);overflow-y:auto;max-width:100%}@media (min-width: 1920px){.main-content{padding:var(--spacing-10, 40px) var(--spacing-16, 64px)}}@media (max-width: 768px){.top-nav{padding:0 var(--spacing-4, 16px);height:56px;gap:var(--spacing-3, 12px)}.nav-left{gap:var(--spacing-3, 12px)}.user-info{padding:var(--spacing-1, 4px) var(--spacing-2, 8px)}.user-email{display:none}.nav-title{font-size:var(--text-base, 1rem)}.nav-right{gap:var(--spacing-2, 8px)}.logout-btn{padding:var(--spacing-2, 8px) var(--spacing-3, 12px);font-size:var(--text-xs, .75rem)}.main-content{padding:var(--spacing-4, 16px)}}@media (min-width: 769px) and (max-width: 1023px){.top-nav{padding:0 var(--spacing-6, 24px)}.nav-title{font-size:var(--text-lg, 1.125rem)}.main-content{padding:var(--spacing-5, 20px) var(--spacing-6, 24px)}}.signup-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);padding:var(--spacing-5)}.signup-card{background:var(--white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);padding:var(--spacing-12);max-width:650px;width:100%}.signup-card h1{color:var(--text-primary);margin:0 0 var(--spacing-3) 0;text-align:center;font-size:var(--text-3xl);font-weight:700}.subtitle{color:var(--text-secondary);text-align:center;margin:0 0 var(--spacing-10) 0;font-size:var(--text-sm)}h2{color:var(--text-primary);font-size:var(--text-lg);margin-bottom:var(--spacing-5);border-bottom:1px solid var(--border-light);padding-bottom:var(--spacing-3);font-weight:600}.phone-input-wrapper{position:relative;display:flex;align-items:center}.phone-input-wrapper input{padding-right:var(--spacing-10)}.phone-flag{position:absolute;right:var(--spacing-3);font-size:var(--text-xl);pointer-events:none}.slug-group{background:var(--background-gray, #f9fafb);padding:var(--spacing-4);border-radius:var(--radius-lg);border:1px solid var(--border-light, #e5e7eb)}.slug-input-wrapper{display:flex;align-items:center;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.slug-prefix,.slug-suffix{padding:var(--spacing-3);background:var(--background-dark, #f3f4f6);color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;border:none}.slug-input-wrapper input{border:none!important;border-radius:0!important;flex:1;min-width:120px;box-shadow:none!important}.slug-input-wrapper input:focus{box-shadow:none!important}.slug-hint{margin:var(--spacing-2) 0 0 0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.slug-status{margin-top:var(--spacing-2);font-size:var(--text-sm);min-height:20px}.slug-checking{color:var(--text-secondary);font-style:italic}.slug-available-text{color:#059669;font-weight:500}.slug-taken-text{color:#dc2626;font-weight:500}.slug-input-wrapper.slug-available{border-color:#059669}.slug-input-wrapper.slug-taken{border-color:#dc2626}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.btn-primary{background:var(--primary-button-color);color:var(--text-on-button, #ffffff);margin-top:var(--spacing-3)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--background-gray);color:var(--text-primary);border:1px solid var(--border-color);flex:1}.button-group{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-5)}.button-group .btn-primary{margin:0;flex:2}.button-group .btn-secondary{margin:0}.login-link{text-align:center;margin-top:var(--spacing-5);color:var(--text-secondary);font-size:var(--text-sm)}.login-link a{color:var(--primary-color);text-decoration:none;font-weight:600}.login-link a:hover{text-decoration:underline;color:var(--primary-hover)}@media (max-width: 600px){.signup-card{padding:var(--spacing-5);border-radius:var(--radius-xl)}.signup-card h1{font-size:var(--text-2xl)}.form-row{grid-template-columns:1fr}.button-group{flex-direction:column}.button-group .btn{width:100%;margin:0}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);padding:var(--spacing-5)}.login-card{background:var(--white);border-radius:var(--radius-2xl);padding:var(--spacing-12);box-shadow:var(--shadow-xl);width:100%;max-width:500px}.login-card h1{color:var(--text-primary);margin:0 0 var(--spacing-3) 0;text-align:center;font-size:var(--text-3xl);font-weight:700}.login-card .subtitle{color:var(--text-secondary);text-align:center;margin:0 0 var(--spacing-10) 0;font-size:var(--text-sm)}.form-group input{width:100%;padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--transition-fast);box-sizing:border-box;background:var(--white);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 102, 126, 234),.15)}.error-message{background:var(--error-light);color:var(--error-dark);padding:var(--spacing-3);border-radius:var(--radius-md);margin-bottom:var(--spacing-5);font-size:var(--text-sm);border-left:4px solid var(--error-color)}.btn{width:100%;padding:var(--spacing-3);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-primary:disabled{background:var(--text-light);cursor:not-allowed;transform:none}.signup-link{text-align:center;margin-top:var(--spacing-5);color:var(--text-secondary);font-size:var(--text-sm)}.signup-link a{color:var(--primary-color);text-decoration:none;font-weight:600;transition:color var(--transition-fast)}.signup-link a:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width: 768px){.login-card{padding:var(--spacing-8);border-radius:var(--radius-xl)}.login-card h1{font-size:var(--text-2xl)}}.onboarding-checklist{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:var(--radius-xl, 16px);padding:var(--spacing-6, 24px);margin-bottom:var(--spacing-6, 24px)}.onboarding-header{margin-bottom:var(--spacing-5, 20px)}.onboarding-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-4, 16px)}.onboarding-title-row h2{margin:0 0 var(--spacing-1, 4px) 0;font-size:var(--text-xl, 20px);font-weight:600;color:var(--text-primary, #1a1a2e)}.onboarding-title-row p{margin:0;color:var(--text-secondary, #64748b);font-size:var(--text-sm, 14px)}.onboarding-dismiss{background:transparent;border:none;font-size:18px;color:var(--text-tertiary, #94a3b8);cursor:pointer;padding:4px 8px;border-radius:var(--radius-md, 8px);transition:all .2s}.onboarding-dismiss:hover{background:#0000000d;color:var(--text-primary, #1a1a2e)}.onboarding-progress{display:flex;align-items:center;gap:var(--spacing-3, 12px)}.progress-bar{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .3s ease}.progress-text{font-size:var(--text-sm, 14px);color:var(--text-secondary, #64748b);white-space:nowrap}.checklist-items{display:flex;flex-direction:column;gap:var(--spacing-3, 12px)}.checklist-item{display:flex;align-items:center;gap:var(--spacing-4, 16px);background:#fff;padding:var(--spacing-4, 16px);border-radius:var(--radius-lg, 12px);border:1px solid #e2e8f0;transition:all .2s}.checklist-item:hover{border-color:var(--primary-color, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.checklist-item.completed{background:#f8fafc;border-color:#d1fae5}.checklist-item.completed:hover{border-color:#a7f3d0;box-shadow:none}.checklist-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#f1f5f9;border-radius:var(--radius-lg, 12px);flex-shrink:0}.checklist-item.completed .checklist-icon{background:#d1fae5;color:#059669;font-weight:700}.checklist-content{flex:1;min-width:0}.checklist-content h3{margin:0 0 var(--spacing-1, 4px) 0;font-size:var(--text-base, 16px);font-weight:500;color:var(--text-primary, #1a1a2e)}.checklist-item.completed .checklist-content h3{color:var(--text-secondary, #64748b)}.checklist-content p{margin:0;font-size:var(--text-sm, 14px);color:var(--text-secondary, #64748b)}.checklist-action{flex-shrink:0}.checklist-link{display:inline-flex;align-items:center;gap:4px;padding:var(--spacing-2, 8px) var(--spacing-4, 16px);background:var(--primary-color, #3b82f6);color:#fff;text-decoration:none;border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 14px);font-weight:500;transition:all .2s}.checklist-link:hover{background:var(--primary-hover, #2563eb);transform:translate(2px)}.completed-badge{display:inline-flex;align-items:center;padding:var(--spacing-2, 8px) var(--spacing-3, 12px);background:#d1fae5;color:#059669;border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 14px);font-weight:500}.onboarding-complete{text-align:center;padding:var(--spacing-6, 24px) var(--spacing-4, 16px);margin-top:var(--spacing-5, 20px);background:#fff;border-radius:var(--radius-lg, 12px);border:2px solid #d1fae5}.complete-icon{font-size:48px;margin-bottom:var(--spacing-3, 12px)}.onboarding-complete h3{margin:0 0 var(--spacing-2, 8px) 0;font-size:var(--text-lg, 18px);font-weight:600;color:#059669}.onboarding-complete p{margin:0 0 var(--spacing-4, 16px) 0;color:var(--text-secondary, #64748b)}.btn-dismiss-complete{padding:var(--spacing-2, 8px) var(--spacing-5, 20px);background:#f1f5f9;color:var(--text-secondary, #64748b);border:1px solid #e2e8f0;border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 14px);cursor:pointer;transition:all .2s}.btn-dismiss-complete:hover{background:#e2e8f0;color:var(--text-primary, #1a1a2e)}@media (max-width: 768px){.checklist-item{flex-direction:column;align-items:flex-start;text-align:left}.checklist-action{width:100%;margin-top:var(--spacing-3, 12px)}.checklist-link{width:100%;justify-content:center}}.dashboard-page{max-width:1400px;margin:0 auto;padding:var(--spacing-6)}.dashboard-header{background:var(--primary-color);color:var(--text-on-primary, #ffffff);padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.dashboard-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.dashboard-header h1{margin:0 0 var(--spacing-2) 0;font-size:var(--text-3xl);font-weight:700;color:var(--text-on-primary, #ffffff)}.dashboard-header p{margin:0;opacity:.95;font-size:var(--text-base);color:var(--text-on-primary, #ffffff)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--spacing-6)}.dashboard-card{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-normal);height:fit-content}.dashboard-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color);transform:translateY(-2px)}.dashboard-card h2{color:var(--text-primary);margin:0 0 var(--spacing-5) 0;font-size:var(--text-lg);font-weight:600;display:flex;align-items:center;gap:var(--spacing-2);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--border-light)}.dashboard-card h2:before{content:"";display:block;width:4px;height:20px;background:var(--primary-color);border-radius:2px;flex-shrink:0}.dashboard-card.wide{grid-column:1 / -1}.info-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) 0;border-bottom:1px solid var(--border-light);font-size:var(--text-sm);gap:var(--spacing-4)}.info-item:last-child{border-bottom:none;padding-bottom:0}.info-item:first-child{padding-top:0}.info-item label{font-weight:600;color:var(--text-primary);flex-shrink:0}.info-item span{color:var(--text-secondary);word-break:break-all;text-align:right}.quick-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.quick-links li{margin:0;padding:0}.quick-links a{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--background-gray);color:var(--text-primary);text-decoration:none;border-radius:var(--radius-lg);font-weight:500;font-size:var(--text-sm);transition:all var(--transition-fast);border:1px solid transparent}.quick-links a:hover{background:var(--primary-light);color:var(--primary-color);border-color:var(--primary-color);transform:translate(4px)}.getting-started{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-5);margin-top:var(--spacing-4)}.step{background:var(--background-gray);padding:var(--spacing-5);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border-color);transition:all var(--transition-normal)}.step:hover{border-color:var(--primary-color);background:var(--primary-light);transform:translateY(-2px)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--primary-button-color);color:var(--text-on-button, #ffffff);border-radius:var(--radius-full);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--spacing-3)}.step h3{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.step p{margin:0 0 var(--spacing-3) 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.btn-link{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-4);background:var(--primary-button-color);color:var(--text-on-button, #ffffff);text-decoration:none;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);transition:all var(--transition-fast)}.btn-link:hover{background:var(--button-hover);transform:translateY(-1px);box-shadow:var(--shadow-md);color:var(--text-on-button, #ffffff)}.integration-status{display:flex;flex-direction:column;gap:var(--spacing-3)}.platform-name{font-weight:600;color:var(--primary-color)}.status-badge{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;display:inline-flex;align-items:center;gap:var(--spacing-2)}.status-badge.connected{background:var(--success-light);color:var(--success-dark)}.status-badge.disconnected{background:var(--warning-light);color:var(--warning-dark)}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}.getting-started{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 768px){.dashboard-header{padding:var(--spacing-5);margin-bottom:var(--spacing-5);border-radius:var(--radius-lg)}.dashboard-header h1{font-size:var(--text-2xl)}.dashboard-header p{font-size:var(--text-sm)}.dashboard-grid{gap:var(--spacing-4);grid-template-columns:1fr}.dashboard-card{padding:var(--spacing-4)}.dashboard-card h2{font-size:var(--text-base);margin-bottom:var(--spacing-4)}.getting-started{grid-template-columns:1fr;gap:var(--spacing-3)}.step{padding:var(--spacing-4)}.step-number{width:40px;height:40px;font-size:var(--text-lg)}}.brand-settings-form{max-width:900px}.brand-settings-form h2{color:var(--text-primary);margin-bottom:var(--spacing-8);border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-4);font-size:var(--text-xl);font-weight:600}.form-section{margin-bottom:var(--spacing-10);padding-bottom:var(--spacing-8);border-bottom:1px solid var(--border-color)}.form-section:last-of-type{border-bottom:none}.form-section h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--spacing-5)}.form-group input[type=text],.form-group input[type=url],.form-group select{width:100%;padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:var(--transition-fast)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-group input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;color:var(--text-disabled)}.color-input-wrapper{display:flex;gap:var(--spacing-3);align-items:center}.color-input-wrapper input[type=color]{width:50px;height:40px;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;padding:2px}.color-input-wrapper .color-value{flex:1;padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono, monospace)}.color-input-wrapper .color-value:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.disabled-input{background-color:var(--bg-tertiary)!important;color:var(--text-disabled)}.logo-preview{margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center}.logo-preview img{max-width:100%;max-height:200px;object-fit:contain}.btn{padding:var(--spacing-3) var(--spacing-8);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:var(--transition-fast);margin-top:var(--spacing-5)}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:var(--spacing-4)}.color-input-wrapper{flex-direction:row;align-items:center}.color-input-wrapper input[type=color]{pointer-events:none;width:50px;height:40px;flex-shrink:0}.color-input-wrapper .color-value{width:100%}.form-section{padding-bottom:var(--spacing-5)}}.school-info-form{max-width:800px}.school-info-form h2{color:var(--text-primary);margin-bottom:var(--spacing-8);border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-4);font-size:var(--text-xl);font-weight:600}.error-message{background:#dc35451a;color:var(--error);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-5);border-left:4px solid var(--error);font-size:var(--text-sm)}.success-message{background:#28a7451a;color:var(--success);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-5);border-left:4px solid var(--success);font-size:var(--text-sm)}.btn{padding:var(--spacing-3) var(--spacing-8);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:var(--transition-fast);margin-top:var(--spacing-3)}.loading{text-align:center;padding:var(--spacing-10);color:var(--text-secondary)}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:var(--spacing-4)}}.payment-form{max-width:400px}.payment-loading,.payment-error-state{padding:40px;text-align:center;color:#64748b}.payment-error-state{color:#dc2626;background:#fef2f2;border-radius:8px}.payment-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.card-element-container{margin-bottom:20px}.card-element-container label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.card-element{padding:12px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;transition:border-color .2s,box-shadow .2s}.card-element:focus-within{border-color:#0a3456;box-shadow:0 0 0 3px #0a34561a}.payment-form-actions{display:flex;gap:12px;margin-bottom:16px}.btn-cancel{flex:1;padding:12px 20px;background:#fff;color:#64748b;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover:not(:disabled){background:#f8fafc;color:#1e293b}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-submit{flex:1;padding:12px 20px;background:#0a3456;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-submit:hover:not(:disabled){background:#0c3d66}.btn-submit:disabled{background:#94a3b8;cursor:not-allowed}.payment-security-note{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b;margin:0}.lock-icon{font-size:14px}.payment-success{text-align:center;padding:30px 20px}.success-icon{width:60px;height:60px;background:#16a34a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px}.payment-success h3{margin:0 0 8px;color:#16a34a;font-size:18px}.payment-success p{margin:0;color:#64748b;font-size:14px}.subscription-settings{max-width:800px}.subscription-loading,.subscription-error{padding:40px;text-align:center;color:#64748b}.subscription-error{color:#dc2626}.subscription-alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.subscription-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.subscription-alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.subscription-status-banner{padding:24px;border-radius:12px;border-left:4px solid;margin-bottom:24px;display:flex;gap:16px;align-items:flex-start}.status-badge{padding:6px 12px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.status-content{flex:1}.status-content h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#1e293b}.status-content p{margin:0 0 4px;font-size:14px;color:#475569}.status-content .status-subtext{font-size:13px;color:#64748b;margin-top:8px}.subscription-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.subscription-section h2{margin:0 0 16px;font-size:16px;font-weight:600;color:#1e293b}.section-description{margin:0 0 16px;font-size:14px;color:#64748b}.pricing-details{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pricing-item{background:#f8fafc;padding:20px;border-radius:8px;text-align:center}.pricing-label{font-size:13px;color:#64748b;margin-bottom:8px}.pricing-value{font-size:28px;font-weight:700;color:#1e293b}.pricing-currency{font-size:14px;font-weight:500;color:#64748b;margin-left:4px}.pricing-note{font-size:12px;color:#94a3b8;margin-top:4px}.billing-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e2e8f0}.info-label{font-size:14px;color:#64748b}.info-value{font-size:14px;font-weight:500;color:#1e293b}.payment-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:13px}.payment-status-active{background:#f0fdf4;color:#16a34a}.payment-status-pending{background:#fef3c7;color:#d97706}.setup-payment-section{background:#f8fafc;padding:20px;border-radius:8px;text-align:center}.setup-payment-section p{margin:0 0 16px;font-size:14px;color:#64748b}.update-payment-section{margin-top:16px}.timezone-form{display:flex;gap:12px;align-items:center}.timezone-select{flex:1;max-width:300px;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1e293b;background:#fff}.timezone-select:focus{outline:none;border-color:#0a3456;box-shadow:0 0 0 3px #0a34561a}.btn-primary{padding:10px 20px;background:#0a3456;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#0c3d66}.btn-primary:disabled{background:#94a3b8;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:#fff;color:#1e293b;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#0a3456}.btn-secondary:disabled{color:#94a3b8;cursor:not-allowed}.subscription-faq{background:#f8fafc}.faq-item{margin-bottom:16px}.faq-item:last-child{margin-bottom:0}.faq-item h4{margin:0 0 6px;font-size:14px;font-weight:600;color:#1e293b}.faq-item p{margin:0;font-size:13px;color:#64748b;line-height:1.5}@media (max-width: 640px){.subscription-status-banner{flex-direction:column}.pricing-details{grid-template-columns:1fr}.timezone-form{flex-direction:column;align-items:stretch}.timezone-select{max-width:none}}.accounting-page{padding:2rem;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.accounting-container{max-width:900px;margin:0 auto}.accounting-header{margin-bottom:2rem;text-align:center}.accounting-header h1{font-size:2rem;color:#2c3e50;margin-bottom:.5rem}.accounting-header p{font-size:1rem;color:#7f8c8d}.alert{padding:1rem;margin-bottom:1.5rem;border-radius:8px;font-weight:500;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background-color:#fee;border:1px solid #fcc;color:#c33}.alert-success{background-color:#efe;border:1px solid #cfc;color:#3c3}.accounting-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;margin-bottom:2rem}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #ecf0f1;background:#f8f9fa}.card-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.status-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.status-badge.configured{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-badge.incomplete{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.accounting-form{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:600;font-size:.95rem}.form-control{width:100%;padding:.75rem;border:1px solid #bdc3c7;border-radius:6px;font-size:.95rem;transition:border-color .3s}.form-control:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-control:disabled{background-color:#ecf0f1;color:#95a5a6;cursor:not-allowed}.platform-info{background-color:#ecf0f1;border-left:4px solid #3498db;padding:1rem;border-radius:6px;margin-top:1rem;margin-bottom:1.5rem}.platform-info h4{margin-top:0;color:#2c3e50;font-size:.95rem}.platform-info ol{margin:.5rem 0 0 1.5rem;padding-left:0}.platform-info li{margin-bottom:.3rem;color:#34495e;font-size:.9rem}.platform-info a{color:#3498db;text-decoration:none;font-weight:500}.platform-info a:hover{text-decoration:underline}.settings-display{padding:2rem}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #ecf0f1}.setting-item:last-child{border-bottom:none}.setting-item label{font-weight:600;color:#2c3e50;margin:0}.setting-item .value{color:#7f8c8d;font-family:monospace;letter-spacing:2px}.platform-badge{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:20px;font-weight:600;font-size:.9rem}.action-buttons{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0a345666}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d;transform:translateY(-2px);box-shadow:0 4px 12px #7f8c8d4d}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c0392b;transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c4d}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover:not(:disabled){background-color:#219a52;transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.auth-status{display:flex;align-items:center;padding:.75rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem}.auth-status.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.save-first-note{margin-top:1rem;padding:.75rem 1rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.9rem}.loading{text-align:center;padding:3rem;color:#7f8c8d;font-size:1.1rem}.info-section{margin-top:3rem}.info-section h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.platforms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.platform-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s}.platform-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.platform-card h4{color:#2c3e50;margin-top:0;font-size:1.2rem}.platform-card p{color:#7f8c8d;font-size:.95rem;margin-bottom:1rem}.platform-card ul{list-style:none;padding:0;margin:0}.platform-card li{color:#34495e;padding:.5rem 0 .5rem 1.5rem;position:relative;font-size:.9rem}.platform-card li:before{content:"✓";position:absolute;left:0;color:#27ae60;font-weight:700}@media (max-width: 768px){.accounting-page{padding:1rem}.accounting-header h1{font-size:1.5rem}.card-header{flex-direction:column;align-items:flex-start;gap:1rem}.action-buttons{flex-direction:column}.btn{width:100%;justify-content:center}.platforms-grid{grid-template-columns:1fr}.setting-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.settings-container{max-width:1200px;margin:0 auto;padding:var(--spacing-6)}.settings-header{background:var(--primary-color);padding:var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.settings-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--secondary-color)}.settings-header h1{margin:0 0 var(--spacing-2) 0;color:var(--text-on-primary);font-size:var(--text-3xl);font-weight:700}.settings-header .subtitle{margin:0;color:var(--text-on-primary);opacity:.9;font-size:var(--text-base)}.settings-tabs{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-8);background:var(--bg-primary);padding:var(--spacing-3);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color);flex-wrap:wrap}.tab-button{padding:var(--spacing-3) var(--spacing-5);border:none;background:transparent;color:var(--text-secondary);font-weight:600;cursor:pointer;border-radius:var(--radius-lg);transition:var(--transition-fast);font-size:var(--text-sm)}.tab-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.tab-button.active{background:var(--primary-button-color);color:var(--text-on-button);box-shadow:var(--shadow-sm)}.settings-content{background:var(--bg-primary);padding:var(--spacing-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}@media (max-width: 768px){.settings-container{padding:var(--spacing-4)}.settings-header{padding:var(--spacing-6);border-radius:var(--radius-lg);margin-bottom:var(--spacing-6)}.settings-header h1{font-size:var(--text-2xl)}.settings-tabs{flex-direction:column;padding:var(--spacing-2)}.tab-button{width:100%;text-align:center}.settings-content{padding:var(--spacing-5);border-radius:var(--radius-lg)}}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:var(--z-modal);animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.side-drawer{position:fixed;right:0;top:0;width:650px;max-width:100vw;height:100vh;background:#fff;box-shadow:var(--shadow-xl);z-index:var(--z-modal);display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease-in-out,visibility .3s;visibility:hidden}.side-drawer.open{transform:translate(0);visibility:visible}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-5);border-bottom:1px solid var(--border-color);background:var(--background-gray)}.drawer-header h2{margin:0;font-size:var(--text-xl);font-weight:600;color:var(--text-primary)}.drawer-close{background:none;border:none;font-size:var(--text-xl);cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:var(--transition-fast)}.drawer-close:hover{background:var(--background-dark);color:var(--text-primary)}.drawer-content{flex:1;overflow-y:auto;padding:var(--spacing-5);background:#fafbfc}.drawer-content form{display:flex;flex-direction:column;gap:var(--spacing-4)}.drawer-content .form-group{display:flex;flex-direction:column}.drawer-content .form-group label{margin-bottom:var(--spacing-2);font-weight:600;color:var(--text-primary);font-size:var(--text-sm)}.drawer-content .form-group input,.drawer-content .form-group textarea,.drawer-content .form-group select{padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;background:#fff;color:var(--text-primary);transition:var(--transition-fast)}.drawer-content .form-group input:focus,.drawer-content .form-group textarea:focus,.drawer-content .form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.drawer-content .checkbox-group{flex-direction:row;align-items:center;gap:var(--spacing-2)}.drawer-content .checkbox-group label{margin:0;display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer}.drawer-content .checkbox-group input{width:auto;margin:0}.drawer-content .form-actions{display:flex;gap:var(--spacing-3);margin-top:auto;padding:var(--spacing-4);border-top:1px solid var(--border-color);position:sticky;bottom:0;background:#fff;margin-left:calc(-1 * var(--spacing-5));margin-right:calc(-1 * var(--spacing-5));margin-bottom:calc(-1 * var(--spacing-5));z-index:10}.drawer-content .form-actions .btn{flex:0 0 auto!important}.form-actions{display:flex;gap:var(--spacing-3)}.alert{padding:var(--spacing-3);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);font-size:var(--text-sm)}.alert-error{background:#dc35451a;color:var(--error);border:1px solid rgba(220,53,69,.2)}.alert-success{background:#28a7451a;color:var(--success);border:1px solid rgba(40,167,69,.2)}@media (max-width: 1024px){.side-drawer{width:100%}}@media (max-width: 600px){.drawer-header,.drawer-content{padding:var(--spacing-4)}.drawer-header h2{font-size:var(--text-lg)}}.resources-container{max-width:1400px;margin:0 auto;padding:var(--spacing-6)}.resources-header{display:flex;justify-content:space-between;align-items:center;background:var(--primary-color);padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-md);position:relative;overflow:hidden;gap:var(--spacing-4)}.resources-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.resources-header h1{color:#fff!important;font-size:var(--heading-size);font-weight:var(--heading-weight);margin:0;position:relative;z-index:1;text-align:var(--heading-align)}.resources-header .btn{position:relative;z-index:1}.resources-toolbar{display:flex;justify-content:flex-start;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.resources-toolbar .btn{flex:0 0 auto;width:auto!important}.form-group input,.form-group select{width:100%;padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 102, 126, 234),.15)}.form-group input:disabled{background:var(--background-gray);color:var(--text-muted);cursor:not-allowed}.toggle-section{background:var(--background-gray);padding:var(--spacing-4);border-radius:var(--radius-md);border-left:4px solid var(--primary-color);margin-bottom:var(--spacing-4)}.toggle-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color);margin-right:var(--spacing-2)}.cabins-section{background:var(--background-gray);padding:var(--spacing-5);border-radius:var(--radius-md);margin-bottom:var(--spacing-5)}.cabins-section h3{color:var(--text-primary);margin:0 0 var(--spacing-4) 0;font-size:var(--text-base);font-weight:600}.cabin-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:var(--spacing-3);margin-bottom:var(--spacing-3);align-items:center}.cabin-row input{padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--transition-fast)}.cabin-row input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 102, 126, 234),.15)}.form-actions{display:flex;gap:var(--spacing-3);margin-top:auto;padding:var(--spacing-4);border-top:1px solid var(--border-light);position:sticky;bottom:0;background:#fff;margin-left:calc(-1 * var(--spacing-5));margin-right:calc(-1 * var(--spacing-5));margin-bottom:calc(-1 * var(--spacing-5));z-index:10}.vessels-list{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.vessels-list h2{color:var(--text-primary);margin:0 0 var(--spacing-5) 0;font-size:var(--text-lg);font-weight:600}.vessels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-5)}.vessel-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--spacing-5);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.vessel-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color);transform:translateY(-2px)}.vessel-header{display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--border-light)}.vessel-image{width:70px;height:70px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--primary-color);flex-shrink:0}.vessel-title{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1)}.vessel-header h3{color:var(--text-primary);margin:0;font-size:var(--text-base);font-weight:600}.vessel-type{display:inline-block;background:var(--primary-color);color:var(--text-on-primary, #ffffff);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;width:fit-content}.vessel-details{margin-bottom:var(--spacing-4)}.vessel-details p{color:var(--text-secondary);margin:var(--spacing-2) 0;font-size:var(--text-sm)}.vessel-details strong{color:var(--text-primary)}.cabins-info{background:var(--background-gray);padding:var(--spacing-3);border-radius:var(--radius-md);margin-top:var(--spacing-3)}.cabins-info ul{margin:var(--spacing-2) 0 0 var(--spacing-5);padding:0;font-size:var(--text-sm)}.cabins-info li{color:var(--text-secondary);margin:var(--spacing-1) 0}.vessel-actions{display:flex;gap:var(--spacing-2);padding-top:var(--spacing-4);border-top:1px solid var(--border-light)}.vessel-actions .btn{flex:1;text-align:center}@media (max-width: 768px){.resources-container{padding:var(--spacing-4)}.resources-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.resources-header h1{font-size:var(--text-xl)}.form-container{padding:var(--spacing-4)}.form-row,.cabin-row,.vessels-grid{grid-template-columns:1fr}.form-actions,.vessel-actions{flex-direction:column}.btn{width:100%}}.locations-container{max-width:1400px;margin:0 auto;padding:var(--spacing-6)}.locations-header{display:flex;justify-content:space-between;align-items:center;background:var(--primary-color);padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-md);position:relative;overflow:hidden;gap:var(--spacing-4)}.locations-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.locations-header h1{color:#fff!important;font-size:var(--heading-size);font-weight:var(--heading-weight);margin:0;position:relative;z-index:1;text-align:var(--heading-align)}.locations-header .btn{position:relative;z-index:1}.locations-toolbar{display:flex;justify-content:flex-start;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.locations-toolbar .btn{flex:0 0 auto;width:auto!important}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary)}.image-form-group{margin-bottom:var(--spacing-5);display:flex;flex-direction:column;align-items:flex-start}.image-form-group label{display:block;margin-bottom:var(--spacing-2);color:var(--text-primary);font-weight:600;font-size:var(--text-sm)}.image-icon{font-size:var(--text-2xl);margin-bottom:var(--spacing-1)}.btn-danger{background:var(--error-color);color:var(--white);padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-xs)}.btn-small{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-xs);background:var(--text-primary);color:var(--white)}.btn-small:hover{background:var(--text-secondary)}.error-message{background:var(--error-light);color:var(--error-dark);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-5);border-left:4px solid var(--error-color);font-size:var(--text-sm)}.locations-list{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.locations-list h2{color:var(--text-primary);margin:0 0 var(--spacing-5) 0;font-size:var(--text-lg);font-weight:600}.empty-state{text-align:center;color:var(--text-muted);padding:var(--spacing-10) var(--spacing-5)}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-5)}.location-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--spacing-5);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.location-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color);transform:translateY(-2px)}.location-header{display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--border-light)}.location-image{width:70px;height:70px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--primary-color);flex-shrink:0}.location-title{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1)}.location-header h3{color:var(--text-primary);margin:0;font-size:var(--text-base);font-weight:600}.location-country{display:inline-block;background:var(--primary-color);color:var(--text-on-primary, #ffffff);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;width:fit-content}.location-details{margin-bottom:var(--spacing-4)}.location-details p{color:var(--text-secondary);margin:var(--spacing-2) 0;font-size:var(--text-sm);line-height:var(--leading-relaxed)}.location-details strong{color:var(--text-primary)}.location-details .description{background:var(--background-gray);padding:var(--spacing-3);border-radius:var(--radius-md);margin-top:var(--spacing-3)}.location-actions{display:flex;gap:var(--spacing-2);padding-top:var(--spacing-4);border-top:1px solid var(--border-light)}.location-actions .btn{flex:1;text-align:center}@media (max-width: 768px){.locations-container{padding:var(--spacing-4)}.locations-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.locations-header h1{font-size:var(--text-xl)}.form-container{padding:var(--spacing-4)}.form-row,.locations-grid{grid-template-columns:1fr}.form-actions,.location-actions{flex-direction:column}.btn{width:100%}}.courses-container{max-width:1400px;margin:0 auto;padding:var(--spacing-6)}.courses-header{display:flex;justify-content:space-between;align-items:center;background:var(--primary-color);padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-md);position:relative;overflow:hidden;gap:var(--spacing-4)}.courses-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.courses-header h1{color:#fff!important;font-size:var(--heading-size);font-weight:var(--heading-weight);margin:0;position:relative;z-index:1;text-align:var(--heading-align)}.courses-header .btn{position:relative;z-index:1}.courses-toolbar{display:flex;justify-content:flex-start;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.courses-toolbar .btn{flex:0 0 auto;width:auto!important}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary)}.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 rgba(var(--primary-rgb, 102, 126, 234),.15)}.checkbox-group label{display:flex;align-items:center;margin-bottom:0;margin-top:var(--spacing-1);cursor:pointer}.form-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid var(--border-light)}.btn{display:inline-block;flex:0 0 auto;width:auto;padding:var(--spacing-3) var(--spacing-5);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--background-dark)}.btn-small{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-xs)}.btn-danger:hover{background:#c53030}.courses-list{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.courses-list h2{color:var(--text-primary);margin:0 0 var(--spacing-5) 0;font-size:var(--text-lg);font-weight:600}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--spacing-5)}.course-card{background:#fff;border-radius:var(--radius-xl);padding:var(--spacing-5);box-shadow:0 2px 8px #00000014;transition:all var(--transition-normal);display:flex;flex-direction:column;border:1px solid #e5e7eb}.course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:var(--primary-color)}.course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-4);gap:var(--spacing-3)}.course-header h3{color:var(--text-primary);margin:0;font-size:var(--text-lg);flex:1;font-weight:600}.course-badges{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.badge-online{background:var(--success-light);color:var(--success-dark)}.badge-inactive{background:var(--error-light);color:var(--error-dark)}.course-details{flex:1;margin-bottom:var(--spacing-4)}.detail-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-3);gap:var(--spacing-3)}.detail-label{color:var(--text-muted);font-weight:600;font-size:var(--text-sm);flex:0 0 auto}.detail-value{color:var(--text-primary);font-size:var(--text-sm);flex:1;text-align:right}.course-actions{display:flex;gap:var(--spacing-2);border-top:1px solid var(--border-light);padding-top:var(--spacing-4);flex-wrap:wrap}.course-actions .btn{flex:1;text-align:center;min-width:70px}.course-view{display:flex;flex-direction:column;gap:var(--spacing-5)}.view-section{border-bottom:1px solid var(--border-light);padding-bottom:var(--spacing-4)}.view-section:last-of-type{border-bottom:none}.view-section h3{color:var(--text-primary);font-size:var(--text-sm);font-weight:700;margin:0 0 var(--spacing-3) 0;text-transform:uppercase;letter-spacing:.5px}.view-field{margin-bottom:var(--spacing-3)}.view-field label{display:block;color:var(--text-muted);font-weight:600;font-size:var(--text-xs);margin-bottom:var(--spacing-1);text-transform:uppercase;letter-spacing:.3px}.view-field p{color:var(--text-primary);font-size:var(--text-sm);margin:0;line-height:var(--leading-relaxed)}.scheduled-courses-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.scheduled-course-item{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-3);background:var(--background-gray)}.scheduled-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2);gap:var(--spacing-3);flex-wrap:wrap}.scheduled-date{font-weight:600;color:var(--text-primary);font-size:var(--text-sm)}.scheduled-capacity{font-size:var(--text-xs);color:var(--text-muted);background:var(--white);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.scheduled-time{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--spacing-2)}.scheduled-details{display:flex;gap:var(--spacing-3);flex-wrap:wrap}.detail-item{display:flex;gap:var(--spacing-1);font-size:var(--text-sm)}.detail-key{font-weight:600;color:var(--text-muted)}.detail-val{color:var(--text-primary)}@media (max-width: 768px){.courses-container{padding:var(--spacing-5)}.courses-header{flex-direction:column;gap:var(--spacing-4);align-items:stretch}.courses-header h1{font-size:var(--text-xl)}.form-container{padding:var(--spacing-4)}.form-row,.courses-grid{grid-template-columns:1fr}.detail-row{flex-direction:column;align-items:flex-start}.detail-value{text-align:left}.course-actions,.form-actions{flex-direction:column}.btn{width:100%}}.optional-label{font-weight:400;font-size:.85em;color:var(--text-muted);margin-left:4px}.form-help-text{display:block;font-size:.85em;color:var(--text-muted);margin-top:4px;font-style:italic}.instructors-container{max-width:1400px;margin:0 auto;padding:var(--spacing-6)}.instructors-header{display:flex;justify-content:space-between;align-items:center;background:var(--primary-color);padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-md);position:relative;overflow:hidden;gap:var(--spacing-4)}.instructors-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.instructors-header h1{margin:0;font-size:var(--heading-size);font-weight:var(--heading-weight);color:#fff!important;position:relative;z-index:1;text-align:var(--heading-align)}.instructors-header .btn{position:relative;z-index:1}.instructors-toolbar{display:flex;justify-content:flex-start;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.instructors-toolbar .btn{flex:0 0 auto;width:auto!important}.instructors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--spacing-5)}.instructor-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-normal);display:flex;flex-direction:column;border:1px solid var(--border-color)}.instructor-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.instructor-image{width:100%;height:200px;background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);overflow:hidden;display:flex;align-items:center;justify-content:center}.instructor-image img{width:100%;height:100%;object-fit:cover}.instructor-info{padding:var(--spacing-4);flex-grow:1;border-bottom:1px solid var(--border-light)}.instructor-info h3{margin:0 0 var(--spacing-2) 0;font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.instructor-info p{margin:var(--spacing-1) 0;color:var(--text-secondary);font-size:var(--text-sm)}.instructor-info .email{color:var(--primary-color);word-break:break-all}.instructor-info .phone{font-weight:500}.instructor-info .bio{margin-top:var(--spacing-3);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.qualifications-list{padding:0 var(--spacing-4) var(--spacing-4)}.qualifications-list h4{margin:var(--spacing-3) 0 var(--spacing-2) 0;font-size:var(--text-sm);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-2);font-weight:600}.qualifications-list h4:before{content:"";display:inline-block;width:4px;height:16px;background:var(--primary-color);border-radius:2px}.qualifications-list ul{list-style:none;padding:0;margin:0}.qualifications-list li{padding:var(--spacing-2);background:var(--background-gray);border-radius:var(--radius-md);margin-bottom:var(--spacing-2);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--spacing-1)}.qual-name{font-weight:600;color:var(--text-primary)}.qual-number{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs)}.qual-expiry{color:var(--warning-color);font-size:var(--text-xs)}.qual-content{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1}.qual-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-2)}.btn-view-doc,.btn-download-doc{flex:1;padding:var(--spacing-1) var(--spacing-2);background:var(--primary-color);color:var(--text-on-primary, #ffffff);border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.btn-view-doc:hover,.btn-download-doc:hover{background:var(--primary-hover)}.btn-download-doc{background:var(--success-color)}.btn-download-doc:hover{background:#38a169}.document-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.document-modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:90vh;max-height:90vh;overflow:hidden}.document-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--border-color);background:var(--background-gray)}.document-modal-header h2{margin:0;font-size:var(--text-xl);color:var(--text-primary)}.close-button{background:none;border:none;font-size:var(--text-xl);cursor:pointer;color:var(--text-muted);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast);border-radius:var(--radius-md)}.close-button:hover{color:var(--text-primary);background:var(--background-dark)}.document-modal-content{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:var(--spacing-5);background:var(--background-gray)}.document-modal-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md)}.document-modal-footer{display:flex;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--border-color);background:var(--background-gray);justify-content:flex-end}.document-modal-footer .btn{min-width:100px}.instructor-actions{display:flex;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--border-light);background:var(--background-gray)}.instructor-actions .btn{flex:1}.image-upload-container{width:100%;height:180px;border:2px dashed var(--border-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--background-gray);transition:all var(--transition-fast);margin-bottom:var(--spacing-3)}.image-upload-container:hover{border-color:var(--primary-color);background:var(--primary-light)}.image-preview{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm)}.upload-placeholder{text-align:center;color:var(--text-muted)}.image-form-group{margin-bottom:var(--spacing-4)}.image-form-group label{display:block;margin-bottom:var(--spacing-2);font-weight:600;color:var(--text-primary);font-size:var(--text-sm)}.qualifications-section{margin-top:var(--spacing-5);padding-top:var(--spacing-4);border-top:1px solid var(--border-color)}.qualifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);gap:var(--spacing-4)}.qualifications-header label{font-weight:600;color:var(--text-primary);margin:0;font-size:var(--text-sm)}.qualification-item{background:var(--background-gray);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-3);margin-bottom:var(--spacing-3)}.qualification-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.qualification-row:last-child{margin-bottom:0;gap:var(--spacing-2);align-items:flex-end}.qualification-row .form-group{margin:0}.remove-qual{align-self:flex-end}.empty-state{text-align:center;padding:var(--spacing-12) var(--spacing-5);color:var(--text-muted);background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.loading{text-align:center;padding:var(--spacing-10) var(--spacing-5);color:var(--text-muted);font-size:var(--text-base)}.alert{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-5);font-size:var(--text-sm);border-left:4px solid}.form-actions{display:flex;gap:var(--spacing-3);margin-top:auto;padding:var(--spacing-4);border-top:1px solid var(--border-color);position:sticky;bottom:0;background:#fff;margin-left:calc(-1 * var(--spacing-5));margin-right:calc(-1 * var(--spacing-5));margin-bottom:calc(-1 * var(--spacing-5));z-index:10}.form-actions .btn{flex:0 0 auto}.qualification-document{margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--border-light)}.qualification-document label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-2);font-size:var(--text-sm)}.document-upload-area{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-3);background:var(--white);transition:all var(--transition-fast)}.document-upload-area:hover{border-color:var(--primary-color);background:var(--primary-light)}.document-upload-label{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);cursor:pointer;text-align:center;padding:var(--spacing-2)}.upload-icon{font-size:var(--text-xl);color:var(--primary-color)}.document-upload-label span:not(.upload-icon){font-size:var(--text-sm);color:var(--text-muted)}.document-preview{display:flex;align-items:center;gap:var(--spacing-3)}.document-thumbnail{flex-shrink:0;width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;background:var(--background-gray);display:flex;align-items:center;justify-content:center}.document-thumbnail img{width:100%;height:100%;object-fit:cover}.document-preview .document-upload-label{flex-direction:row;gap:0;padding:0}.document-preview .upload-link{color:var(--primary-color);font-size:var(--text-sm);text-decoration:underline;margin-left:var(--spacing-2)}.btn{display:inline-block;flex:0 0 auto;width:auto;padding:var(--spacing-3) var(--spacing-5);border:none;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--button-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:hover:not(:disabled){background:var(--background-dark)}.btn-danger:hover:not(:disabled){background:#c53030}.instructor-header{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);border-bottom:1px solid var(--border-light)}.instructor-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--primary-color);flex-shrink:0}.instructor-avatar-placeholder{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-xl);font-weight:600;flex-shrink:0}.instructor-title{flex:1;min-width:0}.instructor-title h3{margin:0 0 var(--spacing-1) 0;font-size:var(--text-lg);color:var(--text-primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instructor-title .email{margin:0;font-size:var(--text-sm);color:var(--primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instructor-title .phone{margin:var(--spacing-1) 0 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.instructor-stats{display:flex;justify-content:space-around;padding:var(--spacing-4);background:var(--background-gray);border-bottom:1px solid var(--border-light)}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-number{font-size:var(--text-2xl);font-weight:700;color:var(--primary-color)}.stat-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.instructor-details-view{padding:0}.details-header{display:flex;align-items:center;gap:var(--spacing-5);padding:var(--spacing-5);background:var(--background-gray);border-radius:var(--radius-lg);margin-bottom:var(--spacing-5)}.details-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid var(--primary-color);flex-shrink:0}.details-avatar-placeholder{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-3xl);font-weight:600;flex-shrink:0}.details-contact{flex:1}.details-contact p{margin:var(--spacing-2) 0;font-size:var(--text-sm);color:var(--text-secondary)}.details-contact strong{color:var(--text-primary)}.details-section{margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-5);border-bottom:1px solid var(--border-light)}.details-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.details-section h4{margin:0 0 var(--spacing-3) 0;font-size:var(--text-md);color:var(--text-primary);font-weight:600;display:flex;align-items:center;gap:var(--spacing-2)}.details-section h4:before{content:"";display:inline-block;width:4px;height:18px;background:var(--primary-color);border-radius:2px}.details-qualifications,.details-courses{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-3)}.qual-detail-item,.course-detail-item{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-3);transition:border-color var(--transition-normal)}.qual-detail-item:hover,.course-detail-item:hover{border-color:var(--primary-color)}.qual-detail-main,.course-detail-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.qual-name,.course-name{font-weight:600;color:var(--text-primary)}.qual-number{font-size:var(--text-sm);color:var(--text-secondary);background:var(--background-gray);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md)}.course-vessel{font-size:var(--text-sm);color:var(--primary-color);font-weight:500}.qual-detail-meta,.course-detail-meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--text-secondary);gap:var(--spacing-3)}.qual-detail-meta .btn{background:var(--primary-color);color:#fff;padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm)}.qual-detail-meta .btn:hover{opacity:.9}.qual-expiry{font-style:italic}.course-dates{font-weight:500;color:var(--text-primary)}.course-location{color:var(--text-secondary)}.empty-message{color:var(--text-secondary);font-style:italic;text-align:center;padding:var(--spacing-4);background:var(--background-gray);border-radius:var(--radius-md)}@media (max-width: 768px){.instructors-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.instructors-header h1{font-size:var(--text-xl)}.instructors-grid,.qualification-row{grid-template-columns:1fr}.form-actions,.instructor-actions{flex-direction:column}.btn{width:100%}.instructor-stats{flex-direction:column;gap:var(--spacing-3)}.details-header{flex-direction:column;text-align:center}}.calendar{width:100%;min-width:0;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-5);background:var(--primary-color);color:var(--text-on-primary);border-bottom:3px solid var(--secondary-color)}.calendar-month{margin:0;font-size:var(--text-2xl);font-weight:600;color:var(--text-on-primary)}.calendar-nav-btn{padding:var(--spacing-2) var(--spacing-4);background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--text-on-primary);border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:var(--transition-normal)}.calendar-nav-btn:hover{background:#ffffff4d;border-color:#ffffff80}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.calendar-weekday{padding:var(--spacing-3);text-align:center;font-weight:600;color:var(--text-primary);font-size:var(--text-sm)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:0;position:relative;height:100%}.calendar-grid-wrapper{position:relative;width:100%;height:700px}.calendar-events-overlay{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:0;pointer-events:none;padding:0}.calendar-event-bar{grid-column:span 1;padding:var(--spacing-1) var(--spacing-2);margin-top:32px;background-color:var(--primary-color);color:var(--text-on-primary);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-sm);cursor:pointer;pointer-events:all;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .2s ease,transform .2s ease;display:flex;align-items:center;height:20px}.calendar-event-bar:hover{opacity:.9;transform:scale(1.02)}.calendar-event-bar .event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day{border:1px solid var(--border-color);padding:var(--spacing-2);display:flex;flex-direction:column;background:var(--bg-primary);position:relative;transition:background-color .2s ease;cursor:pointer}.calendar-day:hover{background-color:var(--primary-alpha-10)}.calendar-day:active{background-color:var(--primary-alpha-20)}.calendar-day.calendar-day-empty{background-color:var(--bg-secondary);cursor:default}.calendar-day.calendar-day-empty:hover{background-color:var(--bg-secondary)}.calendar-day-number{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-1);font-size:var(--text-sm)}.calendar-day-events{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.calendar-event{padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--text-xs);color:#fff;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .2s ease,transform .2s ease;margin-bottom:1px;display:none}.calendar-event.event-continuing{margin:0;border-radius:0}.calendar-event.event-start{margin-bottom:1px}.calendar-event.event-end{margin-top:0}.calendar-event:hover{opacity:.9;transform:scale(1.02)}.event-title{font-weight:500}.calendar-event-more{padding:2px var(--spacing-2);font-size:var(--text-xs);color:var(--primary-color);font-weight:500}.calendar-day.today{background:var(--primary-alpha-10)}.calendar-day.today .calendar-day-number{background:var(--primary-color);color:var(--text-on-primary);width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.calendar-day.selected{background:var(--primary-alpha-20);border-color:var(--primary-color)}@media (max-width: 768px){.calendar-header{padding:var(--spacing-4);flex-direction:column;gap:var(--spacing-3)}.calendar-month{font-size:var(--text-xl)}.calendar-nav-btn{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-sm)}.calendar-weekday{padding:var(--spacing-2);font-size:var(--text-xs)}.calendar-day{padding:var(--spacing-1)}.calendar-day-number{font-size:var(--text-xs)}.calendar-grid-wrapper{height:500px}}.schedule-form-container{width:100%;max-width:900px;margin:0 auto;padding:20px;background:#fafbfc}.schedule-form{background:#fafbfc;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.schedule-form h2{margin-top:0;margin-bottom:20px;color:#333;font-size:24px}.form-error{padding:12px 16px;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;margin-bottom:20px;font-weight:500}.form-warning{padding:12px 16px;background-color:#ffeaa7;border:1px solid #ffc107;border-radius:4px;color:#856404;margin-bottom:20px;font-weight:500}.conflict-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background-color:#fff3cd;border:2px solid #ff6b6b;border-radius:6px;margin-bottom:20px;animation:pulse-border 2s ease-in-out infinite}.conflict-alert-icon{font-size:24px;flex-shrink:0;animation:pulse-icon 1.5s ease-in-out infinite}.conflict-alert-text{flex:1}.conflict-alert-text strong{display:block;color:#c92a2a;font-size:15px;margin-bottom:4px}.conflict-alert-text p{margin:0;color:#856404;font-size:13px}@keyframes pulse-border{0%,to{border-color:#ff6b6b}50%{border-color:#ff8787}}@keyframes pulse-icon{0%,to{opacity:1}50%{opacity:.6}}.form-row.has-conflict{position:relative}.form-row.has-conflict .form-group input[type=date],.form-row.has-conflict .form-group input[type=time]{border-color:#ff6b6b;border-width:2px;box-shadow:0 0 6px #ff6b6b33}.form-section{margin-bottom:30px;background:#f5f6f7;padding:20px;border-radius:8px;border:1px solid #e8eaed}.form-section h3{margin-top:0;margin-bottom:16px;color:#667eea;font-size:16px;font-weight:600;border-bottom:2px solid #667eea;padding-bottom:8px}.section-note{color:#666;font-size:13px;margin-bottom:16px;font-style:italic}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-group label{margin-bottom:8px;color:#333;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.required{color:#e74c3c;margin-left:4px}.form-group input,.form-group select{padding:10px 12px;border:2px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .3s ease;background:#fff!important}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.cabin-pricing-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fafbfc;border:2px solid #e0e0e0;border-radius:4px;margin-bottom:12px;gap:20px}.cabin-info{min-width:150px;display:flex;flex-direction:column;gap:4px}.cabin-info strong{color:#333;font-weight:600}.cabin-sellable-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:0}.cabin-sellable-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0;accent-color:#667eea}.cabin-sellable-toggle strong{color:#333;font-weight:600;margin:0}.cabin-berths{font-size:12px;color:#666}.cabin-booked-warning{font-size:11px;color:#f57c00;font-weight:500;margin-left:4px}.cabin-sellable-toggle input:disabled+strong{color:#999}.cabin-prices{display:flex;gap:16px;flex-wrap:wrap}.price-input{display:flex;flex-direction:column;gap:4px;min-width:150px}.price-input label{font-size:12px;color:#666;font-weight:500}.price-input input{padding:8px 10px;border:2px solid #ddd;border-radius:4px;font-size:13px;background:#fff!important}.price-input input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.cabin-pricing-section{margin-top:20px;padding:16px;background:#f9f9f9;border-left:4px solid #667eea;border-radius:4px}.cabin-pricing-section h4{margin-top:0;margin-bottom:8px;color:#667eea;font-size:14px;font-weight:600}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px;border-top:1px solid #e0e0e0;position:sticky;bottom:0;background:#fff;margin:auto -20px -20px;z-index:10}.form-actions .btn-primary,.form-actions .btn-secondary,.form-actions button.btn-primary,.form-actions button.btn-secondary{padding:10px 24px!important;margin:0!important;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;line-height:1.4!important;height:auto!important;min-height:unset!important;max-height:unset!important;align-self:center!important;flex:0 0 auto!important}.form-actions .btn-primary{background:var(--primary-color);color:#fff}.form-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-actions .btn-secondary{background:#e0e0e0;color:#333}.form-actions .btn-secondary:hover:not(:disabled){background:#d0d0d0}.form-actions .btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.schedule-form{padding:20px}.form-row{grid-template-columns:1fr}.cabin-pricing-row{flex-direction:column;align-items:flex-start}.cabin-prices{width:100%;flex-direction:column}.price-input{width:100%}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.cabin-toggle{margin:20px 0;padding:16px;background:#f8f9ff;border-radius:6px;border-left:4px solid #667eea}.cabin-toggle label{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer;font-weight:500}.cabin-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px}.toggle-note{margin:0;color:#666;font-size:12px;font-style:italic}.field-warning{display:block;color:#f57c00;font-size:12px;margin-top:4px}select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.course-checkbox-list{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#fff;border:2px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto}.course-checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f5f6f7;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s ease;min-width:150px}.course-checkbox-item:hover{background:#e8eaed;border-color:#667eea}.course-checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.course-checkbox-item input[type=checkbox]:checked+.course-name{font-weight:600;color:#667eea}.course-checkbox-item:has(input:checked){background:#e8f0fe;border-color:#667eea}.course-name{font-size:14px;color:#333}.field-error{display:block;color:#c33;font-size:12px;margin-top:6px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.course-details-modal{background:#fff!important;opacity:1!important}.modal-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:var(--background-gray)}.modal-header h2{margin:0;font-size:24px;color:#333}.modal-close-btn{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close-btn:hover{background-color:#f0f0f0;color:#333}.modal-body{padding:24px;overflow-y:auto;flex:1;background:#fafbfc}.details-grid{display:grid;gap:24px}.detail-section{background:#f5f6f7;padding:16px;border-radius:6px;border:1px solid #e8eaed}.detail-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#444;text-transform:uppercase;letter-spacing:.5px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e0e0e0}.detail-row:last-child{border-bottom:none}.modal-detail-label{font-weight:500;color:#666;font-size:14px}.modal-detail-value{color:#333;font-size:14px;text-align:right;display:flex;align-items:center;gap:8px}.available-badge{background-color:#4caf50;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.waitlist-badge{background-color:#ff9800;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;margin-left:4px}.private-cabins-enabled{color:#2e7d32;font-weight:500}.private-cabins-disabled{color:#757575;font-style:italic}.full-badge{background-color:#f44336;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.cabin-pricing-table{display:flex;flex-direction:column;gap:8px}.cabin-price-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border-radius:4px;border:2px solid #e0e0e0}.cabin-name{font-weight:500;color:#333}.cabin-prices{display:flex;gap:16px}.price-item{font-size:13px;color:#666}.bookings-section{grid-column:1 / -1}.bookings-list{display:flex;flex-direction:column;gap:12px}.booking-item{background:#fff;border-radius:6px;padding:16px;border:2px solid #e0e0e0}.booking-item.confirmed{border-color:#4caf50}.booking-item.pending{border-color:#ff9800}.booking-item.cancelled{border-color:#f44336;opacity:.6}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e0e0e0}.booking-status{font-weight:600;text-transform:uppercase;font-size:12px;padding:4px 8px;border-radius:4px;background-color:#f0f0f0;color:#666}.booking-item.confirmed .booking-status{background-color:#e8f5e9;color:#2e7d32}.booking-item.pending .booking-status{background-color:#fff3e0;color:#e65100}.participant-count{font-size:13px;color:#666}.participants-list{display:flex;flex-direction:column;gap:8px}.participant-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fafbfc;border-radius:4px;border:1px solid #e8eaed}.participant-name{font-weight:500;color:#333;font-size:14px}.participant-course{font-size:12px;color:#4a5568;background:linear-gradient(135deg,#e6f0fa,#d4e5f7);padding:4px 10px;border-radius:12px;font-weight:500;border:1px solid #b8d4f0}.participant-cabin{font-size:12px;color:#666;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #e0e0e0}.modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;background:#fff}.modal-footer button{padding:10px 20px;border-radius:6px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{background-color:#1976d2;color:#fff}.btn-primary:hover{background-color:#1565c0}.btn-secondary{background-color:#757575;color:#fff}.btn-secondary:hover{background-color:#616161}.btn-danger{background-color:#d32f2f;color:#fff}.btn-danger:hover{background-color:#c62828}.btn-duplicate{background-color:#7c3aed;color:#fff}.btn-duplicate:hover{background-color:#6d28d9}@media (max-width: 768px){.modal-overlay{padding:0;align-items:stretch}.modal-content{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0}.modal-header{padding:16px}.modal-header h2{font-size:18px}.modal-body{padding:16px}.detail-section{padding:12px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px}.modal-detail-value{text-align:left}.cabin-price-row{flex-direction:column;align-items:flex-start;gap:8px}.modal-footer{flex-wrap:wrap;padding:12px 16px}.modal-footer button{flex:1;min-width:80px;padding:12px 16px}}.cabin-allocations-section{grid-column:1 / -1}.cabin-allocations{display:flex;flex-direction:column;gap:12px}.cabin-allocation-group{background:#fff;border-radius:8px;padding:16px;border:2px solid #e0e0e0}.cabin-allocation-group.instructor-cabin{border-color:#2196f3;background:linear-gradient(135deg,#e3f2fd,#fff)}.cabin-allocation-group.unassigned{border-color:#ff9800;background:linear-gradient(135deg,#fff3e0,#fff)}.cabin-allocation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #eee}.cabin-allocation-name{font-weight:600;font-size:15px;color:#333}.cabin-allocation-type,.cabin-allocation-count{font-size:12px;color:#666;background:#f5f5f5;padding:2px 8px;border-radius:12px}.cabin-allocation-occupants{display:flex;flex-direction:column;gap:8px}.occupant-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;padding:6px 10px;background:#f8f9fa;border-radius:4px}.occupant-item.instructor{font-weight:500;color:#1976d2}.occupant-item.unassigned{background:#fff8e1;color:#e65100}.occupant-item.waitlisted{opacity:.7;font-style:italic}.occupancy-type{font-size:11px;color:#9c27b0;font-weight:500}.waitlist-tag{font-size:10px;background:#ff9800;color:#fff;padding:2px 6px;border-radius:10px;font-weight:500;margin-left:auto}.scheduling-page{padding:var(--spacing-6);max-width:1800px;margin:0 auto}.scheduling-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;background:var(--primary-color)!important;padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.scheduling-page .page-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.header-content{position:relative;z-index:1}.header-content h1{font-size:var(--heading-size);font-weight:var(--heading-weight);color:#fff!important;margin:0 0 var(--spacing-1) 0;text-align:var(--heading-align)}.header-content p{color:#fff!important;opacity:.95;margin:0;font-size:var(--text-base);text-align:var(--heading-align)}.scheduling-toolbar{display:flex;justify-content:flex-start;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.header-actions{display:flex;gap:var(--spacing-3);position:relative;z-index:1}.scheduling-page .btn-primary{background:var(--primary-button-color)!important;color:var(--text-on-button, white);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-2);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.scheduling-page .btn-primary:hover{background:var(--button-hover)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}.page-content{display:grid;grid-template-columns:1fr 380px;gap:var(--spacing-6);align-items:start}.calendar-section{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden}.details-sidebar{position:sticky;top:var(--spacing-6)}.details-panel{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden;max-height:calc(100vh - 200px);display:flex;flex-direction:column}.panel-header{background:var(--primary-color);color:var(--text-on-primary);padding:var(--spacing-5) var(--spacing-6)}.panel-header h2{font-size:var(--text-lg);font-weight:600;margin:0 0 var(--spacing-1) 0;color:var(--text-on-primary)}.panel-header .course-date{font-size:var(--text-sm);opacity:.9;color:var(--text-on-primary)}.panel-body{padding:var(--spacing-5) var(--spacing-6);overflow-y:auto;flex:1}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) 0;border-bottom:1px solid var(--border-color)}.info-row:last-child{border-bottom:none}.info-row .label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.info-row .value{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.price-tag{background:var(--primary-alpha-10);color:var(--primary-color);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-weight:600}.location-badge,.status-badge,.course-type-badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.location-badge{background:var(--bg-secondary);color:var(--text-secondary)}.status-badge.status-published{background:#28a7451a;color:var(--success)}.status-badge.status-draft{background:#6c757d1a;color:var(--text-secondary)}.course-type-badge.online{background:#17a2b81a;color:var(--info)}.course-type-badge.in-person{background:#667eea1a;color:var(--primary-color)}.panel-section{margin-top:var(--spacing-5);padding-top:var(--spacing-5);border-top:1px solid var(--border-color)}.panel-section h3{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-3) 0}.instructors-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.instructor-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2);background:var(--bg-secondary);border-radius:var(--radius-md)}.instructor-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-xs)}.instructor-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.cabins-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.cabin-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--text-sm)}.cabin-name{font-weight:600;color:var(--text-primary)}.price-badge{color:var(--text-secondary);font-size:var(--text-xs)}.panel-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-5);padding-top:var(--spacing-5);border-top:1px solid var(--border-color)}.btn-secondary,.btn-danger{flex:1;padding:var(--spacing-3) var(--spacing-4);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:var(--transition-normal)}.btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-danger{background:#dc35451a;color:var(--error);border:1px solid rgba(220,53,69,.2)}.btn-danger:hover{background:#dc354526;transform:translateY(-1px);box-shadow:0 2px 4px #dc262633}.empty-state{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color);padding:var(--spacing-16) var(--spacing-10);text-align:center;color:var(--text-secondary)}.empty-state h3{margin:0 0 var(--spacing-3) 0;color:var(--text-primary);font-size:var(--text-xl);font-weight:600}.empty-state p{margin:0;font-size:var(--text-base);line-height:1.5}@media (max-width: 1024px){.page-content{grid-template-columns:1fr}.details-sidebar{order:-1;position:static}.details-panel{max-height:none}}@media (max-width: 768px){.scheduling-page{padding:var(--spacing-4)}.scheduling-page .page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-4);padding:var(--spacing-5)}.scheduling-page .page-header:before{width:80px}.header-actions{width:100%}.scheduling-toolbar{margin-bottom:var(--spacing-4)}.scheduling-toolbar .btn-primary{width:auto}.header-content h1{font-size:var(--text-xl)}.page-content{gap:var(--spacing-4)}.calendar-section,.details-panel{border-radius:var(--radius-lg)}}.client-view-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.client-view-modal{background:#f8f9fa;border-radius:20px;width:96%;max-width:1600px;height:94vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 90px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:scale(.95) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.client-view-header{background:var(--primary-color);color:#fff;padding:2.5rem 3.5rem;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.client-view-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.client-header-content{display:flex;gap:2rem;align-items:flex-start;position:relative;z-index:1}.client-avatar-large{width:100px;height:100px;border-radius:20px;object-fit:cover;border:4px solid rgba(255,255,255,.3);box-shadow:0 8px 24px #0003}.client-avatar-placeholder-large{width:100px;height:100px;border-radius:20px;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2.5rem;text-transform:uppercase;border:4px solid rgba(255,255,255,.3);box-shadow:0 8px 24px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.client-header-info h1{font-size:2.25rem;font-weight:800;color:var(--secondary-color);margin:0 0 .5rem;text-shadow:0 2px 8px rgba(0,0,0,.15)}.client-header-meta{display:flex;gap:2rem;margin-top:.75rem;flex-wrap:wrap}.client-meta-item{display:flex;align-items:center;gap:.5rem;font-size:.95rem;opacity:.95;padding-left:1rem;position:relative}.client-meta-item:before{content:"•";position:absolute;left:0;font-weight:700;opacity:.7}.client-view-close{background:#fff3;border:none;font-size:2.25rem;color:#fff;cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .2s;position:relative;z-index:1}.client-view-close:hover{background-color:#ffffff4d;transform:scale(1.05) rotate(90deg)}.client-view-nav{display:flex;gap:.75rem;padding:1.5rem 3.5rem;background:#fff;box-shadow:0 2px 12px #0000000f}.client-nav-tab{background:transparent;border:none;padding:1rem 1.75rem;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;border-radius:10px;transition:all .2s;display:flex;align-items:center;gap:.5rem}.client-nav-tab:hover{color:var(--primary-color);background:#f0f3f8}.client-nav-tab.active{color:#fff;background:var(--primary-color);box-shadow:0 4px 16px #667eea59}.client-nav-tab .badge{background:#ffffff40;color:inherit;padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700}.client-nav-tab.active .badge{background:#ffffff4d;color:#fff}.client-view-content{flex:1;overflow-y:auto;padding:2.5rem 3.5rem;background:#f8f9fa}.client-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.client-info-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 2px 12px #0000000f;transition:all .2s}.client-info-section:hover{box-shadow:0 6px 24px #0000001a;transform:translateY(-2px)}.client-info-section h3{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:3px solid var(--primary-color);display:flex;align-items:center;gap:.75rem}.client-info-section h3:before{content:"";width:6px;height:24px;background:var(--primary-color);border-radius:3px}.client-info-fields{display:flex;flex-direction:column;gap:1.25rem}.client-info-field{display:flex;flex-direction:column;gap:.375rem}.client-info-label{font-size:.8125rem;font-weight:700;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.client-info-value{font-size:1rem;color:#1a1a1a;font-weight:500}.client-info-value.empty{color:#adb5bd;font-style:italic}.pathways-container{display:flex;flex-direction:column;gap:2rem}.pathway-card{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 2px 12px #0000000f;transition:all .3s}.pathway-card:hover{box-shadow:0 8px 32px #0000001f}.pathway-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #f0f0f0}.pathway-title-section h3{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.pathway-description{font-size:.95rem;color:#6c757d;margin:0}.pathway-progress{text-align:right}.pathway-progress-ring{width:80px;height:80px;border-radius:50%;background:conic-gradient(var(--primary-color) calc(var(--progress) * 1%),#e9ecef 0);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 12px #667eea33}.pathway-progress-inner{width:64px;height:64px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:var(--primary-color)}.pathway-flow{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.pathway-course{flex:0 0 auto;width:200px;background:#f8f9fa;border-radius:12px;padding:1.25rem;border:2px solid #e9ecef;transition:all .2s;position:relative}.pathway-course.completed{background:#d4edda;border-color:#28a745}.pathway-course.in-progress{background:#fff3cd;border-color:#ffc107}.pathway-course:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.pathway-course-icon{width:48px;height:48px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:.75rem;box-shadow:0 2px 8px #0000001a}.pathway-course.completed .pathway-course-icon{background:#28a745;color:#fff}.pathway-course.in-progress .pathway-course-icon{background:#ffc107;color:#fff}.pathway-course-name{font-size:.9375rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem;line-height:1.3}.pathway-course-status{font-size:.8125rem;color:#6c757d;display:flex;align-items:center;gap:.375rem}.pathway-course.completed .pathway-course-status{color:#155724;font-weight:600}.pathway-course.in-progress .pathway-course-status{color:#856404;font-weight:600}.pathway-connector{flex:0 0 auto;width:40px;height:2px;background:#dee2e6;margin-top:3rem;position:relative}.pathway-connector:after{content:"→";position:absolute;right:-12px;top:-10px;font-size:1.25rem;color:#dee2e6}.pathway-course.completed+.pathway-connector,.pathway-course.completed+.pathway-connector:after{background:#28a745;color:#28a745}.course-history-list{display:flex;flex-direction:column;gap:1rem}.course-history-item{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 2px 12px #0000000f;display:flex;gap:1.5rem;align-items:center;transition:all .2s}.course-history-item:hover{box-shadow:0 6px 24px #0000001a;transform:translate(4px)}.course-history-date{flex:0 0 auto;text-align:center;padding:.75rem .875rem;background:var(--primary-color);color:#fff;border-radius:10px;min-width:80px}.course-history-month{font-size:.75rem;font-weight:600;text-transform:uppercase}.course-history-day{font-size:1.5rem;font-weight:700;margin:.125rem 0}.course-history-year{font-size:.75rem;opacity:.9}.course-history-details{flex:1}.course-history-name{font-size:1.0625rem;font-weight:600;color:#1a1a1a;margin:0 0 .375rem}.course-history-meta{display:flex;gap:1.5rem;color:#6c757d;font-size:.875rem}.course-history-instructor{color:#495057;font-size:.9375rem}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.certificate-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s}.certificate-card:hover{box-shadow:0 8px 32px #0000001f;transform:translateY(-6px)}.certificate-preview{height:180px;background:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:4rem;color:#ffffffe6}.certificate-content{padding:1.5rem}.certificate-name{font-size:1.125rem;font-weight:700;color:#1a1a1a;margin:0 0 .75rem}.certificate-date{color:#6c757d;font-size:.9375rem;margin-bottom:1rem}.certificate-actions{display:flex;gap:.75rem}.certificate-btn{flex:1;padding:.625rem;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.certificate-btn-primary{background:var(--primary-color);color:#fff}.certificate-btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px)}.certificate-btn-secondary{background:#e9ecef;color:#495057}.certificate-btn-secondary:hover{background:#dee2e6}.empty-state-large{text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f}.empty-state-large h3{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 .75rem}.empty-state-large p{font-size:1rem;color:#6c757d;margin:0}@media (max-width: 1200px){.client-info-grid{grid-template-columns:1fr}.pathway-flow{flex-direction:column}.pathway-connector{width:2px;height:40px;margin:0 auto}.pathway-connector:after{content:"↓";right:-9px;top:auto;bottom:-16px}}@media (max-width: 768px){.client-view-modal{width:100%;height:100vh;border-radius:0}.client-view-header,.client-view-nav,.client-view-content{padding-left:1.5rem;padding-right:1.5rem}.client-header-content{flex-direction:column;gap:1rem}.certificates-grid{grid-template-columns:1fr}.course-history-item{flex-direction:column}}.client-view-content::-webkit-scrollbar{width:8px}.client-view-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.client-view-content::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:10px}.client-view-content::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}.clients-page{padding:var(--spacing-6);max-width:1600px;margin:0 auto}.clients-page .page-header,.clients-page .clients-header{background:var(--primary-color)!important;color:var(--text-on-primary);padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.clients-page .clients-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.clients-page .clients-header h1,.clients-page .page-header h1{font-size:var(--heading-size);font-weight:var(--heading-weight);margin:0 0 var(--spacing-1) 0;color:#fff!important;position:relative;z-index:1;text-align:var(--heading-align)}.clients-page .clients-header .subtitle,.clients-page .page-header p{margin:0;opacity:.95;font-size:var(--text-base);color:#fff!important;position:relative;z-index:1;text-align:var(--heading-align)}.clients-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-4);flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:300px;max-width:400px}.search-box input{width:100%;padding:var(--spacing-3) var(--spacing-4);padding-left:var(--spacing-10);border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-sm);background:var(--bg-primary);transition:var(--transition-normal)}.search-box input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.search-box:before{content:"🔍";position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);font-size:var(--text-sm);opacity:.5}.toolbar-actions{display:flex;gap:var(--spacing-3);align-items:center}.add-client-button{background:var(--primary-button-color);color:var(--text-on-button, white);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);border:none;font-size:var(--text-sm);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-2);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.add-client-button:hover{background:var(--button-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.clients-table-container{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--border-color)}.clients-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.clients-table thead{background:var(--background-gray)}.clients-table th{text-align:left;padding:var(--spacing-4) var(--spacing-6);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;border-bottom:1px solid var(--border-color)}.clients-table tbody tr{transition:all var(--transition-fast);cursor:pointer;border-bottom:1px solid var(--border-light)}.clients-table tbody tr:hover{background:var(--background-gray);transform:translate(2px)}.clients-table tbody tr:last-child{border-bottom:none}.clients-table td{padding:var(--spacing-4) var(--spacing-6);color:var(--text-primary);vertical-align:middle}.clients-table td:first-child{font-weight:500}.client-name-cell{display:flex;align-items:center;gap:var(--spacing-3)}.client-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--border-light);flex-shrink:0}.client-avatar-placeholder{width:40px;height:40px;border-radius:var(--radius-full);background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;text-transform:uppercase;flex-shrink:0}.no-data{text-align:center;padding:var(--spacing-12) var(--spacing-6);color:var(--text-muted);font-size:var(--text-base)}.courses-badge,.certificates-badge{background:var(--primary-alpha-10);color:var(--primary-color);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;display:inline-block}.certificates-badge{background:#28a7451a;color:var(--success)}.action-button{background:transparent;border:none;cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-md);color:var(--text-secondary);transition:var(--transition-fast)}.action-button:hover{background:var(--bg-secondary);color:var(--primary-color)}.action-button.delete-btn:hover{background:#dc35451a;color:var(--error)}.loading-container{text-align:center;padding:var(--spacing-16);color:var(--text-secondary)}.error-container{text-align:center;padding:var(--spacing-16);color:var(--error)}.empty-state h3{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-2)}.empty-state p{font-size:var(--text-sm);margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.client-modal{background:var(--bg-primary);border-radius:var(--radius-xl);max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl);animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.create-modal{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6) var(--spacing-8);background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);color:var(--text-on-primary);box-shadow:var(--shadow-md)}.modal-header-content{display:flex;align-items:center;gap:var(--spacing-4)}.modal-client-avatar{width:60px;height:60px;border-radius:var(--radius-full);object-fit:cover;border:3px solid rgba(255,255,255,.3)}.modal-client-avatar-placeholder{width:60px;height:60px;border-radius:var(--radius-full);background:#fff3;color:var(--text-on-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-2xl);text-transform:uppercase;border:3px solid rgba(255,255,255,.3)}.modal-header h2{font-size:var(--text-2xl);font-weight:700;color:var(--text-on-primary);margin:0}.modal-header-subtitle{font-size:var(--text-sm);opacity:.9;margin-top:var(--spacing-1);color:var(--text-on-primary)}.close-button{background:#fff3;border:none;font-size:var(--text-2xl);color:var(--text-on-primary);cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);transition:var(--transition-fast)}.close-button:hover{background:#ffffff4d;transform:scale(1.05)}.modal-tabs{display:flex;gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-8);background:var(--bg-primary);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-color)}.tab-button{background:transparent;border:none;padding:var(--spacing-3) var(--spacing-5);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-lg);transition:var(--transition-fast)}.tab-button:hover{color:var(--primary-color);background:var(--bg-secondary)}.tab-button.active{color:var(--text-on-button);background:var(--primary-button-color);box-shadow:var(--shadow-md)}.modal-content{padding:var(--spacing-8);overflow-y:auto;flex:1;background:var(--bg-secondary)}.info-tab{max-width:700px}.edit-button{background:var(--primary-button-color);color:var(--text-on-button);border:none;padding:var(--spacing-2) var(--spacing-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;margin-bottom:var(--spacing-5);transition:var(--transition-fast)}.edit-button:hover{background:var(--button-hover)}.info-section{margin-bottom:var(--spacing-6)}.info-section h3{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--border-color)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-4)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-1)}.info-item.full-width{grid-column:1 / -1}.info-item label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:var(--text-sm);color:var(--text-primary)}.client-photo-preview{max-width:200px;border-radius:var(--radius-lg);margin-top:var(--spacing-2)}.form-hint{display:block;margin-top:var(--spacing-1);font-size:var(--text-xs);color:var(--text-secondary)}.edit-form{max-width:700px}.form-section h3{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--border-color)}.form-group label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-2)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:var(--transition-fast)}.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 rgba(var(--primary-rgb),.1)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}.error-message{background:#dc35451a;color:var(--error);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);border:1px solid rgba(220,53,69,.2);font-size:var(--text-sm)}.form-actions{display:flex;gap:var(--spacing-4);justify-content:flex-end;margin-top:var(--spacing-5);padding-top:var(--spacing-5);border-top:1px solid var(--border-color)}.btn-primary,.btn-secondary{padding:var(--spacing-3) var(--spacing-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;border:none;transition:var(--transition-fast)}.btn-primary{background:var(--primary-button-color);color:var(--text-on-button)}.btn-primary:hover:not(:disabled){background:var(--button-hover);transform:translateY(-1px)}.btn-primary:disabled{background:var(--text-disabled);cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.courses-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.course-item{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-5);border-left:4px solid var(--primary-color);box-shadow:var(--shadow-sm)}.course-info h4{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-2)}.course-dates{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--spacing-2)}.booking-status{font-size:var(--text-sm);color:var(--text-secondary)}.status-confirmed{color:var(--success);font-weight:600}.status-pending{color:var(--warning);font-weight:600}.status-cancelled{color:var(--error);font-weight:600}.status-completed{color:var(--info);font-weight:600}.add-certificate-button{background:var(--success);color:#fff;border:none;padding:var(--spacing-3) var(--spacing-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;margin-bottom:var(--spacing-5);transition:var(--transition-fast)}.add-certificate-button:hover{opacity:.9;transform:translateY(-1px)}.add-certificate-form{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-5);margin-bottom:var(--spacing-5);border:1px solid var(--border-color)}.add-certificate-form h3{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-4)}.certificates-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.certificate-item{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-5);border-left:4px solid var(--success);box-shadow:var(--shadow-sm)}.certificate-info h4{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-2)}.completion-date{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--spacing-2)}.certificate-link{display:inline-block;color:var(--primary-color);text-decoration:none;font-weight:500;margin-top:var(--spacing-2)}.certificate-link:hover{text-decoration:underline}.certificate-notes{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--spacing-2);font-style:italic}@media (max-width: 768px){.clients-page{padding:var(--spacing-4)}.page-header{padding:var(--spacing-6);border-radius:var(--radius-lg);margin-bottom:var(--spacing-6)}.page-header h1{font-size:var(--text-2xl)}.clients-toolbar{flex-direction:column;align-items:stretch}.search-box{min-width:100%;max-width:none}.toolbar-actions{width:100%;flex-direction:column;align-items:stretch}.add-client-button{width:100%;justify-content:center}.clients-table{font-size:var(--text-xs)}.clients-table th,.clients-table td{padding:var(--spacing-3) var(--spacing-2)}.client-modal{max-width:100%;max-height:100vh;border-radius:0}.modal-header{padding:var(--spacing-5) var(--spacing-4)}.modal-header h2{font-size:var(--text-xl)}.modal-content{padding:var(--spacing-5)}.modal-tabs{padding:var(--spacing-3) var(--spacing-4);overflow-x:auto;gap:var(--spacing-1)}.tab-button{white-space:nowrap;padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-xs)}.form-row,.info-grid{grid-template-columns:1fr}}.course-schedule-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014,0 1px 3px #0000000a;border:1px solid #e8e8e8;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;min-width:280px;max-width:340px;width:100%}.course-schedule-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #12467f1f,0 4px 8px #0000000f;border-color:var(--primary-color)}.card-header{padding:16px;text-align:center;background:#fff;display:flex;align-items:center;justify-content:center;gap:6px;border-bottom:1px solid #f0f0f0;min-height:60px}.header-day{font-size:28px;font-weight:700;color:var(--secondary-color);line-height:1}.header-month{font-size:16px;font-weight:600;color:var(--primary-color);text-transform:uppercase;letter-spacing:.5px}.card-body{padding:20px;flex:1;display:flex;flex-direction:column;gap:12px}.card-detail{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;padding:2px 0}.card-detail.course-name{padding-bottom:10px;border-bottom:1px solid #f0f0f0;margin-bottom:4px}.card-detail.course-name .detail-text{font-weight:600;font-size:15px;color:var(--text-primary)}.detail-icon{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.detail-icon svg{display:block;width:16px;height:16px}.detail-icon.icon-calendar,.detail-icon.icon-location,.detail-icon.icon-course{color:var(--primary-color)}.detail-icon.icon-clock,.detail-icon.icon-vessel{color:var(--secondary-color)}.detail-text{color:#4b5563;flex:1;font-weight:400;padding-top:1px}.card-price{display:flex;align-items:baseline;justify-content:center;gap:6px;padding:10px 16px;margin:8px 0 4px}.price-label{font-size:11px;font-weight:600;color:#059669;text-transform:uppercase;letter-spacing:.5px}.price-amount{font-size:24px;font-weight:700;color:#059669;line-height:1}.price-unit{font-size:11px;font-weight:500;color:#059669}.card-availability{text-align:center;font-size:11px;font-weight:600;padding:8px 14px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.card-availability.available{color:#fff;background:linear-gradient(135deg,var(--primary-color) 0%,#0d3a6b 100%);box-shadow:0 2px 8px #12467f4d}.card-availability.full{color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 2px 8px #dc26264d}.card-availability.cancelled{color:#6b7280;background:#f3f4f6;border:2px solid #e5e7eb}.card-footer{padding:0 20px 20px}.btn-book,.btn-waitlist,.btn-cancelled{width:100%;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-book{background:var(--secondary-color);color:#fff}.btn-book:hover{background:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-waitlist{background:var(--primary-color);color:#fff}.btn-waitlist:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-cancelled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}@media (max-width: 768px){.course-schedule-card{min-width:100%}.card-header{padding:14px}.header-day{font-size:26px}.header-month{font-size:15px}.card-body{padding:18px;gap:11px}.card-detail{font-size:12px}.price-amount{font-size:22px}.card-footer{padding:0 18px 18px}}.booking-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);z-index:var(--z-modal)}.booking-form-container{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:750px;width:100%;max-height:90vh;overflow-y:auto}.booking-form-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--white);z-index:1}.booking-form-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.close-button{background:none;border:none;font-size:var(--text-3xl);cursor:pointer;color:var(--text-muted);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast);border-radius:var(--radius-md)}.close-button:hover{color:var(--text-primary);background:var(--background-gray)}.waiting-list-banner{display:flex;align-items:flex-start;gap:var(--spacing-4);background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:var(--radius-lg);padding:var(--spacing-5);margin:var(--spacing-4) var(--spacing-6);margin-bottom:0}.waiting-list-banner .banner-icon{font-size:1.75rem;flex-shrink:0}.waiting-list-banner .banner-content{flex:1}.waiting-list-banner .banner-content strong{display:block;color:#92400e;font-size:var(--text-base);margin-bottom:var(--spacing-1)}.waiting-list-banner .banner-content p{margin:0;color:#a16207;font-size:var(--text-sm);line-height:1.5}.submit-button.waitlist-button{background:linear-gradient(135deg,#f59e0b,#d97706)}.submit-button.waitlist-button:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.status-full{display:inline-block;background:#fee2e2;color:#dc2626;padding:2px 8px;border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-sm)}.booking-form{padding:var(--spacing-6) var(--spacing-8) var(--spacing-8);background:var(--white)}.course-info-section{background:var(--primary-color);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-8);color:#fff!important;box-shadow:var(--shadow-md)}.course-info-section h3{margin:0 0 var(--spacing-5) 0;font-size:var(--text-xl);font-weight:700;color:#fff!important}.course-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.course-detail{display:flex;flex-direction:column;gap:var(--spacing-1);background:#ffffff1f;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.15)}.course-info-section .detail-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#fff!important;opacity:.9}.course-info-section .detail-value{font-size:var(--text-sm);font-weight:600;color:#fff!important}.form-section{margin-bottom:var(--spacing-8);background:var(--background-gray);padding:var(--spacing-6);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.form-section:last-of-type{margin-bottom:var(--spacing-6)}.form-section h3{margin:0 0 var(--spacing-1) 0;font-size:1.125rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.section-subtitle{margin:0 0 var(--spacing-5) 0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-5);margin-bottom:var(--spacing-5)}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-2);letter-spacing:-.01em}.form-group input,.form-group textarea,.form-group select,.form-select{padding:.75rem 1rem;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white)!important;color:var(--text-primary);box-shadow:0 1px 2px #0000000a;line-height:1.5}.form-group select,.form-select{cursor:pointer}.field-hint{margin-top:var(--spacing-2);font-size:.875rem;color:var(--text-secondary);font-weight:400;line-height:1.5}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-group input.error{border-color:var(--error-color)}.form-group textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:center;font-size:.9375rem;color:var(--text-primary);margin:var(--spacing-4) 0;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.5}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin-right:var(--spacing-3);cursor:pointer;accent-color:var(--primary-color);flex-shrink:0}.participants-list{margin-bottom:var(--spacing-4)}.participant-card{background:transparent!important;border:none!important;border-radius:0;padding:0;margin-bottom:var(--spacing-6);pointer-events:auto;box-shadow:none!important}.participant-card:hover{background:transparent!important;border:none!important;box-shadow:none!important}.participant-card h4{margin:0 0 var(--spacing-4) 0;font-size:.9375rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.remove-participant-btn{background:var(--white);border:1px solid var(--error-color);color:var(--error-color);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-3)}.remove-participant-btn:hover{background:var(--error-light)}.add-participant-btn{width:100%;background:var(--white);border:2px dashed var(--border-color);color:var(--text-secondary);padding:var(--spacing-4);border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.add-participant-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-light)}.error-message{color:var(--error-color);font-size:.8125rem;margin:var(--spacing-2) 0 0 0}.error-banner{background:var(--error-light);border:1px solid var(--error-color);color:var(--error-dark);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);font-size:var(--text-sm)}.form-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end;padding-top:var(--spacing-6);margin-top:var(--spacing-6);border-top:1px solid var(--border-light)}.cancel-button,.submit-button{padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none;letter-spacing:-.01em}.cancel-button{background:var(--white);color:var(--text-secondary);border:1.5px solid var(--border-color)}.cancel-button:hover:not(:disabled){background:var(--background-gray);border-color:var(--text-secondary)}.submit-button{background:var(--primary-button-color);color:var(--text-on-button, #ffffff);min-width:180px;box-shadow:0 1px 3px #0000001f}.submit-button:hover:not(:disabled){background:var(--button-hover);box-shadow:0 2px 6px #00000026}.submit-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.booking-details-row{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-6);align-items:start}.accommodation-option{min-width:200px}.accommodation-label{display:block;margin-bottom:var(--spacing-2);font-weight:600;color:var(--text-primary);font-size:.9375rem;letter-spacing:-.01em}.cabin-selection-section{margin-top:var(--spacing-5);padding:0;background:var(--background-gray);border-radius:var(--radius-md);border:1px solid var(--border-light)}.cabin-price{color:var(--success-color);font-weight:600;margin-top:var(--spacing-2);font-size:.9375rem}.loading-text{color:var(--text-muted);font-style:italic;margin:var(--spacing-2) 0}.info-text{color:var(--text-secondary);margin:var(--spacing-3) 0;font-size:.875rem;line-height:1.6}@media (max-width: 640px){.booking-form-overlay{padding:0}.booking-form-container{max-height:100vh;max-width:100%;border-radius:0}.booking-form-header,.booking-form,.course-info-section{padding:var(--spacing-4)}.course-details-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0;margin-bottom:var(--spacing-3)}.form-section{margin-bottom:var(--spacing-6)}.form-actions{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}.booking-details-row{grid-template-columns:1fr;gap:var(--spacing-4)}.accommodation-option{min-width:auto}}.public-booking-page{min-height:100vh;background:var(--bg-secondary)}.page-header{background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);color:var(--text-on-primary);padding:var(--spacing-12) var(--spacing-6);text-align:center;position:relative;overflow:hidden}.public-booking-page .page-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.page-header h1{font-size:var(--text-4xl);font-weight:700;margin:0 0 var(--spacing-3) 0;color:var(--text-on-primary);position:relative;z-index:1}.page-header p{font-size:var(--text-lg);opacity:.9;margin:0;color:var(--text-on-primary);position:relative;z-index:1}.school-logo{width:100px;height:100px;object-fit:contain;margin-bottom:var(--spacing-6);background:#fff;padding:var(--spacing-3);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);position:relative;z-index:1}.page-content{max-width:1200px;margin:0 auto;padding:var(--spacing-8) var(--spacing-6)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-6)}.course-card{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden;transition:var(--transition-normal)}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.course-card-header{background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);color:var(--text-on-primary);padding:var(--spacing-5) var(--spacing-6)}.course-card-header h3{font-size:var(--text-lg);font-weight:600;margin:0 0 var(--spacing-2) 0;color:var(--text-on-primary)}.course-card-header p{font-size:var(--text-sm);opacity:.9;margin:0;color:var(--text-on-primary)}.course-card-body{padding:var(--spacing-6)}.course-details{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-5)}.course-detail{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--text-sm);color:var(--text-secondary)}.course-detail svg,.course-detail .icon{color:var(--primary-color);flex-shrink:0}.course-price{font-size:var(--text-2xl);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-4)}.book-button{width:100%;background:var(--primary-button-color);color:var(--text-on-button);padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-lg);border:none;font-size:var(--text-base);font-weight:600;cursor:pointer;transition:var(--transition-normal)}.book-button:hover:not(:disabled){background:var(--button-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.book-button:disabled{background:var(--text-disabled);cursor:not-allowed}.course-badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.course-badge.online{background:#17a2b81a;color:var(--info)}.course-badge.in-person{background:#667eea1a;color:var(--primary-color)}.course-badge.full{background:#dc35451a;color:var(--error)}.course-badge.available{background:#28a7451a;color:var(--success)}.success-banner{position:fixed;top:var(--spacing-6);right:var(--spacing-6);background:var(--success);color:#fff;padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:var(--spacing-3);z-index:var(--z-toast);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.success-banner .icon{font-size:var(--text-xl)}.success-banner p{margin:0;font-weight:500}.loading-state{text-align:center;padding:var(--spacing-16);color:var(--text-secondary)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:var(--radius-full);animation:spin .8s linear infinite;margin:0 auto var(--spacing-4)}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:var(--spacing-16);color:var(--error)}.error-state h3{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--spacing-3)}.empty-state{text-align:center;padding:var(--spacing-16);color:var(--text-secondary)}.empty-state h3{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-3)}.empty-state p{font-size:var(--text-base);margin:0}.page-footer{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:var(--spacing-8) var(--spacing-6);text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}@media (max-width: 768px){.page-header{padding:var(--spacing-8) var(--spacing-4)}.page-header h1{font-size:var(--text-2xl)}.page-header p{font-size:var(--text-base)}.school-logo{width:80px;height:80px}.page-content{padding:var(--spacing-6) var(--spacing-4)}.course-grid{grid-template-columns:1fr;gap:var(--spacing-5)}.success-banner{top:auto;right:auto;bottom:var(--spacing-5);left:var(--spacing-5);right:var(--spacing-5)}}.admin-booking-page{width:100%;margin:0;padding:var(--spacing-6);box-sizing:border-box}.admin-booking-page .page-header{background:var(--primary-color)!important;color:var(--text-on-primary);padding:var(--spacing-5) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.admin-booking-page .page-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.admin-booking-page .page-header h1{margin:0;font-size:var(--heading-size);font-weight:var(--heading-weight);color:#fff!important;position:relative;z-index:1;text-align:var(--heading-align)}.admin-booking-page .page-header p{margin:0;font-size:14px;opacity:.9;color:#fff!important;position:relative;z-index:1;text-align:var(--heading-align)}.header-content{display:block;position:relative;z-index:1}.success-banner{position:fixed;top:20px;right:20px;background:#fff;border-left:4px solid #4caf50;border-radius:4px;box-shadow:0 4px 12px #00000026;padding:16px 20px;z-index:2000;animation:slideIn .3s ease-out}.success-content{display:flex;align-items:flex-start;gap:16px}.success-checkmark{color:#4caf50;font-size:24px;font-weight:700;flex-shrink:0}.success-text{flex:1}.success-text strong{display:block;margin-bottom:4px;color:#1a1a1a}.success-text p{margin:0;font-size:13px;color:#666}.page-content{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start;padding:0;width:100%;max-width:none;box-sizing:border-box}.main-content{width:100%;min-width:0;padding:0}.filter-sidebar{position:sticky;top:24px}.filter-panel{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e8e8e8}.filter-panel-title{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:2px solid var(--primary-color);display:flex;align-items:center;gap:8px}.filter-panel-title:before{content:"🔍";font-size:18px}.filter-section{background:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e8e8e8;margin-bottom:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.filter-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.filter-group:last-of-type{margin-bottom:0}.filter-label{font-size:13px;font-weight:600;color:var(--text-primary)}.filter-label .required{color:var(--primary-color)}.filter-select{padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.filter-select:hover{border-color:var(--primary-color)}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.filter-info{padding-top:16px;margin-top:16px;border-top:1px solid #f0f0f0}.info-text{margin:0;font-size:12px;color:#9ca3af;line-height:1.5}.selection-prompt{text-align:center;padding:80px 32px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;border:1px solid #e8e8e8;width:100%;box-sizing:border-box}.prompt-icon{font-size:64px;margin-bottom:16px}.selection-prompt h3{margin:0 0 12px;font-size:24px;font-weight:600;color:var(--text-primary)}.selection-prompt p{margin:0;font-size:15px;color:#6b7280}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.clear-filter-btn{padding:8px 16px;background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.clear-filter-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.courses-section h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.schedules-grid{display:flex;flex-wrap:wrap;gap:20px;width:100%;box-sizing:border-box}.schedules-grid>*{flex:1 1 280px;max-width:340px}.schedules-section{width:100%;box-sizing:border-box}.no-courses{text-align:center;padding:80px 32px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;border:1px solid #e8e8e8;width:100%;box-sizing:border-box}.no-courses h3{margin:0 0 12px;font-size:24px;font-weight:600;color:var(--text-primary)}.no-courses p{margin:0;font-size:15px;color:#6b7280}.loading-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;color:#6b7280;margin-top:32px}.error-message{padding:20px;background:#ffebee;border:1px solid #ffcdd2;color:#c62828;border-radius:4px;text-align:center;margin:20px}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 1024px){.page-content{grid-template-columns:1fr}.filter-sidebar{position:static;order:-1}.filter-panel{margin-bottom:0}}@media (max-width: 768px){.admin-booking-page{padding:var(--spacing-4)}.page-header{padding:20px;border-radius:8px}.header-content{flex-direction:column;align-items:flex-start;gap:4px}.header-content h1{font-size:24px}.filter-panel{padding:16px}.schedules-grid>*{max-width:100%}}@media (max-width: 640px){.page-header{padding:16px;margin-bottom:16px}.header-content h1{font-size:22px}.header-content p{font-size:13px}.page-content,.schedules-grid{gap:16px}.schedules-grid>*{flex:1 1 100%;max-width:100%}.success-banner{top:auto;right:16px;bottom:16px;left:16px}}.bookings-page{padding:var(--spacing-6);max-width:1600px;margin:0 auto;color:var(--text-primary)}.bookings-page .page-header{background:var(--primary-color)!important;color:var(--text-on-primary);padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.bookings-page .page-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.bookings-page .page-header h1{font-size:var(--heading-size);font-weight:var(--heading-weight);color:#fff!important;margin:0 0 var(--spacing-1) 0;position:relative;z-index:1;text-align:var(--heading-align)}.bookings-page .page-header .page-subtitle{font-size:var(--text-base);color:#fff!important;opacity:.95;margin:0;position:relative;z-index:1}.header-content{position:relative;z-index:1;display:block}.btn-create{background:var(--primary-button-color);color:var(--text-on-button, white);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.btn-create:hover{background:var(--button-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-create:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.bookings-controls{display:flex;justify-content:space-between;gap:var(--spacing-3);align-items:center;margin-bottom:var(--spacing-4);flex-wrap:wrap}.search-box{flex:1;min-width:300px;position:relative}.search-box:before{content:"🔍";position:absolute;left:var(--spacing-3);top:50%;transform:translateY(-50%);pointer-events:none;font-size:var(--text-sm);color:var(--text-secondary)}.search-box input{width:100%;padding:var(--spacing-2) var(--spacing-3) var(--spacing-2) var(--spacing-8);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm)}.filter-group{display:flex;align-items:center;gap:var(--spacing-2)}.filter-group label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.filter-group select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);background:#fff}.btn-refresh{padding:var(--spacing-2) var(--spacing-4);background:var(--primary-color);color:var(--text-on-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:opacity .2s}.btn-refresh:hover{opacity:.9}.bookings-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.summary-stat{background:#fff;padding:var(--spacing-4);border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-2)}.stat-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--primary-color)}.bookings-table-container{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.bookings-table{width:100%;border-collapse:collapse}.bookings-table thead{background:var(--background-gray);border-bottom:2px solid var(--border-color)}.bookings-table th{padding:var(--spacing-3) var(--spacing-4);text-align:left;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.bookings-table tbody tr{border-bottom:1px solid var(--border-light);transition:background .2s}.bookings-table tbody tr:hover{background:var(--background-light)}.bookings-table td{padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-sm);color:var(--text-primary, #1a202c)}.booking-id{font-family:Courier New,monospace;font-size:var(--text-xs);color:var(--text-secondary)}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.contact-name{font-weight:500;color:var(--text-primary, #1a202c)}.contact-email{font-size:var(--text-xs);color:var(--text-secondary, #4a5568)}.course-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.course-name{font-weight:500;color:var(--text-primary, #1a202c)}.vessel-name{font-size:var(--text-xs);color:var(--text-secondary, #4a5568)}.date-range{white-space:nowrap;font-size:var(--text-sm)}.participants-count{text-align:center;font-weight:600}.amount{font-weight:600;color:var(--success-color)}.status-badge{display:inline-block;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-confirmed{background:var(--success-alpha-20);color:var(--success-color)}.status-pending{background:var(--warning-alpha-20);color:var(--warning-color)}.status-cancelled{background:var(--error-alpha-20);color:var(--error-color)}.status-completed{background:var(--info-alpha-20);color:var(--info-color)}.status-default{background:var(--background-gray);color:var(--text-secondary)}.created-date{font-size:var(--text-xs);color:var(--text-secondary)}.actions{text-align:center}.btn-view{padding:var(--spacing-1) var(--spacing-3);background:var(--primary-color);color:var(--text-on-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:opacity .2s}.btn-view:hover{opacity:.9}.empty-state,.loading-state,.error-state{text-align:center;padding:var(--spacing-12);color:var(--text-secondary)}.error-state button{margin-top:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4);background:var(--primary-color);color:var(--text-on-primary);border:none;border-radius:var(--radius-md);cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-4)}.booking-details-modal{background:#fff;border-radius:var(--radius-lg);max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6) var(--spacing-6) var(--spacing-5);background:var(--white);border-bottom:none}.modal-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1a202c);letter-spacing:-.02em}.btn-close{background:none;border:none;font-size:var(--text-3xl);color:var(--text-secondary);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background .2s}.btn-close:hover{background:var(--background-gray)}.modal-body{padding:0 var(--spacing-6) var(--spacing-6);overflow-y:auto;flex:1;background:var(--background-gray);color:var(--text-primary, #1a202c)}.detail-section{margin-bottom:var(--spacing-5);background:var(--white, #ffffff);border-radius:var(--radius-lg);padding:var(--spacing-5);border:1px solid var(--border-light);color:var(--text-primary, #1a202c)}.detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1a202c);margin-bottom:var(--spacing-4);padding-bottom:0;border-bottom:none;text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4) var(--spacing-8)}.detail-item{display:grid;grid-template-columns:120px 1fr;gap:var(--spacing-3);align-items:baseline}.detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #4a5568)!important;margin-bottom:0;text-align:left}.detail-value{font-size:.9375rem;color:var(--text-primary, #1a202c)!important;font-weight:500;line-height:1.5;margin-top:0;word-break:break-word}.participants-list{display:grid;gap:var(--spacing-3)}.participant-card{background:var(--background-gray);border-radius:var(--radius-md);padding:var(--spacing-4);border:1px solid var(--border-color);transition:border-color .2s}.participant-card:hover{border-color:var(--primary-color)}.participant-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3);padding-bottom:0;border-bottom:none}.participant-number{background:var(--primary-color);color:var(--text-on-primary);padding:.25rem .625rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:700;min-width:32px;text-align:center}.participant-name{font-size:.9375rem;font-weight:600;color:var(--text-primary, #1a202c)}.participant-course-badge{font-size:.75rem;font-weight:500;color:var(--primary-color, #667eea);background:linear-gradient(135deg,#e6f0fa,#d4e5f7);padding:4px 10px;border-radius:12px;border:1px solid #b8d4f0;margin-left:auto}.participant-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-3) var(--spacing-4)}.participant-detail{display:flex;flex-direction:column;gap:var(--spacing-1)}.participant-detail span:first-child{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #4a5568)}.participant-detail span:last-child{font-size:var(--text-sm);color:var(--text-primary, #1a202c)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-5) var(--spacing-6);background:var(--white);border-top:1px solid var(--border-light)}.btn-cancel-booking{padding:var(--spacing-2) var(--spacing-4);background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:opacity .2s}.btn-cancel-booking:hover{opacity:.9}.btn-secondary{padding:var(--spacing-2) var(--spacing-4);background:var(--background-gray);color:var(--text-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:var(--border-color)}.confirm-modal{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-6);max-width:450px;box-shadow:var(--shadow-xl)}.confirm-modal h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-3) 0}.confirm-modal p{font-size:.9375rem;color:var(--text-secondary);margin:0 0 var(--spacing-5) 0;line-height:1.6}.confirm-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end}@media (max-width: 768px){.bookings-page{padding:var(--spacing-4)}.bookings-controls{flex-direction:column;align-items:stretch}.search-box{min-width:100%}.bookings-table-container{overflow-x:auto}.bookings-table{min-width:800px}.detail-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column-reverse}.btn-cancel-booking,.btn-secondary{width:100%}}.embed-settings-page{max-width:1000px;margin:0 auto}.page-header{background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);color:#fff;padding:40px;border-radius:12px;margin-bottom:32px;box-shadow:var(--shadow-lg)}.page-header h1{margin:0 0 8px;font-size:32px;font-weight:700}.page-header p{margin:0;opacity:.95;font-size:16px}.loading-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;color:#6b7280}.embed-content{padding-bottom:40px}.embed-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e8e8e8;overflow:hidden}.card-section{padding:32px;border-bottom:1px solid #f0f0f0}.card-section:last-child{border-bottom:none}.card-section h2{margin:0 0 8px;font-size:20px;font-weight:700;color:var(--text-primary)}.section-description{margin:0 0 24px;color:#6b7280;font-size:14px}.embed-options{display:flex;flex-direction:column;gap:12px}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease}.radio-option:hover{border-color:var(--primary-color);background:var(--primary-light)}.radio-option input[type=radio]{margin-top:2px;cursor:pointer;accent-color:var(--primary-color)}.option-content{flex:1}.option-title{font-weight:600;color:var(--text-primary);font-size:15px;margin-bottom:4px}.option-description{font-size:13px;color:#6b7280}.course-selector-section{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.input-label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.course-select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.course-select:hover{border-color:var(--primary-color)}.course-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.code-block-wrapper{margin-bottom:24px}.code-block-wrapper:last-child{margin-bottom:0}.code-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.code-label{font-size:13px;font-weight:600;color:#6b7280}.copy-btn{padding:6px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.copy-btn:hover{background:var(--secondary-color);transform:translateY(-1px)}.copy-btn.copied{background:#16a34a}.code-block{background:#1e293b;color:#e2e8f0;padding:16px;border-radius:8px;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6}.code-block code{white-space:nowrap}.code-block pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.info-section{background:#f9fafb}.info-grid{display:grid;gap:20px}.info-icon{font-size:28px;flex-shrink:0}.info-text strong{display:block;font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.info-text p{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.preview-section{text-align:center}.preview-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:15px;transition:all .2s ease}.preview-btn:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@media (max-width: 768px){.page-header{padding:24px 20px;border-radius:0}.page-header h1{font-size:24px}.card-section{padding:24px 20px}.code-block{font-size:11px;padding:12px}.info-grid{gap:16px}.info-icon{font-size:24px}}.pathways-page{max-width:1400px;margin:0 auto;padding:var(--spacing-6)}.pathways-header{display:flex;justify-content:space-between;align-items:flex-start;background:var(--primary-color);padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-md);position:relative;overflow:hidden;gap:var(--spacing-6)}.pathways-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:100%;background:var(--secondary-color);clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.pathways-header h1{font-size:var(--heading-size);font-weight:var(--heading-weight);color:#fff!important;margin:0 0 var(--spacing-1) 0;position:relative;z-index:1;text-align:var(--heading-align)}.subtitle{color:#fff!important;font-size:var(--text-base);margin:0;opacity:.95;position:relative;z-index:1;text-align:var(--heading-align)}.pathways-toolbar{display:flex;justify-content:flex-start;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.pathways-toolbar .btn-primary,.pathways-toolbar .btn-secondary{flex:0 0 auto;width:auto!important}.header-actions{display:flex;gap:var(--spacing-4);position:relative;z-index:1}.btn-primary,.btn-secondary{display:inline-block;flex:0 0 auto;width:auto;padding:var(--spacing-2) var(--spacing-4);border:none;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.btn-primary{background:var(--primary-button-color);color:var(--text-on-button, white)}.btn-primary:hover{background:var(--button-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-primary);color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);color:#fff}.empty-state{text-align:center;padding:var(--spacing-16) var(--spacing-8);background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-4);opacity:.5}.empty-state h3{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-2) 0}.empty-state p{font-size:var(--text-base);color:var(--text-secondary);margin:0}.pathways-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--spacing-6)}.pathway-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:var(--transition-normal);display:flex;flex-direction:column;gap:var(--spacing-5)}.pathway-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.pathway-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:2px solid var(--border-color)}.pathway-card-header h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-2) 0}.pathway-description{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5}.pathway-badge{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;background:#28a7451a;color:var(--success);white-space:nowrap}.pathway-courses-list{flex:1;display:flex;flex-direction:column;gap:var(--spacing-3)}.pathway-course-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--bg-secondary);border-radius:var(--radius-lg);font-size:var(--text-sm)}.course-number{width:28px;height:28px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--text-on-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-sm);flex-shrink:0}.course-name{flex:1;font-weight:500;color:var(--text-primary)}.course-arrow{color:var(--text-disabled);font-size:var(--text-lg)}.no-courses{text-align:center;padding:var(--spacing-6);color:var(--text-disabled);font-style:italic}.pathway-card-actions{display:flex;gap:var(--spacing-3);padding-top:var(--spacing-4);border-top:1px solid var(--border-color)}.btn-edit,.btn-delete{flex:1;padding:var(--spacing-3);border:none;border-radius:var(--radius-lg);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast)}.btn-edit{background:var(--primary-alpha-10);color:var(--primary-color)}.btn-edit:hover{background:var(--primary-color);color:var(--text-on-button)}.btn-delete{background:#dc35451a;color:var(--error)}.btn-delete:hover{background:var(--error);color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-6)}.modal-content{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6) var(--spacing-8);border-bottom:2px solid var(--border-color)}.modal-header h2{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0}.close-btn{background:var(--bg-secondary);border:none;width:40px;height:40px;border-radius:var(--radius-lg);font-size:var(--text-xl);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}form{padding:var(--spacing-6) var(--spacing-8)}.form-section{margin-bottom:var(--spacing-6)}.form-section h3{font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-4) 0;padding-bottom:var(--spacing-3);border-bottom:2px solid var(--primary-color)}.help-text{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--spacing-4) 0}.form-group{margin-bottom:var(--spacing-5)}.form-group label{display:block;font-weight:600;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-2)}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary);transition:var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-group textarea{resize:vertical;font-family:inherit;min-height:100px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-5)}.checkbox-label{display:flex!important;align-items:center;gap:var(--spacing-2);cursor:pointer;margin-top:var(--spacing-2)}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.course-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-5);margin-top:var(--spacing-4)}.available-courses,.selected-courses{border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--spacing-4);background:var(--bg-secondary)}.available-courses h4,.selected-courses h4{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);margin:0 0 var(--spacing-4) 0;text-transform:uppercase;letter-spacing:.5px}.course-list{display:flex;flex-direction:column;gap:var(--spacing-2);max-height:300px;overflow-y:auto}.course-item{padding:var(--spacing-3);background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-fast);font-size:var(--text-sm)}.course-item:hover{border-color:var(--primary-color);background:var(--primary-alpha-10)}.course-item.selected{display:flex;align-items:center;gap:var(--spacing-3);cursor:default}.course-item.selected:hover{background:var(--bg-primary);border-color:var(--border-color)}.course-order{width:24px;height:24px;border-radius:var(--radius-full);background:var(--primary-color);color:var(--text-on-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-xs);flex-shrink:0}.course-name-text{flex:1;font-weight:500;color:var(--text-primary)}.course-controls{display:flex;gap:var(--spacing-1)}.btn-move,.btn-remove{padding:var(--spacing-1) var(--spacing-2);border:none;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast);font-weight:700}.btn-move:hover:not(:disabled){background:var(--primary-color);color:var(--text-on-button)}.btn-move:disabled{opacity:.3;cursor:not-allowed}.btn-remove{color:var(--error)}.btn-remove:hover{background:var(--error);color:#fff}.empty-list{text-align:center;padding:var(--spacing-8) var(--spacing-4);color:var(--text-disabled);font-style:italic;font-size:var(--text-sm)}.form-actions{display:flex;gap:var(--spacing-4);justify-content:flex-end;padding-top:var(--spacing-6);border-top:2px solid var(--border-color)}.btn-cancel,.btn-submit{padding:var(--spacing-3) var(--spacing-8);border:none;border-radius:var(--radius-lg);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast)}.btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-cancel:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-submit{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--text-on-button);box-shadow:var(--shadow-md)}.btn-submit:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.loading{text-align:center;padding:var(--spacing-16) var(--spacing-8);font-size:var(--text-base);color:var(--text-secondary)}@media (max-width: 1024px){.pathways-grid,.course-selection{grid-template-columns:1fr}}@media (max-width: 768px){.pathways-page{padding:var(--spacing-4)}.pathways-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}.form-row{grid-template-columns:1fr}.modal-content{border-radius:0;max-height:100vh}.modal-header,form{padding:var(--spacing-5)}}.registration-form-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden}.registration-form-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);padding:40px;color:#fff;text-align:center}.registration-form-header h1{margin:0 0 12px;font-size:32px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.course-description{margin:0;font-size:16px;opacity:.95;line-height:1.6}.enrolment-heading{margin:24px 0 16px;font-size:24px;font-weight:600;color:#fff}.price-display{display:inline-flex;align-items:baseline;gap:8px;background:#ffffff26;padding:12px 24px;border-radius:8px;font-size:36px;font-weight:700;color:#fff;border:2px solid rgba(255,255,255,.25);margin-top:8px}.per-student{font-size:16px;font-weight:400;opacity:.9}.registration-form-content{padding:32px 40px 40px}.form-group{margin-bottom:28px}.form-group label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:#1a1a1a}.form-group label .required{color:#ef4444;margin-left:4px}.form-select,.form-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;font-family:inherit;transition:all .2s;background:#fff}.form-select:focus,.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-select:hover,.form-input:hover{border-color:#bbb}.student-count-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:24px;margin-bottom:32px;border:2px solid #e0e0e0}.student-count-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#1a1a1a}.participants-section{margin-bottom:32px}.participants-section>h3{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--primary-color);display:flex;align-items:center;gap:8px}.participant-card{background:#fafafa;border:2px solid #e8e8e8;border-radius:12px;padding:24px;margin-bottom:20px;transition:all .2s}.participant-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000000f}.participant-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.participant-number{background:var(--primary-color);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}.participant-header h4{margin:0;font-size:18px;font-weight:600;color:#1a1a1a;flex:1}.primary-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-row-thirds{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}.form-full{grid-column:1 / -1}textarea.form-input{min-height:80px;resize:vertical;font-family:inherit}.billing-section{background:linear-gradient(135deg,#fff9e6,#fff3d1);border:2px solid #ffd966;border-radius:12px;padding:24px;margin-bottom:32px}.billing-section h3{margin:0 0 20px;font-size:20px;font-weight:600;color:#1a1a1a;display:flex;align-items:center;gap:8px}.payment-section{margin-bottom:32px}.payment-section h3{margin:0 0 16px;font-size:20px;font-weight:600;color:var(--primary-color)}.payment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.payment-option{position:relative}.payment-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.payment-option label{display:block;padding:16px;border:2px solid #e0e0e0;border-radius:8px;text-align:center;cursor:pointer;transition:all .2s;font-weight:500;background:#fff}.payment-option input:checked+label{border-color:var(--primary-color);background:linear-gradient(135deg,#667eea1a,#764ba21a);color:var(--primary-color);font-weight:600}.payment-option label:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.summary-section{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:12px;padding:28px;margin-bottom:32px;color:#fff}.summary-section h3{margin:0 0 20px;font-size:22px;font-weight:600;color:#fff}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2)}.summary-row:last-child{border-bottom:none;padding-top:16px;margin-top:8px;border-top:2px solid rgba(255,255,255,.3)}.summary-label{font-size:15px;opacity:.9}.summary-value{font-weight:600;font-size:16px}.total-row .summary-label{font-size:18px;font-weight:600;opacity:1}.total-row .summary-value{font-size:28px;font-weight:700}.terms-section{margin-bottom:24px}.checkbox-wrapper{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0;transition:all .2s}.checkbox-wrapper:hover{border-color:var(--primary-color)}.checkbox-wrapper input[type=checkbox]{margin-top:4px;width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-wrapper label{cursor:pointer;font-size:14px;line-height:1.6;color:#4a5568;flex:1;margin:0;font-weight:400}.form-actions{display:flex;gap:12px;margin-top:32px}.btn{flex:1;padding:14px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:#666;border:2px solid #e0e0e0}.btn-secondary:hover{background:#f8f9fa;border-color:#bbb}.registration-form-loading{display:flex;align-items:center;justify-content:center;padding:80px 40px;font-size:18px;color:#666}.registration-success{text-align:center;padding:80px 40px;background:#fff;border-radius:12px}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:48px;margin:0 auto 24px;box-shadow:0 8px 24px #10b9814d}.registration-success h2{margin:0 0 12px;font-size:28px;font-weight:700;color:#1a1a1a}.registration-success p{margin:0;font-size:16px;color:#666;line-height:1.6}.registration-form-error,.no-courses-message{text-align:center;padding:60px 40px;background:#fff;border-radius:12px;border:2px solid #fee}.registration-form-error h3,.no-courses-message h3{margin:0 0 12px;font-size:24px;font-weight:600;color:#dc2626}.registration-form-error p,.no-courses-message p{margin:0;font-size:15px;color:#666}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;padding:12px 16px;margin-bottom:20px;color:#dc2626;font-size:14px}@media (max-width: 768px){.registration-form-header{padding:32px 24px}.registration-form-header h1{font-size:24px}.enrolment-heading{font-size:20px}.price-display{font-size:28px;padding:10px 20px}.registration-form-content{padding:24px}.form-row,.form-row-thirds,.payment-options{grid-template-columns:1fr}.form-actions{flex-direction:column}.participant-card,.summary-section{padding:20px}}@media (max-width: 480px){.registration-form-header{padding:24px 20px}.registration-form-header h1{font-size:20px}.price-display{font-size:24px}.registration-form-content{padding:20px}}.online-course-page{min-height:100vh;background:#f1f5f9;padding:40px 20px}.page-container{max-width:900px;margin:0 auto}.public-online-course-page{min-height:100vh;background:#f1f5f9;padding:20px}.public-container{max-width:900px;margin:0 auto}.error-container{background:#fff;border-radius:8px;padding:40px;text-align:center;box-shadow:0 1px 3px #0000001a}.error-container h2{color:#dc2626;margin-bottom:16px}.error-container p{color:#6b7280;font-size:16px}body.public-embed nav,body.public-embed header,body.public-embed .sidebar{display:none!important}.admin-page{padding:24px;max-width:1200px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.admin-header h1{font-size:24px;font-weight:600;color:#1e293b;margin:0}.admin-header p{color:#64748b;font-size:14px;margin:4px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 2px 8px #00000014}.stat-card .stat-label{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.stat-card .stat-value{font-size:28px;font-weight:700;color:#1e293b}.stat-card .stat-value.green{color:#16a34a}.stat-card .stat-value.blue{color:#2563eb}.stat-card .stat-value.amber{color:#d97706}.admin-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;overflow:hidden}.admin-card-header{padding:16px 20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.admin-card-header h2{font-size:16px;font-weight:600;color:#1e293b;margin:0}.admin-card-body{padding:20px}.btn-admin{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,opacity .15s}.btn-admin:disabled{opacity:.5;cursor:not-allowed}.btn-admin-primary{background-color:#2563eb;color:#fff}.btn-admin-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-admin-success{background-color:#16a34a;color:#fff}.btn-admin-success:hover:not(:disabled){background-color:#15803d}.btn-admin-danger{background-color:#dc2626;color:#fff}.btn-admin-danger:hover:not(:disabled){background-color:#b91c1c}.btn-admin-secondary{background-color:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.btn-admin-secondary:hover:not(:disabled){background-color:#e2e8f0}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;padding:12px 16px;background-color:#f8fafc;color:#64748b;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0;white-space:nowrap}.admin-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;color:#374151}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background-color:#f8fafc}.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.badge-active{background-color:#dcfce7;color:#16a34a}.badge-inactive{background-color:#f3f4f6;color:#6b7280}.badge-pending{background-color:#fef3c7;color:#d97706}.badge-paid{background-color:#dcfce7;color:#16a34a}.badge-failed{background-color:#fee2e2;color:#dc2626}.badge-billed{background-color:#dbeafe;color:#2563eb}.badge-refunded{background-color:#f3f4f6;color:#6b7280}.admin-search{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;width:240px;outline:none}.admin-search:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.admin-form-group{margin-bottom:16px}.admin-form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.admin-form-group input,.admin-form-group select{width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;box-sizing:border-box;outline:none}.admin-form-group input:focus,.admin-form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.admin-form-group .form-hint{font-size:12px;color:#64748b;margin-top:4px}.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-loading{text-align:center;padding:60px 20px;color:#64748b}.admin-empty{text-align:center;padding:40px 20px;color:#94a3b8}.admin-alert{padding:12px 16px;border-radius:6px;font-size:14px;margin-bottom:16px}.admin-alert-success{background-color:#dcfce7;color:#16a34a;border:1px solid #bbf7d0}.admin-alert-error{background-color:#fee2e2;color:#dc2626;border:1px solid #fecaca}.admin-alert-info{background-color:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.admin-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.admin-filters select{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;outline:none;background:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.pricing-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:border-color .2s}.pricing-card:hover{border-color:#2563eb}.pricing-card-header{padding:12px 16px;background:#f1f5f9;display:flex;justify-content:space-between;align-items:center}.pricing-region{font-weight:600;color:#1e293b;font-size:14px}.pricing-currency{font-size:12px;color:#64748b;background:#e2e8f0;padding:2px 8px;border-radius:4px}.pricing-card-body{padding:16px;text-align:center}.pricing-input-wrapper{display:flex;align-items:center;justify-content:center;gap:4px}.currency-symbol{font-size:20px;font-weight:600;color:#64748b}.pricing-input{width:100px;font-size:24px;font-weight:700;text-align:center;border:2px solid #e2e8f0;border-radius:6px;padding:8px;color:#1e293b;transition:border-color .2s}.pricing-input:focus{outline:none;border-color:#2563eb}.pricing-period{display:block;font-size:12px;color:#64748b;margin-top:8px}.admin-card-info{background:#f0f9ff;border-color:#bae6fd}.admin-card-info .admin-card-header{background:#e0f2fe;border-color:#bae6fd}.admin-card-info .admin-card-header h2{color:#0369a1}.info-list{display:flex;flex-direction:column;gap:20px}.info-item{display:flex;gap:16px;align-items:flex-start}.info-icon{flex-shrink:0;width:28px;height:28px;background:#0284c7;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.info-content strong{display:block;color:#0c4a6e;margin-bottom:4px}.info-content p{color:#075985;font-size:14px;margin:0;line-height:1.5}.form-help{display:block;font-size:12px;color:#64748b;margin-top:4px}@media (max-width: 768px){.admin-page{padding:16px}.admin-form-row{grid-template-columns:1fr}.admin-table{overflow-x:auto;display:block}.stats-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr 1fr}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color: #0A3456;--secondary-color: #ED2626;--primary-button-color: #0A3456;--full-course-button-color: #ED2626;--primary-hover: #082a45;--primary-light: #e6eef5;--primary-dark: #061e33;--secondary-hover: #d41f1f;--secondary-light: #fde8e8;--button-hover: #082a45;--text-on-primary: #ffffff;--text-on-secondary: #ffffff;--heading-size: 30px;--heading-weight: 700;--heading-align: left;--text-primary: #1a202c;--text-secondary: #4a5568;--text-muted: #718096;--text-light: #a0aec0;--border-color: #e2e8f0;--border-light: #edf2f7;--background-gray: #f0f4f8;--background-dark: #e5e9ed;--white: #ffffff;--bg-primary: #ffffff;--bg-secondary: #f7fafc;--success-color: #48bb78;--success-light: #c6f6d5;--success-dark: #22543d;--warning-color: #ed8936;--warning-light: #feebc8;--warning-dark: #7c2d12;--error-color: #e53e3e;--error-light: #fed7d7;--error-dark: #742a2a;--info-color: #4299e1;--info-light: #bee3f8;--info-dark: #2a4365;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .12), 0 4px 6px rgba(0, 0, 0, .08);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15), 0 10px 10px rgba(0, 0, 0, .08);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .08);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Monaco", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--background-gray);line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:var(--text-secondary);line-height:1.6}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-hover)}button,.btn{font-family:var(--font-sans);font-weight:600;border-radius:var(--radius-md);transition:all .2s ease;cursor:pointer;border:none;outline:none}.btn-primary,button.btn-primary{background:var(--primary-button-color);color:var(--white);padding:var(--spacing-sm) var(--spacing-lg);box-shadow:var(--shadow-sm)}.btn-primary:hover,button.btn-primary:hover{background:var(--button-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary,button.btn-secondary{background:var(--secondary-color);color:var(--white);padding:var(--spacing-sm) var(--spacing-lg);box-shadow:var(--shadow-sm)}.btn-secondary:hover,button.btn-secondary:hover{background:var(--secondary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success,button.btn-success{background:var(--full-course-button-color);color:var(--white);padding:var(--spacing-sm) var(--spacing-lg)}.btn-success:hover,button.btn-success:hover{background:#38a169;transform:translateY(-1px)}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);padding:var(--spacing-sm) var(--spacing-lg)}.btn-outline:hover{background:var(--primary-color);color:var(--white)}input,select,textarea{font-family:var(--font-sans);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-color);transform:translateY(-2px)}.gradient-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)}.gradient-header{background:var(--primary-color);border-bottom:3px solid var(--secondary-color)}.badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.875rem;font-weight:600}.badge-success{background:#c6f6d5;color:#22543d}.badge-warning{background:#feebc8;color:#7c2d12}.badge-error{background:#fed7d7;color:#742a2a}.loading{color:var(--text-muted);text-align:center;padding:var(--spacing-xl)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8);gap:var(--spacing-4);flex-wrap:wrap}.page-header h1{color:var(--text-primary);font-size:var(--text-2xl);margin:0;font-weight:700;text-align:var(--heading-align)}.form-container{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);margin-bottom:var(--spacing-8)}.form-container h2{color:var(--text-primary);margin:0 0 var(--spacing-5) 0;font-size:var(--text-lg);font-weight:600;padding-bottom:var(--spacing-3);border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:var(--spacing-2)}.form-container h2:before{content:"";display:block;width:4px;height:20px;background:var(--primary-color);border-radius:2px;flex-shrink:0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.form-group{margin-bottom:var(--spacing-4)}.form-group label{display:block;margin-bottom:var(--spacing-2);color:var(--text-primary);font-weight:600;font-size:var(--text-sm)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 102, 126, 234),.15)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--background-gray);color:var(--text-muted);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.field-hint{color:var(--text-muted);font-size:var(--text-xs);margin-top:var(--spacing-1);font-style:italic}.form-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-5);padding-top:var(--spacing-4);border-top:1px solid var(--border-light)}.checkbox-group{display:flex;align-items:center;gap:var(--spacing-2)}.checkbox-group label{display:flex;align-items:center;margin-bottom:0;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.toggle-section{background:var(--background-gray);padding:var(--spacing-4);border-radius:var(--radius-md);border-left:4px solid var(--primary-color)}.toggle-label{display:flex;align-items:center;gap:var(--spacing-2);color:var(--text-primary);font-weight:600;cursor:pointer;margin:0}.toggle-description{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--spacing-2) 0 0 var(--spacing-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);border:none;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;line-height:1.2}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--primary-button-color);color:var(--text-on-button, #ffffff)}.btn-primary:hover:not(:disabled){background:var(--button-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--background-gray);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--background-dark);border-color:var(--text-muted)}.btn-danger{background:var(--error-color);color:var(--white)}.btn-danger:hover:not(:disabled){background:#c53030;transform:translateY(-2px)}.btn-small{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-xs)}.btn-icon{padding:var(--spacing-2);min-width:36px;min-height:36px}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-5)}.card{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-5);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color);transform:translateY(-2px)}.card-header{display:flex;align-items:center;gap:var(--spacing-4);padding-bottom:var(--spacing-4);margin-bottom:var(--spacing-4);border-bottom:1px solid var(--border-light)}.card-header h3{color:var(--text-primary);margin:0;font-size:var(--text-base);font-weight:600}.card-body{color:var(--text-secondary);font-size:var(--text-sm)}.card-body p{margin:var(--spacing-2) 0}.card-body strong{color:var(--text-primary)}.card-actions{display:flex;gap:var(--spacing-2);padding-top:var(--spacing-4);margin-top:var(--spacing-4);border-top:1px solid var(--border-light)}.card-actions .btn{flex:1}.image-upload-container{width:80px;height:80px;border:2px dashed var(--primary-color);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--white);transition:all var(--transition-fast);position:relative;overflow:hidden;flex-shrink:0}.image-upload-container:hover{border-style:solid;border-color:var(--primary-hover);background:var(--primary-light)}.image-upload-container img{width:100%;height:100%;object-fit:cover}.image-placeholder{text-align:center;color:var(--primary-color)}.image-placeholder .image-icon{font-size:var(--text-2xl);margin-bottom:var(--spacing-1)}.image-placeholder p{margin:0;font-size:9px;color:var(--text-muted);font-weight:500}.card-image{width:70px;height:70px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--primary-color);flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.badge-primary{background:var(--primary-light);color:var(--primary-dark)}.badge-success{background:var(--success-light);color:var(--success-dark)}.badge-warning{background:var(--warning-light);color:var(--warning-dark)}.badge-error{background:var(--error-light);color:var(--error-dark)}.badge-info{background:var(--info-light);color:var(--info-dark)}.alert{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--spacing-2);border-left:4px solid}.alert-error{background:var(--error-light);color:var(--error-dark);border-color:var(--error-color)}.alert-success{background:var(--success-light);color:var(--success-dark);border-color:var(--success-color)}.alert-warning{background:var(--warning-light);color:var(--warning-dark);border-color:var(--warning-color)}.alert-info{background:var(--info-light);color:var(--info-dark);border-color:var(--info-color)}.empty-state{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-12) var(--spacing-8);text-align:center;color:var(--text-muted);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.empty-state p{margin:0;font-size:var(--text-base)}.loading{text-align:center;padding:var(--spacing-10);color:var(--text-muted);font-size:var(--text-base)}.spinner{display:inline-block;margin-right:var(--spacing-2);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.list-container{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.list-container h2{color:var(--text-primary);margin:0 0 var(--spacing-5) 0;font-size:var(--text-lg);font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-gray)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.page-header h1{font-size:var(--text-xl)}.form-container{padding:var(--spacing-4)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.grid-container{grid-template-columns:1fr;gap:var(--spacing-4)}.card{padding:var(--spacing-4)}.card-actions{flex-direction:column}}
