.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:234px;height:100vh;background:var(--white, #ffffff);border-right:1px solid var(--border-color, var(--border-color));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:216px}}.sidebar-header{padding:18px 16px;display:flex;flex-direction:column;gap:11px;background:var(--white);border-bottom:none;position:relative;overflow:hidden}.sidebar-header:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.sidebar-header:before{display: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:11px;position:relative;z-index:1}.logo-icon{font-size:25px;display:flex;align-items:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.logo-icon-modern{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--background-gray);border-radius:var(--radius-lg);border:1px solid var(--border-color);color:var(--text-primary)}.logo-icon-modern svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.logo-image{width:43px;height:43px;object-fit:contain;border-radius:var(--radius-lg, 8px);background:#fffffff2;padding:var(--spacing-2, 8px);box-shadow:var(--shadow-md)}.logo-text-container{display:flex;flex-direction:column;gap:2px}.logo-title{font-size:.62rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;line-height:1}.logo-text{font-size:.9rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;line-height:1.2}.sidebar-close{display:none;background:var(--background-gray);border:none;color:var(--text-secondary);font-size:16px;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:var(--border-color)}.sidebar-nav{flex:1;overflow-y:auto;padding:4px 0}.nav-section{margin-bottom:2px}.nav-section-label{font-family:var(--font-sans);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:10px 16px 4px}.nav-section-label.collapsible{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:none;cursor:pointer;padding:10px 16px 4px;transition:color var(--transition-fast);position:relative}.nav-section-label.collapsible:hover{color:var(--text-secondary)}.nav-section-label.collapsible.has-active{color:var(--primary-color, #2563eb)}.nav-section-label.collapsible.has-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--primary-color, #2563eb);border-radius:0 2px 2px 0}.nav-section-label.collapsible.expanded{color:var(--text-primary)}.section-chevron{display:inline-flex;align-items:center;transition:transform var(--transition-fast);opacity:.5}.section-chevron.expanded{transform:rotate(180deg)}.nav-section-label.collapsible:hover .section-chevron{opacity:1}.nav-list.collapsible-list{animation:sectionSlideDown .15s ease-out;overflow:hidden}@keyframes sectionSlideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.nav-section-divider{height:1px;background:var(--background-gray);margin:4px 16px 2px}.nav-list{list-style:none;margin:0;padding:0}.nav-list>li{margin-bottom:1px}.nav-link{display:flex;align-items:center;gap:9px;padding:8px 10px;margin:0 8px;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);font-family:var(--font-sans);font-size:.73rem;font-weight:500;line-height:1.4;border:none;background:none;cursor:pointer;width:calc(100% - 16px);text-align:left;border-radius:var(--radius-lg);position:relative}.nav-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-link.active{background:var(--background-gray);color:var(--text-primary);font-weight:600}.nav-link.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:linear-gradient(180deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.nav-link.menu-toggle{justify-content:space-between;padding-right:10px;font-family:var(--font-sans);font-size:.73rem;font-weight:500;line-height:1.4}.nav-link.menu-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-link.menu-toggle.expanded{background:var(--background-gray);color:var(--text-primary);font-weight:600}.toggle-icon{display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast);min-width:11px;color:var(--text-muted, var(--text-muted))}.toggle-icon.expanded{transform:rotate(180deg)}.nav-icon{display:inline-flex;align-items:center;justify-content:center;min-width:18px;color:inherit}.nav-label{flex:1}.submenu{list-style:none;padding:2px 0;background:transparent;border-left:none;margin:2px 0 4px;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:7px;padding:6px 10px 6px 28px;margin:1px 8px 1px 20px;color:var(--text-secondary);text-decoration:none;font-size:.68rem;font-weight:500;transition:all var(--transition-fast);border-radius:var(--radius-md);position:relative}.submenu-icon{display:inline-flex;align-items:center;justify-content:center;min-width:14px;opacity:.6}.submenu-label{flex:1}.submenu-link:hover{color:var(--text-primary);background:var(--bg-secondary)}.submenu-link.active{color:var(--text-primary);background:var(--background-gray);font-weight:600}.submenu-link.active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:0 2px 2px 0;background:linear-gradient(180deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.sidebar-footer{padding:14px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;gap:10px}.sidebar-upsell{margin:6px 12px 2px;padding:12px;background:linear-gradient(135deg,var(--info-light) 0%,var(--info-light) 50%,var(--info-light) 100%);border:1px solid var(--info-light);border-radius:var(--radius-xl);display:flex;align-items:center;gap:10px;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.sidebar-upsell:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--primary-color));border-radius:10px 10px 0 0}.sidebar-upsell:hover{border-color:var(--info-light);background:linear-gradient(135deg,var(--info-light) 0%,var(--info-light) 50%,var(--info-light) 100%);transform:translateY(-1px);box-shadow:var(--shadow-md)}.sidebar-upsell-icon{width:36px;height:36px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary-color),var(--primary-color));display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--white)}.sidebar-upsell-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-upsell-badge{display:inline-block;width:fit-content;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--white);background:linear-gradient(90deg,var(--primary-color),var(--primary-color));padding:1px 6px;border-radius:var(--radius-sm);line-height:1.5}.sidebar-upsell-title{font-size:.72rem;font-weight:700;color:var(--text-primary);line-height:1.2}.sidebar-upsell-desc{font-size:.6rem;color:var(--text-secondary);line-height:1.3}.sidebar-upsell-arrow{flex-shrink:0;color:var(--text-muted);transition:transform .2s ease}.sidebar-upsell:hover .sidebar-upsell-arrow{transform:translate(2px);color:var(--primary-color)}.footer-user-info{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-fast)}.footer-user-info:hover{background:var(--background-gray);border-color:var(--text-light)}.footer-user-avatar{font-size:18px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--background-gray);border-radius:50%}.footer-user-email{font-size:.72rem;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.footer-logout-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:8px 12px;background:var(--error-color);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.footer-logout-btn:hover{background:var(--error-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.footer-logout-btn svg{flex-shrink:0}.tenant-switcher{position:relative}.tenant-switcher-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;font-size:.72rem;font-weight:600;color:var(--text-primary);transition:all var(--transition-fast)}.tenant-switcher-trigger:hover{background:var(--background-gray);border-color:var(--primary-color, var(--primary-color))}.tenant-switcher-trigger svg:first-child{flex-shrink:0;color:var(--primary-color, var(--primary-color))}.tenant-switcher-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-switcher-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .2s ease}.tenant-switcher-chevron.open{transform:rotate(180deg)}.tenant-switcher-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;animation:tenantDropdownIn .15s ease}@keyframes tenantDropdownIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tenant-switcher-label{padding:8px 12px 4px;font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.tenant-switcher-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;font-size:.73rem;font-weight:500;color:var(--text-secondary);transition:background .1s}.tenant-switcher-option:hover:not(:disabled){background:var(--background-gray)}.tenant-switcher-option.current{background:var(--info-light);color:var(--primary-color, var(--primary-color));font-weight:600}.tenant-switcher-option:disabled{cursor:default}.tenant-switcher-option-logo{width:28px;height:28px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626));display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.tenant-switcher-option-logo img{width:100%;height:100%;object-fit:cover}.tenant-switcher-option-logo span{color:var(--white);font-size:.72rem;font-weight:700}.tenant-switcher-option-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-switcher-option svg:last-child{color:var(--primary-color, var(--primary-color));flex-shrink: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)}.nav-link.menu-toggle{display:flex!important}.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:5px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color, var(--border-color));border-radius:var(--radius-sm)}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.profile-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a4d;z-index:1100;display:flex;justify-content:flex-end;animation:profileFadeIn .15s ease}@keyframes profileFadeIn{0%{opacity:0}to{opacity:1}}@keyframes profileSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.profile-panel{width:380px;max-width:90vw;height:100vh;background:var(--white);box-shadow:-4px 0 24px #0f172a1f;display:flex;flex-direction:column;animation:profileSlideIn .2s ease;overflow-y:auto}.profile-panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.profile-panel-header h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.profile-close-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-lg);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.profile-close-btn:hover{background:var(--background-gray);color:var(--text-primary)}.profile-loading{padding:40px 24px;text-align:center;color:var(--text-secondary);font-size:.8rem}.profile-panel-body{padding:24px;display:flex;flex-direction:column;gap:24px}.profile-avatar-section{display:flex;align-items:center;gap:16px}.profile-avatar-large{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626));color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.2rem;font-weight:700;flex-shrink:0}.profile-name-block h4{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.profile-role-badge{display:inline-block;font-family:var(--font-sans);font-size:.65rem;font-weight:600;color:var(--primary-color, var(--primary-color));background:#0a345614;padding:2px 10px;border-radius:var(--radius-2xl);text-transform:uppercase;letter-spacing:.03em}.profile-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px}.profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.profile-section-label{font-family:var(--font-sans);font-size:.68rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.profile-edit-btn{font-family:var(--font-sans);font-size:.7rem;font-weight:600;color:var(--primary-color, var(--primary-color));background:none;border:none;cursor:pointer;padding:2px 8px;border-radius:var(--radius-md);transition:all var(--transition-fast)}.profile-edit-btn:hover{background:#0a34560f}.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-info-item{display:flex;flex-direction:column;gap:2px}.profile-info-item.full-width{grid-column:1 / -1}.profile-info-label{font-family:var(--font-sans);font-size:.65rem;color:var(--text-muted);font-weight:500}.profile-info-value{font-family:var(--font-sans);font-size:.8rem;color:var(--text-primary);font-weight:500}.profile-edit-form,.profile-password-form{display:flex;flex-direction:column;gap:12px}.profile-field{display:flex;flex-direction:column;gap:4px}.profile-field label{font-family:var(--font-sans);font-size:.68rem;font-weight:500;color:var(--text-secondary)}.profile-field input{font-family:var(--font-sans);font-size:.8rem;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);background:var(--white);transition:border-color .15s}.profile-field input:focus{outline:none;border-color:var(--primary-color, var(--primary-color));box-shadow:0 0 0 3px #0a345614}.profile-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.profile-btn-cancel{font-family:var(--font-sans);font-size:.73rem;font-weight:600;padding:7px 16px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.profile-btn-cancel:hover{background:var(--background-gray)}.profile-btn-save{font-family:var(--font-sans);font-size:.73rem;font-weight:600;padding:7px 16px;border:none;border-radius:var(--radius-lg);background:var(--primary-color, var(--primary-color));color:var(--white);cursor:pointer;transition:all var(--transition-fast)}.profile-btn-save:hover{opacity:.9}.profile-btn-save:disabled{opacity:.5;cursor:not-allowed}.profile-change-pw-btn{font-family:var(--font-sans);font-size:.73rem;font-weight:600;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);width:100%}.profile-change-pw-btn:hover{background:var(--background-gray);border-color:var(--text-light)}.profile-error-msg{font-family:var(--font-sans);font-size:.73rem;color:var(--error-color);background:var(--error-light);border:1px solid var(--error-light);padding:8px 12px;border-radius:var(--radius-lg)}.profile-success-msg{font-family:var(--font-sans);font-size:.73rem;color:var(--success-color);background:var(--success-light);border:1px solid var(--success-light);padding:8px 12px;border-radius:var(--radius-lg)}@media (max-width: 480px){.profile-panel{width:100vw;max-width:100vw}.profile-info-grid{grid-template-columns:1fr}}.profile-install-btn{font-family:var(--font-sans);font-size:.73rem;font-weight:600;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--primary-color, #0F172A);color:var(--white);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);width:100%}.profile-install-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px #0f172a33}.profile-install-btn:active{transform:translateY(0)}.profile-install-status{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:.73rem;font-weight:500;color:var(--success-color, #16a34a);padding:10px 14px;background:#22c55e14;border-radius:var(--radius-lg)}.profile-install-hint{display:flex;align-items:flex-start;gap:10px;font-family:var(--font-sans);font-size:.7rem;color:var(--text-secondary);padding:10px 14px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);line-height:1.5}.profile-install-hint svg{flex-shrink:0;margin-top:1px;color:var(--text-muted)}.profile-install-hint strong{display:block;font-size:.73rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.profile-install-hint p{margin:0}.notification-bell-container{position:relative}.notification-bell-btn{position:relative;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.notification-bell-btn:hover{background:var(--background-gray);color:var(--text-primary)}.notification-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--error-color);color:var(--white);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;transform:translate(4px,-4px)}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:440px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);z-index:999;display:flex;flex-direction:column;overflow:hidden}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--background-gray)}.notification-dropdown-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.mark-all-read-btn{background:none;border:none;color:var(--primary-color);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm)}.mark-all-read-btn:hover{background:var(--info-light)}.notification-dropdown-list{flex:1;overflow-y:auto}.notification-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px}.notification-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--bg-secondary)}.notification-item:hover{background:var(--bg-secondary)}.notification-item.unread,.notification-item.unread:hover{background:var(--info-light)}.notification-icon{font-size:18px;flex-shrink:0;margin-top:2px}.notification-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-title{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3}.notification-body{font-size:12px;color:var(--text-secondary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-time{font-size:11px;color:var(--text-muted);margin-top:2px}.notification-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color);flex-shrink:0;margin-top:6px}@media (max-width: 480px){.notification-dropdown{width:calc(100vw - 24px);right:-60px}}.layout{display:flex;min-height:100vh;background:var(--background-gray, var(--bg-secondary))}.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:234px}}@media (min-width: 1024px) and (max-width: 1280px){.layout-content{margin-left:216px}}.top-nav{background:var(--white, #ffffff);border-bottom:1px solid var(--border-color, var(--border-color));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)}@media (min-width: 1024px){.top-nav{display:none}}.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, var(--text-secondary));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-school-name{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:.79rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%;text-align:center;pointer-events:none}.nav-right{display:flex;align-items:center;gap:var(--spacing-4, 16px)}.nav-profile-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--background-gray);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);padding:0}.nav-profile-btn:hover{background:var(--border-color);color:var(--text-primary)}.user-info{display:flex;align-items:center;gap:var(--spacing-3, 12px);color:var(--text-secondary, var(--text-secondary));font-size:var(--text-sm, .875rem);padding:var(--spacing-2, 8px) var(--spacing-3, 12px);background:var(--background-gray, var(--bg-secondary));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, var(--text-secondary));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;overflow-y:auto;max-width:100%}@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)}}@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:stretch;justify-content:center;background:var(--background-gray);padding:40px 20px;gap:48px}.signup-branding{flex:0 0 auto;width:420px;border-radius:var(--radius-2xl);overflow:hidden;position:relative;box-shadow:var(--shadow-xl)}.signup-branding:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a1a,#0f172a40);z-index:1}.signup-form-panel{flex:0 0 auto;width:100%;max-width:420px;display:flex;flex-direction:column}.signup-form-content{background:var(--white);border-radius:var(--radius-2xl);padding:40px;box-shadow:var(--shadow-md);flex:1;display:flex;flex-direction:column}.step-indicator{font-family:var(--font-sans, "Inter", sans-serif);font-size:.8125rem;font-weight:500;color:var(--text-muted);margin-bottom:8px;letter-spacing:.01em}.floating-input-group input,.floating-input-group select{width:100%;height:52px;padding:22px 14px 6px 46px;border:1.5px solid var(--border-color);border-radius:var(--radius-xl);font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast);outline:none}.floating-input-group.focused input,.floating-input-group.focused select{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.floating-input-group input:hover,.floating-input-group select:hover{border-color:var(--text-light)}.floating-input-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}.phone-input-container{position:relative}.phone-input-container .phone-flag{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1.25rem;pointer-events:none;z-index:1}.floating-textarea-group{position:relative}.floating-textarea-group textarea{width:100%;padding:24px 14px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-xl);font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast);outline:none;resize:vertical;min-height:90px;line-height:1.5}.floating-textarea-group textarea::placeholder{color:transparent}.floating-textarea-group label{position:absolute;left:14px;top:18px;font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;color:var(--text-muted);pointer-events:none;transition:all var(--transition-fast);background:var(--white);padding:0 4px;line-height:1}.floating-textarea-group.focused label,.floating-textarea-group.has-value label{top:8px;font-size:.6875rem;font-weight:500;color:var(--text-secondary);letter-spacing:.01em}.floating-textarea-group.focused textarea{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.floating-textarea-group textarea:hover{border-color:var(--text-light)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.btn-continue{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;padding:0 24px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-xl);font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);margin-top:4px}.btn-continue:hover:not(:disabled){background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-continue:active:not(:disabled){transform:translateY(0)}.btn-continue:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-back{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 24px;background:var(--bg-secondary);color:var(--text-secondary);border:1.5px solid var(--border-color);border-radius:var(--radius-xl);font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-back:hover{background:var(--background-gray);border-color:var(--text-light);color:var(--text-primary)}.btn-back:active{transform:translateY(0)}.button-group{display:flex;gap:12px;margin-top:4px}.button-group .btn-continue{flex:2;margin-top:0}.button-group .btn-back{flex:1}.login-link{text-align:center;margin-top:24px;font-family:var(--font-sans, "Inter", sans-serif);font-size:.875rem;color:var(--text-secondary);line-height:1.5}.login-link a{color:var(--primary-color);font-weight:600;text-decoration:none;transition:color .15s ease}.login-link a:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width: 1200px){.signup-container{gap:32px}.signup-branding{width:360px}.branding-content{padding:32px}.brand-title{font-size:1.75rem}.brand-tagline{font-size:1rem}}@media (max-width: 900px){.signup-container{flex-direction:column;padding:32px 20px;gap:24px;align-items:center}.signup-branding{width:100%;max-width:420px;min-height:280px}.branding-content{padding:32px}.brand-title{font-size:1.5rem}.brand-tagline{font-size:.9375rem}.signup-form-panel{width:100%;max-width:420px}.signup-form-content{padding:32px}}@media (max-width: 480px){.signup-container{padding:20px 16px}.signup-branding{min-height:220px}.branding-content{padding:24px}.brand-title{font-size:1.375rem}.brand-tagline{font-size:.875rem}.signup-form-content{padding:28px 20px}.form-title{font-size:1.375rem}.form-row{grid-template-columns:1fr}.button-group{flex-direction:column-reverse}.button-group .btn-continue,.button-group .btn-back{flex:1}.floating-input-group input,.floating-input-group select,.btn-continue,.btn-back{height:50px}}.login-container{min-height:100vh;display:flex;align-items:stretch;justify-content:center;background:var(--background-gray);padding:40px 20px;gap:48px}.login-branding{flex:0 0 auto;width:420px;border-radius:var(--radius-2xl);overflow:hidden;position:relative;box-shadow:var(--shadow-xl)}.login-branding:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a1a,#0f172a40);z-index:1}.brand-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.brand-image img{width:100%;height:100%;object-fit:cover}.branding-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:40px}.brand-title{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:2rem;font-weight:700;line-height:1.2;color:var(--white);margin:0;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,0,0,.3)}.brand-tagline{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.125rem;font-weight:500;line-height:1.5;color:#fffffff2;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.3)}.login-form-panel{flex:0 0 auto;width:100%;max-width:420px;display:flex;flex-direction:column}.login-form-content{background:var(--white);border-radius:var(--radius-2xl);padding:40px;box-shadow:var(--shadow-md);flex:1;display:flex;flex-direction:column}.form-title{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.625rem;font-weight:700;color:var(--text-primary);margin:0 0 28px;letter-spacing:-.02em;line-height:1.3}.error-message{background:var(--error-light);color:var(--error-color);padding:12px 16px;border-radius:var(--radius-xl);margin-bottom:20px;font-size:.875rem;font-family:var(--font-sans, "Inter", sans-serif);border-left:3px solid var(--error-color);line-height:1.5}.form-fields{display:flex;flex-direction:column;gap:20px}.floating-input-group{position:relative;display:flex;align-items:center}.floating-input-group .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);display:flex;align-items:center;justify-content:center;pointer-events:none;transition:color .15s ease;z-index:1}.floating-input-group input{width:100%;height:52px;padding:22px 14px 6px 46px;border:1.5px solid var(--border-color);border-radius:var(--radius-xl);font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast);outline:none}.floating-input-group input::placeholder{color:transparent}.floating-input-group label{position:absolute;left:46px;top:50%;transform:translateY(-50%);font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;color:var(--text-muted);pointer-events:none;transition:all var(--transition-fast);background:transparent;line-height:1}.floating-input-group.focused label,.floating-input-group.has-value label{top:11px;transform:translateY(0);font-size:.6875rem;font-weight:500;color:var(--text-secondary);letter-spacing:.01em}.floating-input-group.focused input{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.floating-input-group.focused .input-icon{color:var(--primary-color)}.floating-input-group input:hover{border-color:var(--text-light)}.password-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color .15s ease;z-index:2}.password-toggle:hover{color:var(--text-primary)}.validation-check{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--success-color);display:flex;align-items:center;justify-content:center;animation:checkFadeIn .3s ease;z-index:2}@keyframes checkFadeIn{0%{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}.floating-input-group.is-valid input{border-color:var(--success-light);padding-right:44px}.btn-signin{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;padding:0 24px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-xl);font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);margin-top:4px}.btn-signin:hover:not(:disabled){background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-signin:active:not(:disabled){transform:translateY(0)}.btn-signin:disabled{opacity:.5;cursor:not-allowed;transform:none}.signup-link{text-align:center;margin-top:24px;font-family:var(--font-sans, "Inter", sans-serif);font-size:.875rem;color:var(--text-secondary);line-height:1.5}.signup-link a{color:var(--primary-color);font-weight:600;text-decoration:none;transition:color .15s ease}.signup-link a:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width: 1200px){.login-container{gap:32px}.login-branding{width:360px}.branding-content{padding:32px}.brand-title{font-size:1.75rem}.brand-tagline{font-size:1rem}}@media (max-width: 900px){.login-container{flex-direction:column;padding:32px 20px;gap:24px;align-items:center}.login-branding{width:100%;max-width:420px;min-height:280px}.branding-content{padding:32px}.brand-title{font-size:1.5rem}.brand-tagline{font-size:.9375rem}.login-form-panel{width:100%;max-width:420px}.login-form-content{padding:32px}}@media (max-width: 480px){.login-container{padding:20px 16px}.login-branding{min-height:220px}.branding-content{padding:24px}.brand-title{font-size:1.375rem}.brand-tagline{font-size:.875rem}.login-form-content{padding:28px 20px}.form-title{font-size:1.375rem}.floating-input-group input,.btn-signin{height:50px}}.tenant-picker-subtitle{font-size:.9rem;color:var(--text-secondary);margin:-8px 0 24px;line-height:1.5}.tenant-picker-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.tenant-picker-option{display:flex;align-items:center;gap:16px;width:100%;padding:16px 20px;background:var(--white);border:1.5px solid var(--border-color);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-normal);text-align:left}.tenant-picker-option:hover:not(:disabled){border-color:var(--primary-color, var(--primary-hover));background:var(--bg-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tenant-picker-option:disabled{opacity:.6;cursor:not-allowed}.tenant-picker-option svg{flex-shrink:0;color:var(--text-muted);transition:color .2s}.tenant-picker-option:hover svg{color:var(--primary-color, var(--primary-hover))}.tenant-option-logo{width:44px;height:44px;border-radius:var(--radius-xl);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color, var(--primary-hover)),var(--secondary-color, var(--primary-color)))}.tenant-option-logo img{width:100%;height:100%;object-fit:cover}.tenant-option-initial{font-size:1.25rem;font-weight:700;color:#fff;font-family:var(--font-display, "Plus Jakarta Sans", sans-serif)}.tenant-option-name{flex:1;font-size:1rem;font-weight:600;color:var(--text-primary)}.tenant-picker-back{display:block;width:100%;background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;padding:8px 0;text-align:center;transition:color .2s}.tenant-picker-back:hover{color:var(--primary-color, var(--primary-hover))}.onboarding-checklist{background:linear-gradient(135deg,var(--info-light) 0%,var(--info-light) 100%);border:1px solid var(--info-light);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, var(--text-primary))}.onboarding-title-row p{margin:0;color:var(--text-secondary, var(--text-secondary));font-size:var(--text-sm, 14px)}.onboarding-dismiss{background:transparent;border:none;font-size:18px;color:var(--text-tertiary, var(--text-muted));cursor:pointer;padding:4px 8px;border-radius:var(--radius-md, 8px);transition:all var(--transition-normal)}.onboarding-dismiss:hover{background:#0000000d;color:var(--text-primary, var(--text-primary))}.onboarding-progress{display:flex;align-items:center;gap:var(--spacing-3, 12px)}.progress-bar{flex:1;height:8px;background:var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),#8b5cf6);border-radius:var(--radius-sm);transition:width .3s ease}.progress-text{font-size:var(--text-sm, 14px);color:var(--text-secondary, var(--text-secondary));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:var(--white);padding:var(--spacing-4, 16px);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-color);transition:all var(--transition-normal)}.checklist-item:hover{border-color:var(--primary-color, var(--primary-color));box-shadow:var(--shadow-md)}.checklist-item.completed{background:var(--bg-secondary);border-color:var(--success-light)}.checklist-item.completed:hover{border-color:var(--success-light);box-shadow:none}.checklist-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--background-gray);border-radius:var(--radius-lg, 12px);flex-shrink:0}.checklist-item.completed .checklist-icon{background:var(--success-light);color:var(--success-color);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, var(--text-primary))}.checklist-item.completed .checklist-content h3{color:var(--text-secondary, var(--text-secondary))}.checklist-content p{margin:0;font-size:var(--text-sm, 14px);color:var(--text-secondary, var(--text-secondary))}.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, var(--primary-color));color:#fff;text-decoration:none;border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 14px);font-weight:500;transition:all var(--transition-normal)}.checklist-link:hover{background:var(--primary-hover, var(--primary-hover));transform:translate(2px)}.completed-badge{display:inline-flex;align-items:center;padding:var(--spacing-2, 8px) var(--spacing-3, 12px);background:var(--success-light);color:var(--success-color);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:var(--white);border-radius:var(--radius-lg, 12px);border:2px solid var(--success-light)}.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:var(--success-color)}.onboarding-complete p{margin:0 0 var(--spacing-4, 16px) 0;color:var(--text-secondary, var(--text-secondary))}.btn-dismiss-complete{padding:var(--spacing-2, 8px) var(--spacing-5, 20px);background:var(--background-gray);color:var(--text-secondary, var(--text-secondary));border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 14px);cursor:pointer;transition:all var(--transition-normal)}.btn-dismiss-complete:hover{background:var(--border-color);color:var(--text-primary, var(--text-primary))}.advanced-settings-section{margin-top:var(--spacing-6, 24px);padding-top:var(--spacing-5, 20px);border-top:1px solid var(--border-color)}.advanced-settings-header{margin-bottom:var(--spacing-4, 16px)}.advanced-settings-header h3{margin:0 0 var(--spacing-1, 4px) 0;font-size:var(--text-base, 16px);font-weight:600;color:var(--text-primary)}.advanced-settings-header p{margin:0;font-size:var(--text-sm, 14px);color:var(--text-secondary)}@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{margin:0 auto;padding:25px;background:var(--background-gray);min-height:100vh}.dashboard-header{margin-bottom:27px}.dashboard-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.dashboard-header p{font-size:.73rem;color:var(--text-secondary);margin:2px 0 0;font-weight:500;position:relative;display:inline-block;line-height:1.5}.dashboard-header p:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(306px,1fr));gap:18px;align-items:start}.dashboard-card{background:var(--white);border-radius:var(--radius-2xl);padding:25px;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-lg);border-color:var(--primary-color);transform:translateY(-2px)}.dashboard-card h2{font-family:var(--font-display);color:var(--text-primary);margin:0 0 22px;font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:9px;padding-bottom:0;border-bottom:none;letter-spacing:-.01em}.dashboard-card h2:before{content:"";display:block;width:4px;height:18px;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary-color) 100%);border-radius:var(--radius-sm);flex-shrink:0}.dashboard-card.wide{grid-column:1 / -1}.info-item{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--background-gray);font-size:.73rem;gap:18px}.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;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.info-item span{color:var(--text-primary);word-break:break-all;text-align:right;font-weight:500}.quick-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.quick-links li{margin:0;padding:0}.quick-links a{display:flex;align-items:center;gap:11px;padding:11px 14px;background:var(--bg-secondary);color:var(--text-primary);text-decoration:none;border-radius:var(--radius-lg);font-weight:600;font-size:.73rem;transition:all var(--transition-normal);border:1px solid transparent}.quick-links a:hover{background:var(--info-light);color:var(--primary-color);border-color:var(--primary-color);transform:translate(4px);box-shadow:var(--shadow-md)}.quick-link-btn{display:flex;align-items:center;gap:11px;padding:11px 14px;background:var(--bg-secondary);color:var(--text-primary);text-decoration:none;border-radius:var(--radius-lg);font-weight:600;font-size:.73rem;transition:all var(--transition-normal);border:1px dashed var(--border-color);cursor:pointer;width:100%;text-align:left;font-family:inherit}.quick-link-btn:hover{background:var(--info-light);color:var(--primary-color);border-color:var(--primary-color);border-style:solid;transform:translate(4px);box-shadow:var(--shadow-md)}.getting-started{display:grid;grid-template-columns:repeat(auto-fit,minmax(198px,1fr));gap:18px;margin-top:18px}.step{background:var(--white);padding:22px;border-radius:var(--radius-xl);text-align:center;border:1px solid var(--border-color);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.step:hover{border-color:var(--primary-color);background:var(--info-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary-color) 100%);color:var(--white);border-radius:50%;font-family:var(--font-display);font-size:.95rem;font-weight:700;margin-bottom:14px}.step h3{margin:0 0 7px;color:var(--text-primary);font-size:.73rem;font-weight:600}.step p{margin:0 0 14px;color:var(--text-secondary);font-size:.68rem;line-height:1.6}.btn-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;background:var(--text-primary);color:var(--white);text-decoration:none;border-radius:var(--radius-lg);font-weight:600;font-size:.68rem;transition:all var(--transition-normal)}.btn-link:hover{background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md);color:var(--white)}.integration-status{display:flex;flex-direction:column;gap:14px}.platform-name{font-weight:600;color:var(--primary-color)}.status-badge{padding:5px 11px;border-radius:var(--radius-md);font-size:.62rem;font-weight:600;display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.05em}.status-badge.connected{background:var(--success-light);color:var(--success-color)}.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(180px,1fr))}}@media (max-width: 768px){.dashboard-page{padding:18px}.dashboard-header{margin-bottom:18px}.dashboard-header h1{font-size:1.17rem}.dashboard-header p{font-size:.68rem}.dashboard-grid{gap:14px;grid-template-columns:1fr}.dashboard-card{padding:18px}.dashboard-card h2{font-size:.84rem;margin-bottom:18px}.getting-started{grid-template-columns:1fr;gap:14px}.step{padding:18px}.step-number{width:36px;height:36px;font-size:.84rem}}.qualification-expiry-widget{border-left:4px solid var(--warning-color, #f59e0b)}.expiry-section{margin-bottom:16px}.expiry-section:last-of-type{margin-bottom:0}.expiry-section-title{font-size:.73rem;font-weight:700;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.expiry-section-title.expired-title{color:var(--danger-color, #dc2626)}.expiry-section-title.expiring-title{color:var(--warning-dark, #b45309)}.expiry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.expiry-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--radius-md);font-size:.73rem;gap:12px}.expiry-item.clickable{cursor:pointer;transition:all var(--transition-fast)}.expiry-item.clickable:hover{transform:translate(2px);box-shadow:var(--shadow-sm)}.expiry-item.expired{background:var(--danger-light, #fef2f2);border:1px solid rgba(220,38,38,.2)}.expiry-item.expiring{background:var(--warning-light, #fffbeb);border:1px solid rgba(245,158,11,.2)}.expiry-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.expiry-qual-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expiry-instructor{font-size:.68rem;color:var(--text-secondary)}.expiry-date{font-weight:600;white-space:nowrap;flex-shrink:0;font-size:.68rem}.expiry-date.expired{color:var(--danger-color, #dc2626)}.expiry-date.expiring{color:var(--warning-dark, #b45309)}.expiry-widget-footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--border-color);text-align:right}.expiry-widget-footer .btn-link{font-size:.68rem;padding:6px 12px}.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:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);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}.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 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)}.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)}.btn-primary{background:var(--primary-button-color);color:var(--text-on-button)}.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:var(--text-secondary)}.payment-error-state{color:var(--error-color);background:var(--error-light);border-radius:var(--radius-lg)}.payment-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-color);padding:12px;border-radius:var(--radius-md);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:var(--text-secondary);margin-bottom:8px}.card-element{padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--white);transition:border-color .2s,box-shadow .2s}.card-element:focus-within{border-color:var(--primary-color);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:var(--white);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.btn-cancel:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-submit{flex:1;padding:12px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-submit:hover:not(:disabled){background:var(--primary-color)}.btn-submit:disabled{background:var(--text-muted);cursor:not-allowed}.payment-security-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);margin:0}.lock-icon{font-size:14px}.payment-success{text-align:center;padding:30px 20px}.success-icon{width:60px;height:60px;background:var(--success-color);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:var(--success-color);font-size:18px}.payment-success p{margin:0;color:var(--text-secondary);font-size:14px}.subscription-settings{max-width:800px}.subscription-loading,.subscription-error{padding:40px;text-align:center;color:var(--text-secondary)}.subscription-error{color:var(--error-color)}.subscription-alert{padding:12px 16px;border-radius:var(--radius-lg);margin-bottom:20px;font-size:14px}.subscription-alert-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-color)}.subscription-alert-success{background:var(--success-light);border:1px solid var(--success-light);color:var(--success-color)}.subscription-status-banner{padding:24px;border-radius:var(--radius-xl);border-left:4px solid;margin-bottom:24px;display:flex;gap:16px;align-items:flex-start}.status-badge{padding:6px 12px;border-radius:var(--radius-2xl);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:var(--text-primary)}.status-content p{margin:0 0 4px;font-size:14px;color:var(--text-secondary)}.status-content .status-subtext{font-size:13px;color:var(--text-secondary);margin-top:8px}.subscription-section{background:var(--white);border-radius:var(--radius-xl);padding:24px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.subscription-section h2{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.section-description{margin:0 0 16px;font-size:14px;color:var(--text-secondary)}.pricing-details{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pricing-item{background:var(--bg-secondary);padding:20px;border-radius:var(--radius-lg);text-align:center}.pricing-label{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.pricing-value{font-size:28px;font-weight:700;color:var(--text-primary)}.pricing-currency{font-size:14px;font-weight:500;color:var(--text-secondary);margin-left:4px}.pricing-note{font-size:12px;color:var(--text-muted);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 var(--border-color)}.info-label{font-size:14px;color:var(--text-secondary)}.info-value{font-size:14px;font-weight:500;color:var(--text-primary)}.payment-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);font-size:13px}.payment-status-active{background:var(--success-light);color:var(--success-color)}.payment-status-pending{background:var(--warning-light);color:var(--warning-dark)}.setup-payment-section{background:var(--bg-secondary);padding:20px;border-radius:var(--radius-lg);text-align:center}.setup-payment-section p{margin:0 0 16px;font-size:14px;color:var(--text-secondary)}.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 var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);background:var(--white)}.timezone-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0a34561a}.btn-primary{padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--primary-color)}.btn-primary:disabled{background:var(--text-muted);cursor:not-allowed}.btn-secondary{padding:10px 20px;background:var(--white);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color)}.btn-secondary:disabled{color:var(--text-muted);cursor:not-allowed}.subscription-faq{background:var(--bg-secondary)}.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:var(--text-primary)}.faq-item p{margin:0;font-size:13px;color:var(--text-secondary);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}}.email-settings{max-width:900px;margin:0 auto}.email-settings.loading{text-align:center;padding:40px;color:var(--text-muted)}.email-settings-header{margin-bottom:24px}.email-settings-header h2{margin:0 0 8px;font-size:24px;color:var(--text-primary)}.email-settings-header p{margin:0;color:var(--text-secondary)}.email-settings-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:24px;margin-bottom:24px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.card-header h3{margin:0;font-size:18px;color:var(--text-primary)}.status-badge{padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:500}.status-badge.configured{background:var(--success-light);color:var(--success-dark)}.status-badge.incomplete{background:var(--warning-light);color:var(--warning-dark)}.current-provider{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:20px}.provider-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.provider-info h4{margin:0 0 4px;font-size:16px;color:var(--text-primary)}.provider-info p{margin:0;color:var(--text-secondary);font-size:14px}.setting-details{margin-bottom:20px}.detail-row{display:flex;padding:8px 0;border-bottom:1px solid var(--background-gray)}.detail-row .label{width:140px;color:var(--text-secondary);font-size:14px}.detail-row .value{color:var(--text-primary);font-size:14px}.test-email-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.test-email-section h4{margin:0 0 12px;font-size:14px;color:var(--text-secondary)}.test-email-form{display:flex;gap:12px}.test-email-form .form-control{flex:1}.email-settings-form .form-section{margin-bottom:24px;padding:20px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.email-settings-form .form-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.email-settings-form .form-group{margin-bottom:16px}.email-settings-form .form-group:last-child{margin-bottom:0}.email-settings-form .form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-secondary)}.email-settings-form .form-control{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;transition:border-color .15s,box-shadow .15s}.email-settings-form .form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.email-settings-form select.form-control{background-color:var(--white);cursor:pointer}.email-settings-form .form-row{display:flex;gap:16px}.email-settings-form .form-row .form-group{flex:1}.email-settings-form .form-row .form-group.small{flex:0 0 120px}.email-settings-form .form-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer}.email-settings-form .form-group.checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.email-settings-form .help-text{margin:6px 0 0;font-size:12px;color:var(--text-muted)}.action-buttons{display:flex;gap:12px;margin-top:24px}.btn{padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all var(--transition-fast)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary-color, var(--primary-color));color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover, #083047)}.btn-secondary{background:var(--background-gray);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--border-color)}.btn-danger{background:var(--error-light);color:var(--error-color)}.btn-danger:hover:not(:disabled){background:var(--error-light)}.alert{padding:12px 16px;border-radius:var(--radius-lg);margin-bottom:20px;font-size:14px}.alert-error{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light)}.alert-success{background:var(--success-light);color:var(--success-dark);border:1px solid var(--success-light)}.email-info-section{margin-top:32px}.email-info-section h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.provider-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.provider-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px}.provider-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.provider-card-header .icon{font-size:20px}.provider-card-header h4{margin:0;font-size:14px;color:var(--text-primary)}.provider-card p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}@media (max-width: 640px){.email-settings-form .form-row{flex-direction:column}.email-settings-form .form-row .form-group.small{flex:1}.test-email-form,.action-buttons{flex-direction:column}.provider-cards{grid-template-columns:1fr}}.payment-settings{max-width:920px;margin:0 auto;padding:25px}.payment-settings-header{margin-bottom:25px}.payment-settings-header h2{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.payment-settings-header p{font-family:var(--font-sans);font-size:.79rem;color:var(--text-secondary);margin:5px 0 0;line-height:1.5}.payment-settings-loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-family:var(--font-sans);font-size:.85rem;color:var(--text-secondary)}.payment-settings-error{background:var(--error-light);border:1.5px solid var(--error-light);color:var(--error-color);padding:11px 16px;border-radius:11px;margin-bottom:18px;font-family:var(--font-sans);font-size:.79rem;font-weight:500}.payment-settings-success{background:var(--success-light);border:1.5px solid var(--success-light);color:var(--success-color);padding:11px 16px;border-radius:11px;margin-bottom:18px;font-family:var(--font-sans);font-size:.79rem;font-weight:500}.payment-settings-form{display:flex;flex-direction:column;gap:22px}.settings-section{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;box-shadow:var(--shadow-sm)}.settings-section h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 4px;letter-spacing:-.01em}.section-description{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;margin:0 0 18px;line-height:1.5}.payment-methods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.payment-method-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--border-color);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-normal);background:var(--white);position:relative}.payment-method-card:hover{border-color:var(--primary-color);background:var(--bg-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.payment-method-card.selected{border-color:var(--success-color);background:var(--success-light);box-shadow:var(--shadow-md)}.payment-method-card input[type=checkbox]{display:none}.payment-method-check{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--border-color);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.payment-method-check svg{width:12px;height:12px;color:var(--text-muted)}.payment-method-check.checked{background:var(--success-color)}.payment-method-check.checked svg{color:#fff}.payment-method-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--background-gray);border-radius:var(--radius-xl);flex-shrink:0}.payment-method-card.selected .payment-method-icon{background:var(--success-light)}.payment-method-info{display:flex;flex-direction:column}.payment-method-name{font-family:var(--font-sans);font-weight:600;color:var(--text-primary);font-size:.82rem}.payment-method-desc{font-family:var(--font-sans);color:var(--text-secondary);font-size:.68rem}.provider-selection{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.provider-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1.5px solid var(--border-color);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-normal);background:var(--white)}.provider-card:hover{border-color:var(--primary-color);background:var(--bg-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.provider-card.selected{border-color:var(--primary-color);background:var(--info-light);box-shadow:var(--shadow-md)}.provider-card input[type=radio]{width:18px;height:18px;accent-color:var(--primary-color);margin-top:2px;flex-shrink:0}.provider-info{display:flex;flex-direction:column;gap:2px}.provider-name{font-family:var(--font-sans);font-weight:600;color:var(--text-primary);font-size:.82rem}.provider-desc{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;line-height:1.5}.provider-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-2xl);font-family:var(--font-sans);font-size:.62rem;font-weight:600;letter-spacing:.03em;margin-top:6px;width:fit-content}.provider-badge.recommended{background:var(--info-light);color:var(--primary-hover)}.provider-badge.advanced{background:var(--background-gray);color:var(--text-secondary)}.provider-savings{display:block;font-size:.73rem;font-weight:600;color:var(--success-color, #16a34a);margin-top:4px;letter-spacing:0}.provider-setup-guide{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:20px;margin-bottom:20px}.provider-setup-guide h4{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--text-primary);margin:0 0 14px}.setup-steps{display:flex;flex-direction:column;gap:12px}.setup-step{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px 16px}.setup-step strong{font-family:var(--font-sans);color:var(--text-primary);font-size:.79rem;display:block;margin-bottom:6px}.setup-step p{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;margin:0 0 6px;line-height:1.6}.setup-step ul,.setup-step ol{margin:6px 0;padding-left:18px;font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;line-height:1.7}.setup-step li{margin-bottom:4px}.setup-step ul ul{margin-top:4px;margin-bottom:0}.setup-step code{background:var(--background-gray);padding:1px 5px;border-radius:var(--radius-sm);font-family:SF Mono,Monaco,Courier New,monospace;font-size:.68rem;color:var(--error-color);word-break:break-all}.setup-step a{color:var(--primary-hover);text-decoration:none;font-weight:500}.setup-step a:hover{text-decoration:underline}.btn-fee-breakdown{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--primary-hover);font-family:var(--font-sans);font-size:.76rem;font-weight:600;cursor:pointer;padding:6px 0;margin-top:6px;transition:color .15s}.btn-fee-breakdown:hover{color:var(--primary-hover)}.fee-breakdown-panel{margin-top:14px;padding:18px;background:var(--white);border:1.5px solid var(--border-color);border-radius:var(--radius-xl);animation:fadeSlideDown .2s ease}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.fee-breakdown-panel h5{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--text-primary);margin:0 0 14px}.fee-breakdown-example{margin-bottom:16px}.fee-breakdown-example>p{font-family:var(--font-sans);font-size:.76rem;color:var(--text-secondary);margin:0 0 10px}.fee-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:.76rem}.fee-table td{padding:7px 0;color:var(--text-secondary);border-bottom:1px solid var(--background-gray)}.fee-table .fee-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fee-table .fee-total-row td{border-top:2px solid var(--border-color);border-bottom:none;padding-top:10px;color:var(--text-primary)}.fee-note{font-family:var(--font-sans);font-size:.68rem;color:var(--text-muted);margin:10px 0 0;font-style:italic}.fee-breakdown-summary{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--border-color)}.fee-summary-item{display:flex;justify-content:space-between;align-items:center;gap:12px}.fee-summary-item .fee-label{font-family:var(--font-sans);font-size:.76rem;font-weight:600;color:var(--text-primary)}.fee-summary-item .fee-value{font-family:var(--font-sans);font-size:.73rem;color:var(--text-secondary)}.connect-status-card{margin-top:16px;padding:16px;border-radius:var(--radius-xl);border:1.5px solid}.connect-status-card.active{background:var(--success-light);border-color:var(--success-light)}.connect-status-card.pending{background:var(--warning-light);border-color:var(--warning-light)}.connect-status-card.disconnected{background:var(--bg-secondary);border-color:var(--border-color)}.connect-status-icon{font-family:var(--font-sans);font-weight:600;font-size:.82rem;margin-bottom:4px}.connect-status-card.active .connect-status-icon{color:var(--success-dark)}.connect-status-card.pending .connect-status-icon{color:var(--warning-dark)}.connect-status-detail{font-family:var(--font-sans);font-size:.73rem;color:var(--text-secondary);line-height:1.5;margin:6px 0 0}.connect-actions{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.webhook-url-box{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;background:var(--text-primary);border-radius:var(--radius-lg)}.webhook-url-box code{flex:1;background:none;padding:0;color:var(--success-color);font-size:.62rem;word-break:break-all}.webhook-url-box .copy-btn{background:var(--text-primary);color:#fff;border:none;padding:5px 10px;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.68rem;cursor:pointer;transition:background .15s;white-space:nowrap}.webhook-url-box .copy-btn:hover{background:var(--text-secondary)}.provider-credentials{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:20px;margin-bottom:20px}.credentials-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.credentials-header h4{font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--text-primary);margin:0}.credential-status{font-family:var(--font-sans);font-size:.68rem;font-weight:600;padding:3px 10px;border-radius:var(--radius-2xl)}.credential-status.configured{background:var(--success-light);color:var(--success-dark)}.credential-status.required{background:var(--warning-light);color:var(--warning-dark)}.credentials-note{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;margin:0 0 14px}.credentials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.surcharge-section{border-top:1px solid var(--border-color);padding-top:18px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--font-sans);font-size:.82rem;font-weight:500;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color)}.surcharge-input{margin-top:14px;max-width:200px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-family:var(--font-sans);font-size:.73rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-group label .required{color:var(--error-color);margin-left:3px}.form-group label .optional-label{color:var(--text-muted);font-weight:400;font-size:.68rem;margin-left:6px;text-transform:none;letter-spacing:0}.form-group input,.form-group textarea,.form-group select{padding:8px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.79rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast)}.form-group textarea{resize:vertical;min-height:100px}.form-hint{font-family:var(--font-sans);font-size:.68rem;color:var(--text-muted)}.input-with-suffix{display:flex;align-items:center;gap:8px}.input-with-suffix input{flex:1;max-width:100px}.input-suffix{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;white-space:nowrap}.deposit-policy-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.policy-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1.5px solid var(--border-color);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-normal);background:var(--white)}.policy-card:hover{border-color:var(--primary-color);background:var(--bg-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.policy-card.selected{border-color:var(--primary-color);background:var(--info-light);box-shadow:var(--shadow-md)}.policy-card input[type=radio]{margin-top:2px;width:18px;height:18px;accent-color:var(--primary-color);flex-shrink:0}.policy-info{display:flex;flex-direction:column}.policy-name{font-family:var(--font-sans);font-weight:600;color:var(--text-primary);font-size:.82rem}.policy-desc{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;margin-top:2px;line-height:1.5}.deposit-settings{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:20px}.deposit-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}.deposit-example{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.deposit-example h4{font-family:var(--font-sans);font-size:.79rem;font-weight:600;color:var(--text-primary);margin:0 0 6px}.deposit-example p{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;margin:0 0 10px;line-height:1.5}.deposit-example ul{margin:0;padding-left:18px}.deposit-example li{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;margin-bottom:5px;line-height:1.5}.deposit-example strong{color:var(--text-primary)}.form-actions{display:flex;justify-content:flex-end;padding-top:4px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--text-primary);color:var(--white);font-family:var(--font-sans);font-size:.79rem;font-weight:600;padding:9px 22px;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-primary:disabled{background:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.btn-connect{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--primary-color);color:var(--white);font-family:var(--font-sans);font-size:.82rem;font-weight:600;padding:10px 22px;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.btn-connect:hover{background:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-connect:disabled{background:var(--info-light);cursor:not-allowed;transform:none;box-shadow:none}.btn-outline{display:inline-flex;align-items:center;gap:5px;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:.73rem;font-weight:600;padding:7px 14px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.btn-outline:hover{border-color:var(--text-light);background:var(--bg-secondary)}.btn-danger-outline{display:inline-flex;align-items:center;gap:5px;background:transparent;color:var(--error-color);font-family:var(--font-sans);font-size:.73rem;font-weight:600;padding:7px 14px;border:1.5px solid var(--error-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.btn-danger-outline:hover{background:var(--error-light);border-color:var(--error-light)}.btn-authorize-xero{display:inline-flex;align-items:center;gap:6px;background:var(--text-primary);color:var(--white);font-family:var(--font-sans);font-size:.79rem;font-weight:600;padding:9px 18px;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.btn-authorize-xero:hover{background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-authorize-xero:disabled{background:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.xero-authorization{margin-top:16px;padding:16px;background:var(--success-light);border:1.5px solid var(--success-light);border-radius:var(--radius-xl)}.xero-authorization .auth-status.success{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);color:var(--success-dark);font-weight:600;font-size:.79rem}.xero-authorization .auth-action{display:flex;flex-direction:column;gap:10px}.xero-authorization .auth-note{margin:0;font-family:var(--font-sans);color:var(--success-dark);font-size:.73rem}.fee-context-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius-xl);margin-top:12px;font-family:var(--font-sans);font-size:.73rem;line-height:1.6}.fee-context-banner.connect{background:var(--info-light);border:1px solid var(--info-light);color:var(--info-dark)}.fee-context-banner.manual{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.fee-context-banner .fee-icon{font-size:1rem;flex-shrink:0;margin-top:1px}@media (max-width: 640px){.payment-settings{padding:16px}.settings-section{padding:16px;border-radius:var(--radius-xl)}.payment-methods-grid,.credentials-grid,.deposit-settings-grid{grid-template-columns:1fr}.credentials-header{flex-direction:column;align-items:flex-start;gap:6px}.connect-actions{flex-direction:column;align-items:stretch}.connect-actions button{width:100%;justify-content:center}.provider-card{padding:12px}}.tax-enable-toggle{margin-bottom:18px}.tax-settings-content{display:flex;flex-direction:column;gap:20px}.tax-auto-configure{background:var(--info-light);border:1px solid var(--info-light);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:10px}.auto-configure-hint{font-family:var(--font-sans);font-size:.8rem;color:var(--text-secondary);margin:0}.tax-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tax-fields-grid select{width:100%;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.82rem;color:var(--text-primary);background:var(--white);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.tax-fields-grid select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.tax-pricing-toggle{border-top:1px solid var(--border-color);padding-top:16px}.tax-example{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px 16px}.tax-example h4{font-family:var(--font-display);font-weight:700;font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}.tax-example p{font-family:var(--font-sans);font-size:.82rem;color:var(--text-secondary);margin:0}@media (max-width: 640px){.tax-fields-grid{grid-template-columns:1fr}}.ocp-settings{max-width:900px}.ocp-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.ocp-header h2{margin:0 0 4px;font-size:1.35rem;color:#1e293b}.ocp-subtitle{margin:0;font-size:.875rem;color:#64748b;max-width:600px;line-height:1.5}.ocp-loading{padding:40px;text-align:center;color:#94a3b8}.ocp-btn{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.875rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.ocp-btn:hover{background:#f9fafb;border-color:#9ca3af}.ocp-btn-primary{background:#0a3456;color:#fff;border-color:#0a3456}.ocp-btn-primary:hover{background:#0d4a7a}.ocp-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ocp-btn-secondary{background:#f1f5f9;border-color:#e2e8f0}.ocp-btn-danger{color:#dc2626;border-color:#fca5a5}.ocp-btn-danger:hover{background:#fef2f2;border-color:#f87171}.ocp-btn-sm{padding:5px 10px;font-size:.8rem}.ocp-error{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.875rem}.ocp-success{background:#f0fdf4;border:1px solid #86efac;color:#16a34a;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.875rem}.ocp-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:24px;margin-bottom:24px}.ocp-form h3{margin:0 0 16px;font-size:1.1rem;color:#1e293b}.ocp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.ocp-field{display:flex;flex-direction:column;gap:4px}.ocp-field-full{grid-column:1 / -1}.ocp-field label{font-size:.85rem;font-weight:600;color:#374151}.ocp-field label small{font-weight:400;color:#94a3b8;margin-left:6px}.ocp-field input,.ocp-field select,.ocp-field textarea{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#1e293b;background:#fff}.ocp-field input:focus,.ocp-field select:focus,.ocp-field textarea:focus{outline:none;border-color:#0a3456;box-shadow:0 0 0 2px #0a345626}.ocp-field input:disabled,.ocp-field select:disabled{background:#f1f5f9;cursor:not-allowed}.ocp-field small{font-size:.75rem;color:#94a3b8}.ocp-field textarea{font-family:SFMono-Regular,Consolas,monospace;font-size:.8rem;resize:vertical}.ocp-form-actions{display:flex;gap:10px}.ocp-provider-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.ocp-provider-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:18px 20px;transition:box-shadow .15s ease}.ocp-provider-card:hover{box-shadow:0 2px 8px #0000000f}.ocp-provider-card.disabled{opacity:.6;background:#f8fafc}.ocp-provider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px;flex-wrap:wrap}.ocp-provider-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ocp-provider-info h4{margin:0;font-size:1rem;color:#1e293b}.ocp-status-badge{padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ocp-status-badge.enabled{background:#dcfce7;color:#16a34a}.ocp-status-badge.disabled{background:#f1f5f9;color:#94a3b8}.ocp-status-badge.script-ok{background:#e0f2fe;color:#0284c7}.ocp-status-badge.script-missing{background:#fef3c7;color:#d97706}.ocp-provider-actions{display:flex;gap:6px;flex-wrap:wrap}.ocp-provider-details{display:flex;gap:20px;flex-wrap:wrap;font-size:.8rem;color:#64748b}.ocp-provider-details strong{color:#475569}.ocp-empty{text-align:center;padding:48px 24px;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;margin-bottom:24px}.ocp-empty-icon{font-size:3rem;margin-bottom:12px}.ocp-empty h3{margin:0 0 8px;color:#334155}.ocp-empty p{color:#64748b;max-width:450px;margin:0 auto 8px}.ocp-empty-note{font-size:.85rem;color:#94a3b8!important;font-style:italic}.ocp-info-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:20px 24px}.ocp-info-box h4{margin:0 0 10px;color:#0369a1;font-size:.95rem}.ocp-info-box ol{margin:0;padding-left:20px;color:#475569;font-size:.875rem;line-height:1.7}.ocp-info-box ol strong{color:#0f172a}@media (max-width: 640px){.ocp-header{flex-direction:column}.ocp-form-grid{grid-template-columns:1fr}.ocp-provider-header{flex-direction:column;align-items:flex-start}.ocp-provider-details{flex-direction:column;gap:4px}}.settings-container{margin:0 auto;padding:25px}.settings-header{margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible;position:static}.settings-header:after{display:none}.settings-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.settings-header .subtitle{font-family:var(--font-sans);font-size:.79rem;color:var(--text-secondary);margin:5px 0 0;line-height:1.5;opacity:1}.settings-tabs{display:flex;gap:6px;margin-bottom:22px;background:var(--white);padding:6px;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);flex-wrap:wrap}.settings-tabs .tab-button{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-weight:600;font-size:.76rem;cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-normal);white-space:nowrap}.settings-tabs .tab-button:hover{background:var(--background-gray);color:var(--text-primary)}.settings-tabs .tab-button.active{background:var(--text-primary);color:var(--white);box-shadow:var(--shadow-sm)}.settings-content{background:var(--white);padding:24px;border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}@media (max-width: 768px){.settings-container{padding:16px}.settings-header h1{font-size:1.2rem}.settings-tabs{flex-direction:column;padding:5px;border-radius:var(--radius-xl)}.settings-tabs .tab-button{width:100%;text-align:center;padding:10px 16px}.settings-content{padding:16px;border-radius:var(--radius-xl)}}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1100;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:var(--white);box-shadow:var(--shadow-xl);z-index:1100;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:var(--bg-secondary)}.drawer-content form{display:flex;flex-direction:column}.drawer-content .form-group{margin-bottom:14px}.drawer-content .form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:600;font-size:.62rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px}.drawer-content .form-group input,.drawer-content .form-group textarea,.drawer-content .form-group select{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary);box-sizing:border-box}.drawer-content .form-group input:hover,.drawer-content .form-group textarea:hover,.drawer-content .form-group select:hover{border-color:var(--text-light)}.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 #3b82f61a}.drawer-content .form-group textarea{resize:vertical;min-height:80px}.drawer-content .checkbox-group{flex-direction:row;align-items:center;gap:var(--spacing-2)}.drawer-content .checkbox-group label{margin:0;margin-top:var(--spacing-1);display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;font-size:.79rem;text-transform:none;letter-spacing:normal;color:var(--text-primary)}.drawer-content .checkbox-group input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--text-primary)}.drawer-content .form-actions{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1.5px solid var(--border-color);background:var(--white);position:sticky;bottom:0;margin:16px -20px -20px;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{margin:0 auto;padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px)}.resources-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible;position:static;gap:var(--spacing-4)}.resources-header:before{display:none}.resources-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.resources-header .subtitle{font-family:var(--font-sans);font-size:.79rem;color:var(--text-secondary);margin:2px 0 0;line-height:1.5}.resources-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.resources-toolbar .toolbar-filters{display:flex;gap:var(--spacing-3);flex:1}.resources-toolbar .search-input{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);min-width:200px;max-width:300px;transition:border-color var(--transition-fast)}.resources-toolbar .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 102, 126, 234),.15)}.resources-toolbar .filter-select{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--white);cursor:pointer}.resources-toolbar .filter-select:focus{outline:none;border-color:var(--primary-color)}.resources-toolbar .toolbar-actions{display:flex;gap:var(--spacing-2)}.resources-toolbar .btn{flex:0 0 auto;width:auto!important}.form-group input,.form-group select{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary);box-sizing:border-box}.form-group input:hover,.form-group select:hover{border-color:var(--text-light)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled{background:var(--background-gray);color:var(--text-muted);cursor:not-allowed;opacity:1}.field-hint{color:var(--text-muted);font-size:.73rem;margin-top:4px}.toggle-section{background:var(--background-gray);padding:14px;border-radius:var(--radius-lg);border-left:3px solid var(--text-primary);margin-bottom:14px}.toggle-label{display:flex;align-items:center;gap:var(--spacing-2);color:var(--text-primary);font-weight:600;font-size:.79rem;cursor:pointer;margin:0}.toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--text-primary);margin-right:var(--spacing-2)}.toggle-description{color:var(--text-muted);font-size:.73rem;margin:4px 0 0 var(--spacing-6)}.cabins-section{background:var(--background-gray);padding:16px;border-radius:var(--radius-lg);margin-bottom:14px}.cabins-section h3{color:var(--text-primary);margin:0 0 14px;font-size:.85rem;font-weight:700;font-family:var(--font-display)}.cabin-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:10px;margin-bottom:10px;align-items:center}.cabin-row input{padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);transition:all var(--transition-fast)}.cabin-row input:hover{border-color:var(--text-light)}.cabin-row input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.vessels-list{background:transparent;border-radius:var(--radius-xl);padding:0;box-shadow:none;border:none}.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-toolbar{flex-direction:column;align-items:stretch}.resources-toolbar .toolbar-filters{flex-direction:column}.resources-toolbar .search-input{max-width:none;min-width:0;width:100%}.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{margin:0 auto;padding:var(--spacing-6)}.locations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible;position:static;gap:var(--spacing-4)}.locations-header:before{display:none}.locations-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.locations-header .subtitle{font-family:var(--font-sans);font-size:.79rem;color:var(--text-secondary);margin:2px 0 0;line-height:1.5}.locations-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.locations-toolbar .toolbar-filters{display:flex;gap:var(--spacing-3);flex:1}.locations-toolbar .search-input{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);min-width:200px;max-width:300px;transition:border-color var(--transition-fast)}.locations-toolbar .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 102, 126, 234),.15)}.locations-toolbar .filter-select{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--white);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast)}.locations-toolbar .filter-select:focus{outline:none;border-color:var(--primary-color)}.locations-toolbar .toolbar-actions{flex-shrink:0}.locations-toolbar .btn{flex:0 0 auto;width:auto!important}.form-group input,.form-group textarea,.form-group select{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary);box-sizing:border-box}.form-group input:hover,.form-group textarea:hover,.form-group select:hover{border-color:var(--text-light)}.image-form-group{margin-bottom:14px;display:flex;flex-direction:column;align-items:flex-start}.image-form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:600;font-size:.62rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px}.image-icon{font-size:var(--text-2xl);margin-bottom:var(--spacing-1)}.btn-danger{background:var(--error-color);color:var(--white);padding:6px 12px;font-size:.67rem}.btn-small{padding:6px 12px;font-size:.67rem;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:transparent;border-radius:var(--radius-xl);padding:0;box-shadow:none;border:none}.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-map-link{display:inline-flex;align-items:center;gap:var(--spacing-2);color:var(--primary-color);font-size:var(--text-sm);font-weight:500;text-decoration:none;margin-top:var(--spacing-2);transition:color var(--transition-fast)}.location-map-link:hover{color:var(--primary-hover);text-decoration:underline}.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)}.locations-toolbar{flex-direction:column;align-items:stretch}.locations-toolbar .toolbar-filters{flex-direction:column}.locations-toolbar .search-input{min-width:0;max-width:none;width:100%}.form-container{padding:var(--spacing-4)}.form-row,.locations-grid{grid-template-columns:1fr}.form-actions,.location-actions{flex-direction:column}.btn{width:100%}}.cdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);animation:cdm-fade-in .2s ease}@keyframes cdm-fade-in{0%{opacity:0}to{opacity:1}}.cdm-modal{background:var(--white, #fff);border-radius:var(--radius-xl, 12px);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;width:100%;max-width:960px;height:85vh;overflow:hidden;animation:cdm-slide-up .25s ease}@keyframes cdm-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.cdm-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5, 20px) var(--spacing-6, 24px);border-bottom:1px solid var(--border-color, var(--border-color));gap:var(--spacing-4, 16px);flex-shrink:0}.cdm-header-left{display:flex;align-items:center;gap:var(--spacing-3, 12px);flex:1;min-width:0}.cdm-header-left h2{margin:0;font-size:var(--text-xl, 1.25rem);font-weight:700;color:var(--text-primary, var(--text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdm-header-badges{display:flex;gap:var(--spacing-2, 8px);flex-wrap:wrap}.cdm-header-right{display:flex;align-items:center;gap:var(--spacing-3, 12px);flex-shrink:0}.cdm-close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-muted, var(--text-muted));width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 8px);transition:all var(--transition-fast)}.cdm-close-btn:hover{background:var(--background-gray, var(--background-gray));color:var(--text-primary, var(--text-primary))}.cdm-badge-cert{background:var(--success-color)!important;color:var(--white)!important}.cdm-tabs{display:flex;gap:0;padding:0 var(--spacing-6, 24px);background:var(--white, #fff);border-bottom:1px solid var(--border-color, var(--border-color));flex-shrink:0;overflow-x:auto}.cdm-tab{display:flex;align-items:center;gap:var(--spacing-2, 8px);padding:var(--spacing-3, 12px) var(--spacing-4, 16px);border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-secondary, var(--text-muted));border-radius:0;transition:all var(--transition-normal);white-space:nowrap;margin-bottom:-1px}.cdm-tab:hover{color:var(--text-primary, var(--text-primary));background:transparent}.cdm-tab-active{color:var(--primary-color, #667eea);background:transparent;border-bottom-color:var(--primary-color, #667eea);font-weight:600}.cdm-tab-active:hover{background:transparent}.cdm-tab-icon{font-size:1rem}.cdm-body{flex:1;overflow-y:auto;padding:var(--spacing-6, 24px)}.cdm-section{margin-bottom:var(--spacing-6, 24px)}.cdm-section h3{margin:0 0 var(--spacing-3, 12px) 0;font-size:var(--text-md, 1rem);font-weight:600;color:var(--text-primary, var(--text-primary));display:flex;align-items:center;gap:var(--spacing-2, 8px)}.cdm-section h3:before{content:"";display:inline-block;width:4px;height:18px;background:var(--primary-color, #667eea);border-radius:var(--radius-sm)}.cdm-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4, 16px);margin-bottom:var(--spacing-5, 20px)}.cdm-section-header .btn{flex:0 0 auto;width:auto;white-space:nowrap}.cdm-section-subtitle{margin:0;font-size:var(--text-sm, .875rem);color:var(--text-secondary, var(--text-muted));line-height:1.5}.cdm-loading{text-align:center;padding:var(--spacing-8, 32px);color:var(--text-muted, var(--text-muted));font-size:var(--text-sm, .875rem)}.cdm-empty{text-align:center;padding:var(--spacing-10, 40px) var(--spacing-5, 20px);color:var(--text-secondary, var(--text-muted))}.cdm-empty-icon{font-size:2.5rem;margin-bottom:var(--spacing-3, 12px)}.cdm-empty p{margin:0 0 var(--spacing-1, 4px) 0;font-size:var(--text-sm, .875rem)}.cdm-empty-hint{color:var(--text-muted, var(--text-muted))!important;font-size:var(--text-xs, .75rem)!important}.cdm-info-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-4, 16px);margin-bottom:var(--spacing-6, 24px)}.cdm-info-card{background:var(--background-gray, var(--background-gray));border-radius:var(--radius-lg, 10px);padding:var(--spacing-4, 16px);display:flex;flex-direction:column;gap:var(--spacing-1, 4px)}.cdm-info-label{font-size:var(--text-xs, .75rem);font-weight:600;color:var(--text-secondary, var(--text-muted));text-transform:uppercase;letter-spacing:.5px}.cdm-info-value{font-size:var(--text-lg, 1.125rem);font-weight:700;color:var(--text-primary, var(--text-primary))}.cdm-price,.cdm-status-active{color:var(--success-color, var(--success-color))}.cdm-status-inactive{color:var(--error-color, var(--error-color))}.cdm-description{margin:0;font-size:var(--text-sm, .875rem);color:var(--text-secondary, var(--text-muted));line-height:1.6}.cdm-field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-3, 12px)}.cdm-field{display:flex;flex-direction:column;gap:2px}.cdm-field-label{font-size:var(--text-xs, .75rem);font-weight:600;color:var(--text-secondary, var(--text-muted));text-transform:uppercase;letter-spacing:.3px}.cdm-field-value{font-size:var(--text-sm, .875rem);color:var(--text-primary, var(--text-primary))}.cdm-certificate-card{background:var(--success-light);border:1px solid var(--success-light);border-radius:var(--radius-lg, 10px);padding:var(--spacing-4, 16px);display:flex;flex-direction:column;gap:var(--spacing-3, 12px)}.cdm-meta{display:flex;gap:var(--spacing-2, 8px);font-size:var(--text-xs, .75rem);color:var(--text-muted, var(--text-muted));padding-top:var(--spacing-4, 16px);border-top:1px solid var(--border-light, var(--background-gray))}.cdm-variant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-4, 16px)}.cdm-variant-card{background:var(--background-gray, var(--background-gray));border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-lg, 10px);padding:var(--spacing-4, 16px);transition:all var(--transition-fast)}.cdm-variant-card:hover{border-color:var(--primary-color, #667eea);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.1))}.cdm-variant-inactive{opacity:.6}.cdm-variant-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-3, 12px);margin-bottom:var(--spacing-3, 12px)}.cdm-variant-info h4{margin:0 0 var(--spacing-1, 4px) 0;font-size:var(--text-base, .9375rem);font-weight:600;color:var(--text-primary, var(--text-primary))}.cdm-variant-desc{margin:0;font-size:var(--text-sm, .875rem);color:var(--text-secondary, var(--text-muted))}.cdm-variant-badges{display:flex;align-items:center;gap:var(--spacing-2, 8px);flex-shrink:0}.cdm-variant-price{font-weight:700;color:var(--success-color, var(--success-color));font-size:var(--text-sm, .875rem)}.cdm-variant-actions{display:flex;gap:var(--spacing-2, 8px);padding-top:var(--spacing-3, 12px);border-top:1px solid var(--border-light, var(--background-gray))}.cdm-paths-list{display:flex;flex-direction:column;gap:var(--spacing-4, 16px)}.cdm-path-card{background:var(--background-gray, var(--background-gray));border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-lg, 10px);overflow:hidden;transition:border-color .15s}.cdm-path-card:hover{border-color:var(--primary-color, #667eea)}.cdm-path-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-4, 16px);gap:var(--spacing-3, 12px)}.cdm-path-info h4{margin:0 0 var(--spacing-1, 4px) 0;font-size:var(--text-base, .9375rem);font-weight:600;color:var(--text-primary, var(--text-primary))}.cdm-path-desc{margin:0;font-size:var(--text-sm, .875rem);color:var(--text-secondary, var(--text-muted))}.cdm-path-actions{display:flex;align-items:center;gap:var(--spacing-2, 8px);flex-shrink:0}.cdm-path-courses{display:flex;flex-wrap:wrap;gap:var(--spacing-2, 8px);padding:0 var(--spacing-4, 16px) var(--spacing-4, 16px)}.cdm-path-chip{display:inline-flex;align-items:center;gap:var(--spacing-2, 8px);background:var(--background-gray, var(--background-gray));border-radius:var(--radius-md, 8px);padding:var(--spacing-2, 8px) var(--spacing-3, 12px);font-size:var(--text-sm, .875rem)}.cdm-path-order{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--primary-color, #667eea);color:var(--white);font-size:var(--text-xs, .75rem);font-weight:700;flex-shrink:0}.cdm-path-course-name{font-weight:500;color:var(--text-primary, var(--text-primary))}.cdm-path-count{color:var(--error-color);font-weight:700;margin-right:4px}.cdm-path-variant{color:#8e44ad;font-weight:500;margin-left:4px}.cdm-path-empty{color:var(--text-muted, var(--text-muted));font-size:var(--text-sm, .875rem);font-style:italic}.cdm-schedule-list{display:flex;flex-direction:column;gap:var(--spacing-3, 12px)}.cdm-schedule-card{display:grid;grid-template-columns:auto 1fr auto;gap:var(--spacing-4, 16px);align-items:center;padding:var(--spacing-4, 16px);background:var(--background-gray, var(--background-gray));border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-lg, 10px);transition:border-color .15s}.cdm-schedule-card:hover{border-color:var(--primary-color, #667eea)}.cdm-schedule-past{opacity:.55}.cdm-schedule-dates{display:flex;flex-direction:column;gap:2px;min-width:180px}.cdm-schedule-range{font-weight:600;font-size:var(--text-sm, .875rem);color:var(--text-primary, var(--text-primary))}.cdm-schedule-time{font-size:var(--text-xs, .75rem);color:var(--text-secondary, var(--text-muted))}.cdm-schedule-details{display:flex;flex-wrap:wrap;gap:var(--spacing-3, 12px);align-items:center}.cdm-schedule-detail{font-size:var(--text-sm, .875rem);color:var(--text-secondary, var(--text-muted));white-space:nowrap}.cdm-schedule-tag{display:inline-block;padding:2px var(--spacing-2, 8px);border-radius:var(--radius-sm, 4px);font-size:var(--text-xs, .75rem);font-weight:600}.cdm-tag-variant{background:var(--info-light);color:var(--primary-color)}.cdm-schedule-stats{display:flex;align-items:center;gap:var(--spacing-3, 12px);flex-shrink:0}.cdm-schedule-stat{font-size:var(--text-sm, .875rem);color:var(--text-secondary, var(--text-muted));white-space:nowrap}.cdm-schedule-stat strong{color:var(--text-primary, var(--text-primary))}.btn-link-schedule{padding:4px var(--spacing-3, 12px);font-size:var(--text-xs, .75rem);background:transparent;border:1px solid var(--primary-color, #667eea);color:var(--primary-color, #667eea);text-decoration:none;border-radius:var(--radius-sm, 4px);transition:all var(--transition-fast);white-space:nowrap}.btn-link-schedule:hover{background:var(--primary-color, #667eea);color:#fff}.cdm-inner-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0006;display:flex;align-items:center;justify-content:center;padding:var(--spacing-5, 20px)}.cdm-inner-modal{background:var(--white, #fff);border-radius:var(--radius-xl, 12px);box-shadow:var(--shadow-xl);width:100%;max-width:640px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.cdm-inner-modal-sm{max-width:420px}.cdm-inner-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4, 16px) var(--spacing-5, 20px);border-bottom:1px solid var(--border-color, var(--border-color))}.cdm-inner-modal-header h3{margin:0;font-size:var(--text-lg, 1.125rem);font-weight:600;color:var(--text-primary, var(--text-primary))}.cdm-path-form{padding:var(--spacing-5, 20px);display:flex;flex-direction:column;gap:var(--spacing-4, 16px)}.cdm-form-row{display:flex;gap:var(--spacing-3, 12px)}.form-group.cdm-checkbox label{display:flex!important;align-items:center;gap:var(--spacing-2, 8px);font-size:var(--text-sm, .875rem);cursor:pointer;margin-bottom:0}.form-group.cdm-checkbox input[type=checkbox]{width:auto;flex:0 0 auto}.cdm-inner-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-3, 12px);padding:var(--spacing-4, 16px) var(--spacing-5, 20px);border-top:1px solid var(--border-color, var(--border-color))}.cdm-delete-warning{padding:var(--spacing-4, 16px) var(--spacing-5, 20px);margin:0;color:var(--text-secondary, var(--text-muted));font-size:var(--text-sm, .875rem);line-height:1.6}.cdm-course-picker{margin-top:var(--spacing-2, 8px)}.cdm-course-picker h4{margin:0 0 var(--spacing-3, 12px) 0;font-size:var(--text-sm, .875rem);font-weight:600;color:var(--text-primary, var(--text-primary))}.cdm-selected-courses{display:flex;flex-direction:column;gap:var(--spacing-2, 8px);margin-bottom:var(--spacing-4, 16px)}.cdm-selected-row{display:flex;align-items:flex-start;gap:var(--spacing-3, 12px);padding:var(--spacing-3, 12px);background:var(--background-gray, var(--background-gray));border-radius:var(--radius-md, 8px);border:1px solid var(--border-color, var(--border-color))}.cdm-selected-details{flex:1;min-width:0}.cdm-selected-name{font-weight:600;font-size:var(--text-sm, .875rem);color:var(--text-primary, var(--text-primary))}.cdm-selected-controls{display:flex;gap:var(--spacing-2, 8px);margin-top:var(--spacing-2, 8px);flex-wrap:wrap}.cdm-variant-select{flex:1;min-width:120px;padding:4px 8px;font-size:var(--text-xs, .75rem);border-radius:var(--radius-sm, 4px);border:1px solid var(--border-color, var(--border-color))}.cdm-count-control{display:flex;align-items:center;gap:4px}.cdm-count-control label{font-size:var(--text-xs, .75rem);white-space:nowrap;color:var(--text-secondary, var(--text-muted))}.cdm-count-input{width:56px;padding:4px 8px;font-size:var(--text-xs, .75rem);border-radius:var(--radius-sm, 4px);border:1px solid var(--border-color, var(--border-color))}.cdm-row-actions{display:flex;gap:4px;flex-shrink:0;padding-top:2px}.cdm-add-courses{margin-top:var(--spacing-2, 8px)}.cdm-add-courses label{display:block;font-size:var(--text-xs, .75rem);font-weight:600;color:var(--text-secondary, var(--text-muted));margin-bottom:var(--spacing-2, 8px)}.cdm-course-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-2, 8px)}.cdm-course-chip{padding:var(--spacing-1, 4px) var(--spacing-3, 12px);border:1px dashed var(--primary-color, #667eea);border-radius:var(--radius-md, 8px);background:transparent;color:var(--primary-color, #667eea);font-size:var(--text-xs, .75rem);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.cdm-course-chip:hover{background:var(--primary-color, #667eea);color:var(--white)}.cdm-no-courses{font-size:var(--text-xs, .75rem);color:var(--text-muted, var(--text-muted));font-style:italic}.cdm-modal .badge{padding:2px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;white-space:nowrap}.cdm-modal .badge-active{background:var(--success-light);color:var(--success-dark)}.cdm-modal .badge-inactive{background:var(--error-light);color:var(--error-dark)}.cdm-modal .badge-online{background:var(--info-light);color:var(--info-dark)}.cdm-modal .badge-blended{background:var(--warning-light);color:var(--warning-dark)}.cdm-modal .badge-practical{background:#ede9fe;color:var(--info-dark)}.cdm-modal .badge-overnight{background:var(--info-light);color:var(--primary-hover)}.cdm-modal .badge-classroom{background:var(--background-gray);color:var(--text-secondary)}.cdm-modal .btn-icon-sm{width:28px;height:28px;border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-sm, 4px);background:var(--white, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--text-secondary, var(--text-muted));transition:all var(--transition-fast)}.cdm-modal .btn-icon-sm:hover:not(:disabled){border-color:var(--primary-color, #667eea);color:var(--primary-color, #667eea)}.cdm-modal .btn-icon-sm:disabled{opacity:.35;cursor:not-allowed}.cdm-modal .btn-icon-sm.btn-danger-icon:hover:not(:disabled){border-color:var(--error-color, var(--error-color));color:var(--error-color, var(--error-color));background:var(--error-light)}@media (max-width: 768px){.cdm-overlay{padding:0}.cdm-modal{border-radius:0;max-height:100vh;max-width:100%}.cdm-header{flex-direction:column;align-items:flex-start;padding:var(--spacing-4, 16px)}.cdm-header-right{width:100%;justify-content:space-between}.cdm-info-cards{grid-template-columns:repeat(2,1fr)}.cdm-tabs{padding:0 var(--spacing-3, 12px)}.cdm-tab{padding:var(--spacing-3, 12px) var(--spacing-2, 8px);font-size:var(--text-xs, .75rem)}.cdm-tab-icon{display:none}.cdm-body{padding:var(--spacing-4, 16px)}.cdm-variant-grid{grid-template-columns:1fr}.cdm-schedule-card{grid-template-columns:1fr;gap:var(--spacing-2, 8px)}.cdm-schedule-dates{min-width:unset}.cdm-inner-modal{max-width:100%;margin:var(--spacing-4, 16px)}.cdm-form-row{flex-direction:column}}.category-picker{position:relative;width:100%}.category-picker-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:6px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);cursor:pointer;font-family:var(--font-sans);font-size:.79rem;color:var(--text-primary);transition:all var(--transition-fast);text-align:left;gap:8px}.category-picker-trigger:hover{border-color:var(--text-light)}.category-picker-trigger:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.picker-placeholder{color:var(--text-muted);font-weight:400}.picker-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1}.picker-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--info-light);color:var(--info-dark);border-radius:var(--radius-sm);font-size:.68rem;font-weight:600;line-height:1.4;white-space:nowrap}.picker-tag-remove{cursor:pointer;font-size:.84rem;line-height:1;color:var(--primary-color);margin-left:2px;transition:color .15s}.picker-tag-remove:hover{color:var(--error-color)}.picker-chevron{font-size:.55rem;color:var(--text-secondary);flex-shrink:0;margin-left:4px}.category-picker-popover{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:pickerFadeIn .15s ease-out}@keyframes pickerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.picker-search-wrap{padding:8px;border-bottom:1px solid var(--background-gray)}.picker-search{width:100%;padding:7px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:.73rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-secondary);transition:all var(--transition-fast);box-sizing:border-box}.picker-search:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a;background:var(--white)}.picker-options{max-height:200px;overflow-y:auto;padding:4px 0}.picker-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .1s ease;font-size:.79rem;color:var(--text-primary)}.picker-option:hover{background:var(--bg-secondary)}.category-picker-popover .picker-option input[type=checkbox]{width:16px;min-width:16px;max-width:16px;height:16px;padding:0;margin:0;accent-color:var(--text-primary);cursor:pointer;flex-shrink:0;flex-grow:0}.picker-option-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picker-empty{padding:16px 12px;text-align:center;color:var(--text-muted);font-size:.73rem}.picker-footer{padding:6px 8px;border-top:1px solid var(--background-gray);display:flex;justify-content:flex-end}.picker-clear{padding:4px 10px;border:none;background:none;color:var(--error-color);font-size:.68rem;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s}.picker-clear:hover{background:var(--error-light)}.picker-options::-webkit-scrollbar{width:5px}.picker-options::-webkit-scrollbar-track{background:transparent}.picker-options::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:var(--radius-sm)}.courses-container{margin:0 auto;padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px)}.courses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible;position:static}.courses-header:before{display:none}.courses-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.courses-header .subtitle{font-family:var(--font-sans);font-size:.79rem;color:var(--text-secondary);margin:2px 0 0;line-height:1.5}.courses-header .btn-help{position:relative;z-index:1}.courses-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.courses-toolbar .btn{flex:0 0 auto;width:auto!important}.toolbar-actions{display:flex;gap:var(--spacing-2)}.toolbar-filters{display:flex;gap:var(--spacing-3);flex:1}.search-input{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);min-width:200px;max-width:300px;transition:border-color var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 102, 126, 234),.15)}.filter-select{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--white);cursor:pointer}.completion-link{padding:var(--spacing-2) 0;color:var(--primary-color);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:color var(--transition-fast)}.completion-link:hover{color:var(--button-hover);text-decoration:underline}.form-container h2:before{content:"";display:block;width:4px;height:20px;background:var(--primary-color);border-radius:var(--radius-sm);flex-shrink:0}.course-form{display:flex;flex-direction:column}.course-form .form-group{margin-bottom:14px}.drawer-content .course-form .form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:600;font-size:.62rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px}.drawer-content .course-form .form-group input,.drawer-content .course-form .form-group textarea,.drawer-content .course-form .form-group select{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary);box-sizing:border-box}.drawer-content .course-form .form-group input:hover,.drawer-content .course-form .form-group textarea:hover,.drawer-content .course-form .form-group select:hover{border-color:var(--text-light)}.drawer-content .course-form .form-group input:focus,.drawer-content .course-form .form-group textarea:focus,.drawer-content .course-form .form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.drawer-content .course-form .form-group textarea{resize:vertical;min-height:100px}.drawer-content .course-form .checkbox-group{display:flex;align-items:center;gap:var(--spacing-2)}.drawer-content .course-form .checkbox-group label{display:flex;align-items:center;margin-bottom:0;margin-top:var(--spacing-1);cursor:pointer;font-size:.79rem;text-transform:none;letter-spacing:normal;color:var(--text-primary)}.drawer-content .course-form .checkbox-group input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--text-primary)}.form-actions{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1.5px solid var(--border-color);background:var(--white);position:sticky;bottom:0;margin:16px -20px -20px;z-index:10}.form-actions .btn-primary{padding:9px 20px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.form-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.form-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.form-actions .btn-secondary{padding:9px 20px;background:var(--background-gray);color:var(--text-secondary);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.form-actions .btn-secondary:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.form-section{margin-top:8px;border-top:1.5px solid var(--border-color);padding-top:16px}.certificate-panel{margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--success-light);border:1px solid var(--success-dark);border-radius:var(--radius-lg)}.variant-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.variant-item{padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:flex-start;background:var(--background-gray)}.variant-item-pending{border-color:var(--primary-color);background:var(--info-light)}.variant-item-info{flex:1}.variant-item-name{font-weight:600;margin-bottom:2px;display:flex;align-items:center;gap:var(--spacing-2)}.variant-item-price{color:var(--success-dark);font-size:var(--text-sm);font-weight:500}.variant-item-desc{color:var(--text-secondary);font-size:var(--text-sm)}.variant-item-pending-note{color:var(--primary-color);font-size:var(--text-xs);margin-top:4px}.variant-item-actions{display:flex;gap:var(--spacing-2);margin-left:var(--spacing-3)}.variant-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3);gap:var(--spacing-4)}.variant-section-header label{margin-bottom:0;flex:1}.variant-section-header .btn{flex:0 0 auto;width:auto}.variant-help{margin-top:0;margin-bottom:var(--spacing-3)}.variant-empty{margin:var(--spacing-3) 0}.badge-sm{font-size:11px}.badge-pending{background:var(--primary-color);color:var(--white)}.form-group-last{margin-bottom:0}.field-hint{color:var(--text-secondary);margin-top:4px;display:block;font-size:var(--text-xs)}.courses-list{background:transparent;padding:0}.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:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-5);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);display:flex;flex-direction:column;border:1px solid var(--border-color)}.course-card:hover{box-shadow:var(--shadow-lg);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-blended{background:var(--info-light);color:var(--primary-color)}.badge-practical{background:var(--warning-light);color:var(--warning-dark)}.badge-classroom{background:var(--background-gray);color:var(--text-secondary)}.badge-overnight{background:var(--info-light);color:var(--primary-color)}.badge-inactive{background:var(--error-light);color:var(--error-dark)}.badge-category{background:var(--warning-light);color:var(--warning-dark)}.badge-certificate{background:var(--success-dark);color:var(--white)}.badge-variants{background:#8e44ad;color:var(--white)}.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:1.2rem}.courses-toolbar{flex-direction:column;align-items:stretch}.toolbar-filters{flex-direction:column}.search-input{min-width:unset;max-width:unset;width:100%}.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}.course-actions .btn,.form-actions .btn{width:100%}}.optional-label{font-size:.73rem;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0;margin-left:2px}.form-help-text{display:block;font-family:var(--font-sans);font-size:.73rem;color:var(--text-muted);margin-top:4px}.instructors-container{margin:0 auto;padding:var(--spacing-6)}.instructors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible;position:static}.instructors-header:before{display:none}.instructors-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.instructors-header .subtitle{font-family:var(--font-sans);font-size:.79rem;color:var(--text-secondary);margin:2px 0 0;line-height:1.5}.instructors-header .btn{position:relative;z-index:1;width:auto!important;flex:0 0 auto;white-space:nowrap}.instructors-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);gap:var(--spacing-3)}.instructors-toolbar .toolbar-filters{display:flex;gap:var(--spacing-3);flex:1;flex-wrap:wrap}.instructors-toolbar .search-input{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);min-width:200px;max-width:300px;transition:border-color var(--transition-fast)}.instructors-toolbar .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 102, 126, 234),.15)}.instructors-toolbar .filter-select{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--white);cursor:pointer}.instructors-toolbar .filter-select:focus{outline:none;border-color:var(--primary-color)}.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);padding:var(--spacing-3)}.instructor-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.instructor-info{padding:var(--spacing-4);flex-grow:1;border-bottom:1px solid var(--border-light)}.instructor-info p{margin:var(--spacing-1) 0;color:var(--text-secondary);font-size:var(--text-sm)}.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)}.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);background:var(--background-gray);border-radius:var(--radius-lg);margin:0 var(--spacing-3) var(--spacing-3)}.instructor-actions .btn{flex:1}.instructors-container .form-group{margin-bottom:14px}.instructors-container .form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:600;font-size:.62rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px}.instructors-container .form-group input,.instructors-container .form-group select,.instructors-container .form-group textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary);box-sizing:border-box}.instructors-container .form-group input:hover,.instructors-container .form-group select:hover,.instructors-container .form-group textarea:hover{border-color:var(--text-light)}.instructors-container .form-group input:focus,.instructors-container .form-group select:focus,.instructors-container .form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.image-upload-container{width:100%;height:180px;border:2px dashed var(--border-color);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--background-gray);transition:all var(--transition-fast);margin-bottom:10px}.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:14px}.image-form-group label{display:block;margin-bottom:6px;font-weight:600;color:var(--text-secondary);font-size:.62rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px}.qualifications-section{margin-top:8px;padding-top:16px;border-top:1.5px solid var(--border-color)}.qualifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:14px}.qualifications-header .btn{flex:0 0 auto;width:auto}.qualifications-header label{font-weight:600;color:var(--text-secondary);margin:0;font-size:.62rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px;flex:1}.qualification-item{background:var(--background-gray);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);padding:10px;margin-bottom:10px}.qualification-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.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:10px;justify-content:flex-end;margin-top:auto;padding:16px 20px;border-top:1.5px solid var(--border-color);position:sticky;bottom:0;background:var(--white);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:9px 20px;border:none;border-radius:var(--radius-lg);font-weight:600;font-size:.73rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--text-primary);color:var(--white);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--background-gray);color:var(--text-secondary);border:1.5px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.btn-danger:hover:not(:disabled){background:var(--error-dark)}.btn-small{padding:6px 12px;font-size:.67rem}.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:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid var(--primary-color);flex-shrink:0}.instructor-avatar-placeholder{width:70px;height:70px;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-2xl);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-radius:var(--radius-lg);margin:var(--spacing-3)}.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-header .btn{flex:0 0 auto;margin-left:auto}.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:var(--radius-sm)}.details-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.details-section-header h4{margin-bottom:0}.details-section-header .btn{flex:0 0 auto;width:auto;white-space:nowrap}.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)}.account-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-2xl);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.account-active{background:#10b9811a;color:var(--success-color);border:1px solid rgba(16,185,129,.2)}.account-invited{background:#3b82f61a;color:var(--primary-hover);border:1px solid rgba(59,130,246,.2)}.account-none{background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-light)}.account-status-section{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-4)!important;border:1px solid var(--border-light)}.account-status-row{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.account-status-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.account-status-actions{display:flex;gap:var(--spacing-2)}.btn-invite{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;padding:6px 16px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.btn-invite:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-invite:disabled{opacity:.6;cursor:not-allowed}.btn-danger-outline{background:transparent;color:var(--error-color);border:1px solid var(--error-color);padding:6px 16px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.btn-danger-outline:hover{background:var(--error-color);color:#fff}.alert-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--success-color);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);font-size:var(--text-sm)}@media (max-width: 768px){.instructors-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.instructors-header h1{font-size:1.2rem}.instructors-toolbar .toolbar-filters{flex-direction:column}.instructors-toolbar .search-input{max-width:100%;min-width:0;width:100%}.instructors-grid,.qualification-row{grid-template-columns:1fr}.form-actions,.instructor-actions{flex-direction:column}.instructor-actions .btn,.form-actions .btn{width:100%}.instructor-stats{flex-direction:column;gap:var(--spacing-3)}.details-header{flex-direction:column;text-align:center}}.instructor-expiry-badge{font-size:.68rem;font-weight:600;padding:6px 12px;border-radius:var(--radius-md);text-align:center;margin:0 var(--spacing-3) var(--spacing-3);width:fit-content;align-self:stretch;margin-left:var(--spacing-3);margin-right:var(--spacing-3)}.instructor-expiry-badge.expired{background:var(--danger-light, #fef2f2);color:var(--danger-color, #dc2626);border:1px solid var(--danger-color, #dc2626)}.instructor-expiry-badge.expiring{background:var(--warning-light, #fffbeb);color:var(--warning-dark, #b45309);border:1px solid var(--warning-color, #f59e0b)}.qual-detail-item.qual-expired{border-color:var(--danger-color, #dc2626);background:var(--danger-light, #fef2f2)}.qual-detail-item.qual-expiring{border-color:var(--warning-color, #f59e0b);background:var(--warning-light, #fffbeb)}.qual-expiry-expired{color:var(--danger-color, #dc2626)!important;font-weight:600;font-style:normal!important}.qual-expiry-warning{color:var(--warning-dark, #b45309)!important;font-weight:600;font-style:normal!important}.calendar{width:100%;min-width:0;background:var(--white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--border-color)}.calendar-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--white);border-bottom:1px solid var(--border-color)}.calendar-month{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.calendar-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--white);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);padding:0}.calendar-nav-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.calendar-today-btn{margin-left:auto;padding:6px 14px;background:var(--primary-color);color:var(--text-on-primary);border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:.75rem;font-weight:600;transition:all var(--transition-normal)}.calendar-today-btn:hover{opacity:.9;transform:translateY(-1px)}.week-start-toggle{display:flex;align-items:center;gap:4px;margin-left:8px;padding:2px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.week-start-label{font-size:.7rem;font-weight:600;color:var(--text-secondary);padding:0 6px;white-space:nowrap}.week-start-btn{padding:4px 10px;font-size:.7rem;font-weight:600;border:none;border-radius:calc(var(--radius-lg) - 2px);cursor:pointer;background:transparent;color:var(--text-secondary);transition:all .15s;white-space:nowrap}.week-start-btn.active{background:var(--primary-color);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.week-start-btn:not(.active):hover{background:var(--white);color:var(--text-primary)}.calendar-legend{display:flex;align-items:center;gap:16px;padding:8px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--text-secondary);white-space:nowrap}.legend-bar-sample{display:inline-block;width:32px;height:12px;background:#0f172a;border-radius:3px}.legend-bar-sample.legend-multi-day{background:#0f172a}.legend-chip-sample{display:inline-block;width:24px;height:12px;background:var(--background-gray, #f5f5f5);border-left:3px solid #0F172A;border-radius:0 3px 3px 0}.legend-chip-sample.legend-single-day{border-left-color:#2563eb}.legend-chip-sample.legend-unallocated{border-left-style:dashed;border-left-color:#f59e0b;background:#f59e0b14}.legend-badge-sample{font-size:9px;font-weight:600;padding:2px 6px;border-radius:3px}.legend-badge-sample.available{background:#22c55e26;color:var(--success-color, #16a34a)}.legend-badge-sample.full{background:#ef444426;color:var(--error-color, #dc2626)}.legend-session-sample{display:inline-flex;align-items:center;justify-content:center;width:24px;height:14px;background:#7c3aed;border-radius:3px;font-size:8px;font-weight:700;color:#fff;letter-spacing:-.02em}.calendar .calendar-grid{display:flex;flex-direction:column;border-top:1px solid var(--border-color)}.calendar .calendar-day-headers{display:grid;grid-template-columns:repeat(7,1fr)}.calendar .calendar-day-header{padding:10px 4px;text-align:center;font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.calendar .calendar-week-row{position:relative}.calendar .week-bars{position:absolute;top:0;left:0;right:0;z-index:2;pointer-events:none}.calendar .week-bar{position:absolute;height:20px;border-radius:4px;display:flex;align-items:center;gap:4px;padding:0 8px;color:#fff;cursor:pointer;pointer-events:auto;font-size:11px;font-weight:500;overflow:hidden;white-space:nowrap;transition:opacity .15s}.calendar .week-bar:hover{opacity:.85;box-shadow:0 2px 6px #00000026}.calendar .week-bar.continues-left{border-top-left-radius:0;border-bottom-left-radius:0}.calendar .week-bar.continues-right{border-top-right-radius:0;border-bottom-right-radius:0}.calendar .week-bar.week-bar-unallocated{border:2px dashed rgba(255,255,255,.5)}.week-bar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.week-bar-badge{flex-shrink:0;font-size:9px;font-weight:600;padding:1px 4px;border-radius:3px;white-space:nowrap}.week-bar-badge.available{background:#ffffff40;color:#fff}.week-bar-badge.full{background:#ffffff4d;color:#fff}.week-bar-session-label{flex-shrink:0;font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;background:#ffffff4d;color:#fff;letter-spacing:-.02em}.calendar .week-cells{display:grid;grid-template-columns:repeat(7,1fr)}.calendar .calendar-cell{min-height:110px;padding:6px;border-right:1px solid var(--background-gray, #f0f0f0);border-bottom:1px solid var(--background-gray, #f0f0f0);cursor:pointer;transition:background .15s;position:relative;background:var(--white)}.calendar .calendar-cell:nth-child(7n+7){border-right:none}.calendar .calendar-cell:hover,.calendar .calendar-cell.other-month{background:var(--bg-secondary)}.calendar .calendar-cell.other-month .cell-date{color:var(--text-light, #ccc)}.calendar .calendar-cell.today .cell-date{background:var(--primary-color);color:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:600}.calendar .cell-date{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px;display:inline-flex}.calendar .cell-events{display:flex;flex-direction:column;gap:2px;margin-top:var(--bar-offset, 0px)}.calendar .cell-event{font-size:11px;padding:2px 5px;border-left:3px solid var(--primary-color);background:var(--background-gray, #f5f5f5);border-radius:0 4px 4px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary);cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:4px}.calendar .cell-event:hover{background:var(--border-color, #e5e5e5)}.calendar .cell-event.cell-event-unallocated{border-left-style:dashed;border-left-width:3px;background:#f59e0b14}.cell-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;flex:1;min-width:0}.cell-event-badge{flex-shrink:0;font-size:9px;font-weight:600;padding:1px 4px;border-radius:3px;white-space:nowrap}.cell-event-badge.available{background:#22c55e26;color:var(--success-color, #16a34a)}.cell-event-badge.full{background:#ef444426;color:var(--error-color, #dc2626)}.cell-event-session-label{flex-shrink:0;font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;background:#7c3aed;color:#fff;letter-spacing:-.02em}.calendar .cell-event.cell-event-session{border-left-width:4px;border-left-style:double}.calendar .cell-more{font-size:10px;color:var(--text-secondary);padding:1px 4px;font-weight:500}@media (max-width: 768px){.calendar-header{padding:12px 16px;flex-wrap:wrap}.calendar-month{font-size:1rem}.calendar-legend{padding:6px 12px;gap:8px}.legend-item{font-size:.6rem}.calendar .week-bar{font-size:9px;height:16px;padding:0 4px}.week-bar-badge{display:none}.calendar .calendar-cell{min-height:70px;padding:4px}.calendar .cell-event{font-size:10px;padding:1px 3px}.cell-event-badge{display:none}.calendar .calendar-day-header{padding:8px 2px;font-size:.65rem}}.course-picker{position:relative;width:100%}.course-picker-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;padding:6px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);cursor:pointer;font-family:var(--font-sans);font-size:.79rem;color:var(--text-primary);transition:all var(--transition-fast);text-align:left;gap:8px}.course-picker-trigger:hover{border-color:var(--text-light)}.course-picker-trigger:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.course-picker .picker-placeholder{color:var(--text-muted);font-weight:400}.course-picker .picker-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1}.course-picker .picker-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--info-light);color:var(--info-dark);border-radius:var(--radius-sm);font-size:.68rem;font-weight:600;line-height:1.4;white-space:nowrap}.course-picker .picker-tag-remove{cursor:pointer;font-size:.84rem;line-height:1;color:var(--primary-color);margin-left:2px;transition:color .15s}.course-picker .picker-tag-remove:hover{color:var(--error-color)}.course-picker .picker-chevron{font-size:.55rem;color:var(--text-secondary);flex-shrink:0;margin-left:4px}.course-picker-popover{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:coursePickerFadeIn .15s ease-out}@keyframes coursePickerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.course-picker .picker-search-wrap{padding:8px;border-bottom:1px solid var(--background-gray)}.course-picker .picker-search{width:100%;padding:7px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:.73rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-secondary);transition:all var(--transition-fast);box-sizing:border-box}.course-picker .picker-search:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a;background:var(--white)}.course-picker .picker-options{max-height:280px;overflow-y:auto;padding:4px 0}.course-picker .picker-option-group{border-bottom:1px solid var(--background-gray)}.course-picker .picker-option-group:last-child{border-bottom:none}.course-picker .picker-option-group.selected{background:var(--bg-secondary)}.course-picker .picker-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .1s ease;font-size:.79rem;color:var(--text-primary);margin:0}.course-picker .picker-option:hover{background:var(--bg-secondary)}.course-picker .picker-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--text-primary);cursor:pointer;flex-shrink:0}.course-picker .picker-option-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-picker .picker-empty{padding:16px 12px;text-align:center;color:var(--text-muted);font-size:.73rem}.course-picker .picker-variant-select{padding:4px 12px 10px 36px}.course-picker .picker-variant-select select{width:100%;padding:6px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.73rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast);cursor:pointer}.course-picker .picker-variant-select select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.course-picker .picker-variant-select select.variant-error{border-color:var(--error-color)}.course-picker .variant-error-text{display:block;font-family:var(--font-sans);font-size:.62rem;color:var(--error-color);font-weight:500;margin-top:3px}.course-picker .picker-price-override{padding:2px 12px 10px 36px}.course-picker .picker-price-input{width:100%;padding:6px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.73rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast);box-sizing:border-box}.course-picker .picker-price-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.course-picker .picker-price-input::placeholder{color:var(--text-muted);font-weight:400}.course-picker .picker-footer{padding:6px 10px;border-top:1px solid var(--background-gray);display:flex;justify-content:space-between;align-items:center}.course-picker .picker-count{font-family:var(--font-sans);font-size:.68rem;color:var(--text-secondary);font-weight:500}.course-picker .picker-clear{padding:4px 10px;border:none;background:none;color:var(--error-color);font-size:.68rem;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s;font-family:var(--font-sans)}.course-picker .picker-clear:hover{background:var(--error-light)}.course-picker .picker-options::-webkit-scrollbar{width:5px}.course-picker .picker-options::-webkit-scrollbar-track{background:transparent}.course-picker .picker-options::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:var(--radius-sm)}.schedule-form{display:flex;flex-direction:column;gap:0}.schedule-form-loading{font-family:var(--font-sans);font-size:.79rem;color:var(--text-secondary);padding:24px 0;text-align:center}.schedule-form .form-error{padding:10px 14px;background:var(--error-light);border:1.5px solid var(--error-light);border-radius:var(--radius-lg);color:var(--error-color);font-family:var(--font-sans);font-size:.79rem;font-weight:500;margin-bottom:12px}.schedule-form .form-warning{padding:10px 14px;background:var(--warning-light);border:1.5px solid var(--warning-light);border-radius:var(--radius-lg);color:var(--warning-dark);font-family:var(--font-sans);font-size:.79rem;font-weight:500;margin-bottom:12px}.schedule-form .conflict-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--error-light);border:1.5px solid var(--error-color);border-radius:var(--radius-lg);margin-bottom:16px;animation:scheduleConflictPulse 2s ease-in-out infinite}.schedule-form .conflict-alert-icon{font-size:20px;flex-shrink:0;line-height:1}.schedule-form .conflict-alert-text{flex:1}.schedule-form .conflict-alert-text strong{display:block;color:var(--error-color);font-family:var(--font-sans);font-size:.79rem;font-weight:600;margin-bottom:2px}.schedule-form .conflict-alert-text p{margin:0;color:var(--warning-dark);font-family:var(--font-sans);font-size:.73rem}@keyframes scheduleConflictPulse{0%,to{border-color:var(--error-color)}50%{border-color:var(--error-light)}}.schedule-form .form-section{margin-bottom:8px;padding:0 0 16px;background:transparent;border:none;border-radius:0}.schedule-form .form-section h3{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--text-primary);margin:0 0 16px;padding-bottom:10px;border-bottom:1.5px solid var(--border-color);display:flex;align-items:center;gap:8px}.schedule-form .form-section h3:before{content:"";width:3px;height:16px;background:var(--text-primary);border-radius:var(--radius-sm);flex-shrink:0}.schedule-form .section-note{font-family:var(--font-sans);font-size:.73rem;color:var(--text-muted);margin-bottom:14px;line-height:1.5}.schedule-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px}.schedule-form .form-group{display:flex;flex-direction:column;margin-bottom:14px}.schedule-form .form-row .form-group{margin-bottom:0}.schedule-form .form-group label{font-family:var(--font-sans);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px}.schedule-form .required{color:var(--error-color);margin-left:2px}.schedule-form .form-group input,.schedule-form .form-group select{padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.79rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast);width:100%;box-sizing:border-box}.schedule-form .form-group input:hover,.schedule-form .form-group select:hover{border-color:var(--text-light)}.schedule-form .form-group input:focus,.schedule-form .form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.schedule-form .form-group input:disabled,.schedule-form .form-group select:disabled{background:var(--background-gray);color:var(--text-muted);cursor:not-allowed;opacity:1}.schedule-form input[type=number]::-webkit-outer-spin-button,.schedule-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.schedule-form input[type=number]{-moz-appearance:textfield}.schedule-form .field-note{font-family:var(--font-sans);font-size:.73rem;color:var(--text-muted);margin-bottom:10px;line-height:1.5}.schedule-form .form-help-text{display:block;font-family:var(--font-sans);font-size:.73rem;color:var(--text-muted);margin-top:4px}.schedule-form .optional-label{font-size:.73rem;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}.schedule-form .field-error{display:block;font-family:var(--font-sans);font-size:.73rem;color:var(--error-color);margin-top:4px}.schedule-form .field-warning{display:block;font-family:var(--font-sans);font-size:.73rem;color:var(--warning-dark);margin-top:4px}.schedule-form .checkbox-inline-label{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:.79rem;font-weight:500;color:var(--text-primary);cursor:pointer}.schedule-form .checkbox-inline-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--text-primary);cursor:pointer}.schedule-form .cabin-pricing-section{margin-top:16px;padding:16px;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:var(--radius-xl)}.schedule-form .cabin-pricing-section h4{font-family:var(--font-display);font-size:.79rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.schedule-form .cabin-pricing-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--white);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:10px;gap:16px;transition:border-color .15s ease}.schedule-form .cabin-pricing-row:hover{border-color:var(--text-light)}.schedule-form .cabin-info{min-width:140px;display:flex;flex-direction:column;gap:2px}.schedule-form .cabin-sellable-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:0}.schedule-form .cabin-sellable-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin:0;accent-color:var(--text-primary)}.schedule-form .cabin-sellable-toggle strong{font-family:var(--font-sans);font-size:.79rem;font-weight:600;color:var(--text-primary);margin:0}.schedule-form .cabin-berths{font-family:var(--font-sans);font-size:.68rem;color:var(--text-muted)}.schedule-form .cabin-booked-warning{font-family:var(--font-sans);font-size:.68rem;color:var(--warning-dark);font-weight:500;margin-left:4px}.schedule-form .cabin-sellable-toggle input:disabled+strong{color:var(--text-muted)}.schedule-form .cabin-prices{display:flex;gap:12px;flex-wrap:wrap}.schedule-form .price-input{display:flex;flex-direction:column;gap:4px;min-width:140px}.schedule-form .price-input label{font-family:var(--font-sans);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.schedule-form .price-input input{padding:8px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.79rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast)}.schedule-form .price-input input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.schedule-form .form-row.has-conflict{position:relative}.schedule-form .form-row.has-conflict .form-group input[type=date],.schedule-form .form-row.has-conflict .form-group input[type=time]{border-color:var(--error-color);box-shadow:0 0 0 3px #ef44441a}.schedule-form .form-actions{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1.5px solid var(--border-color);background:var(--white);position:sticky;bottom:0;margin:16px -20px -20px;z-index:10}.schedule-form .form-actions .btn-primary,.schedule-form .form-actions .btn-secondary{padding:9px 20px!important;margin:0!important;border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);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}.schedule-form .form-actions .btn-primary{background:var(--text-primary);color:var(--white);box-shadow:var(--shadow-sm)}.schedule-form .form-actions .btn-primary:hover:not(:disabled){background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.schedule-form .form-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.schedule-form .form-actions .btn-secondary{background:var(--background-gray);color:var(--text-secondary);border:1.5px solid var(--border-color)}.schedule-form .form-actions .btn-secondary:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.schedule-form .form-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.schedule-form .form-row{grid-template-columns:1fr}.schedule-form .cabin-pricing-row{flex-direction:column;align-items:stretch}.schedule-form .cabin-prices{width:100%;flex-direction:column}.schedule-form .price-input{width:100%}.schedule-form .form-actions{flex-direction:column-reverse}.schedule-form .form-actions .btn-primary,.schedule-form .form-actions .btn-secondary{width:100%;text-align:center}}.schedule-form .course-price-overrides{display:flex;flex-direction:column;gap:8px}.schedule-form .course-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.schedule-form .course-price-label{font-family:var(--font-sans);font-size:.79rem;font-weight:500;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-form .course-price-input-wrap{display:flex;align-items:center;gap:4px;flex-shrink:0}.schedule-form .course-price-currency{font-family:var(--font-sans);font-size:.79rem;font-weight:500;color:var(--text-secondary)}.schedule-form .course-price-input{width:100px;padding:6px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.79rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast);text-align:right}.schedule-form .course-price-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.schedule-form .course-price-input::placeholder{color:var(--text-muted);font-weight:400}.schedule-form .multi-session-section{margin-top:8px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;background:var(--bg-subtle, #f8f9fb)}.schedule-form .multi-session-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.schedule-form .multi-session-header h4{font-family:var(--font-heading);font-size:.85rem;font-weight:600;color:var(--text-primary);margin:0}.schedule-form .btn-add-session{padding:4px 12px;font-family:var(--font-sans);font-size:.72rem;font-weight:500;color:var(--primary-color);background:transparent;border:1.5px solid var(--primary-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.schedule-form .btn-add-session:hover{background:var(--primary-color);color:#fff}.schedule-form .session-block{border:1.5px solid var(--border-color);border-radius:var(--radius-md);padding:12px 14px;margin-top:10px;background:var(--white)}.schedule-form .session-block-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.schedule-form .session-title-input{flex:1;padding:5px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.79rem;font-weight:600;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast)}.schedule-form .session-title-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.schedule-form .btn-remove-session{width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;font-size:1.1rem;line-height:1;color:var(--text-muted);background:transparent;border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.schedule-form .btn-remove-session:hover{color:var(--error-color);border-color:var(--error-color);background:var(--error-light)}.manifest-modal-overlay{z-index:1100}.manifest-modal{max-width:900px;width:95%;max-height:90vh;display:flex;flex-direction:column}.manifest-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color) 100%);color:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.manifest-header h2{margin:0;font-size:1.25rem;font-weight:600}.header-actions{display:flex;gap:.75rem;align-items:center}.btn-print{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.4rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:background .2s}.btn-print:hover{background:#ffffff4d}.btn-download{background:var(--success-color);border:1px solid var(--success-dark);color:#fff;padding:.4rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:background .2s}.btn-download:hover{background:var(--success-dark)}.btn-download:disabled{background:var(--text-muted);border-color:var(--text-muted);cursor:not-allowed}.manifest-header .modal-close-btn{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.manifest-body{flex:1;overflow-y:auto;padding:1.5rem;background:var(--background-gray)}.manifest-loading,.manifest-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.manifest-error{color:var(--error-color)}.manifest-error button{background:var(--error-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.manifest-section{margin-bottom:1.5rem;border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;background:var(--white);box-shadow:var(--shadow-sm)}.manifest-section h3{margin:0;padding:.85rem 1.2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:.75rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.manifest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.2rem;background:var(--white)}.manifest-field{display:flex;flex-direction:column;gap:.25rem}.manifest-field.full-width{grid-column:1 / -1}.manifest-field label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.manifest-field span{font-size:.95rem;color:var(--text-primary)}.manifest-field span small{display:block;font-size:.8rem;color:var(--text-muted)}.participants-section .section-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.participants-section .section-header h3{padding:0;background:none;border:none}.expand-controls{display:flex;gap:.5rem;align-items:center;font-size:.8rem}.btn-link{background:none;border:none;color:var(--primary-color);cursor:pointer;text-decoration:underline;font-size:.8rem}.btn-link:hover{color:var(--primary-color)}.participants-list{padding:1rem;background:var(--white)}.no-participants{padding:2rem;text-align:center;color:var(--text-secondary);background:var(--white)}.manifest-modal .participant-card{border:1px solid var(--border-color);border-radius:var(--radius-xl);margin-bottom:.75rem;background:var(--white);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.manifest-modal .participant-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.manifest-modal .participant-card.expanded{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.participant-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.participant-header:hover{background:var(--bg-secondary)}.participant-basic{display:flex;align-items:center;gap:.75rem}.participant-number{width:24px;height:24px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.participant-name{font-weight:500;color:var(--text-primary)}.participant-course-badge{background:var(--info-light);color:var(--info-dark);padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.75rem}.participant-status-icons{display:flex;align-items:center;gap:.5rem}.status-icon{font-size:1rem}.status-icon.partial-paid,.status-icon.waiver-pending{opacity:.5}.status-badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;text-transform:uppercase}.status-badge.confirmed{background:var(--success-light);color:var(--success-dark)}.status-badge.awaiting-payment,.status-badge.pending{background:var(--warning-light);color:var(--warning-dark)}.status-badge.deposit-paid{background:var(--info-light);color:var(--info-dark)}.status-badge.waitlisted{background:var(--info-light);color:var(--primary-color)}.expand-icon{color:var(--text-muted);font-size:.7rem;margin-left:.5rem}.manifest-modal .participant-details{border-top:1px solid var(--border-color);padding:1.2rem;background:var(--bg-secondary)}.manifest-modal .details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.manifest-modal .detail-group{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm)}.detail-group h4{margin:0 0 .5rem;font-size:.85rem;color:var(--text-secondary);padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.detail-group.emergency{border-color:var(--error-light);background:var(--error-light)}.detail-group.emergency h4{color:var(--error-dark);border-color:var(--error-light)}.detail-group.medical{border-color:var(--info-light);background:var(--info-light)}.detail-group.medical h4{color:var(--primary-hover);border-color:var(--info-light)}.detail-group.dietary{border-color:var(--success-light);background:var(--success-light)}.detail-group.dietary h4{color:var(--success-dark);border-color:var(--success-light)}.detail-row{display:flex;gap:.5rem;margin-bottom:.4rem;font-size:.85rem}.detail-row:last-child{margin-bottom:0}.detail-row label{color:var(--text-muted);min-width:80px;flex-shrink:0}.detail-row span{color:var(--text-primary)}.detail-row.highlight span{color:var(--error-color);font-weight:500}.not-provided{color:var(--text-muted);font-size:.85rem;font-style:italic;margin:0}.payment-status{font-size:.85rem}.payment-status.paid{color:var(--success-color);font-weight:500}.payment-status.partial{color:var(--warning-dark)}.balance-due{color:var(--error-color);font-size:.8rem}.waiver-status.signed{color:var(--success-color)}.waiver-status.pending{color:var(--warning-dark)}.summary-section{display:none}.summary-stats{display:flex;justify-content:space-around;padding:1rem}.stat{text-align:center}.stat-value{display:block;font-size:2rem;font-weight:700;color:var(--primary-color)}.stat-label{font-size:.8rem;color:var(--text-muted)}.manifest-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.manifest-footer .btn-primary{background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem}.manifest-footer .btn-secondary{background:var(--white);color:var(--text-secondary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem}.manifest-footer .btn-secondary:hover{background:var(--background-gray)}.cabin-allocations-manifest{padding:1.2rem;background:var(--white)}.cabin-group-manifest{margin-bottom:1.25rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-secondary)}.cabin-group-manifest:last-child{margin-bottom:0}.cabin-header-manifest{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--background-gray);border-bottom:1px solid var(--border-color)}.cabin-name-manifest{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-primary)}.cabin-type-manifest{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.cabin-type-manifest.private{background:var(--info-light);color:var(--info-dark)}.cabin-type-manifest.shared{background:var(--warning-light);color:var(--warning-dark)}.cabin-occupancy-manifest{font-size:.8rem;color:var(--text-secondary);font-weight:500}.cabin-occupants-manifest{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;background:var(--white)}.occupant-manifest{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:var(--radius-md);font-size:.85rem}.occupant-name-manifest{color:var(--text-primary);font-weight:500}.occupant-status-manifest{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;background:var(--warning-light);color:var(--warning-dark)}.unassigned-group-manifest{margin-bottom:1.25rem;padding:1rem;border:2px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--warning-light)}.unassigned-group-manifest:last-child{margin-bottom:0}.unassigned-header-manifest{font-size:.9rem;font-weight:600;color:var(--warning-dark);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.unassigned-participants-manifest{display:flex;flex-direction:column;gap:.5rem}.no-cabin-allocations{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.9rem;background:var(--white)}@media print{.manifest-modal-overlay{position:static;background:none}.manifest-modal{max-width:none;width:100%;max-height:none;box-shadow:none;border:none;border-radius:0}.no-print{display:none!important}.manifest-header{background:#fff!important;color:#000!important;border-bottom:2px solid #000;border-radius:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.manifest-body{overflow:visible}.participant-card{page-break-inside:avoid}.participant-card.expanded .participant-details{display:block!important}.summary-section{display:block!important;page-break-before:always}.expand-icon,.expand-controls,.btn-print,.btn-course-history,.signoff-form,.btn-start-signoff,.btn-edit-signoff{display:none!important}}@media (max-width: 768px){.manifest-modal{width:100%;height:100%;max-height:100%;border-radius:0}.manifest-grid,.details-grid{grid-template-columns:1fr}.participant-header{flex-direction:column;align-items:flex-start;gap:.5rem}.participant-status-icons{width:100%;justify-content:flex-start}}.btn-course-history{background:var(--info-light);border:1px solid var(--info-light);color:var(--info-dark);padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.btn-course-history:hover{background:var(--info-light);border-color:#7dd3fc}.manifest-completion-card{margin-top:6px;background:#fffbeb;border:1px solid #F59E0B;border-radius:var(--radius-sm, 6px);padding:6px 8px;font-size:.7rem}.manifest-completion-card-header{color:#92400e;margin-bottom:3px;font-size:.68rem}.manifest-completion-card-header strong{font-weight:700}.manifest-completion-card-pathways{display:flex;flex-direction:column;gap:1px;padding-left:4px}.manifest-completion-pathway-row{display:flex;align-items:baseline;gap:4px;color:#78350f;font-size:.65rem;line-height:1.4}.manifest-pathway-number{font-weight:700;min-width:14px;flex-shrink:0}.manifest-pathway-recipe{font-weight:500}.manifest-pathway-step{color:#b45309;font-style:italic;font-size:.6rem;white-space:nowrap}.completion-group{border-color:var(--info-light);background:var(--info-light)}.completion-group h4{color:var(--info-dark);border-color:var(--info-light)}.completion-signed-off{position:relative}.completion-completed{color:var(--success-color);font-weight:600}.completion-not-completed{color:var(--error-color);font-weight:600}.completion-pending{color:var(--warning-dark);font-weight:500}.instructor-feedback-text{font-style:italic;color:var(--info-dark)}.btn-start-signoff{background:linear-gradient(135deg,var(--info-dark),var(--primary-color));color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-lg);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);margin-top:.5rem}.btn-start-signoff:hover{background:linear-gradient(135deg,var(--primary-hover),#4f46e5);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-edit-signoff{background:none;border:1px solid var(--info-light);color:var(--info-dark);padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;margin-top:.75rem;transition:all var(--transition-normal)}.btn-edit-signoff:hover{background:var(--info-light)}.signoff-form{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--info-light);display:flex;flex-direction:column;gap:.75rem}.signoff-field{display:flex;flex-direction:column;gap:.25rem}.signoff-field label{font-size:.75rem;font-weight:600;color:var(--info-dark);text-transform:uppercase;letter-spacing:.03em}.signoff-field select,.signoff-field textarea{padding:.5rem .75rem;border:1px solid var(--info-light);border-radius:var(--radius-lg);font-size:.85rem;font-family:var(--font-sans);color:var(--primary-hover);background:var(--white);resize:vertical}.signoff-field select:focus,.signoff-field textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f126}.signoff-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-cancel-signoff{background:var(--white);border:1px solid var(--border-color);color:var(--text-muted);padding:.4rem .75rem;border-radius:var(--radius-lg);font-size:.8rem;cursor:pointer;transition:all var(--transition-normal)}.btn-cancel-signoff:hover{background:var(--bg-secondary);border-color:var(--text-muted)}.btn-save-signoff{background:linear-gradient(135deg,var(--success-color),var(--success-color));color:#fff;border:none;padding:.4rem 1rem;border-radius:var(--radius-lg);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.btn-save-signoff:hover{background:linear-gradient(135deg,var(--success-dark),var(--success-color));transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-save-signoff:disabled{background:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.signoff-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-color);padding:.5rem .75rem;border-radius:var(--radius-lg);font-size:.8rem}.completion-badge{padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;white-space:nowrap}.completion-badge.completion-completed{background:var(--success-light);color:var(--success-dark)}.completion-badge.completion-not-completed{background:var(--error-light);color:var(--error-dark)}.completion-badge.completion-pending{background:var(--warning-light);color:var(--warning-dark)}.course-history-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1200;display:flex;align-items:center;justify-content:center;padding:2rem}.course-history-panel{background:var(--white);border-radius:var(--radius-xl);max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.course-history-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--info-dark) 0%,var(--primary-color) 100%);color:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.course-history-header h3{margin:0;font-size:1rem;font-weight:600}.course-history-header .modal-close-btn{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.course-history-body{flex:1;overflow-y:auto;padding:1rem;background:var(--bg-secondary)}.course-history-items{display:flex;flex-direction:column;gap:.75rem}.course-history-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm)}.course-history-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.course-history-course-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.course-history-card-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.course-history-feedback{background:var(--info-light);border:1px solid var(--info-light);border-radius:var(--radius-lg);padding:.5rem .75rem;margin-top:.5rem}.course-history-feedback label{font-size:.7rem;font-weight:600;color:var(--info-dark);text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:.25rem}.course-history-feedback p{margin:0;font-size:.85rem;color:var(--primary-hover);font-style:italic}.course-history-notes{background:var(--success-light);border:1px solid var(--success-light);border-radius:var(--radius-lg);padding:.5rem .75rem;margin-top:.5rem}.course-history-notes label{font-size:.7rem;font-weight:600;color:var(--success-dark);text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:.25rem}.course-history-notes p{margin:0;font-size:.85rem;color:#14532d}.course-history-signoff-info{font-size:.75rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}.cdm-schedule .cdm-body{background:var(--bg-secondary)}.cdm-content .details-grid{display:flex;flex-direction:column;gap:20px}.cdm-content .detail-section{background:var(--white);padding:20px;border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.cdm-content .detail-section h3{margin:0 0 16px;font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding-bottom:10px;border-bottom:1px solid var(--background-gray)}.cdm-content .detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--background-gray)}.cdm-content .detail-row:last-child{border-bottom:none;padding-bottom:0}.cdm-content .modal-detail-label{font-weight:500;color:var(--text-secondary);font-size:.875rem}.cdm-content .modal-detail-value{color:var(--text-primary);font-size:.875rem;font-weight:500;text-align:right;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cdm-content .available-badge{background:var(--success-light);color:var(--success-dark);padding:3px 10px;border-radius:var(--radius-2xl);font-size:.75rem;font-weight:600}.cdm-content .waitlist-badge{background:var(--warning-light);color:var(--warning-dark);padding:3px 10px;border-radius:var(--radius-2xl);font-size:.75rem;font-weight:600;margin-left:0}.cdm-content .full-badge{background:var(--error-light);color:var(--error-dark);padding:3px 10px;border-radius:var(--radius-2xl);font-size:.75rem;font-weight:600}.cdm-content .variant-badge{background:var(--info-light);color:var(--info-dark);padding:3px 10px;border-radius:var(--radius-2xl);font-size:.75rem;font-weight:600;border:1px solid var(--info-light)}.cdm-content .private-cabins-enabled{color:var(--success-color);font-weight:600}.cdm-content .private-cabins-disabled{color:var(--text-muted);font-style:italic}.cdm-content .cabin-pricing-table{display:flex;flex-direction:column;gap:12px}.cdm-content .cabin-price-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.cdm-content .cabin-price-row:hover{border-color:var(--text-light);box-shadow:var(--shadow-md)}.cdm-content .cabin-name{font-weight:600;color:var(--text-primary);font-size:.9375rem;display:flex;align-items:center;gap:8px}.cdm-content .instructor-cabin-badge{font-size:.75rem;color:var(--info-dark);font-weight:600;background:var(--info-light);padding:2px 8px;border-radius:var(--radius-2xl);border:1px solid var(--info-light)}.cdm-content .cabin-prices{display:flex;gap:24px}.cdm-content .price-item{font-size:.875rem;color:var(--text-secondary);font-weight:500;display:flex;flex-direction:column;align-items:center;gap:2px}.cdm-content .price-item .price-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.cdm-content .price-amount{font-size:1rem;font-weight:700;color:var(--text-primary)}.cdm-content .bookings-list{display:flex;flex-direction:column;gap:12px}.cdm-content .booking-item{background:var(--white);border-radius:var(--radius-xl);padding:16px 20px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.cdm-content .booking-item:hover{box-shadow:var(--shadow-md)}.cdm-content .booking-item.confirmed{border-left:3px solid var(--success-color)}.cdm-content .booking-item.pending,.cdm-content .booking-item.awaiting-payment{border-left:3px solid var(--warning-color)}.cdm-content .booking-item.deposit-paid{border-left:3px solid var(--info-color)}.cdm-content .booking-item.waitlisted{border-left:3px solid #a855f7}.cdm-content .booking-item.completed{border-left:3px solid var(--success-color)}.cdm-content .booking-item.cancelled{border-left:3px solid var(--error-color);opacity:.55}.cdm-content .booking-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--background-gray)}.cdm-content .booking-status{font-weight:600;text-transform:uppercase;font-size:.7rem;padding:4px 10px;border-radius:var(--radius-2xl);background:var(--background-gray);color:var(--text-secondary);letter-spacing:.04em}.cdm-content .booking-item.confirmed .booking-status{background:var(--success-light);color:var(--success-dark)}.cdm-content .booking-item.pending .booking-status,.cdm-content .booking-item.awaiting-payment .booking-status{background:var(--warning-light);color:var(--warning-dark)}.cdm-content .booking-item.deposit-paid .booking-status{background:var(--info-light);color:var(--info-dark)}.cdm-content .booking-item.waitlisted .booking-status{background:var(--info-light);color:var(--primary-color)}.cdm-content .booking-item.completed .booking-status{background:var(--success-light);color:var(--success-dark)}.cdm-content .booking-item.cancelled .booking-status{background:var(--error-light);color:var(--error-dark)}.cdm-content .participant-count{font-size:.8rem;color:var(--text-muted);font-weight:500}.cdm-content .btn-view-booking{padding:5px 12px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.cdm-content .btn-view-booking:hover{background:var(--background-gray);border-color:var(--text-light);color:var(--text-primary)}.cdm-content .participants-list{display:flex;flex-direction:column;gap:6px}.cdm-content .participant-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-lg);gap:8px}.cdm-content .participant-name{font-weight:500;color:var(--text-primary);font-size:.875rem}.cdm-content .participant-name.clickable{color:var(--primary-color, #667eea);cursor:pointer;transition:color .15s}.cdm-content .participant-name.clickable:hover{color:var(--button-hover, #5a6fd6);text-decoration:underline}.cdm-content .participant-course{font-size:.75rem;color:var(--info-dark);background:var(--info-light);padding:3px 10px;border-radius:var(--radius-2xl);font-weight:600;border:1px solid var(--info-light)}.cdm-content .participant-cabin{font-size:.75rem;color:var(--text-secondary);background:var(--background-gray);padding:3px 10px;border-radius:var(--radius-2xl);font-weight:500;border:1px solid var(--border-color)}.cdm-completion-card{margin-top:6px;background:#fffbeb;border:1px solid #F59E0B;border-radius:var(--radius-sm, 6px);padding:8px 10px;font-size:.75rem}.cdm-completion-card-header{color:#92400e;margin-bottom:4px;font-size:.73rem}.cdm-completion-card-header strong{font-weight:700}.cdm-completion-card-pathways{display:flex;flex-direction:column;gap:2px;padding-left:4px}.cdm-completion-pathway-row{display:flex;align-items:baseline;gap:4px;color:#78350f;font-size:.7rem;line-height:1.4}.cdm-pathway-number{font-weight:700;min-width:14px;flex-shrink:0}.cdm-pathway-recipe{font-weight:500}.cdm-pathway-step{color:#b45309;font-style:italic;font-size:.65rem;white-space:nowrap}.cdm-content .cabin-allocations{display:flex;flex-direction:column;gap:12px}.cdm-content .cabin-allocation-group{background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .15s,box-shadow .15s}.cdm-content .cabin-allocation-group:hover{box-shadow:var(--shadow-md)}.cdm-content .cabin-allocation-group.instructor-cabin{border-color:var(--info-light)}.cdm-content .cabin-allocation-group.unassigned{border-color:var(--warning-light)}.cdm-content .cabin-allocation-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--background-gray);margin-bottom:0}.cdm-content .cabin-allocation-group.instructor-cabin .cabin-allocation-header{background:var(--info-light)}.cdm-content .cabin-allocation-group.unassigned .cabin-allocation-header{background:var(--warning-light)}.cdm-content .cabin-allocation-name{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.cdm-content .cabin-allocation-type,.cdm-content .cabin-allocation-count{font-size:.75rem;color:var(--text-secondary);background:var(--white);padding:3px 10px;border-radius:var(--radius-2xl);font-weight:600;border:1px solid var(--border-color)}.cdm-content .cabin-allocation-occupants{display:flex;flex-direction:column;gap:4px;padding:12px 20px 16px}.cdm-content .occupant-item{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--text-primary);padding:8px 14px;background:var(--bg-secondary);border-radius:var(--radius-lg);font-weight:500}.cdm-content .occupant-item.instructor{color:var(--info-dark);background:var(--info-light)}.cdm-content .occupant-item.unassigned{color:var(--error-dark);background:#fff7ed}.cdm-content .occupant-item.waitlisted{opacity:.7;font-style:italic}.cdm-content .occupancy-type{font-size:.7rem;color:var(--primary-color);font-weight:600;background:#f5f3ff;padding:2px 8px;border-radius:var(--radius-2xl);border:1px solid #e9d5ff}.cdm-content .waitlist-tag{font-size:.65rem;background:var(--warning-light);color:var(--warning-dark);padding:2px 8px;border-radius:var(--radius-2xl);font-weight:600;margin-left:auto;border:1px solid var(--warning-light)}.cdm-footer{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--white);flex-shrink:0}.cdm-footer .btn{padding:8px 16px;border-radius:var(--radius-lg);border:none;cursor:pointer;font-size:.8125rem;font-weight:600;transition:all var(--transition-fast);line-height:1.4}.cdm-footer .btn.btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.cdm-footer .btn.btn-secondary:hover{background:var(--background-gray);border-color:var(--text-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cdm-footer .btn.btn-danger{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light)}.cdm-footer .btn.btn-danger:hover{background:var(--error-light);border-color:var(--error-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.cdm-content .detail-row{flex-direction:column;align-items:flex-start;gap:4px}.cdm-content .modal-detail-value{text-align:left;justify-content:flex-start}.cdm-content .cabin-price-row{flex-direction:column;align-items:flex-start;gap:10px}.cdm-content .cabin-prices{gap:16px}.cdm-content .booking-header{flex-wrap:wrap}.cdm-content .participant-item{flex-direction:column;align-items:flex-start;gap:6px}.cdm-footer{flex-wrap:wrap;padding:12px 16px}.cdm-footer .btn{flex:1;min-width:100px;text-align:center}}.scheduling-page{padding:25px;margin:0 auto;background:var(--background-gray);min-height:calc(100vh - 64px)}.scheduling-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0}.header-content{flex:1;text-align:left}.header-content h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2;text-align:left}.header-content p,.scheduling-page .page-header .page-subtitle{color:var(--text-secondary);font-size:.73rem;margin:2px 0 0;line-height:1.5;text-align:left;position:relative;display:inline-block}.scheduling-page .page-header .page-subtitle:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.scheduling-toolbar{display:flex;justify-content:flex-start;align-items:center;gap:10px;margin-bottom:22px}.scheduling-filters{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.scheduling-filters .search-input{padding:7px 11px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-primary);font-size:.73rem;font-weight:500;font-family:var(--font-sans);transition:all var(--transition-normal);min-width:220px}.scheduling-filters .search-input:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.scheduling-filters .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.filter-select{padding:7px 28px 7px 11px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-primary);font-size:.73rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);min-width:135px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748B' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.header-actions{display:flex;gap:10px}.scheduling-page .btn-primary,.scheduling-toolbar .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:var(--radius-lg);border:none;font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);background-color:var(--text-primary);color:var(--white);box-shadow:var(--shadow-sm)}.scheduling-page .btn-primary:hover,.scheduling-toolbar .btn-primary:hover{background-color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.page-content{display:block;width:100%}.calendar-section{background:var(--white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow:hidden}.details-sidebar{position:sticky;top:22px}.details-panel{background:var(--white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow:hidden;max-height:calc(100vh - 180px);display:flex;flex-direction:column}.panel-header{background:var(--text-primary);color:var(--white);padding:18px 22px;display:flex;justify-content:space-between;align-items:center}.panel-header h2,.panel-header h3{font-family:var(--font-display);font-size:.84rem;font-weight:700;margin:0;color:var(--white);letter-spacing:-.01em}.panel-header .course-date{font-size:.73rem;opacity:.9;color:var(--white);margin-top:4px}.panel-body,.details-content{padding:18px 22px;overflow-y:auto;flex:1}.detail-group{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--background-gray)}.detail-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-group label{display:block;font-size:.68rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:6px}.detail-group p{font-size:.79rem;color:var(--text-primary);font-weight:500;margin:0;line-height:1.5}.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}.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{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);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:var(--shadow-sm)}.scheduling-page .loading-state{text-align:center;padding:54px;color:var(--text-secondary);font-size:.79rem}.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:18px}.scheduling-page .page-header{flex-direction:column;align-items:flex-start;gap:4px;padding:0;margin-bottom:12px}.header-content h1{font-size:1.17rem}.scheduling-page .page-header .page-subtitle{font-size:.68rem}.header-actions{width:auto}.scheduling-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px}.scheduling-page .btn-primary,.scheduling-toolbar .btn-primary{white-space:nowrap;width:auto}.scheduling-filters{width:100%;margin-left:0;gap:8px}.scheduling-filters .search-input{flex:1;min-width:0;width:100%}.filter-select{min-width:0;flex:1;font-size:.68rem;padding:6px 24px 6px 8px}.page-content{gap:14px}.calendar-section,.details-panel{border-radius:var(--radius-xl)}}.email-history-list{display:flex;flex-direction:column;gap:12px}.email-history-loading,.email-history-empty{text-align:center;padding:40px;color:var(--text-muted)}.email-history-empty .empty-icon{margin-bottom:16px;color:var(--border-color)}.email-history-empty p{margin:0;font-size:14px}.email-history-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:border-color .15s}.email-history-item:hover{border-color:var(--border-color)}.email-history-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:var(--radius-lg);color:var(--text-muted);box-shadow:var(--shadow-xs)}.email-history-content{flex:1;min-width:0}.email-history-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.email-type-badge{display:inline-block;padding:2px 8px;background:var(--info-light);color:var(--info-dark);font-size:11px;font-weight:500;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em}.email-status-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:9999px}.email-status-badge.status-sent{background:var(--success-light);color:var(--success-dark)}.email-status-badge.status-failed{background:var(--error-light);color:var(--error-color)}.email-status-badge.status-bounced{background:var(--warning-light);color:var(--warning-dark)}.email-status-badge.status-pending{background:var(--info-light);color:var(--info-dark)}.email-history-subject{font-weight:500;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-history-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-muted)}.email-history-meta .email-date{color:var(--text-muted)}.email-error-message{margin-top:8px;padding:8px 12px;background:var(--error-light);border:1px solid var(--error-light);border-radius:var(--radius-sm);font-size:12px;color:var(--error-color)}.email-view-btn{flex-shrink:0;padding:8px 16px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.email-view-btn:hover{background:var(--bg-secondary);border-color:var(--text-muted)}@media (max-width: 640px){.email-history-list{max-width:100%;overflow-x:hidden}.email-history-item{flex-direction:column;padding:12px;overflow:hidden}.email-history-icon{display:none}.email-history-content{width:100%;overflow:hidden}.email-history-header{flex-wrap:wrap;gap:4px}.email-type-badge,.email-status-badge{font-size:10px;padding:2px 6px}.email-history-subject{font-size:14px;word-break:break-word;white-space:normal}.email-history-meta{flex-direction:column;gap:2px;font-size:12px}.email-history-meta .email-recipient{word-break:break-all}.email-view-btn{align-self:flex-start;padding:6px 12px;font-size:12px}}.email-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .15s ease-out}.email-preview-modal{background:var(--white);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s ease-out}.email-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.email-preview-title{display:flex;align-items:center;gap:12px}.email-preview-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.email-preview-type{display:inline-block;padding:4px 10px;background:var(--info-light);color:var(--info-dark);font-size:12px;font-weight:500;border-radius:9999px}.email-preview-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast)}.email-preview-close:hover{background:var(--border-color);color:var(--text-primary)}.email-preview-loading,.email-preview-error{padding:60px 20px;text-align:center;color:var(--text-muted)}.email-preview-error{color:var(--error-color);background:var(--error-light)}.email-preview-meta{padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.meta-row{display:flex;padding:4px 0;font-size:14px}.meta-label{width:80px;flex-shrink:0;color:var(--text-muted);font-weight:500}.meta-value{color:var(--text-primary)}.meta-value.email-subject{font-weight:500}.email-preview-body{flex:1;overflow:hidden;background:var(--white)}.email-preview-body iframe{width:100%;height:500px;border:none;background:var(--white)}@media (max-width: 640px){.email-preview-overlay{padding:10px}.email-preview-modal{max-height:95vh}.email-preview-header{padding:12px 16px}.email-preview-title h2{font-size:16px}.email-preview-meta{padding:12px 16px}.meta-row{flex-direction:column;gap:2px}.meta-label{width:auto}.email-preview-body iframe{height:400px}}.merge-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.merge-modal{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.merge-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.merge-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.merge-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.merge-close:hover{background:var(--background-gray);color:var(--text-secondary)}.merge-modal-body{padding:24px;overflow-y:auto;flex:1}.merge-instructions{margin-bottom:20px;padding:16px;background:var(--info-light);border-radius:var(--radius-lg);border-left:4px solid var(--primary-color)}.merge-instructions p{margin:0;font-size:.875rem;color:var(--info-dark);line-height:1.5}.merge-search{margin-bottom:16px}.merge-search-input{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;outline:none;transition:border-color .15s;box-sizing:border-box}.merge-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.merge-client-list{max-height:320px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:20px}.merge-client-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--background-gray)}.merge-client-item:last-child{border-bottom:none}.merge-client-item:hover{background:var(--bg-secondary)}.merge-client-item.selected{background:var(--info-light);border-color:var(--info-light)}.merge-client-avatar img{width:36px;height:36px;border-radius:50%;object-fit:cover}.merge-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:var(--info-light);color:var(--info-dark);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.merge-avatar-placeholder.large{width:56px;height:56px;font-size:1.1rem}.merge-client-info{flex:1;min-width:0}.merge-client-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.merge-client-email{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-client-stats{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.merge-check{width:24px;height:24px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.merge-empty,.merge-loading{padding:32px;text-align:center;color:var(--text-muted);font-size:.875rem}.merge-confirm-layout{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px}.merge-confirm-card{flex:1;text-align:center;padding:20px 16px;border-radius:var(--radius-xl);border:2px solid var(--border-color)}.merge-confirm-card.merge-source{border-color:var(--error-light);background:var(--error-light)}.merge-confirm-card.merge-target{border-color:var(--success-light);background:var(--success-light)}.merge-confirm-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.merge-source .merge-confirm-label{color:var(--error-color)}.merge-target .merge-confirm-label{color:var(--success-color)}.merge-confirm-avatar{display:flex;justify-content:center;margin-bottom:10px}.merge-confirm-avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover}.merge-confirm-name{font-weight:600;font-size:.9375rem;color:var(--text-primary);margin-bottom:2px}.merge-confirm-email{font-size:.75rem;color:var(--text-muted);margin-bottom:6px;word-break:break-all}.merge-confirm-stat{font-size:.75rem;color:var(--text-muted)}.merge-arrow{color:var(--text-muted);flex-shrink:0}.merge-confirm-details{padding:16px;background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:20px}.merge-confirm-details h4{margin:0 0 10px;font-size:.875rem;font-weight:600;color:var(--text-secondary)}.merge-confirm-details ul{margin:0;padding-left:20px}.merge-confirm-details li{font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.merge-error{padding:12px 16px;background:var(--error-light);border:1px solid var(--error-light);border-radius:var(--radius-lg);color:var(--error-color);font-size:.875rem;margin-bottom:16px}.merge-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--border-color)}.merge-btn-secondary{padding:10px 20px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.merge-btn-secondary:hover{background:var(--bg-secondary)}.merge-btn-primary{padding:10px 20px;background:var(--primary-color);border:none;border-radius:var(--radius-lg);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.merge-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.merge-btn-primary:disabled{opacity:.5;cursor:not-allowed}.merge-btn-danger{padding:10px 20px;background:var(--error-color);border:none;border-radius:var(--radius-lg);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.merge-btn-danger:hover:not(:disabled){background:var(--error-dark)}.merge-btn-danger:disabled{opacity:.5;cursor:not-allowed}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.pathway-canvas-viewer{width:100%;border:1.5px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-secondary)}.cv-course-node{background:var(--white);border:2px solid var(--primary-color);border-radius:var(--radius-xl);padding:8px 14px;min-width:140px;max-width:200px;box-shadow:var(--shadow-sm);position:relative;text-align:center}.cv-course-node[data-color=blue]{border-color:var(--primary-color)}.cv-course-node[data-color=navy]{border-color:var(--primary-color);background:var(--primary-color)}.cv-course-node[data-color=navy] .cv-course-name{color:var(--white)}.cv-course-node[data-color=navy] .cv-course-subtitle{color:var(--info-light)}.cv-course-node[data-color=green]{border-color:var(--success-color)}.cv-course-node[data-color=amber]{border-color:var(--warning-dark)}.cv-course-node[data-color=red]{border-color:var(--error-color)}.cv-course-node[data-color=brown]{border-color:var(--warning-dark);background:var(--warning-dark)}.cv-course-node[data-color=brown] .cv-course-name{color:var(--white)}.cv-course-node[data-color=brown] .cv-course-subtitle{color:var(--warning-light)}.cv-course-node.completed{border-color:var(--success-color);box-shadow:0 0 0 2px #10b98133}.cv-course-node.in-progress{border-color:var(--warning-dark);box-shadow:0 0 0 2px #d9770633}.cv-course-node.not-started{opacity:.7}.cv-status-badge{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:var(--white);box-shadow:var(--shadow-sm)}.cv-status-badge.completed{background:var(--success-color)}.cv-status-badge.in-progress{background:var(--warning-dark)}.cv-course-name{font-family:var(--font-sans);font-size:.73rem;font-weight:600;color:var(--text-primary);line-height:1.3}.cv-course-subtitle{font-family:var(--font-sans);font-size:.56rem;color:var(--text-muted);margin-top:2px}.cv-section-node{border-radius:var(--radius-xl);padding:14px;opacity:.85}.cv-section-node[data-color=blue]{background:#3b82f614;border:2px dashed rgba(59,130,246,.3)}.cv-section-node[data-color=lightblue]{background:#38bdf814;border:2px dashed rgba(56,189,248,.3)}.cv-section-node[data-color=orange]{background:#d9770614;border:2px dashed rgba(217,119,6,.3)}.cv-section-node[data-color=green]{background:#10b98114;border:2px dashed rgba(16,185,129,.3)}.cv-section-node[data-color=gray]{background:#64748b14;border:2px dashed rgba(100,116,139,.3)}.cv-section-node[data-color=purple]{background:#8b5cf614;border:2px dashed rgba(139,92,246,.3)}.cv-section-label{font-family:var(--font-display);font-size:.79rem;font-weight:700;color:var(--text-primary);margin-bottom:2px}.cv-section-sublabel{font-family:var(--font-sans);font-size:.62rem;color:var(--text-secondary)}.cv-text-node{padding:6px 12px;max-width:180px}.cv-text-content{font-family:var(--font-sans);font-size:.68rem;color:var(--text-secondary);line-height:1.5;text-align:center}.cv-text-content.bold{font-weight:700;color:var(--text-primary)}.cv-cert-node{background:var(--bg-secondary);border:2px solid var(--text-muted);border-radius:var(--radius-xl);padding:8px 14px;min-width:120px;max-width:180px;text-align:center}.cv-cert-icon{font-size:.9rem;margin-bottom:2px}.cv-cert-name{font-family:var(--font-sans);font-size:.68rem;font-weight:600;color:var(--text-primary);line-height:1.3}.pathway-canvas-wrapper{width:100%}.pathway-canvas-wrapper .pathway-canvas-viewer{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.pathway-canvas-legend{display:flex;align-items:center;gap:16px;padding:8px 14px;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-top:none;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.pathway-legend-item{display:flex;align-items:center;gap:6px}.pathway-legend-badge{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:700;color:var(--white);flex-shrink:0}.pathway-legend-badge.completed{background:var(--success-color)}.pathway-legend-badge.in-progress{background:var(--warning-dark)}.pathway-legend-badge.not-started{background:var(--border-color);border:2px solid var(--text-muted);opacity:.6}.pathway-legend-label{font-family:var(--font-sans);font-size:.72rem;color:var(--text-secondary);font-weight:500}.client-view-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:cvm-fade .2s ease-out}@keyframes cvm-fade{0%{opacity:0}to{opacity:1}}.client-view-modal{background:var(--white);border-radius:var(--radius-xl);width:96%;max-width:1100px;height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:cvm-slide .25s ease-out}@keyframes cvm-slide{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.client-view-header{background:var(--white);padding:24px 28px 20px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-color);flex-shrink:0;position:relative}.client-view-header:before{display:none}.client-header-content{display:flex;gap:18px;align-items:center;position:relative;z-index:1}.client-avatar-large{width:64px;height:64px;border-radius:var(--radius-xl);object-fit:cover;border:2px solid var(--border-color);box-shadow:var(--shadow-md)}.client-avatar-placeholder-large{width:64px;height:64px;border-radius:var(--radius-xl);background:var(--primary-color, #667eea);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;text-transform:uppercase;border:2px solid rgba(102,126,234,.2);box-shadow:var(--shadow-md)}.client-header-info h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 6px;line-height:1.2}.client-header-meta{display:flex;gap:16px;flex-wrap:wrap}.client-meta-item{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-secondary);font-weight:500;padding-left:0;position:relative}.client-meta-item:before{content:none}.client-meta-item+.client-meta-item:before{content:"";display:inline-block;width:3px;height:3px;background:var(--text-light);border-radius:50%;position:static;margin-right:4px}.client-view-close{background:var(--bg-secondary);border:1px solid var(--border-color);font-size:1.25rem;color:var(--text-secondary);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);transition:all var(--transition-fast);position:relative;z-index:1;flex-shrink:0}.client-view-close:hover{background:var(--background-gray);color:var(--text-primary);border-color:var(--text-light);transform:none}.client-header-actions{display:flex;gap:8px;padding:0 28px 12px;background:var(--white);border-bottom:1px solid var(--background-gray)}.client-merge-btn{padding:5px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.client-merge-btn:hover{background:var(--background-gray);border-color:var(--text-light);color:var(--text-secondary)}.client-view-nav{display:flex;gap:6px;padding:14px 28px;background:var(--white);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0}.client-nav-tab{background:transparent;border:none;padding:8px 16px;font-size:.8125rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-fast);display:flex;align-items:center;gap:6px;white-space:nowrap}.client-nav-tab:hover{color:var(--text-secondary);background:var(--background-gray)}.client-nav-tab.active{color:var(--primary-color, #667eea);background:#667eea14;box-shadow:none}.client-nav-tab .badge{background:var(--border-color);color:var(--text-secondary);padding:1px 7px;border-radius:var(--radius-xl);font-size:.7rem;font-weight:700;line-height:1.4}.client-nav-tab.active .badge{background:#667eea26;color:var(--primary-color, #667eea)}.client-view-content{flex:1;overflow-y:auto;padding:24px 28px;background:var(--bg-secondary)}.client-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.client-info-section{background:var(--white);border-radius:var(--radius-xl);padding:20px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:box-shadow .15s}.client-info-section:hover{box-shadow:var(--shadow-md);transform:none}.client-info-section h3{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--background-gray);display:flex;align-items:center;gap:0}.client-info-section h3:before{display:none}.client-info-fields{display:flex;flex-direction:column;gap:14px}.client-info-field{display:flex;flex-direction:column;gap:3px}.client-info-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.client-info-value{font-size:.9375rem;color:var(--text-primary);font-weight:500}.client-info-value.empty{color:var(--text-light);font-style:italic;font-weight:400}.pathways-container{display:flex;flex-direction:column;gap:16px}.pathway-card{background:var(--white);border-radius:var(--radius-xl);padding:24px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:box-shadow .15s}.pathway-card:hover{box-shadow:var(--shadow-md)}.pathway-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--background-gray)}.pathway-title-section h3{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.pathway-description{font-size:.8125rem;color:var(--text-secondary);margin:0}.pathway-progress{text-align:right}.pathway-progress-ring{width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--primary-color, #667eea) calc(var(--progress) * 1%),var(--border-color) 0);display:flex;align-items:center;justify-content:center;box-shadow:none}.pathway-progress-inner{width:52px;height:52px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:var(--primary-color, #667eea)}.pathway-flow{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.pathway-course{flex:0 0 auto;width:180px;background:var(--bg-secondary);border-radius:var(--radius-xl);padding:14px;border:1px solid var(--border-color);transition:box-shadow .15s;position:relative}.pathway-course.completed{background:var(--success-light);border-color:var(--success-light)}.pathway-course.in-progress{background:var(--warning-light);border-color:var(--warning-light)}.pathway-course:hover{box-shadow:var(--shadow-md);transform:none}.pathway-course-icon{width:36px;height:36px;border-radius:var(--radius-lg);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.125rem;margin-bottom:8px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.pathway-course.completed .pathway-course-icon{background:var(--success-color);color:#fff;border-color:var(--success-color)}.pathway-course.in-progress .pathway-course-icon{background:var(--warning-color);color:#fff;border-color:var(--warning-color)}.pathway-course-name{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0 0 4px;line-height:1.3}.pathway-course-status{font-size:.7rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}.pathway-course.completed .pathway-course-status{color:var(--success-dark);font-weight:600}.pathway-course.in-progress .pathway-course-status{color:var(--warning-dark);font-weight:600}.pathway-course.external{border-color:var(--warning-color)}.pathway-course.external .pathway-course-icon{background:linear-gradient(135deg,var(--warning-color) 0%,var(--error-color) 100%);border-color:var(--error-color)}.external-completion{color:var(--error-color);font-weight:600;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.training-center-name{font-weight:500;color:var(--text-muted);font-size:.65rem}.pathway-connector{flex:0 0 auto;width:24px;height:2px;background:var(--border-color);margin-top:2.5rem;position:relative}.pathway-connector:after{content:"";position:absolute;right:-6px;top:-8px;font-size:1rem;color:var(--text-light);font-weight:700}.pathway-course.completed+.pathway-connector,.pathway-course.completed+.pathway-connector:after{background:var(--success-color);color:var(--success-color)}.course-history-list{display:flex;flex-direction:column;gap:10px}.course-history-item{background:var(--white);border-radius:var(--radius-xl);padding:16px 20px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;gap:16px;align-items:center;transition:box-shadow .15s}.course-history-item:hover{box-shadow:var(--shadow-md);transform:none}.course-history-item.clickable{cursor:pointer}.course-history-item.clickable:hover{border-color:var(--text-light)}.course-history-date{flex:0 0 auto;text-align:center;padding:8px 12px;background:var(--primary-color, #667eea);color:#fff;border-radius:var(--radius-xl);min-width:64px}.course-history-month{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.course-history-day{font-size:1.25rem;font-weight:700;margin:1px 0;line-height:1.2}.course-history-year{font-size:.65rem;opacity:.85}.course-history-details{flex:1;min-width:0}.course-history-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.online-course-badge{display:inline-block;font-size:.6875rem;font-weight:600;color:#7c3aed;background:#f3f0ff;border:1px solid #ddd6fe;border-radius:4px;padding:1px 6px;text-transform:uppercase;letter-spacing:.5px;line-height:1.4}.course-history-meta{display:flex;gap:12px;color:var(--text-secondary);font-size:.8125rem;flex-wrap:wrap;align-items:center}.course-history-status{padding:2px 10px;border-radius:var(--radius-2xl);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.course-history-status.status-confirmed{background:var(--success-light);color:var(--success-dark)}.course-history-status.status-awaiting{background:var(--warning-light);color:var(--warning-dark)}.course-history-status.status-deposit{background:var(--info-light);color:var(--info-dark)}.course-history-status.status-cancelled{background:var(--error-light);color:var(--error-dark)}.course-history-status.status-completed{background:var(--success-light);color:var(--success-dark)}.course-history-status.status-waitlisted{background:var(--info-light);color:var(--primary-color)}.course-history-link{margin-top:4px}.view-booking-link{color:var(--primary-color, #667eea);font-size:.75rem;font-weight:600}.course-history-item.clickable:hover .view-booking-link{text-decoration:underline}.completion-indicator{margin-left:.5rem;font-size:.85rem}.course-history-instructor-feedback{margin-top:.375rem;padding:.375rem .625rem;background:var(--info-light);border:1px solid var(--info-light);border-radius:var(--radius-md);font-size:.8rem;color:var(--primary-hover);font-style:italic}.course-history-instructor-feedback .feedback-label{font-weight:600;color:var(--info-dark);font-style:normal;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.course-history-instructor{color:var(--text-secondary);font-size:.875rem}.certificates-section{padding:0}.certificates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.certificates-header h3{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0}.add-certificate-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);padding:7px 14px;border-radius:var(--radius-lg);font-weight:600;font-size:.8125rem;cursor:pointer;transition:all var(--transition-fast)}.add-certificate-btn:hover{background:var(--background-gray);border-color:var(--text-light);transform:none}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.certificate-card{background:var(--white);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:box-shadow .15s}.certificate-card:hover{box-shadow:var(--shadow-md);transform:none}.certificate-preview{height:44px;background:var(--primary-color, #667eea);display:flex;align-items:center;justify-content:center;color:#ffffffe6;position:relative}.certificate-content{padding:12px 16px}.certificate-name{font-size:.9375rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.certificate-date{color:var(--text-secondary);font-size:.8125rem;margin-bottom:10px}.certificate-notes{font-size:.8125rem;color:var(--text-secondary);margin:0 0 10px;line-height:1.4}.certificate-actions{display:flex;gap:8px}.certificate-btn{flex:1;padding:6px 12px;border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-weight:600;font-size:.73rem;cursor:pointer;transition:all var(--transition-fast);text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.certificate-btn-primary{background:#667eea14;color:var(--primary-color, #667eea)}.certificate-btn-primary:hover{background:#667eea26;transform:none}.certificate-btn-secondary{background:var(--background-gray);color:var(--text-secondary)}.certificate-btn-secondary:hover{background:var(--border-color)}.certificate-card.external{border-color:var(--warning-color)}.certificate-card.external .certificate-preview{background:linear-gradient(135deg,var(--warning-color) 0%,var(--error-color) 100%)}.external-badge{position:absolute;top:8px;right:8px;background:#fffffff2;color:var(--error-color);font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-2xl);text-transform:uppercase;letter-spacing:.03em}.training-center{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:.8125rem;margin-bottom:6px}.training-center svg{flex-shrink:0}.add-certificate-form{background:var(--white);border-radius:var(--radius-xl);padding:20px;margin-bottom:16px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.add-certificate-form h4{font-size:.9375rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.add-certificate-form .form-description{color:var(--text-secondary);font-size:.8125rem;margin:0 0 20px}.add-certificate-form .form-row{display:flex;gap:12px;margin-bottom:12px}.add-certificate-form .form-group{flex:1}.add-certificate-form .form-group.full-width{width:100%}.add-certificate-form .form-group label{display:block;font-weight:600;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.add-certificate-form .form-group label input[type=checkbox]{margin-right:.5rem}.add-certificate-form .form-group input[type=text],.add-certificate-form .form-group input[type=date],.add-certificate-form .form-group input[type=url],.add-certificate-form .form-group textarea,.add-certificate-form .form-group select{width:100%;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;transition:border-color .15s;background:var(--white);color:var(--text-primary)}.add-certificate-form .form-group input:focus,.add-certificate-form .form-group textarea:focus,.add-certificate-form .form-group select:focus{border-color:var(--primary-color, #667eea);outline:none;box-shadow:0 0 0 3px #667eea1a}.add-certificate-form .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.add-certificate-form .btn-primary{background:var(--primary-color, #667eea);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-lg);font-weight:600;font-size:.8125rem;cursor:pointer;transition:all var(--transition-fast)}.add-certificate-form .btn-primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.add-certificate-form .btn-primary:disabled{opacity:.5;cursor:not-allowed}.add-certificate-form .btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);padding:8px 16px;border-radius:var(--radius-lg);font-weight:600;font-size:.8125rem;cursor:pointer;transition:all var(--transition-fast)}.add-certificate-form .btn-secondary:hover{background:var(--background-gray);border-color:var(--text-light)}.add-certificate-form .checkbox-group{padding:6px 0}.add-certificate-form .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;margin:0;font-weight:400}.add-certificate-form .checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--primary-color, #667eea);flex-shrink:0}.add-certificate-form .checkbox-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.file-upload-container{position:relative}.file-upload-container input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.file-upload-label{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:2px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.8125rem}.file-upload-label:hover{border-color:var(--primary-color, #667eea);background:#f0f4ff;color:var(--primary-color, #667eea)}.file-upload-label svg{flex-shrink:0}.file-upload-label .file-uploaded{color:var(--success-color);font-weight:600}.file-hint{font-size:.75rem;color:var(--text-muted);margin:6px 0 0}.empty-state-large{text-align:center;padding:48px 24px;background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.empty-state-large h3{font-size:1rem;font-weight:600;color:var(--text-secondary);margin:0 0 6px}.empty-state-large p{font-size:.875rem;color:var(--text-muted);margin:0}@media (max-width: 1200px){.client-info-grid{grid-template-columns:1fr}.pathway-flow{flex-direction:column}.pathway-connector{width:2px;height:24px;margin:0 auto}.pathway-connector:after{content:"";right:-8px;top:auto;bottom:-10px;transform:rotate(90deg)}}@media (max-width: 768px){.client-view-modal-overlay{align-items:flex-start;padding:0}.client-view-modal{width:100%;height:100vh;max-height:100vh;border-radius:0}.client-view-header{padding:16px}.client-view-header:before{display:none}.client-header-content{gap:12px}.client-avatar-large,.client-avatar-placeholder-large{width:44px;height:44px;border-radius:var(--radius-xl);font-size:1.125rem}.client-header-info h1{font-size:1.125rem}.client-view-close{width:32px;height:32px;font-size:1rem}.client-header-actions{padding:0 16px 10px}.client-view-nav{padding:10px 16px;gap:4px}.client-nav-tab{flex-shrink:0;padding:6px 12px;font-size:.75rem}.client-nav-tab .badge{font-size:.6rem;padding:0 5px}.client-view-content{padding:16px}.certificates-grid{grid-template-columns:1fr}.course-history-item{flex-direction:column;align-items:flex-start}.client-info-section{padding:16px}.pathway-course{width:100%}}.client-view-content::-webkit-scrollbar{width:6px}.client-view-content::-webkit-scrollbar-track{background:transparent}.client-view-content::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:var(--radius-sm)}.client-view-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.course-history-progress{display:flex;align-items:center;gap:.5rem;margin-top:.375rem;font-size:.78rem}.progress-path-name{color:var(--text-secondary);font-style:italic}.progress-target-course{color:var(--text-muted);font-weight:500;font-style:normal}.progress-step-badge{padding:.125rem .5rem;border-radius:999px;font-weight:600;font-size:.72rem;white-space:nowrap}.progress-step-badge.completed{background:#22c55e26;color:#16a34a}.progress-step-badge.booked{background:var(--primary-light);color:var(--primary)}.progress-bar-mini{flex:1;max-width:100px;height:4px;background:var(--border-light);border-radius:2px;overflow:hidden;position:relative}.progress-bar-mini-booked{position:absolute;top:0;left:0;height:100%;background:#3b82f659;border-radius:2px;transition:width .3s ease}.progress-bar-mini-fill{position:absolute;top:0;left:0;height:100%;background:var(--success);border-radius:2px;transition:width .3s ease}.completion-paths-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.completion-paths-heading{font-size:1.05rem;color:var(--text-primary);margin:0 0 .25rem}.completion-paths-subtitle{font-size:.82rem;color:var(--text-secondary);margin:0 0 1rem}.completion-paths-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.completion-path-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1rem 1.25rem;transition:border-color .2s}.completion-path-card:hover{border-color:var(--primary-light)}.completion-path-card.complete{border-color:var(--success);background:linear-gradient(135deg,var(--surface) 0%,rgba(34,197,94,.04) 100%)}.completion-path-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.completion-path-title h4{margin:0;font-size:.95rem;color:var(--text-primary)}.completion-target-course{font-size:.78rem;color:var(--text-secondary)}.completion-path-pct{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary-light);color:var(--primary);font-weight:700;font-size:.78rem;flex-shrink:0}.completion-path-pct.complete{background:var(--success);color:#fff;font-size:1rem}.completion-progress-bar{width:100%;height:6px;background:var(--border-light);border-radius:3px;overflow:hidden;margin-bottom:.375rem;position:relative}.completion-progress-bar-booked{position:absolute;top:0;left:0;height:100%;background:#3b82f659;border-radius:3px;transition:width .4s ease}.completion-progress-bar-fill{position:absolute;top:0;left:0;height:100%;background:var(--success);border-radius:3px;transition:width .4s ease}.completion-progress-bar-fill.complete{background:var(--success)}.completion-steps-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem;display:flex;gap:.375rem;flex-wrap:wrap}.completion-steps-completed{color:var(--success);font-weight:600}.completion-steps-booked{color:#3b82f6;font-weight:500}.completion-steps-total{color:var(--text-secondary)}.completion-breakdown{display:flex;flex-direction:column;gap:.375rem}.completion-breakdown-row{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-primary)}.completion-breakdown-course{display:flex;align-items:center;gap:.5rem}.completion-breakdown-dot{width:8px;height:8px;border-radius:50%;background:var(--border-color);flex-shrink:0}.completion-breakdown-dot.partial{background:var(--warning)}.completion-breakdown-dot.done{background:var(--success)}.completion-variant{color:var(--text-secondary);font-size:.75rem}.completion-breakdown-count{font-size:.78rem;display:flex;align-items:center;gap:.25rem}.breakdown-completed{color:var(--success);font-weight:700}.breakdown-booked{color:#3b82f6;font-size:.72rem}.breakdown-none{color:var(--text-secondary);font-weight:600}.breakdown-total{color:var(--text-secondary);font-size:.7rem}.completion-loading{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.85rem}.completion-path-recipe{display:block;color:var(--text-secondary);font-size:.72rem;font-weight:500;font-style:italic;margin-top:2px}.cvm-completion-card{margin-top:6px;background:#fffbeb;border:1px solid #F59E0B;border-radius:6px;padding:8px 10px;font-size:.78rem}.cvm-completion-card-header{color:#92400e;margin-bottom:4px;font-size:.75rem}.cvm-completion-card-header strong{font-weight:700}.cvm-completion-card-pathways{display:flex;flex-direction:column;gap:2px;padding-left:4px}.cvm-completion-pathway-row{display:flex;align-items:baseline;gap:4px;color:#78350f;font-size:.72rem;line-height:1.4}.cvm-pathway-number{font-weight:700;min-width:14px;flex-shrink:0}.cvm-pathway-recipe{font-weight:500}.cvm-pathway-step{color:#b45309;font-style:italic;font-size:.68rem;white-space:nowrap}.clients-page{padding:25px;margin:0 auto;background:var(--background-gray);min-height:calc(100vh - 64px)}.clients-page .page-header,.clients-page .clients-header{margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0;position:relative;overflow:visible}.clients-page .clients-header:before{display:none}.clients-page .clients-header h1,.clients-page .page-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;margin:0;color:var(--text-primary);position:relative;z-index:1;letter-spacing:-.02em;line-height:1.2}.clients-page .clients-header .subtitle,.clients-page .page-header p{font-family:var(--font-sans);font-size:.73rem;margin:2px 0 0;color:var(--text-secondary);position:relative;z-index:1;line-height:1.5;display:inline-block}.clients-page .clients-header .subtitle:after,.clients-page .page-header p:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.clients-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px;flex-wrap:wrap}.clients-page .search-box{position:relative;flex:1;min-width:220px;max-width:400px}.clients-page .search-box input{width:100%;padding:7px 11px 7px 32px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);background:var(--white);transition:all var(--transition-fast);color:var(--text-primary)}.clients-page .search-box input:hover{border-color:var(--text-light)}.clients-page .search-box input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.clients-page .search-box:before{content:"🔍";position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:.73rem;color:var(--text-secondary);pointer-events:none}.toolbar-actions{display:flex;gap:10px;align-items:center}.add-client-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:var(--radius-lg);border:none;font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);background-color:var(--text-primary);color:var(--white);box-shadow:var(--shadow-sm);white-space:nowrap}.add-client-button:hover{background-color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.clients-stats{font-family:var(--font-sans);font-size:.73rem;color:var(--text-secondary);font-weight:500}.clients-stats strong{color:var(--text-primary);font-weight:700}.clients-table-container{background:var(--white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-color)}.clients-table{width:100%;min-width:800px;border-collapse:collapse;font-family:var(--font-sans);font-size:.79rem}.clients-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.clients-table th{text-align:left;padding:12px 18px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.62rem}.clients-table tbody tr{transition:all var(--transition-fast);cursor:pointer;border-bottom:1px solid var(--background-gray)}.clients-table tbody tr:hover{background:var(--bg-secondary)}.clients-table tbody tr:last-child{border-bottom:none}.clients-table td{padding:12px 18px;color:var(--text-primary);vertical-align:middle}.clients-table td:first-child{font-weight:500}.client-name-cell{display:flex;align-items:center;gap:10px}.client-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color);flex-shrink:0}.client-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:var(--text-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.73rem;text-transform:uppercase;flex-shrink:0}.no-data{text-align:center;padding:40px 18px;color:var(--text-muted);font-size:.79rem}.courses-badge,.certificates-badge{background:#0f172a0f;color:var(--text-primary);padding:3px 10px;border-radius:var(--radius-2xl);font-size:.68rem;font-weight:600;display:inline-block}.certificates-badge{background:#10b9811a;color:var(--success-color)}.action-button{background:transparent;border:none;cursor:pointer;padding:7px;border-radius:var(--radius-lg);color:var(--text-secondary);transition:all var(--transition-fast)}.action-button:hover{background:var(--background-gray);color:var(--text-primary)}.action-button.delete-btn:hover{background:#ef44441a;color:var(--error-color)}.loading-container{text-align:center;padding:60px 18px;color:var(--text-secondary);font-family:var(--font-sans)}.error-container{text-align:center;padding:60px 18px;color:var(--error-color);font-family:var(--font-sans)}.empty-state{text-align:center;padding:60px 18px;color:var(--text-secondary)}.empty-state h3{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}.empty-state p{font-family:var(--font-sans);font-size:.79rem;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:18px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.client-modal{background:var(--white);border-radius:var(--radius-2xl);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:18px 24px;background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);color:var(--white);box-shadow:var(--shadow-sm)}.modal-header-content{display:flex;align-items:center;gap:14px}.modal-client-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3)}.modal-client-avatar-placeholder{width:52px;height:52px;border-radius:50%;background:#fff3;color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;text-transform:uppercase;border:2px solid rgba(255,255,255,.3)}.modal-header h2{font-family:var(--font-display);font-size:1.17rem;font-weight:700;color:var(--white);margin:0;letter-spacing:-.02em}.modal-header-subtitle{font-family:var(--font-sans);font-size:.73rem;opacity:.9;margin-top:2px;color:var(--white)}.close-button{background:#fff3;border:none;font-size:1.1rem;color:var(--white);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.close-button:hover{background:#ffffff4d}.modal-tabs{display:flex;gap:6px;padding:12px 24px;background:var(--white);border-bottom:1px solid var(--border-color)}.tab-button{background:transparent;border:none;padding:7px 14px;font-family:var(--font-sans);font-size:.73rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.tab-button:hover{color:var(--text-primary);background:var(--background-gray)}.tab-button.active{color:var(--white);background:var(--text-primary);box-shadow:var(--shadow-sm)}.modal-content{padding:24px;overflow-y:auto;flex:1;background:var(--bg-secondary)}.info-tab{max-width:700px}.edit-button{display:inline-flex;align-items:center;padding:7px 14px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;margin-bottom:18px;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.edit-button:hover{background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.info-section{margin-bottom:22px}.info-section h3{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:14px;padding-bottom:7px;border-bottom:2px solid var(--border-color)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.info-item{display:flex;flex-direction:column;gap:3px}.info-item.full-width{grid-column:1 / -1}.info-item label{font-family:var(--font-sans);font-size:.62rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-item span{font-family:var(--font-sans);font-size:.79rem;color:var(--text-primary)}.client-photo-preview{max-width:200px;border-radius:var(--radius-xl);margin-top:7px}.form-hint{display:block;margin-top:3px;font-size:.62rem;color:var(--text-secondary)}.edit-form{max-width:700px}.form-section{margin-bottom:22px}.form-section h3{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:14px;padding-bottom:7px;border-bottom:2px solid var(--border-color)}.form-group label{display:block;font-family:var(--font-sans);font-size:.73rem;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);background:var(--white);color:var(--text-primary);transition:all 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 #3b82f61a}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.error-message{background:#ef444414;color:var(--error-color);padding:9px 12px;border-radius:var(--radius-lg);margin-bottom:14px;border:1px solid rgba(239,68,68,.15);font-family:var(--font-sans);font-size:.73rem}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;padding-top:18px;border-top:1px solid var(--border-color)}.clients-page .btn-primary,.clients-page .btn-secondary{padding:9px 18px;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;border:none;transition:all var(--transition-normal)}.clients-page .btn-primary{background:var(--text-primary);color:var(--white);box-shadow:var(--shadow-sm)}.clients-page .btn-primary:hover:not(:disabled){background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.clients-page .btn-primary:disabled{background:var(--text-light);cursor:not-allowed}.clients-page .btn-secondary{background:var(--background-gray);color:var(--text-secondary);border:1px solid var(--border-color)}.clients-page .btn-secondary:hover{background:var(--border-color);color:var(--text-primary)}.courses-list{display:flex;flex-direction:column;gap:12px}.course-item{background:var(--white);border-radius:var(--radius-xl);padding:16px;border-left:4px solid var(--text-primary);box-shadow:var(--shadow-sm)}.course-info h4{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:5px}.course-dates{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;margin-bottom:5px}.booking-status{font-family:var(--font-sans);font-size:.73rem;color:var(--text-secondary)}.status-confirmed{color:var(--success-color);font-weight:600}.status-pending{color:var(--warning-dark);font-weight:600}.status-cancelled{color:var(--error-color);font-weight:600}.status-completed{color:var(--success-color);font-weight:600}.status-deposit{color:var(--info-color);font-weight:600}.status-waitlisted{color:var(--primary-color);font-weight:600}.add-certificate-button{display:inline-flex;align-items:center;padding:7px 14px;background:var(--success-color);color:var(--white);border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;margin-bottom:18px;transition:all var(--transition-normal)}.add-certificate-button:hover{background:var(--success-dark);transform:translateY(-1px)}.add-certificate-form{background:var(--white);border-radius:var(--radius-xl);padding:18px;margin-bottom:18px;border:1px solid var(--border-color)}.add-certificate-form h3{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:14px}.certificates-list{display:flex;flex-direction:column;gap:12px}.certificate-item{background:var(--white);border-radius:var(--radius-xl);padding:16px;border-left:4px solid var(--success-color);box-shadow:var(--shadow-sm)}.certificate-info h4{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:5px}.completion-date{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;margin-bottom:5px}.certificate-link{display:inline-block;color:var(--primary-color);text-decoration:none;font-weight:500;font-size:.73rem;margin-top:5px}.certificate-link:hover{text-decoration:underline}.certificate-notes{font-family:var(--font-sans);color:var(--text-secondary);font-size:.73rem;margin-top:5px;font-style:italic}@media (max-width: 768px){.clients-page{padding:18px}.clients-page .clients-header{padding:0;border-radius:0;margin-bottom:12px}.clients-page .clients-header h1{font-size:1.17rem}.clients-page .clients-header .subtitle{font-size:.68rem}.clients-toolbar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.clients-page .search-box{flex:1 1 100%;min-width:0;max-width:none;order:2}.toolbar-actions{width:auto;flex-direction:row;align-items:center;order:1}.add-client-button{width:auto;white-space:nowrap}.clients-table{font-size:.68rem}.clients-table th,.clients-table td{padding:9px 10px}.client-modal{max-width:100%;max-height:100vh;border-radius:0}.modal-header{padding:14px 18px}.modal-header h2{font-size:1rem}.modal-content{padding:18px}.modal-tabs{padding:9px 14px;overflow-x:auto;gap:4px}.tab-button{white-space:nowrap;padding:6px 12px;font-size:.68rem}.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 #0000000f;border:1px solid #e8ecf0;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;min-width:260px;max-width:320px;width:100%}.course-schedule-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001f,0 2px 6px #00000014}.course-schedule-card.is-cancelled{opacity:.6}.course-schedule-card.is-cancelled:hover{transform:none;box-shadow:0 2px 8px #00000014,0 1px 3px #0000000f}.card-date-header{padding:20px 16px 16px;text-align:center;border-bottom:1px solid #f0f2f5}.date-day{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.75rem;font-weight:700;color:var(--secondary-color, #e5a200);line-height:1}.date-month{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.75rem;font-weight:700;color:var(--primary-color, #0a3456);line-height:1}.card-body{padding:18px 20px 12px;flex:1;display:flex;flex-direction:column;gap:10px}.card-detail{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.5}.card-detail.course-name-row{padding-bottom:10px;border-bottom:1px solid #f0f2f5;margin-bottom:2px}.card-detail.course-name-row .detail-text{font-weight:600;font-size:.95rem;color:var(--primary-color, #0a3456)}.detail-icon{flex-shrink:0;width:20px;font-size:1rem;line-height:1.4;text-align:center}.detail-text{color:#4a5568;flex:1;font-weight:500}.card-price{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:14px 16px 6px;margin-top:4px}.price-from{font-size:.78rem;font-weight:600;color:#16a34a;text-transform:capitalize}.price-amount{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.65rem;font-weight:700;color:#16a34a;line-height:1;letter-spacing:-.02em}.price-per{font-size:.78rem;font-weight:500;color:#16a34a}.card-availability{text-align:center;font-size:.88rem;font-weight:600;padding:4px 0 8px}.card-availability.available{color:#16a34a}.card-availability.full{color:#dc2626}.card-availability.cancelled{color:#9ca3af}.card-action{padding:14px 20px;text-align:center;font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1rem;font-weight:700;color:#fff;letter-spacing:.01em;transition:filter .2s ease;margin-top:auto}.card-action.action-book{background:var(--primary-button-color, var(--secondary-color, #e5a200))}.course-schedule-card:hover .card-action.action-book{filter:brightness(1.08)}.card-action.action-waitlist{background:var(--full-course-button-color, var(--primary-color, #0a3456))}.course-schedule-card:hover .card-action.action-waitlist{filter:brightness(1.1)}.card-action.action-cancelled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}@media (max-width: 768px){.course-schedule-card{min-width:100%;max-width:100%}.card-date-header{padding:16px 14px 14px}.date-day,.date-month{font-size:1.4rem}.card-body{padding:14px 16px 10px;gap:8px}.card-detail{font-size:.82rem}.price-amount{font-size:1.4rem}.card-action{padding:12px 16px;font-size:.92rem}}.card-sessions .detail-text{display:flex;flex-direction:column;gap:2px}.card-sessions .sessions-label{font-weight:600;font-size:.82rem;color:#334155;margin-bottom:2px}.card-sessions .session-date{font-size:.78rem;color:#64748b;padding-left:4px}.multi-session-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:600;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.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:var(--text-xl);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,var(--warning-light) 0%,var(--warning-light) 100%);border:1px solid var(--warning-color);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:var(--warning-dark);font-size:var(--text-base);margin-bottom:var(--spacing-1)}.waiting-list-banner .banner-content p{margin:0;color:var(--warning-dark);font-size:var(--text-sm);line-height:1.5}.submit-button.waitlist-button{background:linear-gradient(135deg,var(--warning-color) 0%,var(--warning-dark) 100%)}.submit-button.waitlist-button:hover:not(:disabled){background:linear-gradient(135deg,var(--warning-dark) 0%,var(--warning-dark) 100%)}.status-full{display:inline-block;background:var(--error-light);color:var(--error-color);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:var(--white)!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:var(--white)!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:var(--white)!important;opacity:.9}.course-info-section .detail-value{font-size:var(--text-sm);font-weight:600;color:var(--white)!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:var(--text-lg);font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.section-subtitle{margin:0 0 var(--spacing-5) 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.form-group{display:flex;flex-direction:column}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-1);letter-spacing:.01em}.form-group input,.form-group textarea,.form-group select,.form-select{padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary);line-height:1.5}.form-group select,.form-select{cursor:pointer}.field-hint{margin-top:var(--spacing-1);font-size:var(--text-xs);color:var(--text-muted);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)}.checkbox-label{display:flex;align-items:center;font-size:var(--text-sm);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:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-4);pointer-events:auto;box-shadow:none;transform:none}.participant-card:hover{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:none;transform:none}.participant-card h4{margin:0 0 var(--spacing-4) 0;font-size:var(--text-sm);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-lg);font-size:var(--text-sm);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:var(--text-xs);margin:var(--spacing-1) 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:9px 20px;border-radius:var(--radius-lg);font-size:var(--text-sm);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:var(--shadow-sm)}.submit-button:hover:not(:disabled){background:var(--button-hover);box-shadow:var(--shadow-sm)}.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-1);font-weight:600;color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:.01em}.cabin-selection-section{margin-top:var(--spacing-5);padding:0;background:var(--background-gray);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.cabin-price{color:var(--success-color);font-weight:600;margin-top:var(--spacing-2);font-size:var(--text-sm)}.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:var(--text-sm);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:var(--spacing-2);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}}.payment-section{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--background-gray) 100%);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-6)}.payment-section h3{margin-bottom:var(--spacing-5);color:var(--text-primary);font-size:1.25rem;font-weight:600}.payment-type-section,.payment-method-section{margin-bottom:var(--spacing-5)}.form-label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-3);font-size:.95rem}.payment-type-options,.payment-method-options{display:flex;flex-direction:column;gap:var(--spacing-3)}.radio-option{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.radio-option:hover{border-color:var(--primary-color);background:var(--info-light)}.radio-option:has(input:checked){border-color:var(--primary-color);background:var(--info-light);box-shadow:0 0 0 3px #3b82f61a}.radio-option input[type=radio]{width:20px;height:20px;margin-top:2px;accent-color:var(--primary-color);cursor:pointer}.radio-content{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1}.radio-title{font-weight:600;color:var(--text-primary);font-size:1rem}.radio-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.radio-description small{color:var(--text-muted);font-size:.8rem}.surcharge-notice{color:var(--warning-dark);font-weight:500}.payment-type-notice{padding:var(--spacing-4);background:var(--warning-light);border:1px solid #fcd34d;border-radius:var(--radius-md);color:var(--warning-dark)}.payment-type-notice p{margin:0}.order-summary{margin-top:var(--spacing-5);padding-top:var(--spacing-5);border-top:1px solid var(--border-color)}.order-summary h4{margin:0 0 var(--spacing-4) 0;font-size:1rem;font-weight:600;color:var(--text-primary)}.summary-items{display:flex;flex-direction:column;gap:var(--spacing-2)}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) 0;font-size:.9rem;color:var(--text-secondary)}.summary-item.subtotal{padding-top:var(--spacing-3);border-top:1px dashed var(--border-color);font-weight:500;color:var(--text-primary)}.summary-item.surcharge{color:var(--warning-dark);font-size:.85rem}.summary-item.total{padding-top:var(--spacing-3);border-top:2px solid var(--border-color);font-size:1.1rem;font-weight:700;color:var(--text-primary)}.summary-item.balance-due{color:var(--text-muted);font-style:italic;font-size:.85rem}.loading-text{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--spacing-4)}@media (max-width: 640px){.payment-section{padding:var(--spacing-4)}.radio-option{padding:var(--spacing-3)}.summary-item{font-size:.85rem}.summary-item.total{font-size:1rem}}.public-booking-page{min-height:100vh;background:var(--bg-secondary)}.public-booking-page .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}.public-booking-page .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}.public-booking-page .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:var(--white);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)}.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)}.public-booking-page .schedules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;width:100%;justify-items:center}.public-booking-page .course-selector{margin-bottom:24px}.public-booking-page .course-select{width:100%;max-width:400px;padding:10px 14px;font-size:.95rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151}.public-booking-page .no-courses{text-align:center;padding:48px 24px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.public-booking-page .no-courses h3{margin:0 0 8px;color:#374151;font-size:1.1rem}.public-booking-page .no-courses p{margin:0;color:#6b7280;font-size:.92rem}@media (max-width: 768px){.public-booking-page .page-header{padding:var(--spacing-8) var(--spacing-4)}.public-booking-page .page-header h1{font-size:var(--text-2xl)}.public-booking-page .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)}}.orf-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)}.orf-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}.orf-inline{display:flex;justify-content:center}.orf-inline .orf-container{max-height:none;box-shadow:var(--shadow-md)}.orf-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}.orf-header h2{margin:0;font-size:var(--text-xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.orf-close{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)}.orf-close:hover{color:var(--text-primary);background:var(--background-gray)}.orf-course-info{background:var(--primary-color);border-radius:var(--radius-xl);padding:var(--spacing-6);margin:var(--spacing-4) var(--spacing-6);color:var(--white);box-shadow:var(--shadow-md)}.orf-course-info h3{margin:0 0 var(--spacing-4) 0;font-size:var(--text-xl);font-weight:700;color:var(--white)}.orf-course-details{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.orf-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)}.orf-detail-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--white);opacity:.9}.orf-detail-value{font-size:var(--text-sm);font-weight:600;color:var(--white)}.orf-form{padding:var(--spacing-6) var(--spacing-8) var(--spacing-8);background:var(--white)}.orf-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)}.orf-section:last-of-type{margin-bottom:var(--spacing-6)}.orf-section h3{margin:0 0 var(--spacing-1) 0;font-size:var(--text-lg);font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.orf-section-subtitle{margin:0 0 var(--spacing-5) 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.orf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.orf-form-group{display:flex;flex-direction:column}.orf-form-group label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-1);letter-spacing:.01em}.orf-required{color:var(--error-color);margin-left:2px}.orf-form-group input,.orf-form-group textarea,.orf-form-group select{padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary);line-height:1.5}.orf-form-group select{cursor:pointer}.orf-form-group input:focus,.orf-form-group textarea:focus,.orf-form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.orf-form-group textarea{resize:vertical;min-height:60px}.orf-participant-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-4)}.orf-participant-card h4{margin:0 0 var(--spacing-4) 0;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.orf-primary-badge{background:var(--success-color);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:var(--spacing-2)}.orf-checkbox-label{display:flex;align-items:center;font-size:var(--text-sm);color:var(--text-primary);margin:var(--spacing-4) 0;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.5}.orf-checkbox-label input[type=checkbox]{width:20px;height:20px;margin-right:var(--spacing-3);cursor:pointer;accent-color:var(--primary-color);flex-shrink:0}.orf-payment-section{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--background-gray) 100%);border:1px solid var(--border-color)}.orf-payment-options{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-5)}.orf-radio-option{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.orf-radio-option:hover{border-color:var(--primary-color);background:var(--info-light)}.orf-radio-option:has(input:checked){border-color:var(--primary-color);background:var(--info-light);box-shadow:0 0 0 3px #3b82f61a}.orf-radio-option input[type=radio]{width:20px;height:20px;margin-top:2px;accent-color:var(--primary-color);cursor:pointer}.orf-radio-content{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1}.orf-radio-title{font-weight:600;color:var(--text-primary);font-size:var(--text-sm)}.orf-radio-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5}.orf-order-summary{margin-top:var(--spacing-5);padding-top:var(--spacing-5);border-top:1px solid var(--border-color)}.orf-order-summary h4{margin:0 0 var(--spacing-4) 0;font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.orf-summary-items{display:flex;flex-direction:column;gap:var(--spacing-2)}.orf-summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) 0;font-size:var(--text-sm);color:var(--text-secondary)}.orf-summary-item.orf-surcharge{color:var(--warning-dark);font-size:var(--text-xs)}.orf-summary-item.orf-total{padding-top:var(--spacing-3);border-top:2px solid var(--border-color);font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.orf-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)}.orf-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)}.orf-btn-cancel,.orf-btn-submit{padding:9px 20px;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none;letter-spacing:-.01em}.orf-btn-cancel{background:var(--white);color:var(--text-secondary);border:1.5px solid var(--border-color)}.orf-btn-cancel:hover:not(:disabled){background:var(--background-gray);border-color:var(--text-secondary)}.orf-btn-submit{background:var(--primary-button-color);color:var(--text-on-button, #ffffff);min-width:180px;box-shadow:var(--shadow-sm)}.orf-btn-submit:hover:not(:disabled){background:var(--button-hover);box-shadow:var(--shadow-sm)}.orf-btn-submit:disabled,.orf-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.orf-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-8);font-size:var(--text-base);color:var(--text-secondary)}.orf-success{text-align:center;padding:var(--spacing-8);background:var(--white);border-radius:var(--radius-xl)}.orf-success-icon{width:64px;height:64px;background:var(--success-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto var(--spacing-4);box-shadow:var(--shadow-md)}.orf-success h2{margin:0 0 var(--spacing-2) 0;font-size:var(--text-xl);font-weight:700;color:var(--text-primary)}.orf-success p{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.orf-error-state{text-align:center;padding:var(--spacing-8);background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--error-light)}.orf-error-state h3{margin:0 0 var(--spacing-2) 0;font-size:var(--text-lg);font-weight:600;color:var(--error-color)}.orf-error-state p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}@media (max-width: 640px){.orf-overlay{padding:0}.orf-container{max-height:100vh;max-width:100%;border-radius:0}.orf-header,.orf-form{padding:var(--spacing-4)}.orf-course-info{margin:var(--spacing-3);padding:var(--spacing-4)}.orf-course-details{grid-template-columns:1fr}.orf-form-row{grid-template-columns:1fr;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.orf-section{margin-bottom:var(--spacing-6)}.orf-actions{flex-direction:column-reverse}.orf-btn-cancel,.orf-btn-submit{width:100%}}.admin-booking-page{width:100%;padding:25px;box-sizing:border-box;margin:0 auto;background:var(--background-gray);min-height:calc(100vh - 64px)}.admin-booking-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0}.admin-booking-page .header-content{flex:1}.admin-booking-page .header-content h1{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.admin-booking-page .header-content p,.admin-booking-page .page-subtitle{color:var(--text-secondary);font-size:.7rem;margin:4px 0 0;line-height:1.5;text-align:left}.success-banner{position:fixed;top:20px;right:20px;background:var(--white);border-left:4px solid var(--success-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:14px 18px;z-index:2000;animation:slideIn .3s ease-out}.success-content{display:flex;align-items:flex-start;gap:12px}.success-checkmark{color:var(--success-color);font-size:20px;font-weight:700;flex-shrink:0}.success-text{flex:1}.success-text strong{display:block;margin-bottom:2px;color:var(--text-primary);font-size:.79rem}.success-text p{margin:0;font-size:.68rem;color:var(--text-secondary)}.booking-flow{width:100%}.flow-navigation{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border-color)}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.7rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal)}.back-btn:hover{background:var(--bg-secondary);border-color:var(--text-light);color:var(--text-primary)}.breadcrumb{font-size:.7rem;color:var(--text-secondary);font-weight:500}.step-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 20px;letter-spacing:-.01em}.step-subtitle{font-weight:400;color:var(--text-secondary)}.admin-booking-page .method-selection,.admin-booking-page .course-selection,.admin-booking-page .location-selection,.admin-booking-page .location-course-selection,.admin-booking-page .variant-selection,.admin-booking-page .date-selection{width:100%;display:block!important}.bento-grid{display:grid;gap:14px;width:100%}.method-grid{grid-template-columns:repeat(2,1fr);max-width:700px}.courses-grid,.locations-grid,.variants-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.bento-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:20px;text-align:left;cursor:pointer;transition:all var(--transition-normal);display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box}.bento-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.bento-card.disabled{opacity:.5;cursor:not-allowed;background:var(--bg-secondary)}.bento-card.disabled:hover{border-color:var(--border-color);box-shadow:none;transform:none}.method-card{padding:28px;text-align:center;align-items:center}.method-card .bento-icon{font-size:2.2rem;margin-bottom:6px}.method-card h3{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.method-card p{font-size:.68rem;color:var(--text-secondary);margin:0;line-height:1.4}.course-card h3,.location-card h3{font-size:.85rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.course-card .course-description{font-size:.68rem;color:var(--text-secondary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.location-card{align-items:center;text-align:center}.location-card .bento-icon{font-size:1.6rem;margin-bottom:4px}.location-card .location-city{font-size:.68rem;color:var(--text-secondary);margin:0}.bento-count{display:inline-block;font-size:.62rem;font-weight:600;color:var(--primary-color);background:var(--info-light);padding:4px 10px;border-radius:var(--radius-2xl);margin-top:auto}.bento-card.disabled .bento-count{color:var(--text-muted);background:var(--background-gray)}.variant-card h3{font-size:.85rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.variant-card .variant-description{font-size:.68rem;color:var(--text-secondary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.variant-card .variant-price{display:inline-block;font-size:.75rem;font-weight:600;color:var(--success-color);background:var(--success-light);padding:5px 12px;border-radius:var(--radius-2xl);margin-top:auto}.all-variants-card{align-items:center;text-align:center;border:2px dashed var(--text-light);background:var(--bg-secondary)}.all-variants-card:hover{border-color:var(--primary-color);border-style:solid;background:var(--white)}.all-variants-card .bento-icon{font-size:1.6rem;margin-bottom:4px}.all-variants-card p{font-size:.68rem;color:var(--text-secondary);margin:0;line-height:1.4}.date-selection{width:100%}.date-selection-header{margin-bottom:20px}.filters-bar{display:flex;gap:16px;margin-top:16px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.73rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.filter-select{padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-size:.73rem;color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);min-width:180px}.filter-select:hover{border-color:var(--text-light)}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.schedules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;width:100%}.no-courses{text-align:center;padding:54px 27px;background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.no-courses h3{margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.no-courses p{margin:0;font-size:.73rem;color:var(--text-secondary)}.loading-state{text-align:center;padding:54px;color:var(--text-secondary);font-size:.73rem}.error-message{padding:16px;background:var(--error-light);border:1px solid var(--error-light);color:var(--error-color);border-radius:var(--radius-lg);text-align:center;font-size:.73rem}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.admin-booking-page{padding:18px}.admin-booking-page .page-header{flex-direction:column;align-items:flex-start;gap:10px}.admin-booking-page .header-content h1{font-size:1.17rem}.admin-booking-page .page-subtitle{font-size:.68rem}.method-grid,.courses-grid,.locations-grid,.schedules-grid{grid-template-columns:1fr}.method-card{padding:20px}.method-card .bento-icon{font-size:1.8rem}.flow-navigation{flex-wrap:wrap}}@media (max-width: 480px){.admin-booking-page .header-content h1{font-size:1.15rem}.step-title{font-size:.95rem}.success-banner{top:auto;right:12px;bottom:12px;left:12px}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px}.toast{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--white);box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;animation:slideIn .3s ease-out;min-width:280px}.toast-exit{animation:slideOut .3s ease-in forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.toast-success .toast-icon{background:var(--success-light);color:var(--success-color)}.toast-error .toast-icon{background:var(--error-light);color:var(--error-color)}.toast-info .toast-icon{background:var(--info-light);color:var(--primary-hover)}.toast-warning .toast-icon{background:var(--warning-light);color:var(--warning-dark)}.toast-message{flex:1;font-size:14px;color:var(--text-primary);line-height:1.4}.toast-close{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.toast-close:hover{background:var(--background-gray);color:var(--text-secondary)}.toast-success{border-left:4px solid var(--success-color)}.toast-error{border-left:4px solid var(--error-color)}.toast-info{border-left:4px solid var(--primary-hover)}.toast-warning{border-left:4px solid var(--warning-dark)}@media (max-width: 480px){.toast-container{left:10px;right:10px;max-width:none}.toast{min-width:auto}}.bookings-page{padding:25px;margin:0 auto;background:var(--background-gray);min-height:calc(100vh - 64px)}.bookings-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0}.bookings-page .page-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.bookings-page .page-header .page-subtitle{font-size:.73rem;color:var(--text-secondary);margin:2px 0 0;line-height:1.5;position:relative;display:inline-block}.bookings-page .page-header .page-subtitle:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.header-content{position:relative;z-index:1;display:block}.btn-create{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:var(--radius-lg);border:none;font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);background-color:var(--text-primary);color:var(--white);box-shadow:var(--shadow-sm)}.btn-create:hover{background-color:var(--text-primary);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:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.search-box{flex:1;min-width:270px;position:relative}.search-box:before{content:"🔍";position:absolute;left:11px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:.73rem;color:var(--text-secondary)}.search-box input{width:100%;padding:7px 11px 7px 32px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);background:var(--white);transition:all var(--transition-fast)}.search-box input:hover{border-color:var(--text-light)}.search-box input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-group{display:flex;align-items:center;gap:7px}.filter-group label{font-size:.73rem;font-weight:600;color:var(--text-secondary)}.filter-group select{padding:7px 11px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.73rem;background:var(--white);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast)}.filter-group select:hover{border-color:var(--text-light)}.filter-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.status-multi-select{position:relative}.status-filter-toggle{padding:7px 11px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.73rem;background:var(--white);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:6px;color:var(--text-primary);white-space:nowrap}.status-filter-toggle:hover{border-color:var(--text-light)}.status-filter-toggle.has-filters{border-color:var(--primary-color);background:#3b82f60a}.toggle-arrow{font-size:.55rem;color:var(--text-secondary)}.status-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--white);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;padding:6px 0}.status-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;transition:background var(--transition-fast);font-size:.73rem}.status-dropdown-item:hover{background:var(--bg-secondary)}.status-dropdown-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.status-dropdown-clear{display:block;width:calc(100% - 16px);margin:4px 8px 2px;padding:6px 0;background:none;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.68rem;color:var(--text-secondary);cursor:pointer;text-align:center;font-family:var(--font-sans);transition:all var(--transition-fast)}.status-dropdown-clear:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-refresh{padding:7px 14px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.btn-refresh:hover{background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.bookings-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:22px}.summary-stat{background:var(--white);padding:22px;border-radius:var(--radius-xl);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:9px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.summary-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-label{font-size:.62rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.bookings-table-container{background:var(--white);border-radius:var(--radius-2xl);border:1px solid var(--border-color);overflow:hidden;box-shadow:var(--shadow-sm)}.bookings-table{width:100%;border-collapse:collapse}.bookings-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.bookings-table th{padding:11px 14px;text-align:left;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.bookings-table tbody tr{border-bottom:1px solid var(--background-gray);transition:background .2s}.bookings-table tbody tr:hover{background:var(--bg-secondary)}.bookings-table td{padding:11px 14px;font-size:.73rem;color:var(--text-primary)}.booking-id{font-family:var(--font-display);font-size:.68rem;font-weight:700;color:var(--text-primary);background:var(--background-gray);padding:3px 8px;border-radius:var(--radius-md);display:inline-block;letter-spacing:.05em}.contact-info{display:flex;flex-direction:column;gap:3px}.contact-name{font-weight:600;color:var(--text-primary);font-size:.73rem}.contact-email{font-size:.68rem;color:var(--text-secondary)}.bookings-table .course-info{display:flex;flex-direction:column;gap:3px}.bookings-table .course-name{font-weight:600;font-family:var(--font-sans);color:var(--text-primary);font-size:.73rem}.bookings-table .vessel-name{font-size:.68rem;color:var(--text-secondary)}.date-range{white-space:nowrap;font-size:.73rem}.participants-count{text-align:center;font-weight:600}.amount{font-weight:600;color:var(--success-color)}.status-badge{display:inline-block;padding:3px 9px;border-radius:var(--radius-md);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-confirmed{background:var(--success-light);color:var(--success-color)}.status-pending{background:var(--warning-light);color:var(--warning-dark)}.status-cancelled{background:var(--error-light);color:var(--error-color)}.status-completed{background:var(--success-light);color:var(--success-color)}.status-deposit{background:var(--info-light);color:var(--primary-hover)}.status-waitlisted{background:var(--info-light);color:var(--primary-color)}.status-default{background:var(--background-gray);color:var(--text-secondary)}.created-date{font-size:.68rem;color:var(--text-secondary)}.actions{text-align:center}.btn-view{padding:3px 11px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-md);font-size:.68rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-view:hover{background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.empty-state,.loading-state,.error-state{text-align:center;padding:54px;color:var(--text-secondary);font-size:.79rem}.error-state button{margin-top:18px;padding:9px 18px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);cursor:pointer;font-weight:600;font-size:.73rem;transition:all var(--transition-normal)}.error-state button:hover{background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:18px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.booking-details-modal{background:var(--white);border-radius:var(--radius-2xl);max-width:810px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:27px 27px 22px;background:var(--white);border-bottom:1px solid var(--border-color)}.modal-header h2{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.btn-close{background:transparent;border:none;font-size:1.35rem;color:var(--text-secondary);cursor:pointer;line-height:1;padding:0;width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);transition:all var(--transition-normal)}.btn-close:hover{background:var(--background-gray);color:var(--text-primary)}.modal-body{padding:22px 27px 27px;overflow-y:auto;flex:1;background:var(--bg-secondary);color:var(--text-primary)}.detail-section{margin-bottom:22px;background:var(--white);border-radius:var(--radius-xl);padding:22px;border:1px solid var(--border-color);color:var(--text-primary);box-shadow:var(--shadow-sm)}.detail-section:last-child{margin-bottom:0}.payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.payment-item{text-align:center;padding:14px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.payment-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);display:block;margin-bottom:9px}.payment-value{font-family:var(--font-display);font-size:1.13rem;font-weight:700;color:var(--text-primary)}.payment-value.paid{color:var(--success-color)}.payment-value.balance-due{color:var(--warning-color)}.payment-value.balance-paid{color:var(--success-color)}.payment-history{margin-top:18px;padding-top:18px;border-top:1px solid var(--border-color)}.payment-history h4{font-size:.62rem;font-weight:600;color:var(--text-secondary);margin-bottom:14px;text-transform:uppercase;letter-spacing:.05em}.payment-history-list{display:flex;flex-direction:column;gap:9px}.payment-history-item{display:flex;justify-content:space-between;align-items:center;padding:14px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.payment-history-main{display:flex;flex-direction:column;gap:5px}.payment-history-date{font-size:.73rem;color:var(--text-primary);font-weight:500}.payment-history-type{font-size:.62rem;font-weight:600;text-transform:uppercase;padding:2px 7px;border-radius:var(--radius-md);display:inline-block;width:fit-content}.payment-history-type.deposit{background:var(--info-light);color:var(--primary-hover)}.payment-history-type.balance,.payment-history-type.full{background:var(--success-light);color:var(--success-color)}.payment-history-details{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.payment-history-amount{font-size:.9rem;font-weight:700;color:var(--success-color)}.payment-history-surcharge{font-size:.62rem;color:var(--text-secondary)}.payment-history-method{font-size:.62rem;color:var(--text-secondary);background:var(--background-gray);padding:2px 5px;border-radius:var(--radius-md)}.detail-section h3,.payment-section h3{font-size:.62rem!important;font-weight:600;color:var(--text-primary);margin-bottom:18px;padding-bottom:0;border-bottom:none;text-transform:uppercase;letter-spacing:.05em}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 29px}.detail-item{display:grid;grid-template-columns:108px 1fr;gap:14px;align-items:baseline}.detail-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)!important;margin-bottom:0;text-align:left}.detail-value{font-size:.79rem;color:var(--text-primary)!important;font-weight:500;line-height:1.5;margin-top:0;word-break:break-word}.participants-list{display:grid;gap:14px}.participant-card{background:var(--white);border-radius:var(--radius-xl);padding:20px;border:1px solid var(--border-color);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.participant-card:hover{border-color:var(--text-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.participant-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:2px solid var(--background-gray)}.participant-number{background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-primary) 100%);color:var(--white);padding:6px 12px;border-radius:var(--radius-lg);font-size:.68rem;font-weight:700;min-width:32px;text-align:center;box-shadow:var(--shadow-sm)}.participant-name{font-size:.9rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.participant-name.clickable{color:var(--primary-color);cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:all var(--transition-normal)}.participant-name.clickable:hover{color:var(--primary-hover);text-decoration-color:var(--primary-hover)}.participant-course-badge{font-size:.62rem;font-weight:500;color:var(--primary-hover);background:linear-gradient(135deg,var(--info-light) 0%,var(--info-light) 100%);padding:4px 10px;border-radius:var(--radius-md);border:1px solid var(--info-light);margin-left:auto}.btn-resend-participant{font-size:.62rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);padding:4px 10px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;margin-left:auto}.btn-resend-participant:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color);background:var(--info-light)}.btn-resend-participant:disabled{opacity:.6;cursor:not-allowed}.participant-header .participant-course-badge+.btn-resend-participant{margin-left:0}.participant-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.participant-detail{display:flex;flex-direction:column;gap:6px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--background-gray) 100%);padding:14px;border-radius:var(--radius-xl);border:1px solid var(--border-color);transition:all var(--transition-normal)}.participant-detail:hover{background:linear-gradient(135deg,var(--info-light) 0%,var(--info-light) 100%);border-color:var(--info-light)}.participant-detail span:first-child{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.participant-detail span:last-child{font-size:.79rem;color:var(--text-primary);font-weight:600;word-break:break-word}.modal-footer{display:flex;justify-content:flex-end;gap:14px;padding:22px 27px;background:var(--white);border-top:1px solid var(--border-color)}.btn-cancel-booking{padding:9px 18px;background:var(--error-color);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-cancel-booking:hover{background:var(--error-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-cancel-link{background:none;border:none;color:var(--text-secondary);font-size:.73rem;cursor:pointer;text-decoration:underline;padding:9px;transition:color .2s}.btn-cancel-link:hover{color:var(--error-color)}.modal-footer .btn-primary{padding:9px 18px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.modal-footer .btn-primary:hover{background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger-outline{padding:9px 18px;background:transparent;color:var(--error-color);border:1px solid var(--error-color);border-radius:var(--radius-lg);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-danger-outline:hover{background:var(--error-color);color:var(--white)}.btn-secondary{padding:9px 18px;background:var(--background-gray);color:var(--text-primary);border:none;border-radius:var(--radius-lg);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-secondary:hover{background:var(--border-color)}.confirm-modal{background:var(--white);border-radius:var(--radius-2xl);padding:27px;max-width:405px;box-shadow:var(--shadow-xl)}.confirm-modal h3{font-family:var(--font-display);font-size:1.13rem;font-weight:700;color:var(--text-primary);margin:0 0 14px;letter-spacing:-.02em}.confirm-modal p{font-size:.79rem;color:var(--text-secondary);margin:0 0 22px;line-height:1.6}.confirm-actions{display:flex;gap:14px;justify-content:flex-end}@media (max-width: 768px){.bookings-page{padding:18px}.bookings-page .page-header{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:12px}.bookings-page .page-header h1{font-size:1.17rem}.bookings-page .page-header .page-subtitle{font-size:.68rem}.bookings-controls{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.search-box{flex:1 1 100%;min-width:0;order:4}.filter-group{order:2}.filter-group label{display:none}.btn-create{order:0;white-space:nowrap}.btn-refresh{display:none}.bookings-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.summary-stat{padding:10px 8px;border-radius:var(--radius-xl);gap:2px;text-align:center;align-items:center}.summary-stat:hover{transform:none;box-shadow:var(--shadow-sm)}.stat-label{font-size:.52rem}.stat-value{font-size:1rem}.bookings-table-container{overflow-x:auto}.bookings-table{min-width:720px}.detail-grid{grid-template-columns:1fr}.payment-grid{grid-template-columns:1fr;gap:8px}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;text-align:left}.payment-label{margin-bottom:0}.payment-value{font-size:.95rem}.payment-history-item{flex-direction:column;align-items:flex-start;gap:8px}.payment-history-details{align-items:flex-start}.modal-footer{flex-direction:column-reverse}.btn-cancel-booking,.btn-secondary{width:100%}}.email-history-section{margin-top:18px}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-header-row h3{margin:0}.email-action-buttons{display:flex;gap:7px}.btn-payment-link{padding:7px 14px;background:var(--success-color);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:.68rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-payment-link:hover:not(:disabled){background:var(--success-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-payment-link:disabled{opacity:.6;cursor:not-allowed}.btn-resend{padding:7px 14px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:.68rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-resend:hover:not(:disabled){background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-resend:disabled{opacity:.6;cursor:not-allowed}.bp-completion-card{grid-column:1 / -1;background:#fffbeb;border:1px solid #F59E0B;border-radius:var(--radius-lg, 8px);padding:10px 12px;font-size:.8rem}.bp-completion-card-header{color:#92400e;margin-bottom:4px;font-size:.78rem}.bp-completion-card-header strong{font-weight:700}.bp-completion-card-pathways{display:flex;flex-direction:column;gap:2px;padding-left:4px}.bp-completion-pathway-row{display:flex;align-items:baseline;gap:4px;color:#78350f;font-size:.75rem;line-height:1.4}.bp-pathway-number{font-weight:700;min-width:14px;flex-shrink:0}.bp-pathway-recipe{font-weight:500}.bp-pathway-step{color:#b45309;font-style:italic;font-size:.7rem;white-space:nowrap}.record-payment-cta{margin-top:18px;padding-top:18px;border-top:1px solid var(--border-color);display:flex;justify-content:center}.btn-record-payment{padding:10px 24px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);letter-spacing:.02em}.btn-record-payment:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.record-payment-modal{background:var(--white);border-radius:var(--radius-2xl);width:480px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.rp-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.rp-summary-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-lg);text-align:center}.rp-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.rp-value{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary)}.rp-value.rp-paid{color:var(--success-color)}.rp-value.rp-due{color:var(--warning-color)}.rp-form{display:flex;flex-direction:column;gap:16px}.rp-field{display:flex;flex-direction:column;gap:6px}.rp-field label{font-size:.68rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.rp-optional{font-weight:400;text-transform:none;color:var(--text-secondary);font-size:.65rem}.rp-field input,.rp-field select,.rp-field textarea{padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;color:var(--text-primary);background:var(--white);transition:border-color .2s;font-family:inherit}.rp-field input:focus,.rp-field select:focus,.rp-field textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.rp-field input[type=number]{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.rp-field textarea{resize:vertical;min-height:52px}.rp-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.73rem;color:var(--text-secondary)}.rp-checkbox input[type=checkbox]{accent-color:#2563eb;width:16px;height:16px}.btn-record-confirm{padding:10px 22px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-record-confirm:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-record-confirm:disabled{opacity:.5;cursor:not-allowed}.booking-result-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-6);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--border-color) 100%)}.result-container{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-8);max-width:500px;width:100%;text-align:center}.result-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-6)}.result-icon svg{width:40px;height:40px}.success-icon{background:var(--success-light);color:var(--success-color)}.error-icon{background:var(--error-light);color:var(--error-color);font-size:2.5rem;font-weight:700}.cancelled-icon{background:var(--warning-light);color:var(--warning-dark)}.result-container h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-2) 0;letter-spacing:-.02em}.result-container .subtitle{font-size:1.1rem;color:var(--text-secondary);margin:0 0 var(--spacing-6) 0}.booking-details{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-5);margin-bottom:var(--spacing-6);text-align:left}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) 0;border-bottom:1px solid var(--border-color)}.detail-item:last-child{border-bottom:none}.detail-item .label{font-size:.9rem;color:var(--text-secondary)}.detail-item .value{font-weight:600;color:var(--text-primary);text-align:right}.status-confirmed{color:var(--success-color);background:var(--success-light);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:.85rem}.confirmation-message,.info-message{background:var(--info-light);border:1px solid var(--info-light);border-radius:var(--radius-md);padding:var(--spacing-4);margin-bottom:var(--spacing-6)}.confirmation-message p,.info-message p{margin:0;color:var(--info-dark);font-size:.9rem;line-height:1.6}.info-message p+p{margin-top:var(--spacing-2)}.result-container.cancelled .info-message{background:var(--warning-light);border-color:var(--warning-color)}.result-container.cancelled .info-message p{color:var(--warning-dark)}.booking-reference{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-4);margin-bottom:var(--spacing-6);display:flex;justify-content:space-between;align-items:center}.booking-reference .label{color:var(--text-secondary);font-size:.9rem}.booking-reference .value{font-family:monospace;font-weight:600;font-size:1.1rem;color:var(--text-primary)}.actions{display:flex;gap:var(--spacing-3);justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-md);font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;transition:all var(--transition-normal);border:none}.btn-primary{background:var(--primary-color);color:var(--white)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--white);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{border-color:var(--primary-color);color:var(--primary-color)}.help-text{margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid var(--border-color)}.help-text p{margin:0;font-size:.85rem;color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-4)}@media (max-width: 640px){.booking-result-page{padding:var(--spacing-4)}.result-container{padding:var(--spacing-6)}.result-container h1{font-size:1.5rem}.detail-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.detail-item .value{text-align:left}.actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;text-align:center}}.embed-settings-page{margin:0 auto}.embed-settings-page .page-header{background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);color:#fff;padding:40px;border-radius:var(--radius-xl);margin-bottom:32px;box-shadow:var(--shadow-lg)}.embed-settings-page .page-header h1{margin:0 0 8px;font-size:32px;font-weight:700}.embed-settings-page .page-header p{margin:0;opacity:.95;font-size:16px}.loading-state{text-align:center;padding:60px 20px;background:var(--white);border-radius:var(--radius-xl);color:var(--text-muted)}.embed-content{padding-bottom:40px}.embed-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden}.card-section{padding:32px;border-bottom:1px solid var(--background-gray)}.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:var(--text-muted);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 var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal)}.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:var(--text-muted)}.course-selector-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--background-gray)}.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 var(--border-color);border-radius:var(--radius-lg);font-size:14px;background:var(--white);color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal)}.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:var(--text-muted)}.copy-btn{padding:6px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.copy-btn:hover{background:var(--secondary-color);transform:translateY(-1px)}.copy-btn.copied{background:var(--success-color)}.code-block{background:var(--text-primary);color:var(--border-color);padding:16px;border-radius:var(--radius-lg);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:var(--bg-secondary)}.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:var(--text-muted);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:var(--radius-lg);font-weight:600;font-size:15px;transition:all var(--transition-normal)}.preview-btn:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width: 768px){.embed-settings-page .page-header{padding:24px 20px;border-radius:0}.embed-settings-page .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}}.pathway-canvas-editor{display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:500px;background:var(--white);border:1.5px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden}.canvas-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-secondary);border-bottom:1.5px solid var(--border-color);flex-shrink:0;z-index:10;flex-wrap:wrap}.canvas-toolbar-group{display:flex;align-items:center;gap:6px}.canvas-toolbar-divider{width:1px;height:24px;background:var(--border-color);margin:0 4px}.canvas-toolbar-label{font-family:var(--font-sans);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-right:2px}.canvas-toolbar button{display:flex;align-items:center;gap:5px;padding:6px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-family:var(--font-sans);font-size:.73rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.canvas-toolbar button:hover{background:var(--background-gray);border-color:var(--text-light)}.canvas-toolbar button.active{background:var(--text-primary);color:var(--white);border-color:var(--text-primary)}.canvas-toolbar button .btn-icon{font-size:.85rem;line-height:1}.canvas-toolbar .btn-save{background:var(--text-primary);color:var(--white);border-color:var(--text-primary);margin-left:auto}.canvas-toolbar .btn-save:hover{background:var(--text-primary)}.canvas-toolbar .btn-save:disabled{opacity:.5;cursor:not-allowed}.canvas-save-status{font-family:var(--font-sans);font-size:.68rem;color:var(--success-color);font-weight:500;margin-left:4px}.canvas-flow-area{flex:1;position:relative}.canvas-flow-area .react-flow__background{background:var(--bg-secondary)}.react-flow__edge-textwrapper text{font-family:var(--font-sans);font-size:11px}.course-node{background:var(--white);border:2px solid var(--primary-color);border-radius:var(--radius-xl);padding:10px 16px;min-width:160px;max-width:220px;box-shadow:var(--shadow-md);transition:box-shadow .15s ease,border-color .15s ease;cursor:grab}.course-node:hover{box-shadow:var(--shadow-md)}.course-node.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px #0f172a26}.course-node-icon{font-size:1rem;margin-bottom:4px}.course-node-name{font-family:var(--font-sans);font-size:.79rem;font-weight:600;color:var(--text-primary);line-height:1.3;text-align:center}.course-node-subtitle{font-family:var(--font-sans);font-size:.62rem;color:var(--text-secondary);text-align:center;margin-top:2px}.course-node[data-color=blue]{border-color:var(--primary-color)}.course-node[data-color=navy]{border-color:var(--primary-color);background:var(--primary-color)}.course-node[data-color=navy] .course-node-name{color:var(--white)}.course-node[data-color=navy] .course-node-subtitle{color:var(--info-light)}.course-node[data-color=green]{border-color:var(--success-color)}.course-node[data-color=amber]{border-color:var(--warning-dark)}.course-node[data-color=red]{border-color:var(--error-color)}.course-node[data-color=brown]{border-color:var(--warning-dark);background:var(--warning-dark)}.course-node[data-color=brown] .course-node-name{color:var(--white)}.course-node[data-color=brown] .course-node-subtitle{color:var(--warning-light)}.course-node .react-flow__handle{width:8px;height:8px;background:var(--primary-color);border:2px solid #ffffff;opacity:0;transition:opacity .15s}.course-node:hover .react-flow__handle,.course-node.selected .react-flow__handle{opacity:1}.section-node{border-radius:var(--radius-xl);padding:16px;min-width:300px;min-height:120px;opacity:.85;cursor:grab}.section-node[data-color=blue]{background:#3b82f614;border:2px dashed rgba(59,130,246,.3)}.section-node[data-color=lightblue]{background:#38bdf814;border:2px dashed rgba(56,189,248,.3)}.section-node[data-color=orange]{background:#d9770614;border:2px dashed rgba(217,119,6,.3)}.section-node[data-color=green]{background:#10b98114;border:2px dashed rgba(16,185,129,.3)}.section-node[data-color=gray]{background:#64748b14;border:2px dashed rgba(100,116,139,.3)}.section-node[data-color=purple]{background:#8b5cf614;border:2px dashed rgba(139,92,246,.3)}.section-node-label{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.section-node-sublabel{font-family:var(--font-sans);font-size:.68rem;color:var(--text-secondary)}.section-node .react-flow__handle{opacity:0!important;pointer-events:none}.text-node{padding:8px 14px;max-width:200px;cursor:grab}.text-node-content{font-family:var(--font-sans);font-size:.73rem;color:var(--text-secondary);line-height:1.5;text-align:center}.text-node-content.bold{font-weight:700;color:var(--text-primary)}.text-node .react-flow__handle{opacity:0!important;pointer-events:none}.cert-node{background:var(--bg-secondary);border:2px solid var(--text-muted);border-radius:var(--radius-xl);padding:10px 16px;min-width:140px;max-width:200px;box-shadow:var(--shadow-sm);cursor:grab}.cert-node-icon{font-size:1rem;text-align:center;margin-bottom:4px}.cert-node-name{font-family:var(--font-sans);font-size:.73rem;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.3}.cert-node .react-flow__handle{width:8px;height:8px;background:var(--text-muted);border:2px solid #ffffff;opacity:0;transition:opacity .15s}.cert-node:hover .react-flow__handle{opacity:1}.canvas-properties-panel{position:absolute;top:0;right:0;width:280px;height:100%;background:var(--white);border-left:1.5px solid var(--border-color);padding:16px;overflow-y:auto;z-index:20;box-shadow:-4px 0 16px #0f172a0f;animation:slideInRight .15s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.properties-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1.5px solid var(--border-color)}.properties-header h4{font-family:var(--font-display);font-size:.79rem;font-weight:700;color:var(--text-primary);margin:0}.properties-close{width:28px;height:28px;border:none;background:var(--background-gray);border-radius:var(--radius-md);font-size:1rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.properties-close:hover{background:var(--border-color);color:var(--text-primary)}.properties-field{margin-bottom:14px}.properties-field label{display:block;font-family:var(--font-sans);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:5px}.properties-field input,.properties-field select,.properties-field textarea{width:100%;padding:7px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast);box-sizing:border-box}.properties-field input:focus,.properties-field select:focus,.properties-field textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.properties-field textarea{resize:vertical;min-height:60px}.properties-color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.color-swatch{width:100%;aspect-ratio:1;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px #0f172a33}.properties-delete{width:100%;padding:8px;border:1.5px solid var(--error-light);border-radius:var(--radius-lg);background:var(--error-light);color:var(--error-color);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-top:20px}.properties-delete:hover{background:var(--error-color);color:var(--white);border-color:var(--error-color)}.edge-type-selector{display:flex;gap:4px}.edge-type-btn{padding:4px 10px!important;font-size:.68rem!important}.edge-type-btn svg{width:24px;height:10px}.react-flow__minimap{border-radius:var(--radius-lg);border:1.5px solid var(--border-color);box-shadow:var(--shadow-md)}.react-flow__controls{border-radius:var(--radius-lg);border:1.5px solid var(--border-color);box-shadow:var(--shadow-md);overflow:hidden}.react-flow__controls-button{border-bottom:1px solid var(--border-color)!important}.canvas-empty-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.canvas-empty-content{text-align:center;padding:32px;background:#ffffffe6;border-radius:var(--radius-xl);border:2px dashed var(--border-color);max-width:340px}.canvas-empty-icon{font-size:2.4rem;margin-bottom:10px;opacity:.5}.canvas-empty-content h3{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.canvas-empty-content p{font-family:var(--font-sans);font-size:.73rem;color:var(--text-muted);margin:0;line-height:1.5}.pathways-page{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:var(--white)!important;margin:0 0 var(--spacing-1) 0;position:relative;z-index:1;text-align:var(--heading-align)}.pathways-page .subtitle{color:var(--white)!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:.62rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);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)}}.btn-help{padding:8px 16px;background:var(--info-light);color:var(--info-dark);border:1px solid var(--info-light);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:all var(--transition-normal);display:flex;align-items:center;gap:6px}.btn-help:hover{background:var(--info-light);border-color:var(--info-dark);transform:translateY(-1px)}.pathway-canvas-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;justify-content:center;align-items:center;padding:24px}.pathway-canvas-drawer{background:var(--white);border-radius:var(--radius-2xl);width:100%;max-width:1400px;height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden}.canvas-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px;border-bottom:1.5px solid var(--border-color);flex-shrink:0;gap:16px}.canvas-drawer-title-area{flex:1;display:flex;flex-direction:column;gap:10px}.canvas-drawer-header h2{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.canvas-drawer-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.canvas-name-input{padding:6px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.79rem;font-weight:600;color:var(--text-primary);width:240px;transition:all var(--transition-fast)}.canvas-name-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.canvas-desc-input{padding:6px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;color:var(--text-secondary);width:280px;transition:all var(--transition-fast)}.canvas-desc-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.canvas-active-toggle{display:flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:.73rem;font-weight:500;color:var(--text-secondary);cursor:pointer}.canvas-active-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--text-primary)}.canvas-drawer-close{width:36px;height:36px;border:none;background:var(--background-gray);border-radius:var(--radius-lg);font-size:1.2rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.canvas-drawer-close:hover{background:var(--border-color);color:var(--text-primary)}.canvas-drawer-body{flex:1;overflow:hidden;padding:0}.pathway-card-canvas-preview{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color);pointer-events:none}.pathway-card-canvas-preview .pathway-canvas-viewer{border:none;border-radius:0}.pathway-course-tags{display:flex;flex-wrap:wrap;gap:6px}.pathway-course-tag{display:inline-flex;align-items:center;padding:3px 10px;background:var(--info-light);color:var(--info-dark);border-radius:var(--radius-sm);font-size:.68rem;font-weight:600;white-space:nowrap}.pathway-card{cursor:pointer}@media (max-width: 768px){.pathway-canvas-overlay{padding:0}.pathway-canvas-drawer{border-radius:0;max-width:100%;height:100vh}.canvas-drawer-meta{flex-direction:column;align-items:stretch}.canvas-name-input,.canvas-desc-input{width:100%}}.categories-page{padding:25px;margin:0 auto;background:var(--background-gray);min-height:calc(100vh - 64px)}.categories-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0;background:transparent;box-shadow:none;border-radius:0}.categories-page .header-content{flex:1;text-align:left}.categories-page .page-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2;text-align:left}.categories-page .page-subtitle{font-size:.73rem;color:var(--text-secondary);margin:5px 0 0;line-height:1.5;text-align:left}.btn-add-category{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:var(--radius-lg);border:none;font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);background-color:var(--text-primary);color:var(--white);box-shadow:var(--shadow-sm);white-space:nowrap}.btn-add-category:hover{background-color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-add-category:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.categories-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:22px}.categories-summary .summary-stat{background:var(--white);padding:22px;border-radius:var(--radius-xl);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:9px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.categories-summary .summary-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.categories-summary .stat-label{font-size:.62rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.categories-summary .stat-value{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.category-form-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden;margin-bottom:22px;box-shadow:var(--shadow-sm);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-card-header{background:var(--text-primary);color:var(--white);padding:14px 22px}.form-card-header h3{font-family:var(--font-display);font-size:.84rem;font-weight:700;margin:0}.category-form{padding:22px}.category-form .form-group{margin-bottom:18px}.category-form .form-group label{display:block;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:7px}.category-form .form-group input{width:100%;padding:9px 14px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);background:var(--white);color:var(--text-primary);transition:all var(--transition-fast);box-sizing:border-box}.category-form .form-group input:hover{border-color:var(--text-light)}.category-form .form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-color);padding:9px 14px;border-radius:var(--radius-lg);font-size:.73rem;margin-bottom:14px}.category-form .form-actions{display:flex;gap:9px}.btn-save{display:inline-flex;align-items:center;padding:7px 18px;border-radius:var(--radius-lg);border:none;font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);background-color:var(--text-primary);color:var(--white);box-shadow:var(--shadow-sm)}.btn-save:hover:not(:disabled){background-color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-cancel{display:inline-flex;align-items:center;padding:7px 18px;border-radius:var(--radius-lg);border:1.5px solid var(--border-color);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);background:var(--white);color:var(--text-secondary)}.btn-cancel:hover{border-color:var(--text-light);background:var(--bg-secondary);color:var(--text-primary)}.alert-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-color);padding:11px 18px;border-radius:var(--radius-lg);font-size:.73rem;margin-bottom:22px}.categories-table-container{background:var(--white);border-radius:var(--radius-2xl);border:1px solid var(--border-color);overflow:hidden;box-shadow:var(--shadow-sm)}.categories-table{width:100%;border-collapse:collapse}.categories-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.categories-table th{padding:11px 22px;text-align:left;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.categories-table th.actions-col{text-align:right}.categories-table tbody tr{border-bottom:1px solid var(--background-gray);transition:background .15s ease}.categories-table tbody tr:last-child{border-bottom:none}.categories-table tbody tr:hover{background:var(--bg-secondary)}.categories-table tbody tr.row-editing{background:var(--info-light)}.categories-table td{padding:14px 22px;font-size:.79rem;color:var(--text-primary)}.categories-table td.actions-col{text-align:right}.cat-name{font-family:var(--font-sans);font-weight:600;font-size:.79rem;color:var(--text-primary)}.category-row-clickable{cursor:pointer;transition:background-color .15s ease}.category-row-clickable:hover{background-color:var(--background-gray)}.category-row-clickable:hover .cat-name{color:var(--primary-color)}.course-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 9px;background:var(--background-gray);color:var(--text-primary);font-size:.73rem;font-weight:600;border-radius:var(--radius-full)}.row-actions{display:flex;gap:7px;justify-content:flex-end}.btn-action{padding:4px 11px;border-radius:var(--radius-md);border:none;font-size:.68rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal)}.btn-edit{background:var(--text-primary);color:var(--white)}.btn-edit:hover{background:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-delete{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light)}.btn-delete:hover{background:var(--error-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.categories-page .empty-state{text-align:center;padding:54px 22px;background:var(--white);border-radius:var(--radius-2xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.categories-page .empty-state .empty-icon{font-size:2.4rem;margin-bottom:14px}.categories-page .empty-state h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 7px}.categories-page .empty-state p{font-size:.79rem;color:var(--text-secondary);margin:0 0 22px}.categories-page .loading-state{text-align:center;padding:54px;color:var(--text-secondary);font-size:.79rem}@media (max-width: 768px){.categories-page{padding:18px}.categories-page .page-header{flex-direction:column;align-items:flex-start;gap:14px}.categories-summary{grid-template-columns:1fr 1fr}.categories-table th,.categories-table td{padding:11px 14px}.row-actions{flex-direction:column;gap:5px}}@media (max-width: 480px){.categories-summary{grid-template-columns:1fr}.categories-table thead{display:none}.categories-table tbody tr{display:flex;flex-direction:column;padding:14px;gap:9px;border-bottom:1px solid var(--border-color)}.categories-table td{padding:0}.categories-table td.actions-col{text-align:left}.row-actions{flex-direction:row}}.certification-flow-page{padding:24px;margin:0 auto;background:var(--background-gray, #f5f6f7);min-height:100vh}.certification-flow-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:20px;flex-wrap:wrap}.back-button{padding:8px 16px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:all var(--transition-normal)}.back-button:hover{background:var(--background-gray);border-color:var(--text-primary)}.header-content{flex:1}.header-content h1{margin:0;font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}.page-subtitle{margin:2px 0 0;color:var(--text-secondary);font-family:var(--font-sans);font-size:.79rem;line-height:1.5}.view-toggle{display:flex;gap:0;background:var(--white);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--border-color)}.toggle-btn{padding:8px 20px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all var(--transition-normal)}.toggle-btn.active{background:var(--text-primary);color:#fff}.toggle-btn:hover:not(.active){background:var(--background-gray)}.flow-container{background:var(--white);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-sm)}.intro-section{text-align:center;margin-bottom:48px;max-width:700px;margin-left:auto;margin-right:auto}.intro-section h2{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.01em}.intro-section p{font-size:.82rem;color:var(--text-secondary);line-height:1.6}.visual-flow{display:flex;flex-direction:column;gap:0;margin-bottom:48px;position:relative}.flow-level{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--white) 100%);border:2px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;position:relative;transition:all var(--transition-slow)}.flow-level:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.level-courses{background:linear-gradient(135deg,var(--info-light) 0%,var(--info-light) 100%);border-color:var(--primary-color);z-index:3;margin-bottom:-20px}.level-qualifications{background:linear-gradient(135deg,var(--success-light) 0%,var(--success-light) 100%);border-color:var(--success-color);z-index:2;margin-bottom:-20px;padding-top:52px}.level-pathways{background:linear-gradient(135deg,var(--warning-light) 0%,var(--warning-light) 100%);border-color:var(--warning-color);z-index:1;padding-top:52px}.level-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.level-number{width:28px;height:28px;background:#0f172ae6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.level-header h3{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.level-description{color:var(--text-secondary);font-size:.79rem;line-height:1.6;margin-bottom:20px;max-width:800px}.items-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.flow-item{background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:20px;cursor:pointer;transition:all var(--transition-slow);display:flex;flex-direction:column;gap:12px}.flow-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--text-primary)}.flow-item.selected{border-color:var(--text-primary);background:var(--bg-secondary);box-shadow:0 0 0 3px #0f172a1a}.item-icon{font-size:24px;text-align:center}.item-label{font-weight:600;font-size:.82rem;color:var(--text-primary);text-align:center;line-height:1.4}.variants-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.variant-tag{background:var(--background-gray);color:var(--text-secondary);padding:4px 10px;border-radius:var(--radius-xl);font-size:11px;font-weight:500;border:1px solid var(--border-color)}.required-courses{font-size:13px;color:var(--text-secondary);background:var(--bg-secondary);padding:12px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.required-courses strong{display:block;color:var(--text-primary);margin-bottom:6px}.required-item{padding:4px 0;color:var(--text-secondary)}.empty-state{grid-column:1 / -1;text-align:center;color:var(--text-muted);padding:40px;font-style:italic}.flow-connector{height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:4;margin:-10px 0}.arrow-line{width:3px;height:40px;background:linear-gradient(to bottom,var(--text-muted),var(--text-secondary));position:relative}.arrow-line:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid var(--text-secondary)}.connector-label{background:var(--white);padding:4px 16px;border-radius:var(--radius-xl);font-size:12px;font-weight:600;color:var(--text-secondary);border:1px solid var(--border-color);margin-top:8px;white-space:nowrap}.example-section{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--background-gray) 100%);border-radius:var(--radius-xl);padding:32px;margin-bottom:40px;border:2px solid var(--border-color)}.example-section h2{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:20px;text-align:center;letter-spacing:-.01em}.example-steps{display:flex;flex-direction:column;gap:24px;max-width:900px;margin:0 auto}.example-step{display:flex;gap:20px;background:var(--white);padding:24px;border-radius:var(--radius-xl);border:2px solid var(--border-color);transition:all var(--transition-slow)}.example-step:hover{border-color:var(--text-primary);box-shadow:var(--shadow-md)}.step-number{flex-shrink:0;width:36px;height:36px;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem}.step-content h4{margin:0 0 6px;font-family:var(--font-display);font-size:.88rem;font-weight:600;color:var(--text-primary)}.step-content p{margin:6px 0;color:var(--text-secondary);font-size:.79rem;line-height:1.6}.step-note{background:var(--warning-light);border-left:3px solid var(--warning-color);padding:10px 12px;border-radius:var(--radius-md);font-size:.76rem;margin-top:10px}.benefits-section{margin-top:48px}.benefits-section h2{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:20px;text-align:center;letter-spacing:-.01em}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.benefit-card{background:linear-gradient(135deg,var(--white) 0%,var(--bg-secondary) 100%);border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:24px;text-align:center;transition:all var(--transition-slow)}.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--text-primary)}.benefit-icon{font-size:28px;margin-bottom:10px}.benefit-card h4{margin:0 0 6px;font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--text-primary)}.benefit-card p{margin:0;font-size:.76rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 768px){.certification-flow-page{padding:16px}.flow-container{padding:24px 16px}.certification-flow-page .page-header{flex-direction:column;align-items:stretch}.header-content h1{font-size:1.2rem}.flow-level{padding:20px}.level-qualifications,.level-pathways{padding-top:40px}.items-container{grid-template-columns:1fr}.example-step{flex-direction:column}.benefits-grid{grid-template-columns:1fr}}.online-course-page{min-height:100vh;background:var(--background-gray);padding:40px 20px}.page-container{max-width:900px;margin:0 auto}.public-online-course-page{min-height:100vh;background:var(--background-gray);padding:20px}.public-container{max-width:900px;margin:0 auto}.error-container{background:var(--white);border-radius:var(--radius-lg);padding:40px;text-align:center;box-shadow:var(--shadow-sm)}.error-container h2{color:var(--error-color);margin-bottom:16px}.error-container p{color:var(--text-muted);font-size:16px}body.public-embed nav,body.public-embed header,body.public-embed .sidebar{display:none!important}.payment-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--background-gray) 0%,#e4e9f0 100%);padding:20px}.payment-container{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:40px;max-width:480px;width:100%;text-align:center}.payment-container h1{color:var(--primary-color, var(--primary-color));margin:0 0 8px;font-size:24px}.school-logo{max-width:180px;max-height:80px;margin-bottom:20px}.school-name{color:var(--text-secondary);margin:0 0 24px;font-size:14px}.booking-details{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px;margin:24px 0;text-align:left}.booking-details h2{margin:0 0 16px;font-size:16px;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:12px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light)}.detail-row:last-child{border-bottom:none}.detail-row .label{color:var(--text-secondary);font-size:14px}.detail-row .value{color:var(--text-primary);font-weight:500;font-size:14px;text-align:right;max-width:60%;overflow-wrap:break-word;word-break:break-all}.payment-summary{background:var(--primary-color, var(--primary-color));color:#fff;border-radius:var(--radius-lg);padding:16px 20px;margin:24px 0}.amount-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.amount-row.paid{opacity:.8}.amount-row.subtotal{opacity:.9}.amount-row.surcharge{opacity:.9;font-size:13px;color:#ffffffe6}.amount-row.tax-info{opacity:.85;font-size:13px;color:#ffffffe6;font-style:italic}.tax-registration{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.15);font-size:11px;color:#ffffffb3;text-align:center}.amount-row.due{font-size:18px;font-weight:700;border-top:1px solid rgba(255,255,255,.3);margin-top:8px;padding-top:12px}.pay-button{width:100%;padding:16px 24px;background:var(--success-color);color:#fff;border:none;border-radius:var(--radius-lg);font-size:18px;font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:8px}.pay-button:hover:not(:disabled){background:var(--success-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.pay-button:disabled{background:var(--text-light);cursor:not-allowed;transform:none}.pay-button .spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.secure-notice{color:var(--text-secondary);font-size:12px;margin-top:16px}.payment-container.success{border-top:4px solid var(--success-color)}.success-icon{width:64px;height:64px;background:var(--success-color);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.success-icon svg{width:32px;height:32px;color:#fff}.payment-container.error{border-top:4px solid var(--error-color)}.error-icon{width:64px;height:64px;background:var(--error-color);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;font-size:32px;font-weight:700}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary-color, var(--primary-color));border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}.booking-summary{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:16px;margin-top:20px;text-align:left}.summary-item{display:flex;justify-content:space-between;padding:8px 0}.summary-item .label{color:var(--text-secondary)}.summary-item .value{color:var(--text-primary);font-weight:500}@media (max-width: 480px){.payment-container{padding:24px}.payment-container h1{font-size:20px}.detail-row{flex-direction:column;gap:4px}.detail-row .value{text-align:left;max-width:100%}}.admin-page{min-height:100vh;background:var(--background-gray);padding:29px 25px;margin:0 auto;font-family:var(--font-sans, "Inter", sans-serif)}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;flex-wrap:wrap;gap:14px}.admin-header h1{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.admin-header p{color:var(--text-secondary);font-size:.73rem;margin:5px 0 0;line-height:1.5}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin-bottom:29px}.stat-card{background:var(--white);border:none;border-radius:var(--radius-xl);padding:22px;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card .stat-label{font-size:.62rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:9px;font-weight:600}.stat-card .stat-value{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.46rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.stat-card .stat-value.green{color:var(--success-color)}.stat-card .stat-value.blue{color:var(--primary-color)}.stat-card .stat-value.amber{color:var(--warning-color)}.admin-card{background:var(--white);border:none;border-radius:var(--radius-2xl);margin-bottom:29px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.admin-card:hover{box-shadow:var(--shadow-md)}.admin-card-header{padding:22px 25px;border-bottom:1px solid var(--background-gray);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.admin-card-header h2{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:.84rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em}.admin-card-body{padding:25px}.btn-admin{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:var(--radius-lg);border:none;font-family:var(--font-sans, "Inter", sans-serif);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.btn-admin:disabled{opacity:.5;cursor:not-allowed}.btn-admin-primary{background-color:var(--text-primary);color:var(--white)}.btn-admin-primary:hover:not(:disabled){background-color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-admin-success{background-color:var(--success-color);color:var(--white)}.btn-admin-success:hover:not(:disabled){background-color:var(--success-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-admin-danger{background-color:var(--error-color);color:var(--white)}.btn-admin-danger:hover:not(:disabled){background-color:var(--error-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-admin-secondary{background-color:var(--background-gray);color:var(--text-secondary);border:1.5px solid var(--border-color)}.btn-admin-secondary:hover:not(:disabled){background-color:var(--border-color);border-color:var(--text-light)}.admin-table{width:100%;border-collapse:collapse;font-size:.73rem}.admin-table th{text-align:left;padding:11px 14px;background-color:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--background-gray);white-space:nowrap}.admin-table td{padding:11px 14px;border-bottom:1px solid var(--bg-secondary);color:var(--text-primary)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background-color:var(--bg-secondary)}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--radius-md);font-size:.62rem;font-weight:600;letter-spacing:.01em}.badge-active{background-color:var(--success-light);color:var(--success-color)}.badge-inactive{background-color:var(--background-gray);color:var(--text-secondary)}.badge-pending{background-color:var(--warning-light);color:var(--warning-dark)}.badge-paid{background-color:var(--success-light);color:var(--success-color)}.badge-failed{background-color:var(--error-light);color:var(--error-color)}.badge-billed{background-color:var(--info-light);color:var(--primary-hover)}.badge-refunded{background-color:var(--background-gray);color:var(--text-secondary)}.admin-search{padding:9px 14px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans, "Inter", sans-serif);font-size:.79rem;width:252px;outline:none;transition:all var(--transition-fast);background:var(--white)}.admin-search:hover{border-color:var(--text-light)}.admin-search:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.admin-form-group{margin-bottom:18px}.admin-form-group label{display:block;font-family:var(--font-sans, "Inter", sans-serif);font-size:.73rem;font-weight:600;color:var(--text-primary);margin-bottom:5px}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{width:100%;padding:7px 11px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans, "Inter", sans-serif);font-size:.73rem;color:var(--text-primary);box-sizing:border-box;outline:none;transition:all var(--transition-fast);background:var(--white)}.admin-form-group input:hover,.admin-form-group select:hover,.admin-form-group textarea:hover{border-color:var(--text-light)}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.admin-form-group .form-hint{font-size:.73rem;color:var(--text-secondary);margin-top:5px;line-height:1.5}.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-loading{text-align:center;padding:72px 18px;color:var(--text-secondary);font-size:.84rem}.admin-empty{text-align:center;padding:54px 18px;color:var(--text-muted);font-size:.84rem}.admin-alert{padding:11px 14px;border-radius:var(--radius-lg);font-size:.73rem;margin-bottom:16px;line-height:1.5;border-left:3px solid}.admin-alert-success{background-color:var(--success-light);color:var(--success-color);border-left-color:var(--success-color)}.admin-alert-error{background-color:var(--error-light);color:var(--error-color);border-left-color:var(--error-color)}.admin-alert-info{background-color:var(--info-light);color:var(--primary-hover);border-left-color:var(--primary-color)}.admin-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.admin-filters select{padding:10px 14px;border:1.5px solid var(--border-color);border-radius:var(--radius-xl);font-family:var(--font-sans, "Inter", sans-serif);font-size:.875rem;outline:none;background:var(--white);transition:all var(--transition-fast)}.admin-filters select:hover{border-color:var(--text-light)}.admin-filters select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.pricing-card{background:var(--white);border:1.5px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden;transition:all var(--transition-normal);box-shadow:var(--shadow-md)}.pricing-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.pricing-card-header{padding:16px 20px;background:var(--bg-secondary);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--background-gray)}.pricing-region{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-weight:700;color:var(--text-primary);font-size:.9375rem;letter-spacing:-.01em}.pricing-currency{font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--background-gray);padding:4px 10px;border-radius:var(--radius-md)}.pricing-card-body{padding:24px 20px;text-align:center}.pricing-input-wrapper{display:flex;align-items:center;justify-content:center;gap:6px}.currency-symbol{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.5rem;font-weight:700;color:var(--text-secondary)}.pricing-input{width:120px;font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.75rem;font-weight:700;text-align:center;border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:10px;color:var(--text-primary);transition:all var(--transition-fast)}.pricing-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.pricing-period{display:block;font-size:.8125rem;color:var(--text-secondary);margin-top:10px;font-weight:500}.admin-card-info{background:var(--info-light);border:1.5px solid var(--info-light);box-shadow:var(--shadow-md)}.admin-card-info .admin-card-header{background:var(--info-light);border-color:var(--info-light)}.admin-card-info .admin-card-header h2{color:var(--info-dark)}.info-list{display:flex;flex-direction:column;gap:24px}.info-item{display:flex;gap:16px;align-items:flex-start}.admin-page .info-icon{flex-shrink:0;width:32px;height:32px;background:linear-gradient(135deg,#1e3a5f,#15294a);color:#fff!important;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;box-shadow:0 2px 6px #00000026}.info-content strong{display:block;font-family:var(--font-sans, "Inter", sans-serif);font-weight:600;color:var(--info-dark);margin-bottom:4px;font-size:.9375rem}.info-content p{color:var(--info-dark);font-size:.875rem;margin:0;line-height:1.6}.form-help{display:block;font-size:.8125rem;color:var(--text-secondary);margin-top:6px;line-height:1.5}@media (max-width: 1024px){.admin-page{padding:32px 24px}.admin-header h1{font-size:1.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.admin-page{padding:24px 20px}.admin-header{margin-bottom:24px}.admin-header h1{font-size:1.5rem}.admin-form-row{grid-template-columns:1fr}.admin-table{overflow-x:auto;display:block}.stats-grid{grid-template-columns:1fr;gap:16px}.stat-card{padding:20px}.stat-card .stat-value{font-size:1.75rem}.pricing-grid{grid-template-columns:1fr}.admin-card-header,.admin-card-body{padding:20px}.admin-search{width:100%}}@media (max-width: 480px){.admin-page{padding:20px 16px}.admin-header h1{font-size:1.375rem}.admin-card-header,.admin-card-body,.stat-card{padding:16px}.btn-admin{width:100%;justify-content:center}}.health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}.health-item{display:flex;align-items:flex-start;gap:11px;padding:14px;border-radius:var(--radius-lg);background:var(--bg-secondary);transition:all var(--transition-fast)}.health-item:hover{background:var(--background-gray)}.health-dot{flex-shrink:0;width:11px;height:11px;border-radius:50%;margin-top:3px}.health-dot-ok{background:var(--success-color, #16a34a);box-shadow:0 0 6px #16a34a66}.health-dot-warn{background:var(--warning-color, #d97706);box-shadow:0 0 6px #d9770666}.health-dot-error{background:var(--error-color, #dc2626);box-shadow:0 0 6px #dc262666}.health-dot-info{background:var(--info-color, #0284c7);box-shadow:0 0 6px #0284c74d}.health-info{flex:1;min-width:0}.health-label{font-family:var(--font-sans, "Inter", sans-serif);font-size:.73rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.health-status{font-size:.68rem;font-weight:600;letter-spacing:.01em}.health-ok{color:var(--success-color, #16a34a)}.health-warn{color:var(--warning-color, #d97706)}.health-error{color:var(--error-color, #dc2626)}.health-info-text{color:var(--text-secondary)}.health-detail{font-size:.62rem;color:var(--text-secondary);margin-top:2px}.sg-section{margin-bottom:32px}.sg-section-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0 0 4px}.sg-section-desc{font-family:var(--font-sans);font-size:.73rem;color:var(--text-secondary);margin:0 0 18px;line-height:1.5}.sg-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:22px 25px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.sg-card-title{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0 0 14px}.sg-subhead{font-family:var(--font-display);font-size:.73rem;font-weight:700;color:var(--text-primary);margin:18px 0 10px;letter-spacing:-.01em}.sg-grid{display:flex;gap:32px;flex-wrap:wrap}.sg-item{display:flex;flex-direction:column;gap:2px;min-width:200px}.sg-label{font-family:var(--font-sans);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.sg-value{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.sg-font-heading{font-family:var(--font-display)}.sg-font-body{font-family:var(--font-sans)}.sg-meta{font-family:var(--font-sans);font-size:.68rem;color:var(--text-muted)}.sg-token-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.sg-token{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--background-gray);border-radius:var(--radius-lg)}.sg-token-name{font-family:var(--font-sans);font-size:.73rem;font-weight:500;color:var(--text-primary)}.sg-token-val{font-family:JetBrains Mono,SF Mono,Roboto Mono,monospace;font-size:.68rem;font-weight:500;color:var(--text-secondary);background:var(--background-gray);padding:2px 8px;border-radius:var(--radius-md)}.sg-swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}.sg-swatch{display:flex;flex-direction:column;align-items:center;gap:6px}.sg-swatch-block{width:100%;height:56px;border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.sg-swatch-name{font-family:var(--font-sans);font-size:.68rem;font-weight:600;color:var(--text-primary);text-align:center}.sg-swatch-hex{font-family:JetBrains Mono,SF Mono,Roboto Mono,monospace;font-size:.62rem;color:var(--text-secondary)}.sg-button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.sg-btn-demo{font-family:var(--font-sans);font-size:.73rem;font-weight:600;padding:7px 14px;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.sg-btn-demo:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.sg-btn-primary{background:var(--text-primary);color:var(--white)}.sg-btn-primary:hover{background:var(--text-primary)}.sg-btn-secondary{background:var(--white);color:var(--text-primary);border:1.5px solid var(--border-color);box-shadow:none}.sg-btn-secondary:hover{border-color:var(--text-light);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.sg-btn-danger{background:var(--error-color);color:var(--white)}.sg-btn-danger:hover{background:var(--error-color)}.sg-btn-danger-outline{background:var(--white);color:var(--error-color);border:1.5px solid var(--error-light);box-shadow:none}.sg-btn-danger-outline:hover{background:var(--error-light);border-color:var(--error-light)}.sg-history-card{border-left:4px solid var(--border-color)}.sg-history-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.sg-badge{font-family:var(--font-sans);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:var(--radius-2xl)}.sg-badge-current{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-light)}.sg-badge-reverted{background:var(--warning-light);color:var(--warning-dark);border:1px solid var(--warning-light)}.sg-badge-previous{background:var(--background-gray);color:var(--text-secondary);border:1px solid var(--border-color)}.sg-history-date{font-family:var(--font-sans);font-size:.68rem;color:var(--text-muted);font-weight:500}.sg-history-desc{font-family:var(--font-sans);font-size:.73rem;color:var(--text-secondary);line-height:1.55;margin:0 0 14px}.sg-code-block{background:var(--text-primary);border-radius:var(--radius-xl);padding:16px 20px;overflow-x:auto}.sg-code-block pre{margin:0;font-family:JetBrains Mono,SF Mono,Roboto Mono,monospace;font-size:.68rem;line-height:1.65;color:var(--border-color);white-space:pre}.sg-preview{margin-bottom:16px}.sg-preview-label{font-family:var(--font-sans);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.sg-demo-header{position:relative;overflow:hidden;display:flex;align-items:center}.sg-demo-header-content{position:relative;z-index:1}.sg-demo-header-content h1{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--white);margin:0;letter-spacing:-.02em;line-height:1.2}.sg-demo-header-content p{font-family:var(--font-sans);font-size:.73rem;color:var(--white);opacity:.92;margin:4px 0 0;line-height:1.5}.sg-demo-clippath{background:var(--primary-color);padding:18px 24px;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.sg-demo-header-accent{position:absolute;top:0;right:0;width:120px;height:100%;background:#ed2626;clip-path:polygon(30% 0,100% 0,100% 100%,0% 100%);opacity:.9}.sg-demo-gradient{background:linear-gradient(135deg,var(--primary-color) 0%,#ED2626 100%);padding:20px 26px;border-radius:var(--radius-2xl);box-shadow:var(--shadow-md)}.sg-demo-circle-lg{position:absolute;top:-40%;right:-5%;width:180px;height:180px;background:#ffffff12;border-radius:50%}.sg-demo-circle-sm{position:absolute;bottom:-30%;right:8%;width:120px;height:120px;background:#ffffff0d;border-radius:50%}.sg-badge-option{background:var(--info-light);color:var(--primary-hover);border:1px solid var(--info-light)}.sg-badge-chosen{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-light)}.sg-demo-option-a{background:var(--text-primary);padding:22px 25px;border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.sg-demo-accent-a{background:var(--text-secondary);opacity:.85}.sg-demo-option-b{background:var(--text-primary);padding:22px 25px;border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.sg-demo-accent-b{background:var(--primary-color);opacity:.85}.sg-demo-option-c{background:var(--primary-color);padding:22px 25px;border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.sg-demo-accent-c{background:#ed2626;opacity:.9}.sg-demo-option-d{background:var(--text-primary);padding:22px 25px;border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.sg-demo-accent-d{background:var(--error-color);opacity:.85}.sg-concept-page{background:var(--background-gray);border-radius:var(--radius-xl);padding:18px;border:1px solid var(--border-color)}.sg-concept-header-clean{margin-bottom:14px}.sg-concept-header-clean h1{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.sg-concept-header-clean p{font-family:var(--font-sans);font-size:.68rem;color:var(--text-secondary);margin:3px 0 0;line-height:1.5}.sg-concept-accent-bar{position:relative;border-radius:var(--radius-xl);overflow:hidden}.sg-concept-accent-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color) 0%,var(--primary-color) 100%);z-index:1}.sg-concept-title-row{display:flex;align-items:center;gap:8px}.sg-concept-dot{width:10px;height:10px;border-radius:50%;background:var(--primary-color);flex-shrink:0}.sg-concept-underline{width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color) 0%,#ED2626 100%);margin:5px 0 2px}.sg-concept-strip{background:var(--primary-color);padding:9px 16px;border-radius:var(--radius-xl);margin-bottom:14px;display:flex;align-items:baseline;gap:12px}.sg-concept-strip h1{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--white);margin:0;letter-spacing:-.01em;white-space:nowrap}.sg-concept-strip p{font-family:var(--font-sans);font-size:.62rem;color:#ffffffb3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sg-concept-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px;box-shadow:var(--shadow-sm)}.sg-concept-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.sg-concept-search{flex:1;height:28px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:180px}.sg-concept-btn{font-family:var(--font-sans);font-size:.62rem;font-weight:600;padding:5px 10px;background:var(--text-primary);color:var(--white);border-radius:var(--radius-md);white-space:nowrap}.sg-concept-rows{display:flex;flex-direction:column;gap:6px}.sg-concept-row{height:20px;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--background-gray)}.sg-mobile-nav{display:flex;align-items:center;justify-content:space-between;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:0 14px;height:48px;max-width:375px;position:relative;box-shadow:var(--shadow-sm)}.sg-mobile-burger{font-size:20px;color:var(--text-secondary);width:32px;display:flex;align-items:center;justify-content:center}.sg-mobile-school-name{font-family:var(--font-display);font-size:.79rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;position:absolute;left:50%;transform:translate(-50%);white-space:nowrap}.sg-mobile-right{display:flex;align-items:center;gap:8px}.sg-mobile-avatar{font-size:16px;width:28px;height:28px;background:var(--background-gray);border-radius:50%;display:flex;align-items:center;justify-content:center}.sg-mobile-nav-accent{border-top:3px solid var(--primary-color);border-radius:0 0 10px 10px}.sg-mobile-nav-gradient{border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--primary-color) 0%,#ED2626 100%) 1;border-radius:0}.sg-sidebar-mock{width:210px;border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--white)}.sg-sidebar-header-mock{padding:14px;display:flex;align-items:center;gap:10px}.sg-sb-current{background:var(--text-primary)}.sg-sb-white{background:var(--white);border-bottom:1px solid var(--border-color)}.sg-sb-gradient-divider,.sg-sb-gradient-bottom{border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--primary-color) 0%,#ED2626 100%) 1}.sg-sb-logo{font-size:18px;width:32px;height:32px;background:#ffffff1a;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15)}.sg-sb-logo-light{font-size:18px;width:32px;height:32px;background:var(--background-gray);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color)}.sg-sb-text{display:flex;flex-direction:column;gap:1px}.sg-sb-label{font-family:var(--font-sans);font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#fff9}.sg-sb-name{font-family:var(--font-display);font-size:.73rem;font-weight:700;color:var(--white);letter-spacing:-.01em}.sg-sb-label-dark{font-family:var(--font-sans);font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.sg-sb-name-dark{font-family:var(--font-display);font-size:.73rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.sg-sidebar-nav-mock{padding:8px 0}.sg-sb-item{font-family:var(--font-sans);font-size:.68rem;font-weight:500;color:var(--text-secondary);padding:7px 14px;border-left:3px solid transparent}.sg-sb-active{background:var(--background-gray);color:var(--text-primary);font-weight:600}.sg-sb-active-blue,.sg-sb-active-brand{border-left-color:var(--primary-color)}.sg-menu-mock{width:210px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:8px 0;box-shadow:var(--shadow-sm)}.sg-menu-item{font-family:var(--font-sans);font-size:.68rem;font-weight:500;color:var(--text-secondary);padding:8px 14px;display:flex;align-items:center;gap:9px;border-left:3px solid transparent}.sg-menu-icon{font-size:14px;width:20px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.sg-menu-group{cursor:pointer}.sg-menu-chevron{margin-left:auto;font-size:10px;color:var(--text-muted)}.sg-menu-subitem{font-family:var(--font-sans);font-size:.62rem;font-weight:500;color:var(--text-secondary);padding:6px 14px 6px 46px;border-left:3px solid transparent}.sg-menu-active-current{background:var(--background-gray);color:var(--text-primary);font-weight:600;border-left-color:var(--primary-color, var(--primary-color))}.sg-menu-n1{border-left:none;margin:2px 8px;padding:8px 10px;border-radius:var(--radius-lg)}.sg-menu-active-n1{background:var(--background-gray);color:var(--text-primary);font-weight:600;box-shadow:inset 3px 0 0 var(--primary-color, var(--primary-color))}.sg-menu-sub-n1{margin:1px 8px 1px 20px;padding:6px 10px 6px 28px;border-radius:var(--radius-md);border-left:none}.sg-menu-n2{border-left:none;margin:2px 8px;padding:8px 10px;border-radius:var(--radius-lg)}.sg-menu-active-n2{background:var(--bg-secondary);color:var(--text-primary);font-weight:600}.sg-menu-icon-highlight{background:var(--primary-light, #E8EFF5);border-radius:var(--radius-md);width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.sg-menu-sub-n2{margin:1px 8px 1px 20px;padding:6px 10px 6px 28px;border-radius:var(--radius-md);border-left:none}.sg-menu-section-label{font-family:var(--font-sans);font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:10px 14px 4px}.sg-menu-section-divider{height:1px;background:var(--background-gray);margin:6px 14px}.sg-menu-n3{border-left:3px solid transparent}.sg-menu-active-n3{background:var(--background-gray);color:var(--text-primary);font-weight:600;border-left-color:var(--primary-color, var(--primary-color))}.sg-menu-sub-n3{border-left:3px solid transparent}.sg-menu-n4{border-left:none;margin:2px 8px;padding:8px 10px;border-radius:var(--radius-lg)}.sg-menu-active-n4{background:var(--background-gray);color:var(--text-primary);font-weight:600;position:relative;overflow:hidden}.sg-menu-active-n4:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:0 2px 2px 0;background:linear-gradient(180deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.sg-menu-sub-n4{margin:1px 8px 1px 20px;padding:6px 10px 6px 28px;border-radius:var(--radius-md);border-left:none}@media (max-width: 768px){.sg-swatch-grid{grid-template-columns:repeat(3,1fr);gap:10px}.sg-swatch-block{height:40px}.sg-token-grid{grid-template-columns:1fr}.sg-grid{flex-direction:column;gap:16px}.sg-card{padding:18px;border-radius:var(--radius-xl)}.sg-code-block{padding:12px 14px;border-radius:var(--radius-xl)}.sg-code-block pre{font-size:.62rem}}.accept-invite-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background-gray);padding:40px 20px}.accept-invite-card{width:100%;max-width:520px;background:var(--white);border-radius:var(--radius-2xl);padding:48px 40px;box-shadow:var(--shadow-md)}.invite-header{text-align:center;margin-bottom:32px}.invite-header h1{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 8px;background:linear-gradient(135deg,var(--primary-color, var(--primary-hover)),var(--secondary-color, var(--primary-color)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.invite-header p{font-size:.95rem;color:var(--text-secondary);margin:0;line-height:1.5}.invite-email-display{display:flex;flex-direction:column;gap:4px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px 18px;margin-bottom:24px}.invite-email-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600}.invite-email-value{font-size:1rem;color:var(--text-primary);font-weight:500}.invite-form{display:flex;flex-direction:column;gap:20px}.invite-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.invite-field{display:flex;flex-direction:column;gap:6px}.invite-field label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.invite-input-wrap{position:relative;display:flex;align-items:center}.invite-input-icon{position:absolute;left:14px;color:var(--text-muted);display:flex;pointer-events:none;z-index:1}.invite-input-wrap input{width:100%;padding:12px 14px 12px 44px;border:1.5px solid var(--border-color);border-radius:var(--radius-xl);font-size:.95rem;color:var(--text-primary);background:var(--white);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.invite-input-wrap input:focus{border-color:var(--primary-color, var(--primary-hover));box-shadow:0 0 0 3px #2563eb1a}.invite-input-wrap input::placeholder{color:var(--text-light)}.invite-toggle-pw{position:absolute;right:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;transition:color .2s}.invite-toggle-pw:hover{color:var(--text-secondary)}.password-strength,.password-match{font-size:.8rem;font-weight:500;margin-top:2px}.password-strength.strong,.password-match.match{color:var(--success-color)}.password-strength.weak,.password-match.no-match{color:var(--error-color)}.btn-accept-invite{width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--primary-color, var(--primary-hover)),var(--secondary-color, var(--primary-color)));color:#fff;border:none;border-radius:var(--radius-xl);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease;margin-top:8px}.btn-accept-invite:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-accept-invite:disabled{opacity:.5;cursor:not-allowed;transform:none}.invite-error-message{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-color);padding:12px 16px;border-radius:var(--radius-xl);font-size:.9rem;margin-bottom:16px}.invite-login-link{text-align:center;margin-top:24px;font-size:.9rem;color:var(--text-secondary)}.invite-login-link a{color:var(--primary-color, var(--primary-hover));text-decoration:none;font-weight:600}.invite-login-link a:hover{text-decoration:underline}.invite-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 0}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color, var(--primary-hover));border-radius:50%;animation:invite-spin .8s linear infinite}@keyframes invite-spin{to{transform:rotate(360deg)}}.invite-loading p{color:var(--text-secondary);font-size:.95rem}.invite-error-state{text-align:center;padding:20px 0}.error-icon{font-size:3rem;margin-bottom:16px}.invite-error-state h2{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.5rem;color:var(--text-primary);margin:0 0 8px}.invite-error-state p{color:var(--text-secondary);font-size:.95rem;margin:0 0 8px;line-height:1.5}.error-help{font-size:.85rem!important;color:var(--text-muted)!important}.btn-back-login{display:inline-block;margin-top:20px;padding:12px 28px;background:var(--background-gray);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-xl);font-weight:600;font-size:.95rem;transition:background .2s}.btn-back-login:hover{background:var(--border-color)}.invite-success-state{text-align:center;padding:20px 0}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#10b9811a;color:var(--success-color);margin-bottom:20px}.success-icon svg{width:32px;height:32px}.invite-success-state h2{font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);font-size:1.5rem;color:var(--text-primary);margin:0 0 12px}.invite-success-state p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 24px}.btn-go-login{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,var(--primary-color, var(--primary-hover)),var(--secondary-color, var(--primary-color)));color:#fff;border:none;border-radius:var(--radius-xl);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.btn-go-login:hover{opacity:.92;transform:translateY(-1px)}@media (max-width: 560px){.accept-invite-card{padding:32px 24px}.invite-header h1{font-size:1.4rem}.invite-form-row{grid-template-columns:1fr}}.waiver-builder-page{padding:24px;margin:0 auto}.waiver-builder-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary, #666)}.waiver-builder-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.waiver-builder-header h1{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary, var(--text-primary));margin:0}.waiver-builder-header-left{display:flex;align-items:center;gap:16px}.waiver-builder-header-right{display:flex;gap:8px}.waiver-back-btn{background:none;border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-lg);padding:8px 16px;cursor:pointer;font-size:.875rem;color:var(--text-secondary, #666);transition:all var(--transition-normal)}.waiver-back-btn:hover{background:var(--bg-hover, var(--background-gray))}.waiver-create-btn,.waiver-save-btn{background:var(--accent-color, #6c5ce7);color:#fff;border:none;border-radius:var(--radius-lg);padding:10px 20px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.waiver-create-btn:hover,.waiver-save-btn:hover{opacity:.9;transform:translateY(-1px)}.waiver-save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.waiver-error{background:var(--error-light);color:var(--error-color);padding:12px 16px;border-radius:var(--radius-lg);margin-bottom:16px;font-size:.875rem}.waiver-success{background:var(--success-light);color:var(--success-color);padding:12px 16px;border-radius:var(--radius-lg);margin-bottom:16px;font-size:.875rem}.waiver-empty-state{text-align:center;padding:60px 20px;background:var(--card-bg, #fff);border-radius:var(--radius-2xl);border:2px dashed var(--border-color, var(--border-color))}.waiver-empty-icon{font-size:3rem;margin-bottom:12px}.waiver-empty-state h2{font-family:var(--font-display);font-size:1.25rem;margin:0 0 8px}.waiver-empty-state p{color:var(--text-secondary, #666);margin:0 0 24px}.waiver-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.waiver-template-card{background:var(--card-bg, #fff);border-radius:var(--radius-2xl);padding:20px;border:1px solid var(--border-color, var(--border-color));transition:all var(--transition-normal)}.waiver-template-card:hover{box-shadow:var(--shadow-md)}.waiver-template-card.inactive{opacity:.6}.waiver-template-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.waiver-template-card-header h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin:0}.waiver-template-badges{display:flex;gap:4px;flex-shrink:0}.waiver-badge{font-size:.7rem;padding:2px 8px;border-radius:var(--radius-xl);font-weight:600;white-space:nowrap}.waiver-badge.default{background:var(--info-light);color:var(--primary-hover)}.waiver-badge.inactive{background:var(--warning-light);color:var(--warning-dark)}.waiver-badge.version{background:var(--bg-secondary, #f3f3f3);color:var(--text-secondary, #666)}.waiver-template-desc{color:var(--text-secondary, #666);font-size:.85rem;margin:0 0 12px;line-height:1.4}.waiver-template-stats{display:flex;gap:16px;font-size:.8rem;color:var(--text-secondary, #888);margin-bottom:16px}.waiver-template-actions{display:flex;gap:8px;border-top:1px solid var(--border-color, var(--border-color));padding-top:12px}.waiver-template-actions button{flex:1;padding:8px 12px;border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-lg);background:var(--card-bg, #fff);cursor:pointer;font-size:.8rem;font-weight:500;transition:all var(--transition-normal)}.waiver-template-actions button:hover{background:var(--bg-hover, var(--background-gray))}.waiver-template-actions .waiver-delete-btn{color:var(--error-color)}.waiver-template-actions .waiver-delete-btn:disabled{opacity:.3;cursor:not-allowed}.waiver-editor-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}@media (max-width: 768px){.waiver-editor-layout{grid-template-columns:1fr}}.waiver-editor-sidebar{position:sticky;top:24px;min-width:0;max-height:calc(100vh - 120px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.waiver-editor-section{background:var(--card-bg, #fff);border-radius:var(--radius-2xl);padding:20px;border:1px solid var(--border-color, var(--border-color));margin-bottom:16px;overflow:hidden;box-sizing:border-box}.waiver-editor-section h3{font-family:var(--font-display);font-size:.9rem;font-weight:600;margin:0 0 12px}.waiver-editor-main h3{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text-secondary, #666);margin:0 0 12px}.waiver-form-group{margin-bottom:12px}.waiver-form-group label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary, #666);margin-bottom:4px}.waiver-form-group input[type=text],.waiver-form-group input[type=email],.waiver-form-group input[type=number],.waiver-form-group textarea,.waiver-form-group select{width:100%;padding:8px 12px;border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-lg);font-size:.875rem;background:var(--card-bg, #fff);color:var(--text-primary, var(--text-primary));transition:border-color .2s;box-sizing:border-box}.waiver-form-group input:focus,.waiver-form-group textarea:focus,.waiver-form-group select:focus{outline:none;border-color:var(--accent-color, #6c5ce7)}.waiver-checkbox-label{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer;color:var(--text-primary, var(--text-primary))}.waiver-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color, #6c5ce7)}.waiver-field-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.waiver-field-type-btn{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-lg);background:var(--card-bg, #fff);cursor:pointer;font-size:.75rem;transition:all var(--transition-normal);text-align:left;min-width:0;overflow:hidden}.waiver-field-type-btn:hover{background:var(--bg-hover, var(--background-gray));border-color:var(--accent-color, #6c5ce7)}.waiver-field-type-icon{font-size:.9rem;flex-shrink:0}.waiver-field-type-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.waiver-empty-fields{text-align:center;padding:40px 20px;color:var(--text-secondary, #888);border:2px dashed var(--border-color, var(--border-color));border-radius:var(--radius-2xl);background:var(--bg-secondary, #f9f9f9)}.waiver-field-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-xl);transition:all var(--transition-normal)}.waiver-field-card:hover{border-color:var(--accent-color, #6c5ce7)}.waiver-field-card.dragging{opacity:.5;border-color:var(--accent-color, #6c5ce7);border-style:dashed}.waiver-field-card-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;border-radius:var(--radius-xl)}.waiver-field-card.expanded .waiver-field-card-header{border-bottom:1px solid var(--border-color, var(--border-color));background:var(--bg-secondary, #f9f9f9);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.waiver-field-card.collapsed .waiver-field-card-header:hover{background:var(--bg-secondary, #f9f9f9)}.waiver-drag-handle{cursor:grab;color:var(--text-secondary, #aaa);font-size:.9rem;-webkit-user-select:none;user-select:none;letter-spacing:-2px;flex-shrink:0}.waiver-field-type-badge{font-size:.85rem;flex-shrink:0}.waiver-field-card-title{flex:1;font-size:.85rem;font-weight:500;color:var(--text-primary, var(--text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.waiver-field-card-title em{color:var(--text-secondary, #aaa);font-weight:400}.waiver-field-required-dot{color:var(--error-color);font-weight:700;font-size:.85rem;flex-shrink:0}.waiver-field-mapped-badge{font-size:.7rem;flex-shrink:0;opacity:.6}.waiver-field-expand-icon{font-size:.7rem;color:var(--text-secondary, #aaa);flex-shrink:0;margin-right:4px}.waiver-field-card-actions{display:flex;gap:4px;flex-shrink:0}.waiver-field-card-actions button{width:26px;height:26px;border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-md);background:var(--card-bg, #fff);cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);color:var(--text-secondary, #666)}.waiver-field-card-actions button:hover{background:var(--bg-hover, var(--background-gray))}.waiver-field-card-actions .waiver-remove-btn{color:var(--error-color)}.waiver-field-card-actions .waiver-remove-btn:hover{background:var(--error-light)}.waiver-field-card-body{padding:16px}.waiver-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.waiver-field-grid-wide{grid-column:1 / -1}.waiver-field-toggles{grid-column:1 / -1;display:flex;gap:16px;padding-top:4px}@media (max-width: 768px){.waiver-field-grid{grid-template-columns:1fr}}.waiver-inline-insert-zone{position:relative;height:20px;display:flex;align-items:center;justify-content:center;transition:height .15s}.waiver-inline-insert-zone.drag-active{height:40px}.waiver-inline-insert-zone .waiver-drop-zone{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;margin:0;transition:all var(--transition-fast);z-index:1}.waiver-inline-insert-zone .waiver-drop-zone.active{height:100%;top:0}.waiver-inline-add-btn{width:22px;height:22px;border-radius:50%;border:1px solid var(--border-color, var(--border-color));background:var(--card-bg, #fff);color:var(--text-secondary, #aaa);font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:0;z-index:2;position:relative}.waiver-inline-insert-zone:hover .waiver-inline-add-btn{opacity:1}.waiver-inline-add-btn:hover{background:var(--accent-color, #6c5ce7);border-color:var(--accent-color, #6c5ce7);color:var(--white);transform:scale(1.15)}.waiver-inline-popover{position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--card-bg, #fff);border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:6px;z-index:100;display:grid;grid-template-columns:1fr 1fr;gap:3px;min-width:260px;margin-top:4px}.waiver-inline-popover-btn{display:flex;align-items:center;gap:6px;padding:7px 10px;border:none;border-radius:var(--radius-lg);background:none;cursor:pointer;font-size:.78rem;color:var(--text-primary, var(--text-primary));transition:background .1s;white-space:nowrap}.waiver-inline-popover-btn:hover{background:var(--bg-hover, var(--background-gray))}.waiver-inline-popover-btn span{font-size:.85rem}.waiver-drop-zone{position:relative;height:8px;margin:-2px 0;transition:height .15s}.waiver-drop-zone.active{height:40px}.waiver-drop-indicator{display:none}.waiver-drop-zone.active .waiver-drop-indicator{display:block;height:100%;border:2px dashed var(--accent-color, #6c5ce7);border-radius:var(--radius-xl);background:#6c5ce70f;position:relative}.waiver-drop-zone.active .waiver-drop-indicator:after{content:"+ Drop here";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:var(--accent-color, #6c5ce7);white-space:nowrap}.waiver-empty-fields.drop-ready{border:2px dashed var(--accent-color, #6c5ce7);background:#6c5ce70f;color:var(--accent-color, #6c5ce7);font-weight:600}.waiver-field-type-btn[draggable]{cursor:grab}.waiver-field-type-btn[draggable]:active{cursor:grabbing}.waiver-field-row{display:flex;gap:12px;align-items:flex-end}.waiver-flex-1{flex:1}.waiver-view-toggle{display:inline-flex;border:1px solid var(--border-color, var(--border-color));border-radius:var(--radius-lg);overflow:hidden}.waiver-view-toggle button{padding:6px 16px;border:none;background:var(--card-bg, #fff);font-size:.85rem;font-weight:500;cursor:pointer;color:var(--text-secondary, #666);transition:all var(--transition-fast)}.waiver-view-toggle button.active{background:var(--accent-color, #6c5ce7);color:var(--white)}.waiver-view-toggle button:not(.active):hover{background:var(--bg-hover, var(--background-gray))}.waiver-preview-panel{max-width:680px;margin:0 auto}.waiver-preview-chrome{background:var(--background-gray);border-radius:var(--radius-2xl);border:1px solid var(--border-color, var(--border-color));overflow:hidden}.waiver-preview-header{background:var(--card-bg, #fff);padding:2rem;text-align:center;border-bottom:1px solid var(--border-color, var(--border-color))}.waiver-preview-header h2{font-family:var(--font-display);font-weight:700;font-size:1.4rem;margin:0 0 .5rem}.waiver-preview-desc{color:var(--text-secondary, #666);font-size:.9rem;margin:0 0 .75rem}.waiver-preview-course-info{display:flex;gap:.75rem;justify-content:center;color:var(--text-secondary, #666);font-size:.85rem;flex-wrap:wrap}.waiver-preview-participant{margin:.75rem 0 0;color:var(--text-primary, var(--text-primary));font-size:.9rem}.waiver-preview-form{background:var(--card-bg, #fff);margin:1rem;padding:1.5rem;border-radius:var(--radius-xl)}.wp-section-header{margin:1.25rem 0 .5rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent-color, #6c5ce7)}.wp-section-header h3{font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin:0}.wp-section-header p{margin:.25rem 0 0;color:var(--text-secondary, #666);font-size:.85rem}.wp-content-block{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:1rem 1.25rem;margin:.75rem 0}.wp-content-block h4{margin:0 0 .5rem;font-size:.9rem;font-weight:600}.wp-content-text{color:var(--text-secondary);font-size:.85rem;line-height:1.5;white-space:pre-wrap}.wp-field{margin-bottom:1rem}.wp-label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.3rem;color:var(--text-primary, var(--text-primary))}.wp-required{color:var(--error-color);margin-left:2px}.wp-help{margin:.2rem 0 0;color:var(--text-muted);font-size:.75rem}.wp-field input,.wp-field textarea,.wp-field select{width:100%;padding:.55rem .7rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.9rem;font-family:inherit;box-sizing:border-box;background:var(--bg-secondary);color:var(--text-muted)}.wp-ack{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:.75rem 1rem;margin:.75rem 0}.wp-ack-label{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;line-height:1.4}.wp-ack-label input[type=checkbox]{margin-top:3px;width:15px;height:15px;flex-shrink:0;accent-color:var(--accent-color, #6c5ce7)}.wp-signature-preview{margin:1rem 0}.wp-sig-placeholder{border:2px dashed var(--border-color);border-radius:var(--radius-xl);padding:2rem;text-align:center;color:var(--text-muted);font-size:.85rem;background:var(--bg-secondary)}.wp-signature-section{margin:1.5rem 0;padding-top:1rem;border-top:1px solid var(--border-color)}.wp-signature-section h3{font-family:var(--font-display);font-weight:700;font-size:1rem;margin:0 0 .75rem}.wp-sig-toggle{display:flex;gap:.5rem;margin-bottom:.75rem}.wp-sig-toggle span{flex:1;padding:.45rem .7rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.85rem;font-weight:500;text-align:center;color:var(--text-secondary, #666)}.wp-sig-toggle span.active{background:var(--accent-color, #6c5ce7);color:var(--white);border-color:var(--accent-color, #6c5ce7)}.wp-sig-input{width:100%;padding:.6rem .7rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:1rem;font-family:Brush Script MT,Segoe Script,cursive;box-sizing:border-box;background:var(--bg-secondary);color:var(--text-muted)}.wp-submit-btn{display:block;width:100%;padding:.8rem 1.5rem;background:var(--accent-color, #6c5ce7);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;margin-top:1.5rem;opacity:.7;cursor:default}.activity-log-page{padding:32px;margin:0 auto}.activity-log-page .page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.activity-log-page .page-header h1{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.activity-log-page .page-subtitle{font-family:var(--font-sans);font-size:.82rem;color:var(--text-secondary);margin:4px 0 0}.log-count{font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--background-gray);padding:6px 14px;border-radius:var(--radius-2xl);white-space:nowrap}.activity-filters{margin-bottom:20px}.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-search{font-family:var(--font-sans);font-size:.8rem;padding:8px 14px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-primary);width:220px;transition:border-color .15s ease}.filter-search:focus{outline:none;border-color:var(--primary-color)}.filter-search::placeholder{color:var(--text-muted)}.filter-select{font-family:var(--font-sans);font-size:.8rem;padding:8px 30px 8px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;transition:border-color .15s ease}.filter-select:focus{outline:none;border-color:var(--primary-color)}.filter-dates{display:flex;align-items:center;gap:6px}.filter-date{font-family:var(--font-sans);font-size:.78rem;padding:7px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-primary);width:140px;transition:border-color .15s ease}.filter-date:focus{outline:none;border-color:var(--primary-color)}.date-sep{color:var(--text-muted);font-size:.78rem}.btn-clear-filters{font-family:var(--font-sans);font-size:.75rem;font-weight:600;padding:8px 14px;border:none;border-radius:var(--radius-lg);background:var(--error-light);color:var(--error-color);cursor:pointer;transition:background .15s ease;white-space:nowrap}.btn-clear-filters:hover{background:var(--error-light)}.activity-list{background:var(--white);border:1.5px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden}.activity-empty{padding:60px 24px;text-align:center}.activity-empty .empty-icon{font-size:2.2rem;margin-bottom:12px}.activity-empty h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.activity-empty p{font-family:var(--font-sans);font-size:.82rem;color:var(--text-secondary);margin:0}.activity-row{border-bottom:1px solid var(--background-gray);cursor:pointer;transition:background .1s ease}.activity-row:last-child{border-bottom:none}.activity-row:hover,.activity-row.expanded{background:var(--bg-secondary)}.activity-row-main{display:flex;align-items:center;gap:14px;padding:14px 20px}.activity-icon{font-size:1.15rem;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--background-gray);border-radius:var(--radius-lg)}.activity-content{flex:1;min-width:0}.activity-headline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-action-badge{font-family:var(--font-sans);font-size:.62rem;font-weight:700;color:var(--white);padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.activity-entity-type{font-family:var(--font-sans);font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:capitalize}.activity-entity-name{font-family:var(--font-sans);font-size:.78rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-details{font-family:var(--font-sans);font-size:.73rem;color:var(--text-muted);margin-top:3px;line-height:1.4}.activity-meta{flex-shrink:0;text-align:right;min-width:100px}.activity-user{font-family:var(--font-sans);font-size:.72rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.activity-time{font-family:var(--font-sans);font-size:.67rem;color:var(--text-muted);margin-top:2px}.activity-row-expanded{padding:0 20px 16px 66px}.expanded-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px}.expanded-field{display:flex;flex-direction:column;gap:3px}.expanded-field.full-width{grid-column:1 / -1}.expanded-label{font-family:var(--font-sans);font-size:.62rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.expanded-value{font-family:var(--font-sans);font-size:.78rem;color:var(--text-primary)}.expanded-value.mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:.72rem;color:var(--text-secondary)}.expanded-changes{font-family:JetBrains Mono,Fira Code,monospace;font-size:.68rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:12px;margin:4px 0 0;overflow-x:auto;white-space:pre;max-height:200px}.activity-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 20px;border-top:1px solid var(--background-gray)}.pagination-btn{font-family:var(--font-sans);font-size:.78rem;font-weight:600;padding:7px 16px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:var(--background-gray);border-color:var(--text-light)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-family:var(--font-sans);font-size:.75rem;color:var(--text-secondary)}@media (max-width: 768px){.activity-log-page{padding:16px}.filter-row{flex-direction:column;align-items:stretch}.filter-search,.filter-select,.filter-date{width:100%}.activity-row-main{flex-wrap:wrap;gap:8px;padding:12px 14px}.activity-meta{text-align:left;width:100%;padding-left:46px;min-width:0}.activity-row-expanded{padding-left:14px}.expanded-grid{grid-template-columns:1fr}}.email-templates-page{padding:25px;margin:0 auto;background:var(--background-gray);min-height:calc(100vh - 64px)}.email-templates-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.email-templates-page .header-content{flex:1}.email-templates-page .page-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.email-templates-page .page-subtitle{font-size:.73rem;color:var(--text-secondary);margin:5px 0 0}.btn-create-template{padding:8px 18px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.btn-create-template:hover{background:var(--text-primary);transform:translateY(-1px)}.email-templates-page .btn-help{padding:8px 16px;background:var(--info-light);color:var(--info-dark);border:1px solid var(--info-light);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:all var(--transition-normal);display:flex;align-items:center;gap:6px;white-space:nowrap}.email-templates-page .btn-help:hover{border-color:var(--info-dark);transform:translateY(-1px)}.template-filters{display:flex;gap:10px;margin-bottom:18px}.filter-search{flex:1;max-width:340px}.template-filters .search-input{width:100%;padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;color:var(--text-primary);background:var(--white);outline:none;transition:border-color .15s}.template-filters .search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f614}.template-filters .filter-select{padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;color:var(--text-primary);background:var(--white);outline:none;cursor:pointer}.template-filters .filter-select:focus{border-color:var(--primary-color)}.email-templates-page .alert-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-color);padding:10px 14px;border-radius:var(--radius-lg);font-size:.73rem;margin-bottom:16px}.email-templates-page .loading-state{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:.8rem}.email-templates-page .empty-state{text-align:center;padding:60px 20px;background:var(--white);border-radius:var(--radius-2xl);border:1px solid var(--border-color)}.email-templates-page .empty-icon{font-size:2.5rem;margin-bottom:12px}.email-templates-page .empty-state h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.email-templates-page .empty-state p{font-size:.73rem;color:var(--text-secondary);margin:0 0 18px}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.template-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:18px;cursor:pointer;transition:all var(--transition-normal);display:flex;flex-direction:column;gap:10px}.template-card:hover{border-color:var(--text-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.template-card.template-inactive{opacity:.6}.template-card.template-inactive:hover{opacity:.85}.template-inactive-banner{background:#fef3c7;border:1px solid #F59E0B;border-radius:4px;padding:4px 8px;font-size:.7rem;color:#92400e;margin-bottom:4px}.template-override-banner{background:#eff6ff;border:1px solid #93C5FD;border-radius:4px;padding:4px 8px;font-size:.7rem;color:#1e40af;margin-bottom:4px}.template-card-header{display:flex;justify-content:space-between;align-items:center}.template-card-title{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--text-primary);line-height:1.3;flex:1;margin-right:10px}.btn-toggle-active{padding:3px 10px;border-radius:var(--radius-full);border:1px solid var(--border-color);font-size:.62rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);background:var(--bg-secondary);color:var(--text-muted)}.btn-toggle-active.active{background:var(--success-light);color:var(--success-color);border-color:var(--success-light)}.btn-toggle-active:hover{transform:scale(1.03)}.template-card-subject{font-size:.73rem;color:var(--text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-label{font-weight:600;color:var(--text-muted)}.template-card-tags{display:flex;flex-wrap:wrap;gap:5px}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:.62rem;font-weight:600;font-family:var(--font-sans)}.tag-event{background:color-mix(in srgb,var(--tag-color) 12%,transparent);color:var(--tag-color)}.tag-course{background:var(--info-light);color:var(--info-dark)}.tag-location{background:var(--success-light);color:var(--success-dark)}.tag-attachments{background:var(--warning-light);color:var(--warning-dark)}.template-card-description{font-size:.68rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid var(--background-gray)}.template-date{font-size:.62rem;color:var(--text-muted)}@media (max-width: 768px){.email-templates-page{padding:16px}.email-templates-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.template-filters{flex-direction:column}.filter-search{max-width:none}.templates-grid{grid-template-columns:1fr}}.email-editor-page{display:flex;flex-direction:column;background:var(--background-gray);min-height:0}.editor-topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--white);border-bottom:1px solid var(--border-color);gap:12px;flex-shrink:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.btn-back{padding:5px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-family:var(--font-sans);font-size:.73rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-back:hover{background:var(--background-gray);color:var(--text-primary)}.template-name-input{flex:1;min-width:0;padding:6px 12px;border:1px solid transparent;border-radius:var(--radius-lg);font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--text-primary);background:transparent;outline:none;transition:all var(--transition-fast)}.template-name-input:hover{border-color:var(--border-color);background:var(--bg-secondary)}.template-name-input:focus{border-color:var(--primary-color);background:var(--white);box-shadow:0 0 0 3px #3b82f614}.template-name-input::placeholder{color:var(--text-muted);font-weight:400}.topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.topbar-error{font-size:.68rem;color:var(--error-color);font-weight:500;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-success{font-size:.68rem;color:var(--success-color);font-weight:500}.btn-settings{padding:5px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-family:var(--font-sans);font-size:.73rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-settings:hover{background:var(--background-gray)}.btn-settings.active{background:var(--info-light);color:var(--primary-color);border-color:var(--info-light)}.btn-save-template{padding:6px 18px;background:var(--primary-color);color:var(--white);border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-save-template:hover:not(:disabled){background:var(--primary-hover)}.btn-save-template:disabled{opacity:.5;cursor:not-allowed}.editor-settings-panel{background:var(--white);border-bottom:1px solid var(--border-color);padding:14px 16px;flex-shrink:0;overflow-y:auto}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px 18px;max-width:1400px}.setting-subject{grid-column:1 / -1}.setting-group label{display:block;font-family:var(--font-sans);font-size:.68rem;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.setting-input,.setting-select{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;color:var(--text-primary);background:var(--white);outline:none;transition:border-color .15s}.setting-input:focus,.setting-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f614}.subject-input{flex:1;width:100%;padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.79rem;font-weight:500;color:var(--text-primary);outline:none;transition:border-color .15s}.subject-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f614}.merge-tags-inline{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.merge-group{display:inline-flex;gap:3px;flex-wrap:wrap}.btn-merge-tag{padding:2px 7px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);font-family:SF Mono,Fira Code,monospace;font-size:.58rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-merge-tag:hover{background:var(--info-light);color:var(--primary-color);border-color:var(--info-light)}.setting-toggle-group label{display:flex;align-items:center;gap:6px;cursor:pointer}.setting-toggle-group input[type=checkbox]{accent-color:var(--primary-color)}.setting-warning{background:#fef3c7;border:1px solid #F59E0B;border-radius:var(--radius-md, 6px);padding:8px 12px;font-size:.75rem;line-height:1.4;color:#92400e;margin-top:4px}.setting-info{background:#eff6ff;border:1px solid #3B82F6;border-radius:var(--radius-md, 6px);padding:8px 12px;font-size:.75rem;line-height:1.4;color:#1e40af;margin-top:4px}.attachments-list{display:flex;flex-direction:column;gap:5px}.attachment-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.68rem}.attachment-icon{flex-shrink:0}.attachment-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500}.attachment-size{color:var(--text-muted);flex-shrink:0}.btn-remove-attachment{padding:2px 5px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.68rem;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-remove-attachment:hover{background:var(--error-light);color:var(--error-color)}.btn-upload-attachment{display:inline-flex;align-items:center;padding:4px 10px;border:1px dashed var(--text-light);border-radius:var(--radius-md);background:transparent;font-family:var(--font-sans);font-size:.68rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-upload-attachment:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--info-light)}.test-row{display:flex;gap:6px}.test-row .setting-input{flex:1}.btn-send-test{padding:6px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-family:var(--font-sans);font-size:.73rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-send-test:hover:not(:disabled){background:var(--background-gray);color:var(--text-primary)}.btn-send-test:disabled{opacity:.5;cursor:not-allowed}.setting-open-editor{grid-column:1 / -1;display:flex;align-items:center;gap:14px;margin-top:8px;padding-top:20px;border-top:1px solid var(--border-color)}.btn-open-editor{padding:10px 28px;background:var(--primary-color);color:var(--white);border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.82rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-open-editor:hover{background:var(--primary-hover)}.editor-hint{font-size:.68rem;color:var(--text-muted);margin:0}.editor-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px}.editor-modal{display:flex;flex-direction:column;width:100%;height:100%;max-width:1600px;max-height:calc(100vh - 40px);background:var(--white);border-radius:12px;box-shadow:0 25px 50px -12px #0006;overflow:hidden}.editor-modal-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:var(--white);flex-shrink:0}.editor-modal-title{font-family:var(--font-display);font-size:.88rem;font-weight:700}.btn-close-editor{padding:6px 18px;background:#ffffff26;color:var(--white);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-close-editor:hover{background:#ffffff40}.editor-modal-body{flex:1;min-height:0;overflow:hidden}.editor-modal-body iframe{border:none!important}.setting-attachments{grid-column:1 / -1}.attachment-hint{font-size:.62rem;color:var(--text-muted);margin-top:4px;font-style:italic}.multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:32px;padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;color:var(--text-primary);background:var(--white);cursor:pointer;transition:border-color .15s}.multiselect-trigger:hover{border-color:var(--text-light)}.multiselect-trigger.open{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f614}.multiselect-placeholder{color:var(--text-muted);font-weight:400}.multiselect-chips{display:flex;flex-wrap:wrap;gap:3px;flex:1;min-width:0}.multiselect-chip{display:inline-flex;align-items:center;padding:1px 7px;background:var(--info-light);color:var(--info-dark);border-radius:var(--radius-sm);font-size:.62rem;font-weight:500;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.multiselect-arrow{flex-shrink:0;color:var(--text-muted);font-size:.62rem}.multiselect-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:3px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:240px;display:flex;flex-direction:column}.setting-group{position:relative}.multiselect-search{width:100%;padding:7px 10px;border:none;border-bottom:1px solid var(--background-gray);font-family:var(--font-sans);font-size:.73rem;outline:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.multiselect-options{overflow-y:auto;max-height:180px;padding:4px 0}.multiselect-option{display:flex!important;align-items:center;gap:7px;padding:5px 10px;font-size:.73rem!important;font-weight:400!important;color:var(--text-secondary)!important;cursor:pointer;transition:background .1s;margin-bottom:0!important}.multiselect-option:hover{background:var(--bg-secondary)}.multiselect-option input[type=checkbox]{accent-color:var(--primary-color);width:14px;height:14px;flex-shrink:0}.multiselect-empty{padding:10px;text-align:center;color:var(--text-muted);font-size:.68rem}.multiselect-clear{padding:5px 10px;border:none;border-top:1px solid var(--background-gray);background:transparent;font-family:var(--font-sans);font-size:.62rem;font-weight:500;color:var(--error-color);cursor:pointer;text-align:left;transition:background .1s}.multiselect-clear:hover{background:var(--error-light)}.setting-test{grid-column:1 / -1;max-width:500px}@media (max-width: 768px){.editor-topbar{flex-wrap:wrap;padding:8px 12px}.topbar-left{width:100%}.topbar-right{width:100%;justify-content:flex-end}.settings-grid{grid-template-columns:1fr}}.marketing-sequences-page{padding:25px;margin:0 auto;background:var(--background-gray);min-height:calc(100vh - 64px)}.marketing-sequences-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.marketing-sequences-page .header-content{flex:1}.marketing-sequences-page .page-header h1{font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.marketing-sequences-page .page-subtitle{font-size:.73rem;color:var(--text-secondary);margin:5px 0 0}.btn-create-sequence{padding:8px 18px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.btn-create-sequence:hover{background:var(--text-primary);transform:translateY(-1px)}.marketing-sequences-page .btn-help{padding:8px 16px;background:var(--info-light);color:var(--info-dark);border:1px solid var(--info-light);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:all var(--transition-normal);display:flex;align-items:center;gap:6px;white-space:nowrap}.marketing-sequences-page .btn-help:hover{border-color:var(--info-dark);transform:translateY(-1px)}.sequence-filters{display:flex;gap:10px;margin-bottom:18px}.sequence-filters .filter-search{flex:1;max-width:340px}.sequence-filters .search-input{width:100%;padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;transition:border-color .2s;outline:none}.sequence-filters .search-input:focus{border-color:var(--text-muted)}.sequence-filters .filter-select{padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;background:var(--white);cursor:pointer;outline:none}.marketing-sequences-page .alert-error{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light);padding:10px 14px;border-radius:var(--radius-lg);font-size:.73rem;margin-bottom:16px}.marketing-sequences-page .loading-state{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:.8rem}.marketing-sequences-page .empty-state{text-align:center;padding:60px 20px;background:var(--white);border-radius:var(--radius-2xl);border:1px solid var(--border-color)}.marketing-sequences-page .empty-icon{font-size:2.5rem;margin-bottom:12px}.marketing-sequences-page .empty-state h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.marketing-sequences-page .empty-state p{font-size:.73rem;color:var(--text-secondary);margin:0 0 18px}.sequences-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.sequence-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:18px;cursor:pointer;transition:all var(--transition-normal);display:flex;flex-direction:column;gap:10px}.sequence-card:hover{border-color:var(--text-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.sequence-card.sequence-archived{opacity:.6}.sequence-card-header{display:flex;justify-content:space-between;align-items:center}.sequence-card-title{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--text-primary);line-height:1.3;flex:1;margin-right:10px}.btn-toggle-status{padding:3px 10px;border-radius:var(--radius-full);border:1px solid var(--border-color);font-size:.62rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);background:var(--bg-secondary);color:var(--text-muted)}.btn-toggle-status.active{background:var(--success-light);color:var(--success-color);border-color:var(--success-light)}.sequence-card-description{font-size:.68rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sequence-stats-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-xl)}.stat-item{display:flex;align-items:center;gap:4px}.stat-value{font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--text-primary)}.stat-icon{font-size:.82rem}.stat-label{font-size:.62rem;color:var(--text-secondary);font-weight:500}.stat-divider{width:1px;height:18px;background:var(--border-color)}.sequence-card-tags{display:flex;flex-wrap:wrap;gap:4px}.sequence-card-tags .tag{padding:2px 8px;border-radius:var(--radius-full);font-size:.58rem;font-weight:600;font-family:var(--font-sans);white-space:nowrap}.sequence-card-tags .tag-status{border:1px solid transparent}.sequence-card-tags .tag-course{background:var(--info-light);color:var(--info-dark)}.sequence-card-tags .tag-location{background:var(--success-light);color:var(--success-dark)}.sequence-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid var(--background-gray)}.sequence-date{font-size:.62rem;color:var(--text-muted)}.card-footer-actions{display:flex;gap:4px}.btn-card-action{width:26px;height:26px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--white);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);color:var(--text-secondary)}.btn-card-action:hover{background:var(--background-gray);color:var(--text-primary)}.btn-card-delete:hover{background:var(--error-light);color:var(--error-color);border-color:var(--error-light)}@media (max-width: 768px){.marketing-sequences-page{padding:16px}.marketing-sequences-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.sequence-filters{flex-direction:column}.sequence-filters .filter-search{max-width:none}.sequences-grid{grid-template-columns:1fr}}.sequence-editor-page{display:flex;flex-direction:column;height:calc(100vh - 64px);background:var(--background-gray);overflow:hidden}.seq-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:.8rem}.seq-topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--white);border-bottom:1px solid var(--border-color);gap:12px;flex-shrink:0;z-index:10}.seq-topbar-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.sequence-editor-page .btn-back{padding:5px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-size:.73rem;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);color:var(--text-primary)}.sequence-editor-page .btn-back:hover{background:var(--background-gray)}.seq-name-input{flex:1;min-width:0;padding:6px 12px;border:1px solid transparent;border-radius:var(--radius-lg);font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--text-primary);background:transparent;transition:all var(--transition-fast)}.seq-name-input:hover,.seq-name-input:focus{border-color:var(--border-color);background:var(--bg-secondary);outline:none}.seq-topbar-right{display:flex;align-items:center;gap:8px}.seq-topbar-error{font-size:.68rem;color:var(--error-color);font-weight:500}.seq-topbar-success{font-size:.68rem;color:var(--success-color);font-weight:500}.seq-status-select{padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.68rem;font-weight:600;color:var(--text-primary);background:var(--white);cursor:pointer;outline:none}.btn-enrollments{padding:4px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-size:.73rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary)}.btn-enrollments:hover{background:var(--background-gray)}.btn-enrollments.open{background:var(--info-light);border-color:var(--info-light);color:var(--primary-hover)}.btn-save{padding:6px 18px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-save:hover{background:var(--text-primary)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.seq-body{flex:1;display:flex;overflow:hidden}.seq-config-panel{width:280px;min-width:280px;background:var(--white);border-right:1px solid var(--border-color);overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:2px}.config-section{padding:12px 0;border-bottom:1px solid var(--background-gray)}.config-section:last-child{border-bottom:none}.config-label{display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;color:var(--text-primary);font-family:var(--font-sans);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.config-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--info-light);color:var(--primary-hover);font-size:.58rem;font-weight:700}.config-textarea{width:100%;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.68rem;resize:vertical;outline:none;color:var(--text-secondary)}.config-textarea:focus{border-color:var(--text-muted)}.trigger-pills{display:grid;grid-template-columns:1fr 1fr;gap:5px}.trigger-pill{display:flex;align-items:center;gap:5px;padding:7px 8px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans)}.trigger-pill:hover{border-color:var(--text-light)}.trigger-pill.active{border-color:var(--primary-color);background:var(--info-light)}.pill-icon{font-size:.78rem;line-height:1}.pill-label{font-size:.6rem;font-weight:600;color:var(--text-secondary)}.trigger-pill.active .pill-label{color:var(--primary-hover)}.trigger-desc{font-size:.6rem;color:var(--text-muted);margin-top:5px;line-height:1.4}.config-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.config-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-md);font-size:.6rem;font-weight:500;font-family:var(--font-sans)}.chip-course{background:var(--info-light);color:var(--info-dark)}.chip-location{background:var(--success-light);color:var(--success-dark)}.chip-remove{border:none;background:none;cursor:pointer;font-size:.68rem;line-height:1;color:inherit;padding:0;opacity:.6}.chip-remove:hover{opacity:1}.config-select{width:100%;padding:5px 8px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.62rem;color:var(--text-secondary);background:var(--white);outline:none}.config-select:focus{border-color:var(--text-muted)}.config-hint{font-size:.58rem;color:var(--text-muted);margin-top:4px}.config-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mini-stat{display:flex;flex-direction:column;align-items:center;padding:8px 4px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.mini-stat-val{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary)}.mini-stat-lbl{font-size:.54rem;color:var(--text-secondary);font-weight:500}.seq-canvas{flex:1;overflow-y:auto;padding:24px 20px;min-width:0}.canvas-timeline{max-width:560px;margin:0 auto}.tl-node{display:flex;gap:14px;align-items:flex-start}.tl-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--font-display);font-size:.68rem;font-weight:700;color:var(--white)}.dot-start{background:linear-gradient(135deg,var(--success-color),var(--success-color))}.dot-step{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover))}.dot-step.dot-off{background:var(--text-light)}.dot-end{background:linear-gradient(135deg,var(--primary-color),var(--primary-color))}.tl-node-body{flex:1;min-width:0;padding:6px 0;overflow:visible}.tl-node-title{font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--text-primary)}.tl-node-sub{font-size:.68rem;color:var(--text-secondary);margin-top:2px}.tl-start-filters{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tl-start-expanded .tl-node-body{padding:10px 0}.tl-start-expanded{align-items:flex-start}.tl-start-filters-panel{margin-top:10px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border-color);padding-top:10px;position:relative;overflow:visible}.tl-filter-section{display:flex;flex-direction:column;gap:4px}.tl-filter-label{font-size:.68rem;font-weight:700;color:var(--text-primary);font-family:var(--font-display);display:flex;align-items:center;gap:4px}.tl-filter-count{background:var(--primary-color);color:#fff;font-size:.55rem;padding:1px 5px;border-radius:8px;font-weight:700;min-width:16px;text-align:center}.tl-filter-chips{display:flex;flex-wrap:wrap;gap:3px}.tl-chip-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:.65rem;padding:0 0 0 3px;opacity:.7;line-height:1}.tl-chip-remove:hover{opacity:1}.tl-filter-select{width:100%;padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.62rem;color:var(--text-secondary);background:var(--surface-color);font-family:var(--font-sans);cursor:pointer}.tl-filter-select:focus{border-color:var(--primary-color);outline:none}.tl-filter-hint{font-size:.56rem;color:var(--text-light);font-style:italic}.tl-completion-filter{display:flex;flex-direction:column;gap:6px}.tl-completion-row{display:flex;align-items:center;gap:6px}.tl-completion-sublabel{font-size:.6rem;color:var(--text-secondary);flex-shrink:0;min-width:80px}.tl-completion-input-group{display:flex;align-items:center;gap:4px}.tl-completion-num{width:48px;padding:3px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.65rem;text-align:center;color:var(--text-primary);background:var(--surface-color);font-family:var(--font-mono)}.tl-completion-num:focus{border-color:var(--primary-color);outline:none}.tl-completion-num::placeholder{color:var(--text-light)}.tl-completion-clear{background:none;border:1px solid var(--border-color);border-radius:50%;width:16px;height:16px;font-size:.55rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-light);padding:0}.tl-completion-clear:hover{background:var(--danger-light);color:var(--danger-color);border-color:var(--danger-color)}.tl-completion-sub-section{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-color)}.tl-filter-sublabel{font-size:.66rem;font-weight:700;color:var(--text-secondary);margin-bottom:2px;display:block}.tl-no-filters-hint{font-size:.72rem;color:var(--text-secondary);margin-top:.375rem;font-style:italic}.tl-filter-remove{margin-left:auto;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:0 .125rem;line-height:1;opacity:.5;transition:opacity .15s,color .15s}.tl-filter-remove:hover{opacity:1;color:var(--danger-color)}.tl-add-filter-container{position:relative;margin-top:.5rem;overflow:visible}.tl-add-filter-btn{background:none;border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.72rem;padding:.3rem .75rem;cursor:pointer;transition:all .15s;width:100%}.tl-add-filter-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.tl-filter-menu{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden}.tl-filter-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.5rem .75rem;font-size:.72rem;color:var(--text-primary);cursor:pointer;transition:background .1s}.tl-filter-menu-item:hover{background:var(--primary-light);color:var(--primary)}.tl-filter-menu-item+.tl-filter-menu-item{border-top:1px solid var(--border-light)}.tl-filter-chip{display:inline-block;padding:2px 7px;border-radius:var(--radius-md);font-size:.56rem;font-weight:600;font-family:var(--font-sans)}.tl-chip-course{background:var(--info-light);color:var(--info-dark)}.tl-chip-location{background:var(--success-light);color:var(--success-dark)}.tl-connector{display:flex;gap:14px;align-items:stretch;padding-left:17px}.tl-line{width:2px;min-height:20px;background:var(--border-color);flex-shrink:0}.tl-delay-label{display:flex;flex-direction:column;gap:1px;padding:4px 0 4px 14px}.tl-delay-badge{font-size:.66rem;font-weight:600;color:var(--warning-dark);font-family:var(--font-sans)}.tl-delay-cum{font-size:.56rem;color:var(--text-muted)}.tl-step-body{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px;transition:all var(--transition-normal)}.tl-step:hover .tl-step-body{border-color:var(--text-light);box-shadow:var(--shadow-md)}.tl-step-off .tl-step-body{opacity:.55}.tl-dragging .tl-step-body{opacity:.6;border-color:var(--primary-color)}.tl-step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.tl-step-num{font-family:var(--font-display);font-size:.76rem;font-weight:700;color:var(--text-primary)}.tl-step-actions{display:flex;gap:4px}.btn-mini-toggle{padding:2px 8px;border-radius:var(--radius-full);border:1px solid var(--border-color);font-size:.56rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;background:var(--bg-secondary);color:var(--text-muted);transition:all var(--transition-fast)}.btn-mini-toggle.on{background:var(--success-light);color:var(--success-color);border-color:var(--success-light)}.btn-mini-remove{width:22px;height:22px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--white);font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);color:var(--text-secondary)}.btn-mini-remove:hover{background:var(--error-light);color:var(--error-color);border-color:var(--error-light)}.tl-field{margin-bottom:10px}.tl-field-label{display:block;font-size:.6rem;font-weight:600;color:var(--text-secondary);margin-bottom:4px;font-family:var(--font-sans)}.tl-hint{font-weight:400;color:var(--text-muted)}.tl-select,.tl-input{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.66rem;color:var(--text-primary);background:var(--white);outline:none;transition:border-color .15s}.tl-select:focus,.tl-input:focus{border-color:var(--text-muted)}.tl-template-sub{font-size:.56rem;color:var(--text-muted);margin-top:3px;font-style:italic}.tl-step-type-toggle{display:flex;gap:0;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.tl-type-btn{flex:1;padding:5px 10px;border:none;background:var(--white);cursor:pointer;font-family:var(--font-sans);font-size:.62rem;font-weight:600;color:var(--text-secondary);transition:all var(--transition-fast)}.tl-type-btn:not(:last-child){border-right:1px solid var(--border-color)}.tl-type-btn.active{background:var(--primary-color);color:var(--white)}.tl-type-btn:hover:not(.active){background:var(--background-gray)}.tl-delay-inputs{display:flex;gap:10px}.tl-delay-group{display:flex;align-items:center;gap:4px}.tl-delay-num{width:58px;padding:5px 8px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.66rem;text-align:center;outline:none}.tl-delay-num:focus{border-color:var(--text-muted)}.tl-delay-unit{font-size:.6rem;color:var(--text-secondary)}.tl-drag-hint{font-size:.54rem;color:var(--text-light);text-align:center;margin-top:4px;cursor:grab}.tl-add-step{display:flex;padding-left:50px}.btn-add-step{padding:8px 18px;border:2px dashed var(--text-light);border-radius:var(--radius-xl);background:transparent;font-family:var(--font-sans);font-size:.73rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-add-step:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--info-light)}.seq-enrollments-drawer{width:320px;min-width:320px;background:var(--white);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-color)}.drawer-header h3{font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--text-primary);margin:0}.btn-close-drawer{width:26px;height:26px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--white);font-size:.68rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast)}.btn-close-drawer:hover{background:var(--background-gray)}.drawer-enroll-form{padding:12px 16px;border-bottom:1px solid var(--background-gray);display:flex;flex-direction:column;gap:6px}.drawer-input{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.68rem;outline:none}.drawer-input:focus{border-color:var(--text-muted)}.btn-enroll{padding:7px 16px;background:var(--text-primary);color:var(--white);border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.68rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-enroll:hover{background:var(--text-primary)}.btn-enroll:disabled{opacity:.5;cursor:not-allowed}.drawer-hint{font-size:.58rem;color:var(--warning-color);margin:0}.drawer-list{flex:1;overflow-y:auto;padding:10px 16px;display:flex;flex-direction:column;gap:8px}.drawer-empty{text-align:center;padding:30px 10px;color:var(--text-muted);font-size:.68rem}.drawer-enrollment{padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-xl)}.drawer-enr-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.drawer-enr-name{font-family:var(--font-display);font-size:.72rem;font-weight:700;color:var(--text-primary)}.drawer-enr-email{font-size:.58rem;color:var(--text-secondary)}.drawer-enr-badge{padding:2px 8px;border-radius:var(--radius-full);font-size:.54rem;font-weight:600;font-family:var(--font-sans)}.badge-active{background:var(--success-light);color:var(--success-color)}.badge-completed{background:var(--info-light);color:var(--info-dark)}.badge-cancelled{background:var(--error-light);color:var(--error-color)}.badge-paused{background:var(--warning-light);color:var(--warning-dark)}.drawer-exec-row{display:flex;align-items:center;gap:4px;margin-bottom:6px}.drawer-exec-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dot-exec-sent{background:var(--success-color)}.dot-exec-pending{background:var(--warning-color)}.dot-exec-failed{background:var(--error-color)}.dot-exec-skipped{background:var(--text-muted)}.drawer-step-label{font-size:.56rem;color:var(--text-secondary);font-weight:500;margin-left:4px}.btn-cancel-enr{padding:3px 10px;border:1px solid var(--error-light);border-radius:var(--radius-md);background:var(--error-light);color:var(--error-color);font-family:var(--font-sans);font-size:.58rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-cancel-enr:hover{background:var(--error-light)}@media (max-width: 1024px){.seq-config-panel{width:240px;min-width:240px}.seq-enrollments-drawer{width:280px;min-width:280px}}@media (max-width: 768px){.seq-body{flex-direction:column}.seq-config-panel{width:100%;min-width:100%;border-right:none;border-bottom:1px solid var(--border-color);max-height:220px;flex-direction:row;flex-wrap:wrap;gap:8px;overflow-x:auto}.config-section{flex:1 1 200px;border-bottom:none}.seq-enrollments-drawer{width:100%;min-width:100%;border-left:none;border-top:1px solid var(--border-color);max-height:300px}.seq-topbar{flex-direction:column;padding:8px 12px}.seq-topbar-left,.seq-topbar-right{width:100%}.tl-delay-inputs{flex-direction:column;gap:6px}}.tl-ab-section{border-top:1px dashed var(--border-color);padding-top:10px;margin-top:4px}.tl-ab-toggle-row{display:flex!important;align-items:center;justify-content:space-between}.tl-ab-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:10px 12px;margin-top:6px;display:flex;flex-direction:column;gap:8px}.tl-ab-label{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.tl-ab-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-sm);font-size:10px;font-weight:700;color:var(--white);flex-shrink:0}.tl-ab-badge.variant-a{background:var(--primary-color)}.tl-ab-badge.variant-b{background:#8b5cf6}.tl-ab-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-sm);background:linear-gradient(to right,var(--primary-color) 50%,#8b5cf6 50%);outline:none;cursor:pointer}.tl-ab-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--white);border:2px solid var(--text-secondary);cursor:pointer}.tl-ab-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--white);border:2px solid var(--text-secondary);cursor:pointer}.guide-page{padding:24px;margin:0 auto;background:var(--background-gray, #f5f6f7);min-height:100vh}.guide-page .page-header{display:flex;align-items:center;gap:20px;margin-bottom:32px;flex-wrap:wrap}.guide-page .back-button{padding:8px 16px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:all var(--transition-normal);flex-shrink:0}.guide-page .back-button:hover{background:var(--background-gray);border-color:var(--text-primary)}.guide-page .header-content{flex:1}.guide-page .header-content h1{margin:0;font-family:var(--font-display);font-size:1.46rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}.guide-page .page-subtitle{margin:2px 0 0;color:var(--text-secondary);font-family:var(--font-sans);font-size:.79rem;line-height:1.5}.guide-container{background:var(--white);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-sm)}.guide-page .intro-section{text-align:center;margin-bottom:48px;max-width:750px;margin-left:auto;margin-right:auto}.guide-page .intro-section h2{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.01em}.guide-page .intro-section p{font-size:.82rem;color:var(--text-secondary);line-height:1.6}.guide-section{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border-color)}.guide-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.section-number{width:28px;height:28px;background:#0f172ae6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0}.section-header h3{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.section-description{color:var(--text-secondary);font-size:.79rem;line-height:1.6;margin-bottom:20px;max-width:800px}.trigger-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.trigger-card{background:var(--bg-secondary, #f8fafc);border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:20px;transition:all var(--transition-slow);display:flex;flex-direction:column;gap:8px}.trigger-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.trigger-icon{font-size:24px}.trigger-card h4{margin:0;font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--text-primary)}.trigger-card p{margin:0;font-size:.76rem;color:var(--text-secondary);line-height:1.5;flex:1}.trigger-timing{font-size:.7rem;color:var(--primary-color);font-weight:600;padding:4px 10px;background:var(--info-light, #e0f2fe);border-radius:var(--radius-md);align-self:flex-start}.priority-flow{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:20px}.priority-level{background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:20px 24px;width:100%;max-width:600px;position:relative}.priority-level h4{margin:0 0 4px;font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--text-primary)}.priority-level p{margin:0;font-size:.76rem;color:var(--text-secondary);line-height:1.5}.priority-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:var(--radius-md);margin-bottom:8px}.priority-high{border-color:var(--success-color, #22c55e);background:var(--success-light, #f0fdf4)}.priority-high .priority-badge{background:var(--success-color, #22c55e);color:#fff}.priority-medium{border-color:var(--warning-color, #f59e0b);background:var(--warning-light, #fffbeb)}.priority-medium .priority-badge{background:var(--warning-color, #f59e0b);color:#fff}.priority-low{border-color:var(--border-color);background:var(--bg-secondary, #f8fafc)}.priority-low .priority-badge{background:var(--text-secondary);color:#fff}.flow-arrow{font-size:1.2rem;color:var(--text-muted);padding:4px 0;font-weight:700}.guide-tip{background:var(--warning-light, #fffbeb);border-left:3px solid var(--warning-color, #f59e0b);padding:12px 16px;border-radius:var(--radius-md);font-size:.76rem;color:var(--text-secondary);line-height:1.6}.guide-tip strong{color:var(--text-primary)}.status-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.status-card{border-radius:var(--radius-xl);padding:20px;border:2px solid var(--border-color)}.status-card strong{font-family:var(--font-display);font-size:.82rem;color:var(--text-primary);display:block;margin-bottom:6px}.status-card p{margin:0;font-size:.76rem;color:var(--text-secondary);line-height:1.5}.status-active{background:var(--success-light, #f0fdf4);border-color:var(--success-color, #22c55e)}.status-inactive,.status-draft{background:var(--bg-secondary, #f8fafc);border-color:var(--border-color)}.status-paused-seq{background:var(--warning-light, #fffbeb);border-color:var(--warning-color, #f59e0b)}.merge-tags-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.merge-tag-group{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px}.merge-tag-group h4{margin:0 0 10px;font-family:var(--font-display);font-size:.76rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.merge-tag-group code{display:block;font-size:.72rem;color:var(--primary-color);background:var(--white);padding:4px 8px;border-radius:var(--radius-md);margin-bottom:4px;border:1px solid var(--border-color);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.status-filter-example{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0}.filter-row+.filter-row{border-top:1px solid var(--border-color);margin-top:6px;padding-top:12px}.filter-label{font-size:.76rem;font-weight:600;color:var(--text-primary);min-width:90px}.filter-desc{font-size:.76rem;color:var(--text-secondary)}.status-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 10px;border-radius:var(--radius-md)}.status-confirmed{background:var(--info-light, #e0f2fe);color:var(--primary-color)}.status-paid{background:var(--success-light, #f0fdf4);color:var(--success-color, #22c55e)}.steps-visual{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:16px;max-width:500px}.visual-step{display:flex;align-items:center;gap:16px;background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:16px 20px;width:100%;transition:all var(--transition-slow)}.visual-step:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.step-badge{background:var(--primary-color);color:#fff;font-size:.65rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-md);white-space:nowrap}.step-detail{flex:1}.step-detail strong{display:block;font-family:var(--font-display);font-size:.82rem;color:var(--text-primary);margin-bottom:2px}.step-delay{font-size:.7rem;color:var(--text-muted)}.step-connector{display:flex;flex-direction:column;align-items:center;height:40px;position:relative}.step-connector .connector-line{width:2px;height:28px;background:var(--border-color)}.wait-label{font-size:.65rem;color:var(--text-muted);font-weight:500;background:var(--bg-secondary, #f8fafc);padding:2px 8px;border-radius:var(--radius-md)}.ab-visual{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px;background:var(--bg-secondary, #f8fafc);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.ab-group{text-align:center;flex:1;max-width:280px}.ab-group p{margin:8px 0 0;font-size:.76rem;color:var(--text-secondary)}.ab-label{display:inline-block;font-size:.72rem;font-weight:700;padding:6px 14px;border-radius:var(--radius-md)}.ab-a{background:var(--primary-color);color:#fff}.ab-b{background:var(--secondary-color, #ED2626);color:#fff}.ab-divider{font-size:.82rem;font-weight:700;color:var(--text-muted)}.lifecycle-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lifecycle-step{padding:12px 16px;border-radius:var(--radius-lg);border:2px solid var(--border-color);min-width:140px}.lifecycle-step strong{font-family:var(--font-display);font-size:.76rem;display:block;margin-bottom:4px}.lifecycle-step p{margin:0;font-size:.7rem;color:var(--text-secondary);line-height:1.4}.lifecycle-active{background:var(--info-light, #e0f2fe);border-color:var(--primary-color)}.lifecycle-completed{background:var(--success-light, #f0fdf4);border-color:var(--success-color, #22c55e)}.lifecycle-paused{background:var(--warning-light, #fffbeb);border-color:var(--warning-color, #f59e0b)}.lifecycle-cancelled{background:#fef2f2;border-color:var(--secondary-color, #ED2626)}.guide-page .example-section{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--background-gray) 100%);border-radius:var(--radius-xl);padding:32px;margin:48px 0;border:2px solid var(--border-color)}.guide-page .example-section h2{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:20px;text-align:center;letter-spacing:-.01em}.guide-page .example-steps{display:flex;flex-direction:column;gap:24px;max-width:900px;margin:0 auto}.guide-page .example-step{display:flex;gap:20px;background:var(--white);padding:24px;border-radius:var(--radius-xl);border:2px solid var(--border-color);transition:all var(--transition-slow)}.guide-page .example-step:hover{border-color:var(--text-primary);box-shadow:var(--shadow-md)}.guide-page .step-number{flex-shrink:0;width:36px;height:36px;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem}.guide-page .step-content h4{margin:0 0 6px;font-family:var(--font-display);font-size:.88rem;font-weight:600;color:var(--text-primary)}.guide-page .step-content p{margin:6px 0;color:var(--text-secondary);font-size:.79rem;line-height:1.6}.guide-page .step-content code{font-size:.76rem;color:var(--primary-color);background:var(--info-light, #e0f2fe);padding:2px 6px;border-radius:var(--radius-md);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.guide-page .benefits-section{margin-top:48px}.guide-page .benefits-section h2{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:20px;text-align:center;letter-spacing:-.01em}.guide-page .benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.guide-page .benefit-card{background:linear-gradient(135deg,var(--white) 0%,var(--bg-secondary) 100%);border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:24px;text-align:center;transition:all var(--transition-slow)}.guide-page .benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--text-primary)}.guide-page .benefit-icon{font-size:28px;margin-bottom:10px}.guide-page .benefit-card h4{margin:0 0 6px;font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--text-primary)}.guide-page .benefit-card p{margin:0;font-size:.76rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 768px){.guide-page{padding:16px}.guide-container{padding:24px 16px}.guide-page .page-header{flex-direction:column;align-items:stretch}.guide-page .header-content h1{font-size:1.2rem}.trigger-grid,.status-row{grid-template-columns:1fr}.merge-tags-grid{grid-template-columns:1fr 1fr}.guide-page .example-step{flex-direction:column}.guide-page .benefits-grid{grid-template-columns:1fr}.ab-visual{flex-direction:column;gap:12px}.lifecycle-flow{flex-direction:column;align-items:stretch}.flow-arrow{text-align:center}}.sms-settings-page{margin:0 auto;padding:32px 24px}.sms-settings-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0 0 4px}.sms-settings-header p{color:var(--text-secondary);margin:0 0 24px}.sms-alert{padding:12px 16px;border-radius:var(--radius-lg);margin-bottom:20px;font-size:.875rem}.sms-alert-error{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light)}.sms-alert-success{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-light)}.sms-loading{text-align:center;padding:80px 0;color:var(--text-secondary)}.sms-provision-card{text-align:center;padding:48px 32px;max-width:600px;margin:40px auto}.sms-card-icon{margin-bottom:16px}.sms-provision-card h2{font-family:var(--font-display);font-weight:700;font-size:1.35rem;margin:0 0 8px;color:var(--text-primary)}.sms-provision-card>p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 24px}.sms-provision-form{display:flex;gap:12px;align-items:flex-end;justify-content:center;margin-bottom:16px}.sms-provision-form label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.sms-provision-form select{padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;background:var(--white)}.sms-provision-note{font-size:.78rem;color:var(--text-muted)}.sms-config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}@media (max-width: 768px){.sms-config-grid{grid-template-columns:1fr}}.sms-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px}.sms-card-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.sms-card-value{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--text-primary);margin-bottom:8px}.sms-card-muted{color:var(--text-muted);font-weight:400;font-size:1rem}.sms-card-sub{font-size:.8rem;color:var(--text-muted)}.sms-phone{font-family:Inter,monospace;letter-spacing:.5px}.sms-status-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-2xl);font-size:.8rem;font-weight:600}.sms-status-badge.active{background:var(--success-light);color:var(--success-color)}.sms-status-badge.inactive{background:var(--error-light);color:var(--error-color)}.sms-usage-bar{width:100%;height:8px;background:var(--background-gray);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:12px}.sms-usage-fill{height:100%;border-radius:var(--radius-sm);transition:width .3s ease}.sms-limit-edit{display:flex;gap:8px;align-items:center;margin-top:4px}.sms-limit-edit input{width:80px;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem}.sms-btn{border:none;cursor:pointer;font-weight:600;font-size:.875rem;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.sms-btn:disabled{opacity:.5;cursor:not-allowed}.sms-btn-primary{background:var(--primary-color);color:var(--white);padding:10px 20px}.sms-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.sms-btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 16px}.sms-btn-outline:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--text-light)}.sms-btn-sm{font-size:.78rem;padding:6px 12px}.sms-log-section{margin-top:8px}.sms-setup-flow{margin-bottom:32px}.sms-setup-flow-title{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 16px}.sms-setup-steps{display:flex;align-items:center;gap:0;padding:24px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl)}.sms-setup-step{display:flex;align-items:center;gap:12px;flex:1;padding:12px 16px;border-radius:var(--radius-xl);transition:all var(--transition-normal)}.sms-step-number{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.sms-setup-step.completed .sms-step-number{background:var(--success-color);color:var(--white)}.sms-setup-step.active .sms-step-number{background:var(--primary-color);color:var(--white)}.sms-setup-step.available .sms-step-number{background:var(--success-light);color:#25d366;border:2px solid #25D366}.sms-setup-step.pending .sms-step-number{background:var(--background-gray);color:var(--text-muted)}.sms-step-content h4{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--text-primary);margin:0 0 2px}.sms-setup-step.pending .sms-step-content h4{color:var(--text-muted)}.sms-step-content p{margin:0;font-size:.75rem;color:var(--text-secondary)}.sms-setup-step.pending .sms-step-content p{color:var(--text-light)}.sms-step-optional{font-weight:400;font-size:.75rem;color:var(--text-muted)}.sms-setup-connector{width:40px;height:2px;background:var(--border-color);flex-shrink:0}.sms-setup-dependency-note{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 16px;background:var(--bg-secondary);border-radius:var(--radius-lg);font-size:.78rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 768px){.sms-setup-steps{flex-direction:column;gap:8px}.sms-setup-connector{width:2px;height:20px}}.sms-pricing-section{margin-bottom:32px}.sms-pricing-title{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 4px}.sms-pricing-subtitle{color:var(--text-secondary);font-size:.82rem;margin:0 0 16px;line-height:1.5}.sms-pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 768px){.sms-pricing-grid{grid-template-columns:1fr}}.sms-pricing-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden}.sms-pricing-card-header{display:flex;align-items:center;gap:10px;padding:16px 20px;font-family:var(--font-display);font-weight:700;font-size:.95rem}.sms-pricing-sms{background:var(--info-light);color:var(--primary-hover);border-bottom:1px solid var(--info-light)}.sms-pricing-whatsapp{background:var(--success-light);color:var(--success-dark);border-bottom:1px solid var(--success-light)}.sms-pricing-rows{padding:4px 0}.sms-pricing-row{display:flex;justify-content:space-between;align-items:center;padding:12px 20px}.sms-pricing-row+.sms-pricing-row{border-top:1px solid var(--background-gray)}.sms-pricing-region{font-size:.82rem;color:var(--text-secondary)}.sms-pricing-amount{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text-primary)}.sms-pricing-unit{font-weight:400;font-size:.72rem;color:var(--text-muted);margin-left:2px}.sms-pricing-note{padding:12px 20px;background:var(--bg-secondary);font-size:.75rem;color:var(--text-secondary);line-height:1.5;border-top:1px solid var(--background-gray)}.sms-pricing-currency-note{margin-top:12px;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.78rem;color:var(--text-secondary);line-height:1.5}.sms-whatsapp-existing-info{margin-top:20px;padding:16px 20px;background:var(--info-light);border:1px solid var(--info-light);border-radius:var(--radius-xl)}.sms-whatsapp-existing-info h4{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--info-dark);margin:0 0 8px}.sms-whatsapp-existing-info p{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin:0 0 8px}.sms-whatsapp-existing-info p:last-child{margin-bottom:0}.sms-whatsapp-existing-info a{color:var(--primary-hover);font-weight:600;text-decoration:underline}.sms-whatsapp-existing-callout{margin-top:16px;padding:12px 16px;background:var(--info-light);border:1px solid var(--info-light);border-radius:var(--radius-lg);font-size:.82rem;color:var(--info-dark);line-height:1.5}.sms-whatsapp-section{margin-bottom:32px}.sms-whatsapp-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden}.sms-whatsapp-header{display:flex;align-items:center;gap:16px;padding:24px;border-bottom:1px solid var(--background-gray)}.sms-whatsapp-icon{flex-shrink:0;width:48px;height:48px;background:var(--success-light);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center}.sms-whatsapp-info{flex:1;min-width:0}.sms-whatsapp-info h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--text-primary);margin:0 0 2px}.sms-whatsapp-info p{margin:0;font-size:.82rem;color:var(--text-secondary)}.sms-whatsapp-toggle-wrap{display:flex;align-items:center;gap:12px;flex-shrink:0}.sms-whatsapp-details{padding:24px}.sms-whatsapp-detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.sms-whatsapp-detail-row+.sms-whatsapp-detail-row{border-top:1px solid var(--background-gray)}.sms-whatsapp-detail-label{font-size:.85rem;color:var(--text-secondary)}.sms-whatsapp-detail-value{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--text-primary)}.sms-whatsapp-capabilities{margin-top:20px;padding:16px 20px;background:var(--bg-secondary);border-radius:var(--radius-xl)}.sms-whatsapp-capabilities h4{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--text-primary);margin:0 0 10px}.sms-whatsapp-capabilities ul{margin:0;padding:0 0 0 20px;list-style-type:disc}.sms-whatsapp-capabilities li{font-size:.82rem;color:var(--text-secondary);padding:3px 0;line-height:1.5}.sms-whatsapp-note{margin-top:16px;padding:12px 16px;background:var(--warning-light);border:1px solid var(--warning-light);border-radius:var(--radius-lg);font-size:.78rem;color:var(--warning-dark);line-height:1.5}.sms-whatsapp-note a{color:var(--warning-dark);font-weight:600;text-decoration:underline}.sms-whatsapp-benefits{padding:24px}.sms-whatsapp-benefits h4{font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--text-primary);margin:0 0 16px}.sms-whatsapp-benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sms-whatsapp-benefit{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--bg-secondary);border-radius:var(--radius-xl)}.benefit-icon{font-size:1.2rem;flex-shrink:0;line-height:1.4}.sms-whatsapp-benefit span:last-child{font-size:.82rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 768px){.sms-whatsapp-header{flex-wrap:wrap;gap:12px}.sms-whatsapp-toggle-wrap{width:100%;justify-content:flex-start;padding-top:4px}.sms-whatsapp-benefit-grid{grid-template-columns:1fr}}.sms-log-section h2{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 16px}.sms-log-empty{text-align:center;padding:48px 0;color:var(--text-muted);font-size:.9rem}.sms-log-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden}.sms-log-table th{text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.sms-log-table td{padding:10px 16px;font-size:.85rem;color:var(--text-secondary);border-bottom:1px solid var(--background-gray)}.sms-log-date{font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.sms-log-body{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:.8rem}.sms-log-status{font-weight:600;font-size:.78rem;text-transform:uppercase}.sms-log-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;font-size:.85rem;color:var(--text-secondary)}.sms-log-pagination button{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:6px 14px;cursor:pointer;font-size:.8rem;color:var(--text-secondary)}.sms-log-pagination button:disabled{opacity:.4;cursor:not-allowed}.sms-marketing-section{margin-bottom:28px}.sms-marketing-card{background:linear-gradient(135deg,#faf5ff,#fff,#f5f3ff);border:1px solid #e9d5ff;border-radius:var(--radius-xl, 16px);padding:28px}.sms-marketing-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.sms-marketing-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ede9fe;border-radius:12px}.sms-marketing-info{flex:1}.sms-marketing-info h3{font-size:1.1rem;font-weight:700;margin:0 0 4px;color:var(--text-primary)}.sms-marketing-info p{color:var(--text-secondary);font-size:.85rem;margin:0}.sms-marketing-toggle-wrap{display:flex;align-items:center;gap:10px;flex-shrink:0}.sms-marketing-why{margin-bottom:20px}.sms-marketing-why h4{font-size:.9rem;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.sms-marketing-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.sms-marketing-why-item{display:flex;gap:10px;padding:14px;background:#ffffffb3;border:1px solid #e9d5ff;border-radius:10px}.sms-marketing-why-item .benefit-icon{font-size:1.2rem;flex-shrink:0;margin-top:2px}.sms-marketing-why-item strong{display:block;font-size:.82rem;margin-bottom:3px;color:var(--text-primary)}.sms-marketing-why-item p{font-size:.75rem;color:var(--text-secondary);margin:0;line-height:1.4}.sms-marketing-details{border-top:1px solid #e9d5ff;padding-top:16px}.sms-marketing-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:14px}.sms-marketing-detail-item{display:flex;flex-direction:column;gap:4px}.sms-marketing-detail-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-weight:600}.sms-marketing-detail-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.sms-marketing-note{font-size:.78rem;color:var(--text-secondary);background:#8b5cf60f;border:1px solid #e9d5ff;border-radius:8px;padding:12px 14px;line-height:1.5}.sms-marketing-note strong{color:var(--text-primary)}.sms-marketing-provision{border-top:1px solid #e9d5ff;padding-top:16px}.sms-marketing-provision-desc{font-size:.82rem;color:var(--text-secondary);margin:0 0 14px;line-height:1.5}.sms-marketing-provision-form{display:flex;gap:12px;align-items:flex-end}.sms-marketing-provision-form label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:600;color:var(--text-secondary)}.sms-marketing-provision-form select{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.85rem;min-width:200px}.sms-marketing-blocked{border-top:1px solid #e9d5ff;padding-top:16px}.sms-marketing-blocked p{font-size:.82rem;color:var(--text-secondary);margin:0;font-style:italic}.smst-page{margin:0 auto;padding:32px 24px}.smst-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.smst-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0 0 4px}.smst-header p{color:var(--text-secondary);margin:0;font-size:.9rem}.smst-alert{padding:12px 16px;border-radius:var(--radius-lg);margin-bottom:20px;font-size:.875rem}.smst-alert-error{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light)}.smst-loading{text-align:center;padding:80px 0;color:var(--text-secondary)}.smst-search-bar{margin-bottom:20px}.smst-search-bar input{width:100%;max-width:400px;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;outline:none;transition:border .15s}.smst-search-bar input:focus{border-color:var(--primary-color)}.smst-empty{text-align:center;padding:64px 0;color:var(--text-muted)}.smst-empty p{margin:16px 0;font-size:.95rem}.smst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.smst-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:20px;transition:box-shadow .15s}.smst-card:hover{box-shadow:var(--shadow-md)}.smst-card-inactive{opacity:.6}.smst-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.smst-card-top h3{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text-primary);margin:0}.smst-card-actions{display:flex;gap:4px}.smst-icon-btn{background:none;border:none;cursor:pointer;font-size:.85rem;padding:4px;border-radius:var(--radius-md);transition:background .15s}.smst-icon-btn:hover{background:var(--background-gray)}.smst-card-body{font-size:.85rem;color:var(--text-secondary);line-height:1.55;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.smst-card-meta{display:flex;gap:16px;font-size:.75rem;color:var(--text-muted)}.smst-btn{border:none;cursor:pointer;font-weight:600;font-size:.875rem;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.smst-btn:disabled{opacity:.5;cursor:not-allowed}.smst-btn-primary{background:var(--primary-color);color:var(--white);padding:10px 20px}.smst-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.smst-btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:10px 20px}.smst-btn-outline:hover:not(:disabled){background:var(--bg-secondary)}.smst-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.smst-modal{background:var(--white);border-radius:var(--radius-2xl);width:580px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.smst-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.smst-modal-header h2{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin:0;color:var(--text-primary)}.smst-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);padding:4px 8px;border-radius:var(--radius-md)}.smst-modal-close:hover{background:var(--background-gray)}.smst-modal-body{padding:20px 24px}.smst-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:0 24px 20px}.smst-label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:16px}.smst-input{padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;outline:none;transition:border .15s}.smst-input:focus{border-color:var(--primary-color)}.smst-textarea{padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;resize:vertical;font-family:var(--font-sans);line-height:1.6;outline:none;transition:border .15s}.smst-textarea:focus{border-color:var(--primary-color)}.smst-merge-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.smst-merge-label{font-size:.75rem;color:var(--text-secondary);font-weight:600}.smst-merge-tag-btn{background:var(--background-gray);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:4px 10px;font-size:.75rem;cursor:pointer;color:var(--text-secondary);transition:background .15s}.smst-merge-tag-btn:hover{background:var(--border-color)}.smst-char-info{display:flex;gap:16px;font-size:.75rem;color:var(--text-muted)}.sms-conversations-page{display:flex;flex-direction:column;height:calc(100vh - 56px);overflow:hidden}.sms-conv-header{padding:20px 24px 12px;flex-shrink:0}.sms-conv-header h1{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.sms-conv-split{display:flex;flex:1;min-height:0;margin:0 24px 24px;border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden;background:var(--white)}.sms-conv-list{width:320px;flex-shrink:0;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--bg-secondary)}.sms-conv-list-header{padding:14px 16px;border-bottom:1px solid var(--border-color)}.sms-conv-list-count{font-size:12px;color:var(--text-muted);font-weight:500}.sms-conv-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px}.sms-conv-empty p{margin:0 0 6px;font-weight:600;color:var(--text-secondary)}.sms-conv-empty-hint{font-size:12px}.sms-conv-thread-list{flex:1;overflow-y:auto}.sms-conv-thread{display:flex;align-items:center;gap:10px;padding:12px 16px;width:100%;border:none;background:none;cursor:pointer;text-align:left;border-bottom:1px solid var(--background-gray);transition:background .12s}.sms-conv-thread:hover{background:var(--background-gray)}.sms-conv-thread.active{background:var(--info-light);border-left:3px solid var(--primary-color)}.sms-conv-thread-avatar{width:36px;height:36px;border-radius:50%;background:var(--border-color);color:var(--text-secondary);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sms-conv-thread-avatar.small{width:32px;height:32px;font-size:13px}.sms-conv-thread-info{flex:1;min-width:0}.sms-conv-thread-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sms-conv-thread-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sms-conv-thread-time{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.sms-conv-thread-preview{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.sms-conv-thread-badge{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--primary-color);color:var(--white);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sms-conv-messages{flex:1;display:flex;flex-direction:column;min-width:0}.sms-conv-no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);font-size:14px}.sms-conv-msg-header{padding:12px 20px;border-bottom:1px solid var(--border-color);background:var(--white);flex-shrink:0}.sms-conv-msg-contact{display:flex;align-items:center;gap:10px}.sms-conv-msg-name{font-size:14px;font-weight:600;color:var(--text-primary)}.sms-conv-msg-phone{font-size:12px;color:var(--text-muted)}.sms-conv-msg-list{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:8px;background:var(--bg-secondary)}.sms-bubble{max-width:75%;padding:10px 14px;border-radius:var(--radius-2xl);font-size:13px;line-height:1.5}.sms-bubble.outbound{background:var(--primary-color);color:var(--white);align-self:flex-end;border-bottom-right-radius:4px}.sms-bubble.inbound{background:var(--white);color:var(--text-primary);align-self:flex-start;border-bottom-left-radius:4px;border:1px solid var(--border-color)}.sms-bubble-body{white-space:pre-wrap;word-break:break-word}.sms-bubble-meta{display:flex;gap:6px;align-items:center;margin-top:4px;font-size:10px;opacity:.7}.sms-bubble-status{text-transform:uppercase;font-weight:600;font-size:9px}.sms-bubble-status.sent,.sms-bubble-status.delivered{color:#fffc}.sms-bubble-status.failed{color:var(--error-light)}.sms-conv-reply{display:flex;align-items:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-color);background:var(--white);flex-shrink:0}.sms-conv-reply-input{flex:1;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:10px 14px;font-size:13px;font-family:var(--font-sans);resize:none;outline:none;min-height:40px;max-height:120px;transition:border-color .15s}.sms-conv-reply-input:focus{border-color:var(--primary-color)}.sms-conv-reply-send{width:40px;height:40px;border-radius:50%;border:none;background:var(--primary-color);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.sms-conv-reply-send:hover:not(:disabled){background:var(--primary-hover)}.sms-conv-reply-send:disabled{opacity:.5;cursor:not-allowed}.sending-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.sms-conv-split{margin:0 12px 12px;border-radius:var(--radius-xl)}.sms-conv-list{width:100%;max-width:none}.sms-conv-messages{display:none}.sms-conv-split:has(.sms-conv-thread.active) .sms-conv-list{display:none}.sms-conv-split:has(.sms-conv-thread.active) .sms-conv-messages{display:flex}}.messaging-usage-page{padding:32px;margin:0 auto}.messaging-usage-page .page-header{margin-bottom:32px}.messaging-usage-page .page-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0 0 6px}.messaging-usage-page .page-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.messaging-usage-page .page-loading,.messaging-usage-page .page-error{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:1rem}.messaging-usage-page .page-error{color:var(--error-color)}.usage-summary-section{margin-bottom:36px}.usage-summary-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.usage-summary-section .section-header h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0}.period-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;color:var(--text-primary);background:var(--white);cursor:pointer}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;text-align:center}.summary-card-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.summary-card-value{font-family:var(--font-display);font-weight:700;font-size:2rem;color:var(--text-primary)}.summary-card-value.cost{color:var(--info-color)}.usage-breakdown h3{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-primary);margin:0 0 12px}.usage-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden}.usage-table thead{background:var(--bg-secondary)}.usage-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.usage-table td{padding:12px 16px;font-size:.875rem;color:var(--text-secondary);border-bottom:1px solid var(--background-gray)}.usage-table tbody tr:last-child td{border-bottom:none}.usage-table tbody tr:hover{background:var(--bg-secondary)}.usage-table .row-current{background:var(--info-light)}.usage-table .cost{font-weight:600;color:var(--info-color)}.channel-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-xl);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.channel-sms{background:var(--info-light);color:var(--primary-hover)}.channel-mms{background:var(--info-light);color:var(--info-dark)}.channel-whatsapp{background:var(--success-light);color:var(--success-color)}.pricing-section{margin-bottom:36px}.pricing-section h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 4px}.pricing-subtitle{color:var(--text-secondary);font-size:.875rem;margin:0 0 20px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.pricing-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden}.pricing-card-header{padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.pricing-card-body{padding:16px 20px}.pricing-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.pricing-row+.pricing-row{border-top:1px solid var(--background-gray)}.pricing-region{font-size:.875rem;color:var(--text-secondary)}.pricing-price{font-family:var(--font-display);font-weight:700;font-size:.875rem;color:var(--text-primary)}.billing-history-section{margin-bottom:36px}.billing-history-section h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 16px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-2xl);border:1px dashed var(--border-color)}.empty-state p{margin:0;font-size:.95rem}@media (max-width: 768px){.messaging-usage-page{padding:16px}.summary-cards,.pricing-grid{grid-template-columns:1fr}.usage-summary-section .section-header{flex-direction:column;align-items:flex-start;gap:12px}}.email-usage-page{padding:32px;margin:0 auto}.email-usage-page .page-header{margin-bottom:32px}.email-usage-page .page-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0 0 6px}.email-usage-page .page-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.email-usage-page .page-loading,.email-usage-page .page-error{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:1rem}.email-usage-page .page-error{color:var(--error-color)}.free-tier-section{margin-bottom:36px}.free-tier-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.free-tier-section .section-header h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0}.email-usage-page .period-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;color:var(--text-primary);background:var(--white);cursor:pointer}.free-tier-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;margin-bottom:20px}.free-tier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.free-tier-label{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--text-primary)}.free-tier-count{font-size:.875rem;color:var(--text-secondary);font-weight:500}.progress-bar-track{width:100%;height:12px;background:var(--background-gray);border-radius:var(--radius-md);overflow:hidden;margin-bottom:8px}.progress-bar-fill{height:100%;background:var(--info-color);border-radius:var(--radius-md);transition:width .6s ease}.progress-bar-fill.warning{background:var(--warning-color)}.progress-bar-fill.over-limit{background:var(--error-color)}.free-tier-footer{display:flex;justify-content:space-between;align-items:center}.free-tier-footer .remaining{font-size:.8rem;color:var(--text-secondary)}.free-tier-footer .percent{font-size:.8rem;font-weight:600;color:var(--text-primary)}.email-usage-page .summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.email-usage-page .summary-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;text-align:center}.email-usage-page .summary-card-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.email-usage-page .summary-card-value{font-family:var(--font-display);font-weight:700;font-size:2rem;color:var(--text-primary)}.email-usage-page .summary-card-value.cost{color:var(--info-color)}.email-usage-page .summary-card-value.failed{color:var(--error-color)}.type-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-xl);font-size:.75rem;font-weight:600;background:var(--info-light);color:var(--primary-hover)}.email-usage-page .usage-breakdown h3{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-primary);margin:0 0 12px}.email-usage-page .usage-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden}.email-usage-page .usage-table thead{background:var(--bg-secondary)}.email-usage-page .usage-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.email-usage-page .usage-table td{padding:12px 16px;font-size:.875rem;color:var(--text-secondary);border-bottom:1px solid var(--background-gray)}.email-usage-page .usage-table tbody tr:last-child td{border-bottom:none}.email-usage-page .usage-table tbody tr:hover{background:var(--bg-secondary)}.email-usage-page .usage-table .row-current{background:var(--info-light)}.email-usage-page .usage-table .cost{font-weight:600;color:var(--info-color)}.email-usage-page .usage-table .failed{color:var(--error-color);font-weight:500}.email-usage-page .pricing-section{margin-bottom:36px}.email-usage-page .pricing-section h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 16px}.pricing-info-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px}.pricing-info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.pricing-info-row+.pricing-info-row{border-top:1px solid var(--background-gray)}.pricing-info-label{font-size:.95rem;color:var(--text-secondary)}.pricing-info-value{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text-primary)}.pricing-note{margin:16px 0 0;padding:12px 16px;background:var(--bg-secondary);border-radius:var(--radius-lg);font-size:.8rem;color:var(--text-secondary);line-height:1.5}.email-usage-page .billing-history-section{margin-bottom:36px}.email-usage-page .billing-history-section h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 16px}.email-usage-page .empty-state{text-align:center;padding:40px 20px;color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-2xl);border:1px dashed var(--border-color)}.email-usage-page .empty-state p{margin:0;font-size:.95rem}@media (max-width: 768px){.email-usage-page{padding:16px}.email-usage-page .summary-cards{grid-template-columns:1fr 1fr}.free-tier-section .section-header{flex-direction:column;align-items:flex-start;gap:12px}}@media (max-width: 480px){.email-usage-page .summary-cards{grid-template-columns:1fr}}.email-analytics-page{padding:24px;margin:0 auto}.ea-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.ea-header h1{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.ea-date-toggle{display:flex;gap:4px;background:var(--background-gray);padding:3px;border-radius:var(--radius-lg)}.ea-date-btn{padding:6px 14px;border:none;background:none;border-radius:var(--radius-md);font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.ea-date-btn.active{background:var(--white);color:var(--text-primary);box-shadow:var(--shadow-sm)}.ea-loading{text-align:center;padding:60px;color:var(--text-muted)}.ea-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.ea-kpi-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:20px}.ea-kpi-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.ea-kpi-value{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--text-primary)}.ea-kpi-rate{font-size:13px;color:var(--success-color);font-weight:600;margin-top:4px}.ea-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.ea-chart-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:20px}.ea-chart-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.ea-bar-chart-label{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.ea-bar-chart-bars{display:flex;gap:4px;align-items:flex-end;height:120px}.ea-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.ea-bar{width:100%;min-height:2px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height .3s ease}.ea-bar-label{font-size:9px;color:var(--text-muted);margin-top:4px}.ea-bottom-row{display:grid;grid-template-columns:1fr 1.6fr;gap:16px}.ea-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:20px}.ea-card h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.ea-type-list{display:flex;flex-direction:column;gap:10px}.ea-type-row{display:flex;align-items:center;gap:10px}.ea-type-name{font-size:12px;color:var(--text-secondary);width:120px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ea-type-bar-container{flex:1;height:8px;background:var(--background-gray);border-radius:var(--radius-sm);overflow:hidden}.ea-type-bar{height:100%;background:var(--primary-color);border-radius:var(--radius-sm);transition:width .3s ease}.ea-type-count{font-size:12px;font-weight:600;color:var(--text-primary);min-width:32px;text-align:right}.ea-events-list{display:flex;flex-direction:column;max-height:320px;overflow-y:auto}.ea-event-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bg-secondary)}.ea-event-icon{font-size:14px;flex-shrink:0;width:20px;text-align:center}.ea-event-info{flex:1;min-width:0}.ea-event-email{font-size:12px;font-weight:600;color:var(--text-primary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ea-event-detail{font-size:11px;color:var(--text-secondary)}.ea-event-url{color:var(--text-muted)}.ea-event-time{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}@media (max-width: 768px){.ea-kpi-grid{grid-template-columns:repeat(2,1fr)}.ea-charts-row,.ea-bottom-row{grid-template-columns:1fr}}.public-waiver-page{min-height:100vh;background:var(--background-gray);display:flex;justify-content:center;padding:2rem 1rem 4rem;font-family:var(--font-sans)}.public-waiver-container{width:100%;max-width:680px}.waiver-school-logo{display:block;max-height:64px;margin:0 auto 1.5rem;object-fit:contain}.waiver-loading{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:1.05rem}.waiver-error-page,.waiver-success-page{background:var(--white);border-radius:var(--radius-2xl);padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-sm)}.waiver-error-icon,.waiver-success-icon{font-size:3rem;margin-bottom:1rem}.waiver-success-icon{width:64px;height:64px;border-radius:50%;background:var(--primary-color);color:var(--white);display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:1.25rem}.waiver-success-page h2,.waiver-error-page h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem;margin:0 0 .5rem}.waiver-success-page p,.waiver-error-page p{color:var(--text-muted);max-width:400px;margin:0 auto 1rem}.waiver-success-details{display:flex;gap:1rem;justify-content:center;color:var(--text-muted);font-size:.9rem;flex-wrap:wrap}.waiver-dob-verify{background:var(--white);border-radius:var(--radius-2xl);padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-sm)}.waiver-dob-verify h2{font-family:var(--font-display);font-weight:700;font-size:1.4rem;margin:0 0 .5rem}.waiver-dob-verify p{color:var(--text-muted);max-width:400px;margin:0 auto 1.5rem}.waiver-dob-form{max-width:280px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.waiver-dob-form label{font-weight:600;font-size:.9rem;text-align:left}.waiver-dob-form input{padding:.65rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:1rem}.waiver-dob-form button{background:var(--primary-color);color:var(--white);border:none;padding:.7rem 1.25rem;border-radius:var(--radius-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:opacity .15s}.waiver-dob-form button:hover:not(:disabled){opacity:.9}.waiver-dob-form button:disabled{opacity:.6;cursor:not-allowed}.waiver-dob-error{color:var(--error-color);font-size:.85rem;text-align:left}.waiver-form-header{background:var(--white);border-radius:var(--radius-2xl);padding:2rem;text-align:center;box-shadow:var(--shadow-sm);margin-bottom:1.25rem}.waiver-form-header h1{font-family:var(--font-display);font-weight:700;font-size:1.5rem;margin:0 0 .75rem}.waiver-course-info{display:flex;gap:.75rem;justify-content:center;color:var(--text-muted);font-size:.9rem;flex-wrap:wrap}.waiver-participant-name{margin:.75rem 0 0;color:var(--text-secondary);font-size:.95rem}.waiver-form-body{background:var(--white);border-radius:var(--radius-2xl);padding:2rem;box-shadow:var(--shadow-sm)}.waiver-section-header{margin:1.25rem 0 .5rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-color)}.waiver-section-header h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;margin:0}.waiver-section-header p{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.waiver-content-block{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:1rem 1.25rem;margin:.75rem 0}.waiver-content-block h4{margin:0 0 .5rem;font-size:.95rem;font-weight:600}.waiver-content-text{color:var(--text-secondary);font-size:.9rem;line-height:1.55;white-space:pre-wrap}.waiver-field-wrapper{margin-bottom:1rem}.waiver-field-label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--text-primary)}.waiver-required{color:var(--error-color);margin-left:2px}.waiver-field-help{margin:.25rem 0 0;color:var(--text-muted);font-size:.8rem}.waiver-field-wrapper input[type=text],.waiver-field-wrapper input[type=email],.waiver-field-wrapper input[type=tel],.waiver-field-wrapper input[type=number],.waiver-field-wrapper input[type=date],.waiver-field-wrapper textarea,.waiver-field-wrapper select{width:100%;padding:.6rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.95rem;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.waiver-field-wrapper input:focus,.waiver-field-wrapper textarea:focus,.waiver-field-wrapper select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6c5ce71a}.waiver-acknowledgement,.waiver-minor-section{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:.85rem 1rem;margin:.75rem 0}.waiver-ack-label{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.9rem;line-height:1.45}.waiver-ack-label input[type=checkbox]{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:var(--primary-color)}.waiver-signature-section{margin:1.5rem 0;padding-top:1rem;border-top:1px solid var(--border-color)}.waiver-signature-section h3{font-family:var(--font-display);font-weight:700;font-size:1rem;margin:0 0 .75rem}.waiver-signature-toggle{display:flex;gap:.5rem;margin-bottom:.75rem}.waiver-signature-toggle button{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.waiver-signature-toggle button.active{background:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.waiver-signature-input{width:100%;padding:.65rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:1.1rem;font-family:Brush Script MT,Segoe Script,cursive;box-sizing:border-box}.waiver-signature-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6c5ce71a}.waiver-canvas-wrapper{position:relative}.waiver-signature-canvas{width:100%;max-width:400px;height:150px;border:2px dashed var(--border-color);border-radius:var(--radius-xl);cursor:crosshair;touch-action:none;background:var(--bg-secondary)}.waiver-clear-sig{position:absolute;top:8px;right:8px;padding:.3rem .6rem;font-size:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--white);cursor:pointer}.waiver-draw-hint{color:var(--text-muted);font-size:.8rem;margin:.25rem 0 0}.waiver-guardian-section{margin:1.25rem 0;padding:1.25rem;background:var(--warning-light);border-radius:var(--radius-xl);border:1px solid var(--warning-light)}.waiver-guardian-section h3{font-family:var(--font-display);font-weight:700;font-size:1rem;margin:0 0 1rem}.waiver-guardian-section .waiver-field-wrapper input,.waiver-guardian-section .waiver-field-wrapper select{background:var(--white)}.waiver-guardian-section .waiver-signature-section{border-top-color:var(--warning-color)}.waiver-submit-btn{display:block;width:100%;padding:.85rem 1.5rem;background:var(--primary-color);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:1.05rem;font-weight:600;cursor:pointer;margin-top:1.5rem;transition:opacity .15s}.waiver-submit-btn:hover:not(:disabled){opacity:.9}.waiver-submit-btn:disabled{opacity:.6;cursor:not-allowed}.waiver-submit-error{background:var(--error-light);color:var(--error-color);padding:.75rem 1rem;border-radius:var(--radius-xl);margin-bottom:1rem;font-size:.9rem}@media (max-width: 640px){.public-waiver-page{padding:1rem .5rem 3rem}.waiver-form-header,.waiver-form-body,.waiver-dob-verify,.waiver-success-page,.waiver-error-page{padding:1.5rem 1rem;border-radius:var(--radius-xl)}.waiver-form-header h1{font-size:1.25rem}.waiver-course-info,.waiver-success-details{flex-direction:column;gap:.35rem}.waiver-signature-canvas{max-width:100%;height:130px}}.maint-page{padding:32px;margin:0 auto}.maint-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.maint-page-header h1{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0}.maint-page-header h2{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0}.maint-header-actions{display:flex;gap:10px;align-items:center}.maint-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-lg);font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:all var(--transition-fast)}.maint-btn-primary{background:var(--text-primary);color:var(--white)}.maint-btn-primary:hover{background:var(--text-primary)}.maint-btn-secondary{background:var(--background-gray);color:var(--text-secondary);border:1px solid var(--border-color)}.maint-btn-secondary:hover{background:var(--border-color)}.maint-btn-danger{background:var(--error-light);color:var(--error-color)}.maint-btn-danger:hover{background:var(--error-light)}.maint-btn-sm{padding:5px 10px;font-size:.78rem}.maint-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:28px}.maint-kpi-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:20px;text-align:center}.maint-kpi-value{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--text-primary)}.maint-kpi-value.danger{color:var(--error-color)}.maint-kpi-value.warning{color:var(--warning-dark)}.maint-kpi-value.success{color:var(--success-color)}.maint-kpi-label{font-size:.82rem;color:var(--text-secondary);margin-top:4px}.maint-fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:28px}.maint-vessel-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:20px;cursor:pointer;transition:all var(--transition-fast);position:relative}.maint-vessel-card:hover{border-color:var(--text-light);box-shadow:var(--shadow-md)}.maint-vessel-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.maint-vessel-avatar{width:44px;height:44px;border-radius:var(--radius-xl);background:var(--background-gray);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.maint-vessel-card-info h3{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text-primary)}.maint-vessel-card-info span{font-size:.78rem;color:var(--text-secondary)}.maint-vessel-status{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-2xl);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.maint-vessel-status.operational{background:var(--success-light);color:var(--success-color)}.maint-vessel-status.out-of-service{background:var(--error-light);color:var(--error-color)}.maint-vessel-status.in-maintenance{background:var(--warning-light);color:var(--warning-dark)}.maint-vessel-card-stats{display:flex;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--background-gray)}.maint-vessel-stat{font-size:.78rem;color:var(--text-secondary)}.maint-vessel-stat strong{color:var(--text-primary)}.maint-vessel-stat.danger strong{color:var(--error-color)}.maint-table-wrap{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden;margin-bottom:24px}.maint-table-title{padding:16px 20px;font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--background-gray)}.maint-table{width:100%;border-collapse:collapse}.maint-table th{text-align:left;padding:10px 16px;font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-secondary);border-bottom:1px solid var(--background-gray)}.maint-table td{padding:12px 16px;font-size:.85rem;color:var(--text-secondary);border-bottom:1px solid var(--bg-secondary)}.maint-table tr:last-child td{border-bottom:none}.maint-table tr:hover td{background:var(--bg-secondary)}.maint-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-2xl);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.maint-badge.cosmetic{background:var(--info-light);color:var(--info-dark)}.maint-badge.functional{background:var(--warning-light);color:var(--warning-dark)}.maint-badge.safety-critical{background:var(--error-light);color:var(--error-color)}.maint-badge.reported{background:var(--info-light);color:var(--info-dark)}.maint-badge.acknowledged{background:var(--info-light);color:var(--primary-color)}.maint-badge.in-repair{background:var(--warning-light);color:var(--warning-dark)}.maint-badge.resolved{background:var(--success-light);color:var(--success-color)}.maint-badge.wont-fix{background:var(--background-gray);color:var(--text-secondary)}.maint-badge.pending{background:var(--info-light);color:var(--info-dark)}.maint-badge.in-progress{background:var(--warning-light);color:var(--warning-dark)}.maint-badge.completed{background:var(--success-light);color:var(--success-color)}.maint-badge.cancelled{background:var(--background-gray);color:var(--text-secondary)}.maint-badge.overdue{background:var(--error-light);color:var(--error-color)}.maint-badge.low{background:var(--background-gray);color:var(--text-secondary)}.maint-badge.medium{background:var(--info-light);color:var(--info-dark)}.maint-badge.high{background:var(--warning-light);color:var(--warning-dark)}.maint-badge.urgent{background:var(--error-light);color:var(--error-color)}.maint-badge.ok{background:var(--success-light);color:var(--success-color)}.maint-badge.expired{background:var(--error-light);color:var(--error-color)}.maint-badge.due-inspection{background:var(--warning-light);color:var(--warning-dark)}.maint-badge.replace{background:var(--error-light);color:var(--error-color)}.maint-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.maint-filter-select{padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.82rem;color:var(--text-secondary);background:var(--white);cursor:pointer}.maint-filter-select:focus{outline:none;border-color:var(--text-primary)}.maint-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.maint-modal{background:var(--white);border-radius:var(--radius-2xl);width:100%;max-width:560px;max-height:80vh;overflow-y:auto;padding:28px}.maint-modal-lg{max-width:720px}.maint-modal h2{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:0 0 20px}.maint-form-group{margin-bottom:16px}.maint-form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.maint-form-input,.maint-form-select,.maint-form-textarea{width:100%;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.85rem;color:var(--text-primary);background:var(--white);box-sizing:border-box}.maint-form-input:focus,.maint-form-select:focus,.maint-form-textarea:focus{outline:none;border-color:var(--text-primary)}.maint-form-textarea{resize:vertical;min-height:80px}.maint-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.maint-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--background-gray)}.maint-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:8px}.maint-photo-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--border-color);cursor:pointer}.maint-photo-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border:2px dashed var(--border-color);border-radius:var(--radius-lg);cursor:pointer;color:var(--text-muted);font-size:.75rem;gap:4px;transition:border-color .15s}.maint-photo-upload:hover{border-color:var(--text-muted)}.maint-empty{text-align:center;padding:48px 20px;color:var(--text-muted)}.maint-empty p{font-size:.95rem;margin:8px 0 0}.maint-empty-hint{font-size:.82rem}.maint-section{margin-bottom:28px}.maint-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.maint-section-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.maint-tabs{display:flex;gap:2px;background:var(--background-gray);border-radius:var(--radius-xl);padding:3px;margin-bottom:20px;width:fit-content}.maint-tab{padding:7px 16px;border-radius:var(--radius-lg);border:none;background:transparent;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.maint-tab.active{background:var(--white);color:var(--text-primary);box-shadow:var(--shadow-sm)}.maint-cost-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px;display:flex;gap:24px;margin-bottom:20px}.maint-cost-item{display:flex;flex-direction:column;gap:2px}.maint-cost-label{font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.3px}.maint-cost-value{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text-primary)}.maint-back-link{color:var(--text-secondary);text-decoration:none;font-size:.85rem;display:inline-flex;align-items:center;gap:4px;margin-bottom:16px}.maint-back-link:hover{color:var(--text-primary)}.maint-check-items{display:flex;flex-direction:column;gap:8px}.maint-check-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.maint-check-item.passed{background:var(--success-light)}.maint-check-item.failed{background:var(--error-light)}.maint-check-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}.maint-check-icon.pass{background:var(--success-light);color:var(--success-color)}.maint-check-icon.fail{background:var(--error-light);color:var(--error-color)}.maint-check-label{font-size:.85rem;color:var(--text-secondary);flex:1}@media (max-width: 768px){.maint-page{padding:16px}.maint-kpi-grid{grid-template-columns:repeat(2,1fr)}.maint-fleet-grid,.maint-form-row{grid-template-columns:1fr}.maint-page-header{flex-direction:column;align-items:flex-start}.maint-cost-card{flex-wrap:wrap}}.addons-page{margin:0 auto;padding:24px 20px 48px}.addons-hero{text-align:center;margin-bottom:28px}.addons-hero h1{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.addons-hero p{font-size:.95rem;color:var(--text-secondary);margin:0}.addons-alert{padding:12px 16px;border-radius:var(--radius-lg);font-size:.85rem;font-weight:500;margin-bottom:20px}.addons-alert-success{background:var(--success-light);color:var(--success-dark);border:1px solid var(--success-light)}.addons-alert-error{background:var(--error-light);color:var(--error-dark);border:1px solid var(--error-light)}.addons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:20px;margin-bottom:32px}@media (max-width: 560px){.addons-grid{grid-template-columns:1fr}}.addon-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:24px;display:flex;flex-direction:column;position:relative;transition:all var(--transition-normal)}.addon-card:hover{border-color:var(--text-light);box-shadow:var(--shadow-md)}.addon-card-active{border-color:var(--success-light);background:linear-gradient(180deg,var(--success-light) 0%,#ffffff 12%)}.addon-card-active:hover{border-color:var(--success-color)}.addon-card-coming-soon{opacity:.7}.addon-active-ribbon{position:absolute;top:14px;right:14px;background:var(--success-color);color:var(--white);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:var(--radius-md)}.addon-card-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.addon-icon{width:48px;height:48px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--primary-color),var(--primary-color));display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--white)}.addon-icon-active{background:linear-gradient(135deg,var(--success-color),var(--success-color))}.addon-card-header h2{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0 0 2px;line-height:1.3}.addon-tagline{font-size:.82rem;color:var(--text-secondary);margin:0}.addon-description{font-size:.84rem;color:var(--text-secondary);line-height:1.55;margin:0 0 16px}.addon-features{list-style:none;padding:0;margin:0 0 20px;flex:1}.addon-features li{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;color:var(--text-secondary);line-height:1.45;padding:4px 0}.addon-feature-check{color:var(--success-color);flex-shrink:0;margin-top:1px}.addon-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--background-gray)}.addon-price{display:flex;flex-direction:column}.addon-price-amount{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary)}.addon-price-period{font-size:.72rem;color:var(--text-muted)}.btn-addon{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius-lg);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-addon-activate{background:linear-gradient(135deg,var(--primary-color),var(--primary-color));color:var(--white);box-shadow:var(--shadow-md)}.btn-addon-activate:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-addon-activate:disabled{opacity:.7;cursor:not-allowed}.btn-addon-active{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-light);cursor:default}.btn-addon-coming-soon{background:var(--background-gray);color:var(--text-muted);cursor:default}.addons-help{text-align:center;padding:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl)}.addons-help h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.addons-help p{font-size:.85rem;color:var(--text-secondary);margin:0}.addons-help a{color:var(--primary-color);text-decoration:none;font-weight:500}.addons-help a:hover{text-decoration:underline}.import-page{max-width:960px;margin:0 auto;padding:2rem 1.5rem 3rem}.import-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.import-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0 0 .25rem}.import-header p{font-family:var(--font-sans);color:var(--text-secondary);font-size:.95rem;margin:0}.import-window-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:.85rem;font-weight:600;color:var(--warning-dark);background:var(--warning-light);border:1px solid var(--warning-light);border-radius:var(--radius-2xl);padding:6px 14px;white-space:nowrap}.import-loading{text-align:center;padding:4rem;font-family:var(--font-sans);color:var(--text-secondary)}.import-alert{font-family:var(--font-sans);font-size:.875rem;padding:.75rem 1rem;border-radius:var(--radius-lg);margin-bottom:1rem}.import-alert-error{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light)}.import-alert-warning{background:var(--warning-light);color:var(--warning-dark);border:1px solid var(--warning-light)}.import-steps{display:flex;align-items:center;gap:0;margin-bottom:2rem;padding:0 1rem}.import-step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:.8rem;font-weight:600;background:var(--background-gray);color:var(--text-muted);border:2px solid var(--border-color);flex-shrink:0;transition:all var(--transition-normal)}.import-step-dot.active{background:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.import-step-dot.completed{background:var(--success-color);color:var(--white);border-color:var(--success-color)}.import-step-label{font-family:var(--font-sans);font-size:.75rem;color:var(--text-muted);margin-left:6px;margin-right:8px;white-space:nowrap;transition:color .2s}.import-step-label.active{color:var(--text-primary);font-weight:600}.import-step-line{flex:1;height:2px;background:var(--border-color);margin:0 4px;transition:background .2s}.import-step-line.active{background:var(--success-color)}.import-closed-card{text-align:center;padding:3rem 2rem;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl)}.import-closed-icon{margin-bottom:1rem}.import-closed-card h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 .5rem}.import-closed-card p{font-family:var(--font-sans);color:var(--text-secondary);max-width:480px;margin:0 auto}.import-choose{display:flex;flex-wrap:wrap;gap:1.25rem}.import-choose-card{flex:1;min-width:280px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:2rem;cursor:pointer;transition:all var(--transition-normal)}.import-choose-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.import-choose-icon{margin-bottom:1rem}.import-choose-card h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 .5rem}.import-choose-card p{font-family:var(--font-sans);font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.import-choose-cta{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--primary-color)}.import-tip{width:100%;font-family:var(--font-sans);font-size:.85rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.75rem 1rem}.import-tip strong{color:var(--text-primary)}.import-upload-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:2rem}.import-upload-card h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 .25rem}.import-upload-card>p{font-family:var(--font-sans);font-size:.875rem;color:var(--text-secondary);margin:0 0 1.5rem}.import-upload-methods{display:flex;flex-direction:column;gap:0}.import-file-label{display:flex;align-items:center;gap:10px;padding:1.25rem;border:2px dashed var(--border-color);border-radius:var(--radius-xl);cursor:pointer;font-family:var(--font-sans);font-size:.9rem;font-weight:500;color:var(--primary-color);transition:all var(--transition-fast)}.import-file-label:hover{border-color:var(--primary-color);background:var(--info-light)}.import-upload-divider{display:flex;align-items:center;gap:12px;margin:1rem 0}.import-upload-divider:before,.import-upload-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.import-upload-divider span{font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase}.import-paste-area{width:100%;font-family:Inter,monospace;font-size:.85rem;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);resize:vertical;min-height:120px;color:var(--text-primary);background:var(--bg-secondary);transition:border-color .15s;box-sizing:border-box}.import-paste-area:focus{outline:none;border-color:var(--primary-color);background:var(--white)}.import-paste-area::placeholder{color:var(--text-muted)}.import-file-indicator{display:flex;align-items:center;gap:8px;margin-top:.75rem;font-family:var(--font-sans);font-size:.85rem;color:var(--success-color);font-weight:500}.import-file-size{color:var(--text-muted);font-weight:400}.import-upload-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--background-gray)}.import-btn{font-family:var(--font-sans);font-size:.875rem;font-weight:600;padding:.6rem 1.25rem;border-radius:var(--radius-lg);cursor:pointer;border:none;transition:all var(--transition-fast);text-decoration:none;display:inline-flex;align-items:center}.import-btn-primary{background:var(--primary-color);color:var(--white)}.import-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.import-btn-primary:disabled{background:var(--text-muted);cursor:not-allowed}.import-btn-outline{background:var(--white);color:var(--text-secondary);border:1px solid var(--border-color)}.import-btn-outline:hover{background:var(--bg-secondary);color:var(--text-primary)}.import-btn-commit{background:var(--success-color)}.import-btn-commit:hover:not(:disabled){background:var(--success-color)}.import-map-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:2rem}.import-map-header h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 .25rem}.import-map-header p{font-family:var(--font-sans);font-size:.875rem;color:var(--text-secondary);margin:0 0 1.25rem}.import-map-table-wrap{overflow-x:auto;margin-bottom:.5rem}.import-map-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:.85rem}.import-map-table th{text-align:left;padding:.6rem .75rem;color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color);white-space:nowrap}.import-map-table td{padding:.6rem .75rem;border-bottom:1px solid var(--background-gray)}.import-map-header-cell{font-weight:600;color:var(--text-primary);font-family:Inter,monospace;font-size:.8rem;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:.15em .4em}.import-map-select{width:100%;padding:.45rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.85rem;color:var(--text-primary);background:var(--white);cursor:pointer}.import-map-select:focus{outline:none;border-color:var(--primary-color)}.import-map-status{font-size:.8rem;font-weight:500}.import-map-status.mapped{color:var(--success-color)}.import-map-status.skipped{color:var(--text-muted)}.import-preview-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:2rem}.import-preview-header h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 .25rem}.import-preview-header p{font-family:var(--font-sans);font-size:.875rem;color:var(--text-secondary);margin:0 0 1.25rem}.import-preview-stats{display:flex;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.import-stat{flex:1;min-width:100px;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);text-align:center}.import-stat-value{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary)}.import-stat-label{font-family:var(--font-sans);font-size:.75rem;color:var(--text-secondary);margin-top:2px;font-weight:500}.import-stat-success .import-stat-value{color:var(--success-color)}.import-stat-error .import-stat-value{color:var(--error-color)}.import-stat-warning .import-stat-value{color:var(--warning-dark)}.import-duplicate-option{margin-bottom:1rem;padding:.75rem 1rem;background:var(--warning-light);border:1px solid var(--warning-light);border-radius:var(--radius-lg)}.import-duplicate-option label{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:.85rem;color:var(--warning-dark);cursor:pointer}.import-duplicate-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--warning-dark);flex-shrink:0}.import-preview-table-wrap{overflow-x:auto;margin-bottom:.5rem}.import-preview-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:.8rem}.import-preview-table th{text-align:left;padding:.5rem .6rem;color:var(--text-secondary);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color);white-space:nowrap}.import-preview-table td{padding:.45rem .6rem;border-bottom:1px solid var(--background-gray);color:var(--text-primary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-preview-table tr.error-row{background:var(--error-light)}.import-preview-table tr.duplicate-row{background:var(--warning-light)}.import-row-status{font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap}.import-row-status.ok{color:var(--success-color);background:var(--success-light)}.import-row-status.error{color:var(--error-color);background:var(--error-light)}.import-row-status.duplicate{color:var(--warning-dark);background:var(--warning-light)}.import-match-tag{display:inline-block;margin-left:6px;font-size:.7rem;color:var(--primary-color);background:var(--info-light);padding:1px 5px;border-radius:var(--radius-sm);font-weight:500}.import-preview-truncate{text-align:center;padding:.75rem;font-family:var(--font-sans);font-size:.8rem;color:var(--text-muted)}.import-processing{text-align:center;padding:4rem 2rem}.import-processing h3{font-family:var(--font-display);font-weight:700;color:var(--text-primary);margin:1.5rem 0 .5rem}.import-processing p{font-family:var(--font-sans);color:var(--text-secondary);font-size:.9rem}.import-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;margin:0 auto;animation:import-spin .8s linear infinite}@keyframes import-spin{to{transform:rotate(360deg)}}.import-done-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:2.5rem 2rem;text-align:center}.import-done-icon{margin-bottom:.75rem}.import-done-card h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--text-primary);margin:0 0 1.5rem}.import-done-stats{display:flex;justify-content:center;gap:2.5rem;margin-bottom:1.5rem}.import-done-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.import-done-stat-value{font-family:var(--font-display);font-weight:700;font-size:2rem}.import-done-stat-value.success{color:var(--success-color)}.import-done-stat-value.warning{color:var(--warning-dark)}.import-done-stat-value.error{color:var(--error-color)}.import-done-stat-label{font-family:var(--font-sans);font-size:.8rem;color:var(--text-secondary)}.import-done-errors{text-align:left;margin:1.5rem auto;max-width:600px;background:var(--error-light);border:1px solid var(--error-light);border-radius:var(--radius-xl);padding:1rem 1.25rem}.import-done-errors h4{font-family:var(--font-sans);font-weight:600;font-size:.85rem;color:var(--error-color);margin:0 0 .5rem}.import-done-error-list{display:flex;flex-direction:column;gap:4px}.import-done-error-item{font-family:var(--font-sans);font-size:.8rem;color:var(--error-dark);display:flex;gap:8px}.import-error-row{font-weight:600;min-width:52px;color:var(--error-dark)}.import-done-actions{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.import-history-section{width:100%;margin-top:1.5rem}.import-history-section h3{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text-primary);margin:0 0 .75rem}.import-history-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:.8rem}.import-history-table th{text-align:left;padding:.5rem .6rem;color:var(--text-secondary);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color)}.import-history-table td{padding:.5rem .6rem;border-bottom:1px solid var(--background-gray);color:var(--text-primary)}.import-history-date{color:var(--text-secondary)}.import-type-badge{font-size:.7rem;font-weight:600;color:var(--primary-color);background:var(--info-light);padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase}.import-status-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase}.import-status-badge.completed{color:var(--success-color);background:var(--success-light)}.import-status-badge.processing{color:var(--primary-color);background:var(--info-light)}.import-status-badge.failed{color:var(--error-color);background:var(--error-light)}.import-status-badge.pending{color:var(--warning-dark);background:var(--warning-light)}.import-count-success{color:var(--success-color);font-weight:600}.import-count-error{color:var(--error-color);font-weight:600}@media (max-width: 640px){.import-page{padding:1rem}.import-header{flex-direction:column;gap:.75rem}.import-steps{overflow-x:auto;padding:0}.import-step-label{display:none}.import-preview-stats{flex-direction:column}.import-done-stats{flex-direction:column;gap:1rem}.import-upload-actions{flex-wrap:wrap}}.gdpr-page{margin:0 auto;padding:32px 24px 60px}.gdpr-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0 0 4px}.gdpr-header p{color:var(--text-secondary);font-size:.9rem;margin:0 0 24px}.gdpr-loading{text-align:center;padding:80px 0;color:var(--text-secondary)}.gdpr-alert{padding:12px 16px;border-radius:var(--radius-lg);font-size:.875rem;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.gdpr-alert-error{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light)}.gdpr-alert-success{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-light)}.gdpr-alert button{background:none;border:none;font-size:1.1rem;cursor:pointer;color:inherit}.gdpr-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.gdpr-tab{padding:10px 18px;background:none;border:none;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast);display:flex;align-items:center;gap:6px}.gdpr-tab:hover{color:var(--text-primary)}.gdpr-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.gdpr-tab-badge{background:var(--error-color);color:var(--white);font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:var(--radius-full);min-width:18px;text-align:center}.gdpr-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;margin-bottom:16px}.gdpr-card h3{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--text-primary);margin:0 0 16px}.gdpr-card h4{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text-primary);margin:0 0 8px}.gdpr-hint{color:var(--text-secondary);font-size:.82rem;margin:0 0 16px}.gdpr-empty{color:var(--text-muted);font-size:.875rem}.gdpr-empty-state{text-align:center;padding:40px 24px}.gdpr-empty-state p{color:var(--text-muted)}.gdpr-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.gdpr-stat-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;text-align:center}.gdpr-stat-card.gdpr-stat-warning{border-color:var(--warning-light);background:var(--warning-light)}.gdpr-stat-card.gdpr-stat-info{border-color:var(--info-light);background:var(--info-light)}.gdpr-stat-value{font-family:var(--font-display);font-weight:700;font-size:2rem;color:var(--text-primary)}.gdpr-stat-label{font-size:.82rem;color:var(--text-secondary);margin-top:4px}.gdpr-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.gdpr-dashboard-grid{grid-template-columns:1fr}}.gdpr-consent-bars{display:flex;flex-direction:column;gap:10px}.gdpr-consent-bar-row{display:flex;align-items:center;gap:12px}.gdpr-consent-bar-label{font-size:.82rem;color:var(--text-secondary);min-width:110px}.gdpr-consent-bar-track{flex:1;height:8px;background:var(--background-gray);border-radius:99px;overflow:hidden}.gdpr-consent-bar-fill{height:100%;background:var(--text-primary);border-radius:99px;transition:width .4s ease}.gdpr-consent-bar-count{font-size:.82rem;font-weight:600;color:var(--text-primary);min-width:30px;text-align:right}.gdpr-checklist{display:flex;flex-direction:column;gap:8px}.gdpr-check-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary)}.gdpr-check-item.done .gdpr-check-icon{color:var(--success-color);font-weight:700}.gdpr-check-item.pending .gdpr-check-icon{color:var(--text-light)}.gdpr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gdpr-form-full{grid-column:1 / -1}@media (max-width: 640px){.gdpr-form-grid{grid-template-columns:1fr}}.gdpr-form-group{display:flex;flex-direction:column;gap:6px}.gdpr-form-group label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.gdpr-form-group input,.gdpr-form-group select,.gdpr-form-group textarea{padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;color:var(--text-primary);transition:border-color .15s}.gdpr-form-group input:focus,.gdpr-form-group select:focus,.gdpr-form-group textarea:focus{outline:none;border-color:var(--text-primary)}.gdpr-form-hint{font-size:.78rem;color:var(--text-muted)}.gdpr-toggle-list{display:flex;flex-direction:column;gap:4px}.gdpr-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--background-gray)}.gdpr-toggle-row:last-child{border-bottom:none}.gdpr-toggle-text{display:flex;flex-direction:column;gap:2px}.gdpr-toggle-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.gdpr-toggle-desc{font-size:.78rem;color:var(--text-muted)}.gdpr-toggle{position:relative;width:44px;height:24px;flex-shrink:0;cursor:pointer}.gdpr-toggle input{opacity:0;width:0;height:0}.gdpr-toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--text-light);border-radius:var(--radius-full);transition:.2s}.gdpr-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:var(--white);border-radius:50%;transition:.2s}.gdpr-toggle input:checked+.gdpr-toggle-slider{background:var(--text-primary)}.gdpr-toggle input:checked+.gdpr-toggle-slider:before{transform:translate(20px)}.gdpr-settings-actions{display:flex;justify-content:flex-end;padding-top:12px}.gdpr-btn{padding:8px 16px;border-radius:var(--radius-lg);font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:all var(--transition-fast)}.gdpr-btn:disabled{opacity:.6;cursor:not-allowed}.gdpr-btn-primary{background:var(--text-primary);color:var(--white)}.gdpr-btn-primary:hover:not(:disabled){background:var(--text-primary)}.gdpr-btn-outline{background:var(--white);color:var(--text-primary);border:1px solid var(--border-color)}.gdpr-btn-outline:hover:not(:disabled){background:var(--bg-secondary)}.gdpr-btn-danger{background:var(--error-color);color:var(--white)}.gdpr-btn-danger:hover:not(:disabled){background:var(--error-dark)}.gdpr-btn-sm{padding:5px 12px;font-size:.78rem}.gdpr-requests-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.gdpr-requests-header h3{font-family:var(--font-display);font-weight:700;color:var(--text-primary);margin:0}.gdpr-new-request{border-color:var(--info-light);background:var(--bg-secondary)}.gdpr-new-request-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.gdpr-requests-list{display:flex;flex-direction:column;gap:12px}.gdpr-request-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:20px}.gdpr-request-card.gdpr-request-pending{border-left:4px solid var(--warning-color)}.gdpr-request-card.gdpr-request-in_progress{border-left:4px solid var(--primary-color)}.gdpr-request-card.gdpr-request-completed{border-left:4px solid var(--success-color)}.gdpr-request-card.gdpr-request-rejected{border-left:4px solid var(--error-color)}.gdpr-request-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.gdpr-request-top>div{display:flex;align-items:center;gap:8px}.gdpr-request-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-md)}.gdpr-request-badge.pending{background:var(--warning-light);color:var(--warning-dark)}.gdpr-request-badge.in_progress{background:var(--info-light);color:var(--info-dark)}.gdpr-request-badge.completed{background:var(--success-light);color:var(--success-dark)}.gdpr-request-badge.rejected{background:var(--error-light);color:var(--error-dark)}.gdpr-request-type{font-size:.85rem;font-weight:600;color:var(--text-primary)}.gdpr-request-date{font-size:.78rem;color:var(--text-muted)}.gdpr-request-body{font-size:.875rem;color:var(--text-secondary)}.gdpr-request-notes{margin-top:6px;color:var(--text-secondary);font-size:.82rem}.gdpr-request-response{margin-top:6px;font-size:.82rem;color:var(--text-secondary);background:var(--bg-secondary);padding:8px 12px;border-radius:var(--radius-lg)}.gdpr-request-schedule{margin-top:8px;font-size:.78rem;color:var(--warning-dark);background:var(--warning-light);padding:6px 12px;border-radius:var(--radius-lg)}.gdpr-request-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--background-gray)}.gdpr-consent-search{display:flex;gap:8px;max-width:480px}.gdpr-consent-search input{flex:1;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem}.gdpr-consent-search input:focus{outline:none;border-color:var(--text-primary)}.gdpr-consent-status{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-md)}.gdpr-consent-status.granted{background:var(--success-light);color:var(--success-dark)}.gdpr-consent-status.withdrawn{background:var(--error-light);color:var(--error-dark)}.gdpr-table{width:100%;border-collapse:collapse}.gdpr-table th{text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:8px 12px;border-bottom:1px solid var(--border-color)}.gdpr-table td{padding:10px 12px;font-size:.85rem;color:var(--text-secondary);border-bottom:1px solid var(--background-gray)}.gdpr-date{white-space:nowrap;font-size:.78rem;color:var(--text-secondary)}.gdpr-retention-actions{display:flex;gap:6px}.gdpr-country-badge{display:inline-block;background:var(--info-light);color:var(--info-dark);font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:var(--radius-xl);margin-right:10px;vertical-align:middle}.gdpr-regulation-tag{display:inline-block;background:var(--background-gray);color:var(--text-secondary);font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-lg);margin-left:6px;text-transform:uppercase;letter-spacing:.03em}.gdpr-card-jurisdiction{border-left:3px solid var(--primary-color)}.gdpr-jurisdiction-badge{display:inline-block;background:var(--info-light);color:var(--primary-hover);font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.gdpr-auto-config-banner{display:flex;justify-content:space-between;align-items:center;background:var(--success-light);border:1px solid var(--success-light);border-radius:var(--radius-lg);padding:14px 20px;margin-bottom:20px}.gdpr-auto-config-banner strong{display:block;font-size:.9rem;color:var(--success-dark);margin-bottom:2px}.gdpr-auto-config-banner span{font-size:.8rem;color:var(--success-dark)}.gdpr-form-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:4px}.gdpr-hint{font-size:.82rem;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.gdpr-breaches-list{display:flex;flex-direction:column;gap:16px}.gdpr-breach-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:20px 24px}.gdpr-breach-card.gdpr-breach-open{border-left:3px solid var(--warning-color)}.gdpr-breach-card.gdpr-breach-closed{opacity:.75;border-left:3px solid var(--success-color)}.gdpr-breach-card.gdpr-breach-overdue{border-left:3px solid var(--error-color)}.gdpr-breach-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.gdpr-breach-title-row{display:flex;align-items:center;gap:10px}.gdpr-breach-title-row h4{margin:0;font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-primary)}.gdpr-breach-severity{display:inline-block;color:#fff;font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.04em}.gdpr-breach-desc{font-size:.85rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.5}.gdpr-breach-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:.78rem;color:var(--text-secondary);margin-bottom:14px}.gdpr-breach-overdue-banner{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-color);font-size:.82rem;font-weight:500;padding:10px 14px;border-radius:var(--radius-lg);margin-bottom:14px}.gdpr-breach-remedial,.gdpr-breach-rootcause,.gdpr-breach-ref{font-size:.82rem;color:var(--text-secondary);margin-bottom:6px}.gdpr-breach-timeline{display:flex;gap:0;margin:16px 0;padding:12px 0;border-top:1px solid var(--background-gray);border-bottom:1px solid var(--background-gray);overflow-x:auto}.gdpr-timeline-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;min-width:90px}.gdpr-timeline-step:after{content:"";position:absolute;top:8px;left:50%;width:100%;height:2px;background:var(--border-color);z-index:0}.gdpr-timeline-step:last-child:after{display:none}.gdpr-timeline-step.done:after{background:var(--success-color)}.gdpr-timeline-dot{width:16px;height:16px;border-radius:50%;background:var(--border-color);border:2px solid white;box-shadow:0 0 0 2px var(--border-color);z-index:1;margin-bottom:6px}.gdpr-timeline-step.done .gdpr-timeline-dot{background:var(--success-color);box-shadow:0 0 0 2px var(--success-color)}.gdpr-timeline-label{font-size:.68rem;font-weight:600;color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.03em}.gdpr-timeline-step.done .gdpr-timeline-label{color:var(--text-primary)}.gdpr-timeline-date{font-size:.62rem;color:var(--text-muted);margin-top:2px}.gdpr-request-badge.detected{background:var(--warning-light);color:var(--warning-dark)}.gdpr-request-badge.investigating{background:var(--info-light);color:var(--info-dark)}.gdpr-request-badge.contained{background:var(--info-light);color:var(--primary-hover)}.gdpr-request-badge.notifying-authorities{background:var(--warning-light);color:var(--warning-dark)}.gdpr-request-badge.notifying-individuals{background:var(--error-light);color:var(--error-dark)}.gdpr-request-badge.resolved{background:var(--success-light);color:var(--success-dark)}.gdpr-request-badge.closed{background:var(--background-gray);color:var(--text-secondary)}.mktpref-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-secondary)}.mktpref-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:40px 36px;max-width:520px;width:100%;box-shadow:var(--shadow-md)}.mktpref-loading{text-align:center;color:var(--text-secondary);padding:40px 0}.mktpref-error-state{text-align:center;padding:20px 0}.mktpref-error-state h2{font-family:var(--font-display);font-weight:700;color:var(--text-primary);font-size:1.25rem;margin:0 0 8px}.mktpref-error-state p{color:var(--text-secondary);font-size:.875rem;margin:0 0 8px}.mktpref-hint{font-size:.78rem;color:var(--text-muted)}.mktpref-header{text-align:center;margin-bottom:28px}.mktpref-header h1{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--text-primary);margin:0 0 8px}.mktpref-school{font-size:1rem;font-weight:600;color:var(--text-secondary);margin:0 0 4px}.mktpref-client{font-size:.875rem;color:var(--text-secondary);margin:0 0 2px}.mktpref-email{font-size:.82rem;color:var(--text-muted);margin:0}.mktpref-alert{padding:10px 14px;border-radius:var(--radius-lg);font-size:.82rem;margin-bottom:16px;text-align:center}.mktpref-alert-error{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light)}.mktpref-alert-success{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-light)}.mktpref-channels{margin-bottom:24px}.mktpref-channels h3{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text-primary);margin:0 0 16px}.mktpref-channel{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--background-gray)}.mktpref-channel:last-child{border-bottom:none}.mktpref-channel div{display:flex;flex-direction:column;gap:2px}.mktpref-channel strong{font-size:.9rem;color:var(--text-primary)}.mktpref-channel span{font-size:.78rem;color:var(--text-muted)}.mktpref-toggle{position:relative;width:44px;height:24px;flex-shrink:0;cursor:pointer;margin-top:2px}.mktpref-toggle input{opacity:0;width:0;height:0}.mktpref-toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--text-light);border-radius:var(--radius-full);transition:.2s}.mktpref-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:var(--white);border-radius:50%;transition:.2s}.mktpref-toggle input:checked+.mktpref-toggle-slider{background:var(--text-primary)}.mktpref-toggle input:checked+.mktpref-toggle-slider:before{transform:translate(20px)}.mktpref-actions{display:flex;justify-content:center;margin-bottom:20px}.mktpref-btn{padding:10px 28px;border-radius:var(--radius-lg);font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:all var(--transition-fast)}.mktpref-btn:disabled{opacity:.6;cursor:not-allowed}.mktpref-btn-primary{background:var(--text-primary);color:var(--white)}.mktpref-btn-primary:hover:not(:disabled){background:var(--text-primary)}.mktpref-btn-outline{background:var(--white);color:var(--text-primary);border:1px solid var(--border-color)}.mktpref-btn-outline:hover:not(:disabled){background:var(--bg-secondary)}.mktpref-unsub-section{text-align:center;padding-top:12px;border-top:1px solid var(--background-gray)}.mktpref-unsub-link{background:none;border:none;color:var(--error-color);font-size:.82rem;cursor:pointer;text-decoration:underline}.mktpref-unsub-link:hover{color:var(--error-dark)}.mktpref-unsub-link:disabled{opacity:.5;cursor:not-allowed}.mktpref-unsubscribed{text-align:center;padding:24px 0}.mktpref-unsub-icon{width:48px;height:48px;border-radius:50%;background:var(--success-light);color:var(--success-color);font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border:2px solid var(--success-light)}.mktpref-unsubscribed h3{font-family:var(--font-display);font-weight:700;color:var(--text-primary);margin:0 0 8px}.mktpref-unsubscribed p{font-size:.875rem;color:var(--text-secondary);margin:0 0 4px}.mktpref-unsubscribed .mktpref-btn-outline{margin-top:16px}.mktpref-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--background-gray);text-align:center}.mktpref-footer p{font-size:.72rem;color:var(--text-muted);margin:0 0 4px}@media (max-width: 480px){.mktpref-card{padding:24px 20px;border-radius:var(--radius-xl)}}.instructor-calendar-page{margin:0 auto;padding:32px 24px}.instructor-calendar-page .page-header{align-items:flex-start}.instructor-calendar-page .header-content{display:flex;flex-direction:column;gap:4px}.instructor-calendar-page .page-subtitle{font-size:14px;color:var(--text-secondary);margin:0}.instructor-calendar-page .header-actions{display:flex;align-items:center;gap:12px}.tenant-filter{padding:8px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:14px;color:var(--text-primary);background:var(--white);min-width:180px;cursor:pointer}.tenant-filter:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.calendar-error{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light);border-radius:var(--radius-lg);padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;font-size:14px}.calendar-error button{background:none;border:none;color:var(--error-color);font-size:18px;cursor:pointer;padding:0 4px}.calendar-success{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-light);border-radius:var(--radius-lg);padding:12px 16px;margin-bottom:16px;font-size:14px}.calendar-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary);font-size:16px}.calendar-layout{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}@media (max-width: 1100px){.calendar-layout{grid-template-columns:1fr}}.calendar-main{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px}.month-nav{display:flex;align-items:center;gap:12px;margin-bottom:16px}.month-nav h2{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--text-primary);margin:0;min-width:200px;text-align:center}.month-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.month-nav-btn:hover{background:var(--bg-secondary);border-color:var(--text-light)}.today-btn{margin-left:auto;padding:6px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.today-btn:hover{background:var(--bg-secondary);border-color:var(--text-light)}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--background-gray)}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.available{background:var(--success-color)}.legend-dot.blocked{background:var(--error-color)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden}.calendar-day-header{padding:10px 4px;text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.calendar-cell{min-height:100px;padding:6px;border-right:1px solid var(--background-gray);border-bottom:1px solid var(--background-gray);cursor:pointer;transition:background .15s;position:relative}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:hover,.calendar-cell.other-month{background:var(--bg-secondary)}.calendar-cell.other-month .cell-date{color:var(--text-light)}.calendar-cell.today .cell-date{background:var(--primary-color);color:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:600}.calendar-cell.selected{background:var(--info-light);box-shadow:inset 0 0 0 2px var(--primary-color)}.calendar-cell.avail-available{background:linear-gradient(135deg,#22c55e0f,#22c55e05)}.calendar-cell.avail-blocked{background:linear-gradient(135deg,#ef44440f,#ef444405)}.calendar-cell.avail-available:after,.calendar-cell.avail-blocked:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%}.calendar-cell.avail-available:after{background:var(--success-color)}.calendar-cell.avail-blocked:after{background:var(--error-color)}.cell-date{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px;display:inline-flex}.cell-events{display:flex;flex-direction:column;gap:2px}.cell-event{font-size:11px;padding:2px 4px;border-left:3px solid var(--primary-color);background:var(--background-gray);border-radius:0 4px 4px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary)}.cell-more{font-size:10px;color:var(--text-secondary);padding:1px 4px}.calendar-panel{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden;position:sticky;top:24px}.panel-tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.panel-tab{flex:1;padding:12px 8px;border:none;background:none;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:4px}.panel-tab:hover{color:var(--text-primary);background:#00000005}.panel-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--white)}.tab-badge{background:var(--error-color);color:#fff;font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--radius-xl);line-height:1.4}.panel-content{padding:20px;max-height:calc(100vh - 200px);overflow-y:auto}.panel-content h3{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--text-primary);margin:0 0 16px}.panel-content h4{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px}.panel-empty{color:var(--text-muted);font-size:14px;text-align:center;padding:24px 0}.panel-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted);font-size:14px}.panel-description{color:var(--text-secondary);font-size:13px;margin:-8px 0 16px}.panel-section{margin-bottom:16px}.detail-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:0 9px 9px 0;padding:12px;margin-bottom:8px}.detail-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.detail-card-header strong{font-size:14px;color:var(--text-primary)}.tenant-badge{font-size:10px;font-weight:600;color:#fff;padding:2px 8px;border-radius:var(--radius-xl);white-space:nowrap}.detail-card-body{display:flex;flex-direction:column;gap:4px}.detail-row{display:flex;justify-content:space-between;font-size:13px}.detail-row span:first-child{color:var(--text-secondary)}.detail-row span:last-child{color:var(--text-primary);font-weight:500}.detail-row.muted span{color:var(--text-muted);font-weight:400}.avail-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:10px 12px;margin-bottom:8px;transition:box-shadow .15s}.avail-card.available{border-left:3px solid var(--success-color)}.avail-card.blocked{border-left:3px solid var(--error-color)}.avail-card:hover{box-shadow:var(--shadow-sm)}.avail-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.avail-status{font-size:12px;font-weight:600}.avail-status.available{color:var(--success-color)}.avail-status.blocked{color:var(--error-color)}.avail-card-actions{display:flex;gap:4px}.btn-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-secondary);font-size:16px;cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-icon:hover{background:var(--background-gray);color:var(--text-primary)}.btn-icon.danger:hover{background:var(--error-light);color:var(--error-color)}.avail-card-dates{font-size:13px;color:var(--text-secondary)}.avail-card-title{font-size:12px;color:var(--text-secondary);margin-top:2px}.avail-form{display:flex;flex-direction:column;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--background-gray);margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group label .optional{font-weight:400;color:var(--text-muted)}.form-group input[type=text],.form-group input[type=date]{padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);color:var(--text-primary);transition:border-color .15s}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.avail-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.type-btn{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.type-btn:hover{border-color:var(--text-light)}.type-btn.active.available{background:var(--success-light);border-color:var(--success-color);color:var(--success-color)}.type-btn.active.blocked{background:var(--error-light);border-color:var(--error-color);color:var(--error-color)}.form-actions{display:flex;gap:8px}.btn-primary{padding:8px 20px;background:var(--text-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--text-primary)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:8px 20px;background:var(--white);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-light)}.avail-list{margin-top:4px}.request-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px;margin-bottom:10px;background:var(--bg-secondary)}.request-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.request-card-header strong{font-size:14px;color:var(--text-primary)}.request-status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-xl);text-transform:uppercase;letter-spacing:.3px}.request-status.pending{background:var(--warning-light);color:var(--warning-dark)}.request-status.approved{background:var(--success-light);color:var(--success-color)}.request-status.declined{background:var(--error-light);color:var(--error-color)}.request-card-body{display:flex;flex-direction:column;gap:4px}.request-message{font-size:13px;color:var(--text-secondary);font-style:italic;padding:6px 10px;background:var(--white);border-radius:var(--radius-md);margin-top:4px}.request-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color)}.response-form{display:flex;flex-direction:column;gap:8px}.response-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:13px;color:var(--text-primary)}.response-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.response-buttons{display:flex;gap:8px}.btn-approve{padding:6px 14px;background:var(--success-color);color:#fff;border:none;border-radius:var(--radius-lg);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-approve:hover{background:var(--success-dark)}.btn-decline{padding:6px 14px;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-lg);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-decline:hover{background:var(--error-dark)}.btn-cancel{padding:6px 14px;background:var(--white);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:13px;font-weight:500;cursor:pointer}.btn-cancel:hover{background:var(--bg-secondary)}.settings-list{display:flex;flex-direction:column;gap:12px}.setting-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px;background:var(--bg-secondary)}.setting-card-header{margin-bottom:10px}.setting-tenant-name{font-weight:600;font-size:14px;color:var(--text-primary);padding-left:10px;border-left:3px solid var(--primary-color)}.scheduling-mode-toggle{display:flex;flex-direction:column;gap:6px}.mode-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);cursor:pointer;transition:all var(--transition-fast);text-align:left;width:100%}.mode-btn:hover{border-color:var(--text-light)}.mode-btn.active.auto{background:var(--warning-light);border-color:var(--warning-color)}.mode-btn.active.request{background:var(--info-light);border-color:var(--primary-color)}.mode-icon{font-size:20px;flex-shrink:0}.mode-btn strong{display:block;font-size:13px;color:var(--text-primary);margin-bottom:1px}.mode-desc{font-size:12px;color:var(--text-secondary)}.quals-list{display:flex;flex-direction:column;gap:10px}.qual-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:12px 14px;border-left:4px solid var(--border-color)}.qual-card.qual-valid{border-left-color:var(--success-color)}.qual-card.qual-expiring{border-left-color:var(--warning-color);background:var(--warning-light)}.qual-card.qual-expired{border-left-color:var(--error-color);background:var(--error-light)}.qual-card.qual-no-expiry{border-left-color:var(--info-color)}.qual-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.qual-card-header strong{font-size:13px;color:var(--text-primary)}.qual-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;white-space:nowrap}.qual-badge-valid{background:var(--success-light);color:var(--success-dark)}.qual-badge-expiring{background:var(--warning-light);color:var(--warning-dark)}.qual-badge-expired{background:var(--error-light);color:var(--error-dark)}.qual-badge-no-expiry{background:var(--info-light);color:var(--info-dark)}.qual-card-body{display:flex;flex-direction:column;gap:4px}.qual-card-body .detail-row{font-size:12px}@media (max-width: 768px){.instructor-calendar-page{padding:16px}.instructor-calendar-page .page-header{flex-direction:column}.instructor-calendar-page .page-header h1{font-size:22px}.tenant-filter{width:100%}.calendar-cell{min-height:60px;padding:4px}.cell-event{font-size:9px;padding:1px 3px}.month-nav h2{font-size:16px;min-width:150px}.panel-tabs{overflow-x:auto}}.private-tuition-page{margin:0 auto;padding:32px 24px}.pt-header{margin-bottom:24px}.pt-header h1{font-family:var(--font-display);font-weight:700;font-size:28px;color:var(--text-primary);margin:0}.pt-subtitle{font-size:14px;color:var(--text-secondary);margin:4px 0 0}.pt-error{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-light);border-radius:var(--radius-lg);padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;font-size:14px}.pt-error button{background:none;border:none;color:var(--error-color);font-size:18px;cursor:pointer}.pt-success{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-light);border-radius:var(--radius-lg);padding:12px 16px;margin-bottom:16px;font-size:14px}.pt-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary);font-size:16px}.pt-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);margin-bottom:24px}.pt-tab{padding:12px 24px;border:none;background:none;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast);display:flex;align-items:center;gap:6px}.pt-tab:hover{color:var(--text-primary)}.pt-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.pt-tab-badge{background:var(--error-color);color:#fff;font-size:11px;font-weight:600;padding:1px 7px;border-radius:var(--radius-xl)}.pt-content{min-height:400px}.pt-filters{margin-bottom:16px}.pt-select{padding:8px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:14px;color:var(--text-primary);background:var(--white);cursor:pointer;min-width:160px}.pt-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.pt-layout{display:grid;grid-template-columns:400px 1fr;gap:24px;align-items:start}@media (max-width: 1000px){.pt-layout{grid-template-columns:1fr}}.pt-list{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 280px);overflow-y:auto}.pt-request-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px 16px;cursor:pointer;transition:all var(--transition-fast)}.pt-request-card:hover{border-color:var(--text-light);box-shadow:var(--shadow-sm)}.pt-request-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.pt-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.pt-card-top strong{font-size:14px;color:var(--text-primary)}.pt-vessel-name{display:block;font-size:12px;color:var(--text-secondary)}.pt-status{font-size:11px;font-weight:600;padding:2px 10px;border-radius:var(--radius-xl);white-space:nowrap}.pt-card-meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.pt-price{font-weight:600;color:var(--text-primary)}.pt-card-details-preview{font-size:12px;color:var(--text-muted);line-height:1.4}.pt-card-instructor{font-size:12px;color:var(--primary-color);margin-top:4px}.pt-empty{text-align:center;padding:48px 0;color:var(--text-muted);font-size:14px}.pt-detail{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden;position:sticky;top:24px}.pt-detail-content{padding:24px;max-height:calc(100vh - 240px);overflow-y:auto}.pt-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.pt-detail-header h3{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--text-primary);margin:0}.pt-detail-placeholder{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-muted);font-size:14px}.pt-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--background-gray)}.pt-section:last-child{border-bottom:none}.pt-section h4{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.pt-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pt-field{display:flex;flex-direction:column;gap:2px}.pt-field.full{grid-column:1 / -1}.pt-field label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.pt-field span{font-size:14px;color:var(--text-primary)}.pt-price-large{font-size:18px!important;font-weight:700;color:var(--text-primary)}.pt-tuition-text{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0;white-space:pre-wrap}.pt-quote-notes{margin-top:8px;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.pt-quote-notes label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.pt-quote-notes p{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.pt-assigned-instructor{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:var(--success-light);border:1px solid var(--success-light);border-radius:var(--radius-lg);margin-bottom:8px}.pt-assigned-instructor span:first-child{font-weight:600;color:var(--text-primary)}.pt-instructor-email{font-size:12px;color:var(--text-secondary)}.pt-assign-row{display:flex;gap:8px;margin-top:8px}.pt-assign-row .pt-select{flex:1}.pt-muted{font-size:13px;color:var(--text-muted)}.pt-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted)}.pt-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--border-color);margin-top:8px}.pt-btn-primary{padding:8px 20px;background:var(--text-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.pt-btn-primary:hover{background:var(--text-primary)}.pt-btn-primary:disabled{opacity:.5;cursor:not-allowed}.pt-btn-secondary{padding:8px 20px;background:var(--white);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.pt-btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-light)}.pt-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.pt-btn-danger{padding:8px 20px;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-lg);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.pt-btn-danger:hover{background:var(--error-dark)}.pt-settings-form{max-width:700px}.pt-settings-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:28px}.pt-settings-card h3{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--text-primary);margin:0 0 20px}.pt-form-group{margin-bottom:16px}.pt-form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.pt-optional{font-weight:400;color:var(--text-muted)}.pt-form-group input[type=number],.pt-form-group input[type=text],.pt-form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:14px;color:var(--text-primary);box-sizing:border-box;font-family:inherit}.pt-form-group input:focus,.pt-form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.pt-form-group textarea{resize:vertical}.pt-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.pt-toggle-label{display:flex!important;align-items:center;gap:10px;cursor:pointer}.pt-toggle-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.pt-form-actions{padding-top:16px;border-top:1px solid var(--background-gray);margin-top:8px}.pt-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.pt-modal{background:var(--white);border-radius:var(--radius-2xl);padding:28px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto}.pt-modal h3{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--text-primary);margin:0 0 16px}.pt-modal-actions{display:flex;gap:8px;margin-top:16px}.pt-empty-state{text-align:center;padding:80px 0}.pt-empty-state h3{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--text-primary);margin:0 0 8px}.pt-empty-state p{font-size:14px;color:var(--text-secondary);margin:0 0 20px}@media (max-width: 768px){.private-tuition-page{padding:16px}.pt-header h1{font-size:22px}.pt-field-grid{grid-template-columns:1fr}}.pub-pt-page{min-height:100vh;background:var(--bg-secondary);display:flex;justify-content:center;padding:40px 20px 80px;font-family:var(--font-sans)}.pub-pt-container{width:100%;max-width:680px}.pub-pt-header{text-align:center;margin-bottom:28px}.pub-pt-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0 0 4px}.pub-pt-school{font-size:1rem;color:var(--primary-color, var(--primary-hover));font-weight:600;margin:0 0 10px}.pub-pt-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.55;margin:0}.pub-pt-progress{display:flex;gap:4px;margin-bottom:24px}.pub-pt-step{flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.pub-pt-step .step-num{width:26px;height:26px;border-radius:50%;background:var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.pub-pt-step .step-label{font-size:.82rem;color:var(--text-muted);font-weight:500;white-space:nowrap}.pub-pt-step.active{border-color:var(--primary-color, var(--primary-hover));background:#2563eb0a}.pub-pt-step.active .step-num{background:var(--primary-color, var(--primary-hover));color:var(--white)}.pub-pt-step.active .step-label{color:var(--text-primary)}.pub-pt-step.done .step-num{background:var(--success-color);color:var(--white)}.pub-pt-step.done .step-label{color:var(--text-secondary)}.pub-pt-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:32px}.pub-pt-card h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 24px}.pub-pt-subsection{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-secondary);margin:28px 0 16px;padding-top:20px;border-top:1px solid var(--background-gray)}.pub-pt-form-row{display:flex;gap:16px;margin-bottom:16px}.pub-pt-form-row.two-col>.pub-pt-form-group{flex:1}.pub-pt-form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.pub-pt-form-group label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.pub-pt-form-group input[type=text],.pub-pt-form-group input[type=email],.pub-pt-form-group input[type=tel],.pub-pt-form-group input[type=date],.pub-pt-form-group input[type=number],.pub-pt-form-group textarea,.pub-pt-select{padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.92rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--white);transition:all var(--transition-fast)}.pub-pt-form-group input:focus,.pub-pt-form-group textarea:focus,.pub-pt-select:focus{outline:none;border-color:var(--primary-color, var(--primary-hover));box-shadow:0 0 0 3px #2563eb1a}.pub-pt-form-group textarea{resize:vertical;min-height:80px}.pub-pt-hint{font-size:.78rem;color:var(--text-muted)}.pub-pt-checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-weight:500!important;font-size:.92rem!important;color:var(--text-secondary)!important}.pub-pt-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color, var(--primary-hover))}.pub-pt-avail{font-size:.82rem;font-weight:500;padding:6px 10px;border-radius:var(--radius-md);margin-top:4px}.pub-pt-avail.ok{background:var(--success-light);color:var(--success-dark)}.pub-pt-avail.conflict{background:var(--error-light);color:var(--error-dark)}.pub-pt-price-display{font-size:1.5rem;font-weight:700;color:var(--primary-color, var(--primary-hover));font-family:var(--font-display)}.pub-pt-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--background-gray)}.pub-pt-btn-primary{padding:10px 24px;border:none;border-radius:var(--radius-lg);background:var(--primary-color, var(--primary-hover));color:var(--white);font-size:.92rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.pub-pt-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.pub-pt-btn-primary:disabled{opacity:.5;cursor:not-allowed}.pub-pt-btn-secondary{padding:10px 24px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-secondary);font-size:.92rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.pub-pt-btn-secondary:hover{background:var(--bg-secondary)}.pub-pt-btn-submit{padding:12px 32px;font-size:1rem}.pub-pt-review-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--background-gray)}.pub-pt-review-section:last-of-type{border-bottom:none}.pub-pt-review-section h4{font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--text-secondary);margin:0 0 10px;text-transform:uppercase;letter-spacing:.03em}.pub-pt-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.pub-pt-review-grid>div{display:flex;flex-direction:column;gap:1px}.pub-pt-review-grid>div.full{grid-column:1 / -1}.rev-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.pub-pt-review-grid span:not(.rev-label){font-size:.92rem;color:var(--text-primary)}.pub-pt-terms{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px;margin-bottom:8px}.pub-pt-terms h4{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--text-secondary);margin:0 0 8px}.pub-pt-terms p{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin:0;white-space:pre-wrap}.pub-pt-success-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:48px 32px;text-align:center;max-width:520px;margin:60px auto 0}.pub-pt-success-icon{width:60px;height:60px;border-radius:50%;background:var(--success-color);color:var(--white);font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.pub-pt-success-card h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--text-primary);margin:0 0 12px}.pub-pt-success-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 8px}.pub-pt-muted{color:var(--text-muted)!important;font-size:.85rem!important}.pub-pt-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-dark);padding:10px 14px;border-radius:var(--radius-lg);font-size:.88rem;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.pub-pt-error button{background:none;border:none;color:var(--error-dark);font-size:1.1rem;cursor:pointer;padding:0 4px}.pub-pt-loading{text-align:center;padding:80px 20px;color:var(--text-muted);font-size:.95rem}.pub-pt-unavailable{text-align:center;padding:80px 20px}.pub-pt-unavailable h2{font-family:var(--font-display);color:var(--text-primary);margin:0 0 8px}.pub-pt-unavailable p{color:var(--text-secondary)}@media (max-width: 640px){.pub-pt-page{padding:20px 12px 60px}.pub-pt-card{padding:20px}.pub-pt-form-row.two-col{flex-direction:column;gap:0}.pub-pt-progress{overflow-x:auto}.pub-pt-step .step-label{font-size:.72rem}.pub-pt-review-grid{grid-template-columns:1fr}}.yd-page{padding:24px;margin:0 auto;font-family:var(--font-sans)}.yd-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.yd-page-header h1{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--text-primary);margin:0}.yd-tabs{display:flex;gap:4px;background:var(--background-gray);border-radius:var(--radius-lg);padding:3px}.yd-tabs button{padding:7px 18px;border:none;border-radius:var(--radius-lg);background:transparent;font-size:.85rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.yd-tabs button.active{background:var(--white);color:var(--text-primary);box-shadow:var(--shadow-sm)}.yd-loading{text-align:center;padding:60px;color:var(--text-muted)}.yd-content{display:flex;gap:20px}.yd-list-panel{width:400px;flex-shrink:0}.yd-detail-panel{flex:1;min-width:0}.yd-filter-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.yd-filter-row select{padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.85rem;background:var(--white);color:var(--text-primary)}.yd-count{font-size:.8rem;color:var(--text-muted)}.yd-list{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 200px);overflow-y:auto}.yd-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px 16px;cursor:pointer;transition:all .12s}.yd-card:hover{border-color:var(--text-light)}.yd-card.selected{border-color:var(--primary-hover);background:#2563eb08}.yd-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.yd-card-name{font-weight:600;font-size:.92rem;color:var(--text-primary)}.yd-card-vessel{font-size:.82rem;color:var(--text-secondary);margin-bottom:2px}.yd-card-route{font-size:.8rem;color:var(--primary-hover);font-weight:500;margin-bottom:6px}.yd-card-meta{display:flex;gap:10px;font-size:.78rem;color:var(--text-muted)}.yd-card-skipper{font-size:.78rem;color:var(--text-secondary);margin-top:4px}.yd-status-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-2xl);font-size:.72rem;font-weight:600;letter-spacing:.03em}.yd-status-badge.lg{font-size:.78rem;padding:4px 12px}.yd-empty{text-align:center;padding:40px;color:var(--text-muted);font-size:.88rem}.yd-no-sel{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-muted);font-size:.9rem;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl)}.yd-detail{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:28px}.yd-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.yd-detail-header h2{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0}.yd-section{padding:16px 0;border-bottom:1px solid var(--background-gray)}.yd-section:last-of-type{border-bottom:none}.yd-section h3{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 10px}.yd-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.yd-grid>div{display:flex;flex-direction:column;gap:1px}.yd-grid label{font-size:.72rem;color:var(--text-muted);font-weight:500}.yd-grid span{font-size:.88rem;color:var(--text-primary)}.yd-text{font-size:.88rem;color:var(--text-secondary);line-height:1.55;margin:0;white-space:pre-wrap}.yd-sub{font-size:.78rem;color:var(--text-secondary)}.yd-decline-text{color:var(--error-color)}.yd-route-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px;display:flex;flex-direction:column;gap:12px}.yd-route-point{display:flex;gap:12px;align-items:flex-start}.yd-route-point>div{display:flex;flex-direction:column;gap:2px}.yd-route-point label{font-size:.72rem;color:var(--text-muted);font-weight:500;text-transform:uppercase}.yd-route-point span:not(.yd-route-dot):not(.yd-sub){font-size:.88rem;color:var(--text-primary)}.yd-route-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:14px}.yd-route-dot.dep{background:var(--success-color)}.yd-route-dot.dest{background:var(--error-color)}.yd-route-dist{text-align:center;font-size:.82rem;color:var(--primary-hover);font-weight:600;padding:4px 0}.yd-pricing-table{display:flex;flex-direction:column;gap:4px}.yd-pricing-table>div{display:flex;justify-content:space-between;font-size:.88rem;color:var(--text-secondary);padding:4px 0}.yd-pricing-total{border-top:1px solid var(--border-color);padding-top:8px!important;margin-top:4px}.yd-pricing-total span{font-weight:700;color:var(--text-primary);font-size:1rem}.yd-skipper-assigned{display:flex;flex-direction:column;gap:2px}.yd-skipper-name{font-weight:600;color:var(--text-primary);font-size:.92rem}.yd-skipper-email{font-size:.82rem;color:var(--text-secondary)}.yd-assign-row{display:flex;gap:8px;align-items:center}.yd-assign-row select{flex:1;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.88rem}.yd-actions{display:flex;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--background-gray);flex-wrap:wrap}.yd-btn{padding:9px 20px;border-radius:var(--radius-lg);font-size:.88rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.yd-btn-sm{padding:6px 14px;font-size:.82rem;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;border:1px solid transparent}.yd-btn.primary,.yd-btn-sm.primary{background:var(--primary-hover);color:var(--white)}.yd-btn.primary:hover,.yd-btn-sm.primary:hover{background:var(--primary-hover)}.yd-btn.success{background:var(--success-color);color:var(--white)}.yd-btn.success:hover{background:var(--success-color)}.yd-btn.danger{background:var(--error-color);color:var(--white)}.yd-btn.danger:hover{background:var(--error-color)}.yd-btn.secondary,.yd-btn-sm.secondary{background:var(--white);color:var(--text-secondary);border-color:var(--border-color)}.yd-btn:disabled,.yd-btn-sm:disabled{opacity:.5;cursor:not-allowed}.yd-settings-panel{max-width:720px}.yd-settings-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:28px}.yd-form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.yd-form-group>label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.yd-form-group input[type=number],.yd-form-group input[type=text],.yd-form-group textarea,.yd-form-group select{padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.88rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--white);transition:border-color .15s}.yd-form-group input:focus,.yd-form-group textarea:focus,.yd-form-group select:focus{outline:none;border-color:var(--primary-hover);box-shadow:0 0 0 3px #2563eb1a}.yd-form-group textarea{resize:vertical;min-height:60px}.yd-form-row{display:flex;gap:16px}.yd-form-row.two-col>.yd-form-group{flex:1}.yd-form-row.three-col>.yd-form-group{flex:1}.yd-toggle-label{display:flex!important;align-items:center;gap:8px;font-weight:500!important;cursor:pointer}.yd-toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-hover)}.yd-settings-actions{display:flex;align-items:center;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--background-gray)}.yd-saved{color:var(--success-color);font-weight:600;font-size:.88rem}.yd-input-highlight{border-color:var(--primary-hover)!important;font-weight:600}.yd-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.yd-modal{background:var(--white);border-radius:var(--radius-2xl);padding:28px;width:420px;max-width:95vw;max-height:90vh;overflow-y:auto}.yd-modal.wide{width:560px}.yd-modal h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--text-primary);margin:0 0 16px}.yd-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media (max-width: 1000px){.yd-content{flex-direction:column}.yd-list-panel{width:100%}.yd-list{max-height:300px}.yd-form-row.three-col{flex-direction:column;gap:0}}@media (max-width: 640px){.yd-page{padding:16px}.yd-grid{grid-template-columns:1fr}.yd-form-row.two-col{flex-direction:column;gap:0}}.pub-yd-page{min-height:100vh;background:var(--bg-secondary);display:flex;justify-content:center;padding:40px 20px 80px;font-family:var(--font-sans)}.pub-yd-container{width:100%;max-width:700px}.pub-yd-header{text-align:center;margin-bottom:28px}.pub-yd-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0 0 4px}.pub-yd-school{font-size:1rem;color:var(--primary-color, var(--primary-hover));font-weight:600;margin:0 0 10px}.pub-yd-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.55;margin:0}.pub-yd-progress{display:flex;gap:3px;margin-bottom:24px}.pub-yd-step{flex:1;display:flex;align-items:center;gap:6px;padding:9px 10px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all .15s}.pub-yd-step .step-num{width:24px;height:24px;border-radius:50%;background:var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.pub-yd-step .step-label{font-size:.78rem;color:var(--text-muted);font-weight:500;white-space:nowrap}.pub-yd-step.active{border-color:var(--primary-color, var(--primary-hover));background:#2563eb0a}.pub-yd-step.active .step-num{background:var(--primary-color, var(--primary-hover));color:var(--white)}.pub-yd-step.active .step-label{color:var(--text-primary)}.pub-yd-step.done .step-num{background:var(--success-color);color:var(--white)}.pub-yd-step.done .step-label{color:var(--text-secondary)}.pub-yd-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:32px}.pub-yd-card h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 24px}.pub-yd-subsection{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-secondary);margin:28px 0 16px;padding-top:20px;border-top:1px solid var(--background-gray)}.pub-yd-form-row{display:flex;gap:16px;margin-bottom:0}.pub-yd-form-row.two-col>.pub-yd-form-group{flex:1}.pub-yd-form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.pub-yd-form-group label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.pub-yd-form-group input[type=text],.pub-yd-form-group input[type=email],.pub-yd-form-group input[type=tel],.pub-yd-form-group input[type=date],.pub-yd-form-group input[type=number],.pub-yd-form-group textarea,.pub-yd-form-group select{padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.92rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--white);transition:all .15s}.pub-yd-form-group input:focus,.pub-yd-form-group textarea:focus,.pub-yd-form-group select:focus{outline:none;border-color:var(--primary-color, var(--primary-hover));box-shadow:0 0 0 3px #2563eb1a}.pub-yd-form-group textarea{resize:vertical;min-height:80px}.pub-yd-hint{font-size:.78rem;color:var(--text-muted)}.pub-yd-checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-weight:500!important;font-size:.92rem!important;color:var(--text-secondary)!important}.pub-yd-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color, var(--primary-hover))}.pub-yd-avail{font-size:.82rem;font-weight:500;padding:6px 10px;border-radius:var(--radius-md);margin-top:4px}.pub-yd-avail.ok{background:var(--success-light);color:var(--success-dark)}.pub-yd-avail.conflict{background:var(--error-light);color:var(--error-dark)}.pub-yd-price-display{font-size:1.5rem;font-weight:700;color:var(--primary-color, var(--primary-hover));font-family:var(--font-display)}.pub-yd-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--background-gray)}.pub-yd-btn-primary{padding:10px 24px;border:none;border-radius:var(--radius-lg);background:var(--primary-color, var(--primary-hover));color:var(--white);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .15s}.pub-yd-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.pub-yd-btn-primary:disabled{opacity:.5;cursor:not-allowed}.pub-yd-btn-secondary{padding:10px 24px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-secondary);font-size:.92rem;font-weight:500;cursor:pointer;transition:all .15s}.pub-yd-btn-secondary:hover{background:var(--bg-secondary)}.pub-yd-btn-submit{padding:12px 32px;font-size:1rem}.pub-yd-review-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--background-gray)}.pub-yd-review-section:last-of-type{border-bottom:none}.pub-yd-review-section h4{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--text-secondary);margin:0 0 10px;text-transform:uppercase;letter-spacing:.03em}.pub-yd-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.pub-yd-review-grid>div{display:flex;flex-direction:column;gap:1px}.pub-yd-review-grid>div.full{grid-column:1 / -1}.pub-yd-review-grid span:not(.rl){font-size:.92rem;color:var(--text-primary)}.rev-price{font-weight:700;color:var(--primary-color, var(--primary-hover))!important;font-size:1.1rem!important}.pub-yd-review-route{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px;display:flex;flex-direction:column;gap:10px}.pub-yd-review-pt{display:flex;gap:10px;align-items:flex-start}.pub-yd-review-pt>div{display:flex;flex-direction:column;gap:2px}.pub-yd-review-pt span:not(.dot):not(.rl):not(.sub){font-size:.88rem;color:var(--text-primary)}.sub{font-size:.78rem;color:var(--text-secondary)}.dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:14px}.dot.dep{background:var(--success-color)}.dot.dest{background:var(--error-color)}.pub-yd-review-dist{text-align:center;font-size:.82rem;color:var(--primary-hover);font-weight:600}.pub-yd-terms{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px;margin-bottom:8px}.pub-yd-terms h4{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--text-secondary);margin:0 0 8px}.pub-yd-terms p{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin:0;white-space:pre-wrap}.pub-yd-success-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:48px 32px;text-align:center;max-width:520px;margin:60px auto 0}.pub-yd-success-icon{width:60px;height:60px;border-radius:50%;background:var(--success-color);color:var(--white);font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.pub-yd-success-card h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--text-primary);margin:0 0 12px}.pub-yd-success-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 8px}.pub-yd-muted{color:var(--text-muted)!important;font-size:.85rem!important}.pub-yd-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-dark);padding:10px 14px;border-radius:var(--radius-lg);font-size:.88rem;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.pub-yd-error button{background:none;border:none;color:var(--error-dark);font-size:1.1rem;cursor:pointer}.pub-yd-loading{text-align:center;padding:80px 20px;color:var(--text-muted)}.pub-yd-unavailable{text-align:center;padding:80px 20px}.pub-yd-unavailable h2{font-family:var(--font-display);color:var(--text-primary);margin:0 0 8px}.pub-yd-unavailable p{color:var(--text-secondary)}@media (max-width: 640px){.pub-yd-page{padding:20px 12px 60px}.pub-yd-card{padding:20px}.pub-yd-form-row.two-col{flex-direction:column;gap:0}.pub-yd-progress{overflow-x:auto}.pub-yd-step .step-label{font-size:.68rem}.pub-yd-review-grid{grid-template-columns:1fr}}.ch-page{padding:24px;margin:0 auto;font-family:var(--font-sans)}.ch-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0}.ch-subtitle{color:var(--text-secondary);font-size:.92rem;margin:4px 0 0}.ch-loading{text-align:center;padding:80px 20px;color:var(--text-muted)}.ch-toast{padding:10px 16px;border-radius:var(--radius-lg);font-size:.88rem;margin:16px 0;display:flex;align-items:center;justify-content:space-between}.ch-toast-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-dark)}.ch-toast-success{background:var(--success-light);border:1px solid var(--success-light);color:var(--success-dark)}.ch-toast button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.1rem}.ch-tabs{display:flex;gap:2px;margin:20px 0;background:var(--background-gray);border-radius:var(--radius-lg);padding:3px}.ch-tab{flex:1;padding:8px 16px;border:none;background:transparent;border-radius:var(--radius-lg);font-size:.88rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.ch-tab.active{background:var(--white);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm)}.ch-split{display:flex;gap:20px;margin-top:4px}.ch-list-panel{width:380px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 200px);overflow-y:auto}.ch-detail-panel{flex:1;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;max-height:calc(100vh - 200px);overflow-y:auto}.ch-filter-row{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.ch-filter-btn{padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--white);font-size:.72rem;font-weight:500;color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.03em}.ch-filter-btn.active{background:var(--text-primary);color:var(--white);border-color:var(--text-primary)}.ch-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px;cursor:pointer;transition:all .15s}.ch-card:hover{border-color:var(--text-muted)}.ch-card.selected{border-color:var(--primary-hover);box-shadow:0 0 0 2px #2563eb26}.ch-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.ch-card-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.ch-status{display:inline-block;padding:2px 8px;border-radius:var(--radius-2xl);font-size:.68rem;font-weight:600;color:var(--white);text-transform:uppercase;letter-spacing:.03em}.ch-status.lg{font-size:.75rem;padding:3px 10px}.ch-card-meta{display:flex;gap:12px;font-size:.82rem;color:var(--text-secondary);margin-bottom:4px}.ch-card-price{font-weight:700;color:var(--text-primary);font-size:1rem;margin-top:4px}.ch-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ch-detail-header h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 6px}.ch-close-btn{background:none;border:none;font-size:1.3rem;color:var(--text-muted);cursor:pointer}.ch-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--background-gray)}.ch-section h3{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--text-secondary);margin:0 0 10px;text-transform:uppercase;letter-spacing:.03em}.ch-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.ch-detail-grid>div{display:flex;flex-direction:column;gap:1px}.ch-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.ch-detail-grid span:not(.ch-label){font-size:.92rem;color:var(--text-primary)}.ch-text{font-size:.92rem;color:var(--text-secondary);line-height:1.5;margin:0}.ch-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.92rem}.ch-pkg-badge{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.ch-pkg-cat{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--primary-hover)}.ch-pkg-name{font-size:.88rem;font-weight:600;color:var(--text-primary)}.ch-guest-list{display:flex;flex-wrap:wrap;gap:6px}.ch-guest{padding:4px 10px;background:var(--background-gray);border-radius:var(--radius-md);font-size:.82rem;color:var(--text-secondary)}.ch-assign-row select{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.88rem;font-family:var(--font-sans)}.ch-boat-assigned,.ch-skipper-assigned{padding:8px 12px;background:var(--success-light);border:1px solid var(--success-light);border-radius:var(--radius-lg)}.ch-boat-name{font-weight:600;color:var(--text-primary)}.ch-boat-detail{font-size:.82rem;color:var(--text-secondary);margin-left:8px}.ch-price-table{width:100%;border-collapse:collapse}.ch-price-table td{padding:6px 0;font-size:.88rem;color:var(--text-secondary)}.ch-price-table td:last-child{text-align:right;font-weight:500}.ch-price-total td{border-top:2px solid var(--border-color);font-weight:700!important;font-size:1.05rem!important;color:var(--text-primary)!important;padding-top:8px}.ch-quote-notes{font-size:.82rem;color:var(--text-secondary);font-style:italic;margin:8px 0 0}.ch-notes{width:100%;min-height:60px;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.88rem;font-family:var(--font-sans);resize:vertical}.ch-notes:focus{outline:none;border-color:var(--primary-hover);box-shadow:0 0 0 3px #2563eb1a}.ch-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.ch-btn{padding:8px 18px;border:none;border-radius:var(--radius-lg);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s}.ch-btn:disabled{opacity:.5;cursor:not-allowed}.ch-btn-primary{background:var(--primary-hover);color:var(--white)}.ch-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.ch-btn-success{background:var(--success-color);color:var(--white)}.ch-btn-success:hover:not(:disabled){background:var(--success-color)}.ch-btn-danger{background:var(--error-color);color:var(--white)}.ch-btn-danger:hover:not(:disabled){background:var(--error-color)}.ch-btn-ghost{padding:8px 18px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-secondary);font-size:.88rem;font-weight:500;cursor:pointer}.ch-btn-ghost:hover{background:var(--bg-secondary)}.ch-btn-sm{padding:4px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--white);color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer}.ch-btn-sm:hover{background:var(--bg-secondary)}.ch-btn-sm.danger{color:var(--error-color);border-color:var(--error-light)}.ch-btn-sm.danger:hover{background:var(--error-light)}.ch-manage{margin-top:4px}.ch-manage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ch-manage-header h2{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0}.ch-form-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;margin-bottom:20px}.ch-form-card h3{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-primary);margin:0 0 16px}.ch-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.ch-field{display:flex;flex-direction:column;gap:4px}.ch-field.full{grid-column:1 / -1}.ch-field label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.ch-field input,.ch-field select,.ch-field textarea{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.88rem;font-family:var(--font-sans);color:var(--text-primary)}.ch-field input:focus,.ch-field select:focus,.ch-field textarea:focus{outline:none;border-color:var(--primary-hover);box-shadow:0 0 0 3px #2563eb1a}.ch-field textarea{resize:vertical;min-height:60px}.ch-checkbox{display:flex!important;align-items:center;gap:8px;cursor:pointer}.ch-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-hover)}.ch-form-actions{display:flex;gap:8px;margin-top:16px}.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.ch-item-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;transition:all .15s}.ch-item-card.inactive{opacity:.6}.ch-item-card:hover{border-color:var(--text-muted)}.ch-item-img{width:100%;height:160px;object-fit:cover}.ch-item-body{padding:14px}.ch-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.ch-item-top h4{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-primary);margin:0}.ch-item-meta{font-size:.82rem;color:var(--text-secondary);margin-bottom:4px}.ch-item-price{font-weight:700;color:var(--primary-hover);font-size:1rem;margin:6px 0}.ch-item-features{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.ch-feature-tag{padding:2px 8px;background:var(--background-gray);border-radius:var(--radius-sm);font-size:.72rem;color:var(--text-secondary);font-weight:500}.ch-cat-badge{padding:2px 8px;background:var(--info-light);border-radius:var(--radius-sm);font-size:.72rem;color:var(--primary-hover);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.ch-inactive-badge{padding:2px 8px;background:var(--error-light);border-radius:var(--radius-sm);font-size:.72rem;color:var(--error-dark);font-weight:500}.ch-item-actions{display:flex;gap:6px;margin-top:10px}.ch-settings h2{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 16px}.ch-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.ch-modal{background:var(--white);border-radius:var(--radius-2xl);padding:28px;max-width:520px;width:90%;max-height:80vh;overflow-y:auto}.ch-modal h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 16px}.ch-modal-actions{display:flex;gap:8px;margin-top:16px}@media (max-width: 900px){.ch-split{flex-direction:column}.ch-list-panel{width:100%;max-height:none}.ch-detail-panel{max-height:none}.ch-form-grid,.ch-grid{grid-template-columns:1fr}}.pub-ch-page{min-height:100vh;background:var(--bg-secondary);display:flex;justify-content:center;padding:40px 20px 80px;font-family:var(--font-sans)}.pub-ch-container{width:100%;max-width:760px}.pub-ch-header{text-align:center;margin-bottom:28px}.pub-ch-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0 0 4px}.pub-ch-school{font-size:1rem;color:var(--primary-color, var(--primary-hover));font-weight:600;margin:0 0 10px}.pub-ch-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.55;margin:0}.pub-ch-progress{display:flex;gap:3px;margin-bottom:24px}.pub-ch-step{flex:1;display:flex;align-items:center;gap:6px;padding:9px 10px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all .15s}.pub-ch-step .step-num{width:24px;height:24px;border-radius:50%;background:var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.pub-ch-step .step-label{font-size:.78rem;color:var(--text-muted);font-weight:500;white-space:nowrap}.pub-ch-step.active{border-color:var(--primary-color, var(--primary-hover));background:#2563eb0a}.pub-ch-step.active .step-num{background:var(--primary-color, var(--primary-hover));color:var(--white)}.pub-ch-step.active .step-label{color:var(--text-primary)}.pub-ch-step.done .step-num{background:var(--success-color);color:var(--white)}.pub-ch-step.done .step-label{color:var(--text-secondary)}.pub-ch-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:32px}.pub-ch-card h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 20px}.pub-ch-subsection{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-secondary);margin:28px 0 16px;padding-top:20px;border-top:1px solid var(--background-gray)}.pub-ch-form-row{display:flex;gap:16px;margin-bottom:0}.pub-ch-form-row.two-col>.pub-ch-form-group{flex:1}.pub-ch-form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.pub-ch-form-group label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.pub-ch-form-group input[type=text],.pub-ch-form-group input[type=email],.pub-ch-form-group input[type=tel],.pub-ch-form-group input[type=date],.pub-ch-form-group input[type=time],.pub-ch-form-group input[type=number],.pub-ch-form-group textarea,.pub-ch-form-group select{padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.92rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--white);transition:all .15s}.pub-ch-form-group input:focus,.pub-ch-form-group textarea:focus,.pub-ch-form-group select:focus{outline:none;border-color:var(--primary-color, var(--primary-hover));box-shadow:0 0 0 3px #2563eb1a}.pub-ch-form-group textarea{resize:vertical;min-height:80px}.pub-ch-hint{font-size:.78rem;color:var(--text-muted)}.pub-ch-pkg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:16px}.pub-ch-pkg-card{position:relative;background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:all .15s}.pub-ch-pkg-card:hover{border-color:var(--text-muted)}.pub-ch-pkg-card.selected{border-color:var(--primary-color, var(--primary-hover));box-shadow:0 0 0 3px #2563eb1f}.pub-ch-pkg-img{width:100%;height:140px;object-fit:cover}.pub-ch-pkg-body{padding:14px}.pub-ch-pkg-cat{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.pub-ch-pkg-body h3{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--text-primary);margin:4px 0 6px}.pub-ch-pkg-desc{font-size:.82rem;color:var(--text-secondary);line-height:1.45;margin:0 0 8px}.pub-ch-pkg-meta{display:flex;gap:12px;font-size:.82rem;color:var(--text-secondary);margin-bottom:6px}.pub-ch-pkg-price{font-weight:700;font-size:1.1rem;color:var(--primary-color, var(--primary-hover));font-family:var(--font-display)}.pub-ch-pkg-includes{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.pub-ch-includes-label{font-size:.72rem;color:var(--text-muted);font-weight:500;width:100%}.pub-ch-include-tag{padding:2px 8px;background:var(--success-light);border-radius:var(--radius-sm);font-size:.72rem;color:var(--success-dark);font-weight:500}.pub-ch-pkg-check{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:var(--primary-color, var(--primary-hover));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.88rem}.pub-ch-empty-pkg{text-align:center;padding:24px;color:var(--text-muted);font-size:.92rem}.pub-ch-boat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:16px}.pub-ch-boat-card{position:relative;background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:all .15s}.pub-ch-boat-card:hover{border-color:var(--text-muted)}.pub-ch-boat-card.selected{border-color:var(--primary-color, var(--primary-hover));box-shadow:0 0 0 3px #2563eb1f}.pub-ch-boat-img{width:100%;height:100px;object-fit:cover}.pub-ch-boat-info{padding:10px;display:flex;flex-direction:column;gap:2px}.pub-ch-boat-info strong{font-size:.92rem;color:var(--text-primary)}.pub-ch-boat-info span{font-size:.78rem;color:var(--text-secondary)}.pub-ch-boat-port{font-size:.75rem!important}.pub-ch-boat-check{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--primary-color, var(--primary-hover));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.pub-ch-avail{font-size:.78rem!important;font-weight:500;padding:3px 8px;border-radius:var(--radius-sm);margin-top:4px;display:inline-block}.pub-ch-avail.ok{background:var(--success-light);color:var(--success-dark)}.pub-ch-avail.conflict{background:var(--error-light);color:var(--error-dark)}.pub-ch-price-display{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px;margin-top:20px;text-align:center}.pub-ch-price-label{display:block;font-size:.82rem;color:var(--text-secondary);margin-bottom:4px}.pub-ch-price-value{font-size:1.75rem;font-weight:700;color:var(--primary-color, var(--primary-hover));font-family:var(--font-display)}.pub-ch-price-breakdown{display:block;font-size:.82rem;color:var(--text-muted);margin-top:2px}.pub-ch-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--background-gray)}.pub-ch-btn-primary{padding:10px 24px;border:none;border-radius:var(--radius-lg);background:var(--primary-color, var(--primary-hover));color:var(--white);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .15s}.pub-ch-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.pub-ch-btn-primary:disabled{opacity:.5;cursor:not-allowed}.pub-ch-btn-secondary{padding:10px 24px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-secondary);font-size:.92rem;font-weight:500;cursor:pointer;transition:all .15s}.pub-ch-btn-secondary:hover{background:var(--bg-secondary)}.pub-ch-btn-submit{padding:12px 32px;font-size:1rem}.pub-ch-review-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--background-gray)}.pub-ch-review-section:last-of-type{border-bottom:none}.pub-ch-review-section h4{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--text-secondary);margin:0 0 10px;text-transform:uppercase;letter-spacing:.03em}.pub-ch-review-section p{font-size:.92rem;color:var(--text-secondary);margin:0}.pub-ch-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.pub-ch-review-grid>div{display:flex;flex-direction:column;gap:1px}.rl{font-size:.75rem;color:var(--text-muted);font-weight:500}.pub-ch-review-grid span:not(.rl){font-size:.92rem;color:var(--text-primary)}.pub-ch-review-price{font-size:1.5rem;font-weight:700;color:var(--primary-color, var(--primary-hover));font-family:var(--font-display)}.pub-ch-review-pkg{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.pub-ch-review-pkg-cat{font-size:.82rem;color:var(--text-secondary)}.pub-ch-review-pkg-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.pub-ch-review-pkg-dur{font-size:.82rem;color:var(--text-secondary);margin-left:auto}.pub-ch-review-guests{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pub-ch-review-guest{padding:3px 10px;background:var(--background-gray);border-radius:var(--radius-md);font-size:.82rem;color:var(--text-secondary)}.pub-ch-terms{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px;margin-top:16px}.pub-ch-terms h4{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--text-secondary);margin:0 0 8px}.pub-ch-terms p{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin:0;white-space:pre-wrap}.pub-ch-success-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:48px 32px;text-align:center;max-width:520px;margin:60px auto 0}.pub-ch-success-icon{width:60px;height:60px;border-radius:50%;background:var(--success-color);color:var(--white);font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.pub-ch-success-card h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--text-primary);margin:0 0 12px}.pub-ch-success-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 8px}.pub-ch-muted{color:var(--text-muted)!important;font-size:.85rem!important}.pub-ch-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-dark);padding:10px 14px;border-radius:var(--radius-lg);font-size:.88rem;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.pub-ch-error button{background:none;border:none;color:var(--error-dark);font-size:1.1rem;cursor:pointer}.pub-ch-loading{text-align:center;padding:80px 20px;color:var(--text-muted)}.pub-ch-unavailable{text-align:center;padding:80px 20px}.pub-ch-unavailable h2{font-family:var(--font-display);color:var(--text-primary);margin:0 0 8px}.pub-ch-unavailable p{color:var(--text-secondary)}@media (max-width: 640px){.pub-ch-page{padding:20px 12px 60px}.pub-ch-card{padding:20px}.pub-ch-form-row.two-col{flex-direction:column;gap:0}.pub-ch-progress{overflow-x:auto}.pub-ch-step .step-label{font-size:.68rem}.pub-ch-review-grid,.pub-ch-pkg-grid,.pub-ch-boat-grid{grid-template-columns:1fr}}.gc-page{padding:24px;margin:0 auto;font-family:var(--font-sans)}.gc-header h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--text-primary);margin:0}.gc-subtitle{color:var(--text-secondary);font-size:.92rem;margin:4px 0 0}.gc-loading{text-align:center;padding:80px 20px;color:var(--text-muted)}.gc-toast{padding:10px 16px;border-radius:var(--radius-lg);font-size:.88rem;margin:16px 0;display:flex;align-items:center;justify-content:space-between}.gc-toast-error{background:var(--error-light);border:1px solid var(--error-light);color:var(--error-dark)}.gc-toast-success{background:var(--success-light);border:1px solid var(--success-light);color:var(--success-dark)}.gc-toast button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.1rem}.gc-stats{display:flex;gap:12px;margin:16px 0;flex-wrap:wrap}.gc-stat{flex:1;min-width:140px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px;text-align:center}.gc-stat-value{display:block;font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary)}.gc-stat-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}.gc-tabs{display:flex;gap:2px;margin:16px 0;background:var(--background-gray);border-radius:var(--radius-lg);padding:3px}.gc-tab{flex:1;padding:8px 16px;border:none;background:transparent;border-radius:var(--radius-lg);font-size:.88rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.gc-tab.active{background:var(--white);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm)}.gc-split{display:flex;gap:20px;margin-top:4px}.gc-list-panel{width:380px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 280px);overflow-y:auto}.gc-detail-panel{flex:1;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;max-height:calc(100vh - 280px);overflow-y:auto}.gc-search-row{margin-bottom:6px}.gc-search{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.88rem;font-family:var(--font-sans)}.gc-search:focus{outline:none;border-color:var(--primary-hover);box-shadow:0 0 0 3px #2563eb1a}.gc-filter-row{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.gc-filter-btn{padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--white);font-size:.72rem;font-weight:500;color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.03em}.gc-filter-btn.active{background:var(--text-primary);color:var(--white);border-color:var(--text-primary)}.gc-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px;cursor:pointer;transition:all var(--transition-fast)}.gc-card:hover{border-color:var(--text-muted)}.gc-card.selected{border-color:var(--primary-hover);box-shadow:0 0 0 2px #2563eb26}.gc-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.gc-card-code{font-family:JetBrains Mono,Courier New,monospace;font-weight:700;font-size:.92rem;color:var(--text-primary);letter-spacing:.05em}.gc-status{display:inline-block;padding:2px 8px;border-radius:var(--radius-2xl);font-size:.68rem;font-weight:600;color:var(--white);text-transform:uppercase;letter-spacing:.03em}.gc-status.lg{font-size:.75rem;padding:3px 10px}.gc-card-meta{display:flex;gap:12px;font-size:.82rem;color:var(--text-secondary);margin-bottom:4px}.gc-card-balance{display:flex;align-items:baseline;gap:2px;margin-top:4px}.gc-balance-remaining{font-weight:700;color:var(--text-primary);font-size:1.1rem}.gc-balance-of{font-size:.82rem;color:var(--text-muted)}.gc-card-date{font-size:.75rem;color:var(--text-muted);margin-top:2px}.gc-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.gc-detail-header h2{font-family:JetBrains Mono,Courier New,monospace;font-weight:700;font-size:1.25rem;color:var(--text-primary);margin:0 0 6px;letter-spacing:.05em}.gc-close-btn{background:none;border:none;font-size:1.3rem;color:var(--text-muted);cursor:pointer}.gc-balance-card{background:linear-gradient(135deg,var(--text-primary),var(--text-primary));border-radius:var(--radius-xl);padding:20px;margin-bottom:20px;color:var(--white)}.gc-balance-main{font-family:var(--font-display);font-weight:700;font-size:2rem}.gc-balance-sub{font-size:.85rem;color:var(--text-muted);margin-top:4px}.gc-balance-bar{height:6px;background:#ffffff26;border-radius:var(--radius-sm);margin-top:12px;overflow:hidden}.gc-balance-fill{height:100%;background:var(--success-color);border-radius:var(--radius-sm);transition:width .3s}.gc-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--background-gray)}.gc-section h3{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--text-secondary);margin:0 0 10px;text-transform:uppercase;letter-spacing:.03em}.gc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.gc-detail-grid>div{display:flex;flex-direction:column;gap:1px}.gc-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.gc-detail-grid span:not(.gc-label){font-size:.92rem;color:var(--text-primary)}.gc-message{font-size:.88rem;color:var(--text-secondary);font-style:italic;margin-top:8px;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-lg);border-left:3px solid var(--border-color)}.gc-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.92rem}.gc-empty-sm{text-align:center;padding:16px;color:var(--text-muted);font-size:.85rem}.gc-tx-list{display:flex;flex-direction:column;gap:8px}.gc-tx-row{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--background-gray)}.gc-tx-left{display:flex;flex-direction:column;gap:2px}.gc-tx-type{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.gc-tx-desc{font-size:.85rem;color:var(--text-secondary)}.gc-tx-booking{font-size:.75rem;color:var(--text-secondary)}.gc-tx-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.gc-tx-amount{font-weight:700;font-size:.95rem}.gc-tx-amount.positive{color:var(--success-color)}.gc-tx-amount.negative{color:var(--error-color)}.gc-tx-balance,.gc-tx-date{font-size:.72rem;color:var(--text-muted)}.gc-notes{width:100%;min-height:60px;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.88rem;font-family:var(--font-sans);resize:vertical}.gc-notes:focus{outline:none;border-color:var(--primary-hover);box-shadow:0 0 0 3px #2563eb1a}.gc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.gc-btn{padding:8px 18px;border:none;border-radius:var(--radius-lg);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.gc-btn:disabled{opacity:.5;cursor:not-allowed}.gc-btn-primary{background:var(--primary-hover);color:var(--white)}.gc-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.gc-btn-success{background:var(--success-color);color:var(--white)}.gc-btn-success:hover:not(:disabled){background:var(--success-color)}.gc-btn-danger{background:var(--error-color);color:var(--white)}.gc-btn-danger:hover:not(:disabled){background:var(--error-color)}.gc-btn-ghost{padding:8px 18px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-secondary);font-size:.88rem;font-weight:500;cursor:pointer}.gc-btn-ghost:hover{background:var(--bg-secondary)}.gc-issue{max-width:700px}.gc-form-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px}.gc-form-card h3{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-primary);margin:0 0 16px}.gc-type-toggle{display:flex;gap:8px;margin-bottom:20px}.gc-type-btn{flex:1;padding:12px;border:2px solid var(--border-color);border-radius:var(--radius-xl);background:var(--white);font-size:.92rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:center}.gc-type-btn.active{border-color:var(--primary-hover);background:var(--info-light);color:var(--primary-hover)}.gc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.gc-field{display:flex;flex-direction:column;gap:4px}.gc-field.full{grid-column:1 / -1}.gc-field label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.gc-field input,.gc-field select,.gc-field textarea{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.88rem;font-family:var(--font-sans);color:var(--text-primary)}.gc-field input:focus,.gc-field select:focus,.gc-field textarea:focus{outline:none;border-color:var(--primary-hover);box-shadow:0 0 0 3px #2563eb1a}.gc-field textarea{resize:vertical;min-height:60px}.gc-field-divider{grid-column:1 / -1;height:1px;background:var(--background-gray);margin:4px 0}.gc-form-actions{display:flex;gap:8px;margin-top:20px}.gc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.gc-modal{background:var(--white);border-radius:var(--radius-2xl);padding:28px;max-width:520px;width:90%;max-height:80vh;overflow-y:auto}.gc-modal h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin:0 0 12px}.gc-modal-text{font-size:.88rem;color:var(--text-secondary);margin:0 0 16px}.gc-modal-actions{display:flex;gap:8px;margin-top:16px}@media (max-width: 900px){.gc-split{flex-direction:column}.gc-list-panel{width:100%;max-height:none}.gc-detail-panel{max-height:none}.gc-form-grid{grid-template-columns:1fr}.gc-stats{flex-direction:column}}:root{--gc-primary: var(--primary-hover)}.pgc-page{min-height:100vh;background:var(--bg-secondary);font-family:var(--font-sans);padding:24px}.pgc-container{max-width:720px;margin:0 auto}.pgc-loading{text-align:center;padding:80px 20px;color:var(--text-muted)}.pgc-unavailable{text-align:center;padding:80px 20px;color:var(--text-muted);font-size:1.1rem}.pgc-header{text-align:center;margin-bottom:24px}.pgc-header h1{font-family:var(--font-display);font-weight:700;font-size:2rem;color:var(--text-primary);margin:0}.pgc-subtitle{color:var(--text-secondary);font-size:1rem;margin:6px 0 0}.pgc-error{padding:10px 16px;border-radius:var(--radius-lg);font-size:.88rem;margin:0 0 16px;background:var(--error-light);border:1px solid var(--error-light);color:var(--error-dark)}.pgc-mode-toggle{display:flex;gap:8px;margin-bottom:20px}.pgc-mode-btn{flex:1;padding:12px;border:2px solid var(--border-color);border-radius:var(--radius-xl);background:var(--white);font-size:.95rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s;text-align:center}.pgc-mode-btn.active{border-color:var(--primary-color);background:var(--info-light);color:var(--primary-color)}.pgc-balance-section{margin-top:8px}.pgc-balance-form{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:28px}.pgc-balance-form h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--text-primary);margin:0 0 16px;text-align:center}.pgc-balance-input-row{display:flex;gap:8px}.pgc-balance-input{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.95rem;font-family:JetBrains Mono,Courier New,monospace;letter-spacing:.05em;text-transform:uppercase}.pgc-balance-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.pgc-balance-error{margin-top:12px;padding:8px 12px;background:var(--error-light);border-radius:var(--radius-lg);color:var(--error-dark);font-size:.88rem;text-align:center}.pgc-balance-result{margin-top:20px;text-align:center}.pgc-balance-card{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:12px}.pgc-bc-code{font-family:JetBrains Mono,Courier New,monospace;font-weight:700;font-size:1.15rem;color:var(--text-primary);letter-spacing:.05em}.pgc-bc-status{display:inline-block;padding:3px 10px;border-radius:var(--radius-2xl);font-size:.72rem;font-weight:600;color:var(--white);text-transform:uppercase}.pgc-balance-amount{font-family:var(--font-display);font-weight:700;font-size:2.5rem;color:var(--text-primary)}.pgc-balance-label{font-size:.88rem;color:var(--text-muted);margin-bottom:12px}.pgc-balance-details{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text-secondary)}.pgc-type-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.pgc-type-card{background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:20px;cursor:pointer;transition:all .15s;text-align:center}.pgc-type-card.active{border-color:var(--primary-color);background:var(--info-light)}.pgc-type-card:hover{border-color:var(--text-muted)}.pgc-type-icon{font-size:2rem;margin-bottom:6px}.pgc-type-card h4{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text-primary);margin:0 0 4px}.pgc-type-card p{font-size:.82rem;color:var(--text-secondary);margin:0;line-height:1.4}.pgc-form-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:28px}.pgc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.pgc-field{display:flex;flex-direction:column;gap:4px}.pgc-field.full{grid-column:1 / -1}.pgc-field label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.pgc-field input,.pgc-field select,.pgc-field textarea{padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.92rem;font-family:var(--font-sans);color:var(--text-primary)}.pgc-field input:focus,.pgc-field select:focus,.pgc-field textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.pgc-field textarea{resize:vertical;min-height:80px}.pgc-preset-amounts{display:flex;flex-wrap:wrap;gap:6px}.pgc-preset-btn{padding:6px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);font-size:.85rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .12s}.pgc-preset-btn.active{border-color:var(--primary-color);background:var(--primary-color);color:var(--white)}.pgc-preset-btn:hover{border-color:var(--text-muted)}.pgc-form-divider{grid-column:1 / -1;height:1px;background:var(--background-gray);margin:8px 0}.pgc-form-section-label{grid-column:1 / -1;font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:4px}.pgc-summary{display:flex;flex-direction:column;gap:4px;margin:20px 0;padding:14px;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.pgc-summary-row{display:flex;justify-content:space-between;font-size:.92rem;color:var(--text-secondary)}.pgc-summary-amount{font-weight:700;color:var(--text-primary);font-size:1.1rem}.pgc-btn{padding:10px 20px;border:none;border-radius:var(--radius-lg);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .15s}.pgc-btn:disabled{opacity:.5;cursor:not-allowed}.pgc-btn-primary{background:var(--primary-color);color:var(--white)}.pgc-btn-primary:hover:not(:disabled){filter:brightness(.9)}.pgc-btn-lg{width:100%;padding:14px;font-size:1rem}.pgc-success-card{max-width:500px;margin:40px auto;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:40px;text-align:center}.pgc-success-icon{font-size:3rem;margin-bottom:8px}.pgc-success-card h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--text-primary);margin:0 0 8px}.pgc-success-card p{color:var(--text-secondary);font-size:.92rem;margin:0 0 16px}.pgc-code-display{font-family:JetBrains Mono,Courier New,monospace;font-weight:700;font-size:1.5rem;color:var(--text-primary);letter-spacing:.08em;padding:14px 20px;background:var(--background-gray);border-radius:var(--radius-xl);margin:0 0 8px;display:inline-block}.pgc-success-sub{font-size:.82rem;color:var(--text-muted);margin-bottom:20px!important}@media (max-width: 640px){.pgc-page{padding:16px}.pgc-header h1{font-size:1.5rem}.pgc-type-cards,.pgc-form-grid{grid-template-columns:1fr}.pgc-balance-input-row,.pgc-mode-toggle{flex-direction:column}}.client-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f8f9fa);padding:var(--spacing-4, 16px)}.client-login-card{background:var(--bg-primary, #ffffff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-lg, 0 8px 25px rgba(0,0,0,.1));padding:var(--spacing-8, 32px);width:100%;max-width:420px}.client-login-header{text-align:center;margin-bottom:var(--spacing-6, 24px)}.client-login-header img{height:48px;margin-bottom:var(--spacing-3, 12px)}.client-login-header h1{font-size:var(--text-xl, 1.25rem);font-weight:700;color:var(--text-primary, #1a1a2e);margin:0 0 var(--spacing-1, 4px) 0}.client-login-header p{font-size:var(--text-sm, .875rem);color:var(--text-secondary, #64748b);margin:0}.client-login-tabs{display:flex;gap:var(--spacing-1, 4px);margin-bottom:var(--spacing-5, 20px);background:var(--bg-secondary, #f1f5f9);border-radius:var(--radius-md, 8px);padding:3px}.client-login-tab{flex:1;padding:var(--spacing-2, 8px);border:none;background:none;border-radius:var(--radius-sm, 6px);font-size:var(--text-sm, .875rem);font-weight:500;cursor:pointer;color:var(--text-secondary, #64748b);transition:all .15s ease}.client-login-tab.active{background:var(--bg-primary, #ffffff);color:var(--primary-color, #0a3456);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.1));font-weight:600}.client-login-form{display:flex;flex-direction:column;gap:var(--spacing-4, 16px)}.client-login-field label{display:block;font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-primary, #1a1a2e);margin-bottom:var(--spacing-1, 4px)}.client-login-field input{width:100%;padding:var(--spacing-2, 8px) var(--spacing-3, 12px);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, .875rem);color:var(--text-primary, #1a1a2e);background:var(--bg-primary, #ffffff);transition:border-color .15s ease;box-sizing:border-box}.client-login-field input:focus{outline:none;border-color:var(--primary-color, #0a3456);box-shadow:0 0 0 3px var(--primary-light, rgba(10, 52, 86, .1))}.client-login-submit{width:100%;padding:var(--spacing-3, 12px);border:none;border-radius:var(--radius-md, 8px);font-size:var(--text-sm, .875rem);font-weight:600;cursor:pointer;background:var(--primary-color, #0a3456);color:#fff;transition:opacity .15s ease}.client-login-submit:hover:not(:disabled){opacity:.9}.client-login-submit:disabled{opacity:.6;cursor:not-allowed}.client-login-error{padding:var(--spacing-3, 12px);border-radius:var(--radius-md, 8px);background:var(--error-light, #fef2f2);color:var(--error-color, #dc2626);font-size:var(--text-sm, .875rem);text-align:center}.client-login-success{padding:var(--spacing-3, 12px);border-radius:var(--radius-md, 8px);background:var(--success-light, #f0fdf4);color:var(--success-color, #16a34a);font-size:var(--text-sm, .875rem);text-align:center}.client-login-footer{text-align:center;margin-top:var(--spacing-4, 16px);font-size:var(--text-sm, .875rem);color:var(--text-secondary, #64748b)}.client-login-footer button{background:none;border:none;color:var(--primary-color, #0a3456);font-weight:500;cursor:pointer;text-decoration:underline}.client-dashboard{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.client-dashboard h1{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a1a2e);margin-bottom:.5rem}.client-dashboard .welcome-text{color:var(--text-secondary, #6b7280);margin-bottom:2rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2.5rem}.stat-card{background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:1.5rem;text-align:center;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #00000014}.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--primary-color, #2563eb);margin-bottom:.25rem}.stat-card .stat-label{font-size:.875rem;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}.dashboard-sections{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.dashboard-section{background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:1.5rem}.dashboard-section h2{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a1a2e);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.dashboard-section .empty-state{color:var(--text-secondary, #6b7280);font-style:italic;padding:1rem 0;text-align:center}.dashboard-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color-light, #f3f4f6)}.dashboard-item:last-child{border-bottom:none}.dashboard-item .item-title{font-weight:500;color:var(--text-primary, #1a1a2e)}.dashboard-item .item-detail{font-size:.875rem;color:var(--text-secondary, #6b7280)}.dashboard-item .item-badge{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:999px;white-space:nowrap}.item-badge.confirmed{background-color:#dcfce7;color:#166534}.item-badge.pending{background-color:#fef3c7;color:#92400e}.item-badge.completed{background-color:#dbeafe;color:#1e40af}.item-badge.cancelled{background-color:#fee2e2;color:#991b1b}.section-link{display:block;text-align:center;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color, #e5e7eb);color:var(--primary-color, #2563eb);font-size:.875rem;font-weight:500;text-decoration:none}.section-link:hover{text-decoration:underline}.dashboard-loading{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--text-secondary, #6b7280)}@media (max-width: 768px){.dashboard-sections{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.dashboard-stats{grid-template-columns:1fr}}.client-certificates{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.client-certificates h1{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a1a2e);margin-bottom:.5rem}.client-certificates .page-subtitle{color:var(--text-secondary, #6b7280);margin-bottom:2rem}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.certificate-card{background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:1.5rem;position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s}.certificate-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.certificate-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-color, #2563eb)}.cert-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.cert-name{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a1a2e);flex:1}.cert-verified{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:999px;background-color:#dcfce7;color:#166534;white-space:nowrap}.cert-details{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.cert-detail{display:flex;flex-direction:column}.cert-detail .detail-label{font-size:.75rem;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.125rem}.cert-detail .detail-value{font-size:.9375rem;color:var(--text-primary, #1a1a2e);font-weight:500}.cert-number{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color-light, #f3f4f6);font-size:.8125rem;color:var(--text-secondary, #6b7280)}.certificates-empty{text-align:center;padding:4rem 2rem;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px}.certificates-empty h2{font-size:1.25rem;color:var(--text-primary, #1a1a2e);margin-bottom:.5rem}.certificates-empty p{color:var(--text-secondary, #6b7280)}.certificates-loading{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--text-secondary, #6b7280)}@media (max-width: 768px){.certificates-grid,.cert-details{grid-template-columns:1fr}}.client-progress{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.client-progress h1{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a1a2e);margin-bottom:.5rem}.client-progress .page-subtitle{color:var(--text-secondary, #6b7280);margin-bottom:2rem}.pathways-list{display:flex;flex-direction:column;gap:1.5rem}.pathway-card{background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:1.5rem;transition:box-shadow .2s}.pathway-card:hover{box-shadow:0 4px 12px #00000014}.pathway-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pathway-name{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a1a2e)}.pathway-percentage{font-size:1.125rem;font-weight:700;color:var(--primary-color, #2563eb)}.pathway-progress-bar{height:8px;background:var(--border-color, #e5e7eb);border-radius:4px;overflow:hidden;margin-bottom:1.25rem}.pathway-progress-fill{height:100%;background:var(--primary-color, #2563eb);border-radius:4px;transition:width .5s ease}.pathway-progress-fill.complete{background:#16a34a}.pathway-courses{display:flex;flex-direction:column;gap:.5rem}.pathway-course{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:8px;background:var(--bg-subtle, #f9fafb)}.course-status-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.course-status-icon.completed{background:#dcfce7;color:#166534}.course-status-icon.in-progress{background:#dbeafe;color:#1e40af}.course-status-icon.not-started{background:var(--border-color, #e5e7eb);color:var(--text-secondary, #6b7280)}.course-info{flex:1}.course-name{font-weight:500;color:var(--text-primary, #1a1a2e);font-size:.9375rem}.course-status-text{font-size:.8125rem;color:var(--text-secondary, #6b7280)}.progress-empty{text-align:center;padding:4rem 2rem;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px}.progress-empty h2{font-size:1.25rem;color:var(--text-primary, #1a1a2e);margin-bottom:.5rem}.progress-empty p{color:var(--text-secondary, #6b7280)}.progress-loading{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--text-secondary, #6b7280)}@media (max-width: 768px){.pathway-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.client-bookings{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.client-bookings h1{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a1a2e);margin-bottom:.5rem}.client-bookings .page-subtitle{color:var(--text-secondary, #6b7280);margin-bottom:2rem}.bookings-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color, #e5e7eb)}.bookings-tab{padding:.75rem 1.5rem;background:none;border:none;font-size:.9375rem;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;position:relative;transition:color .2s}.bookings-tab.active{color:var(--primary-color, #2563eb)}.bookings-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary-color, #2563eb)}.bookings-tab .tab-count{margin-left:.5rem;font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:999px;background:var(--border-color, #e5e7eb);color:var(--text-secondary, #6b7280)}.bookings-tab.active .tab-count{background:var(--primary-color, #2563eb);color:#fff}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-card{background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.5rem;transition:box-shadow .2s}.booking-card:hover{box-shadow:0 4px 12px #00000014}.booking-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:12px;background:var(--bg-subtle, #f0f4ff);flex-shrink:0}.booking-date-badge .date-month{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--primary-color, #2563eb);letter-spacing:.05em}.booking-date-badge .date-day{font-size:1.5rem;font-weight:700;color:var(--primary-color, #2563eb);line-height:1}.booking-info{flex:1}.booking-course-name{font-size:1.0625rem;font-weight:600;color:var(--text-primary, #1a1a2e);margin-bottom:.25rem}.booking-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8125rem;color:var(--text-secondary, #6b7280)}.booking-meta span{display:flex;align-items:center;gap:.25rem}.booking-status{font-size:.75rem;font-weight:600;padding:.375rem .875rem;border-radius:999px;white-space:nowrap;text-transform:capitalize}.booking-status.confirmed{background-color:#dcfce7;color:#166534}.booking-status.pending{background-color:#fef3c7;color:#92400e}.booking-status.completed{background-color:#dbeafe;color:#1e40af}.booking-status.cancelled{background-color:#fee2e2;color:#991b1b}.booking-status.awaiting_payment{background-color:#fef3c7;color:#92400e}.bookings-empty{text-align:center;padding:4rem 2rem;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px}.bookings-empty h2{font-size:1.25rem;color:var(--text-primary, #1a1a2e);margin-bottom:.5rem}.bookings-empty p{color:var(--text-secondary, #6b7280)}.bookings-loading{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--text-secondary, #6b7280)}@media (max-width: 768px){.booking-card{flex-direction:column;align-items:flex-start;gap:1rem}.booking-date-badge{width:auto;height:auto;flex-direction:row;gap:.375rem;padding:.375rem .75rem}.booking-meta{flex-direction:column;gap:.25rem}}.client-profile{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.client-profile h1{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a1a2e);margin-bottom:.5rem}.client-profile .page-subtitle{color:var(--text-secondary, #6b7280);margin-bottom:2rem}.profile-section{background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.profile-section h2{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a1a2e);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.profile-readonly{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-field{display:flex;flex-direction:column;gap:.25rem}.profile-field label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}.profile-field .field-value{font-size:.9375rem;color:var(--text-primary, #1a1a2e)}.profile-form{display:flex;flex-direction:column;gap:1rem}.profile-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-input-group{display:flex;flex-direction:column;gap:.375rem}.profile-input-group label{font-size:.8125rem;font-weight:500;color:var(--text-primary, #1a1a2e)}.profile-input-group input,.profile-input-group textarea{padding:.625rem .875rem;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:.9375rem;color:var(--text-primary, #1a1a2e);background:var(--card-bg, #ffffff);transition:border-color .2s}.profile-input-group input:focus,.profile-input-group textarea:focus{outline:none;border-color:var(--primary-color, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.profile-input-group textarea{resize:vertical;min-height:80px}.profile-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.profile-actions button{padding:.625rem 1.5rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.profile-actions .btn-save{background:var(--primary-color, #2563eb);color:#fff}.profile-actions .btn-save:hover{opacity:.9}.profile-actions .btn-save:disabled{opacity:.5;cursor:not-allowed}.profile-actions .btn-cancel{background:var(--border-color, #e5e7eb);color:var(--text-primary, #1a1a2e)}.profile-message{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.profile-message.success{background:#dcfce7;color:#166534}.profile-message.error{background:#fee2e2;color:#991b1b}.profile-loading{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--text-secondary, #6b7280)}@media (max-width: 768px){.profile-readonly,.profile-form-row{grid-template-columns:1fr}}.client-portal-layout{min-height:100vh;background:var(--bg-secondary, #f8f9fa)}.client-portal-nav{background:var(--bg-primary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);padding:var(--spacing-3, 12px) var(--spacing-6, 24px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.08))}.client-portal-nav-brand{display:flex;align-items:center;gap:var(--spacing-3, 12px);text-decoration:none;color:var(--text-primary, #1a1a2e)}.client-portal-nav-brand img{height:36px;width:auto;object-fit:contain}.client-portal-nav-brand h1{font-size:var(--text-lg, 1.125rem);font-weight:600;margin:0;color:var(--primary-color, #0a3456)}.client-portal-nav-links{display:flex;align-items:center;gap:var(--spacing-1, 4px)}.client-portal-nav-link{padding:var(--spacing-2, 8px) var(--spacing-3, 12px);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-secondary, #64748b);text-decoration:none;transition:all .15s ease;border:none;background:none;cursor:pointer}.client-portal-nav-link:hover{color:var(--primary-color, #0a3456);background:var(--primary-light, rgba(10, 52, 86, .06))}.client-portal-nav-link.active{color:var(--primary-color, #0a3456);background:var(--primary-light, rgba(10, 52, 86, .08));font-weight:600}.client-portal-nav-user{display:flex;align-items:center;gap:var(--spacing-3, 12px)}.client-portal-user-name{font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-primary, #1a1a2e)}.client-portal-logout-btn{padding:var(--spacing-2, 8px) var(--spacing-3, 12px);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-secondary, #64748b);background:none;border:1px solid var(--border-color, #e2e8f0);cursor:pointer;transition:all .15s ease}.client-portal-logout-btn:hover{color:var(--error-color, #dc2626);border-color:var(--error-color, #dc2626);background:var(--error-light, #fef2f2)}.client-portal-content{max-width:1200px;margin:0 auto;padding:var(--spacing-6, 24px)}.client-portal-mobile-toggle{display:none;border:none;background:none;font-size:1.5rem;cursor:pointer;padding:var(--spacing-2, 8px);color:var(--text-primary, #1a1a2e)}@media (max-width: 768px){.client-portal-mobile-toggle{display:block}.client-portal-nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-primary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);padding:var(--spacing-3, 12px);flex-direction:column;box-shadow:var(--shadow-md, 0 4px 6px rgba(0,0,0,.1))}.client-portal-nav-links.open{display:flex}.client-portal-nav-link{width:100%;text-align:left}.client-portal-content{padding:var(--spacing-4, 16px)}}*{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: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, 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}input,select,textarea{font-family:var(--font-sans);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);padding:9px 12px;font-size:.79rem;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.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:14px;margin-bottom:14px}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:600;font-size:.62rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary);box-sizing:border-box}.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 #3b82f61a}.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:80px}.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-success{background:var(--full-course-button-color);color:var(--white)}.btn-success:hover:not(:disabled){background:#38a169;transform:translateY(-2px)}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover:not(:disabled){background:var(--primary-color);color:var(--white)}.btn-small{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-xs);min-width:70px}.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}}
