@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);*{margin:0;padding:0}body,html{background:var(--bg-primary);color:var(--text-primary);height:100%;transition:background .3s,color .3s}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{background:var(--bg-primary);min-height:100vh}.auth-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.auth-modal{background:var(--bg-primary);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:450px;overflow-y:auto;padding:32px;position:relative;width:90%}.auth-modal h2{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.auth-modal-subtitle{color:var(--text-secondary);font-size:14px;margin:0 0 24px}.auth-modal-close{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;position:absolute;right:16px;top:16px;transition:all .2s;width:32px}.auth-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.auth-form-group{margin-bottom:20px}.auth-form-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.auth-form-group input{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s;width:100%}.auth-form-group input:focus{border-color:var(--gw-cyan);box-shadow:0 0 0 3px #00a3e01a;outline:none}.auth-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;margin-bottom:16px;padding:12px}[data-theme=dark] .auth-error{background:#4a1f1f;border-color:#7a2f2f;color:#faa}.auth-success{background:#efe;border:1px solid #cfc;border-radius:8px;color:#363;font-size:14px;margin-bottom:16px;padding:12px}[data-theme=dark] .auth-success{background:#1f4a1f;border-color:#2f7a2f;color:#afa}.auth-modal form .btn-primary{margin-top:8px;width:100%}.auth-link-btn{background:none;border:none;color:var(--gw-cyan);cursor:pointer;font-size:14px;padding:12px 0;text-align:center;transition:all .2s;width:100%}.auth-link-btn:hover{text-decoration:underline}.auth-modal-footer{border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px;text-align:center}.auth-modal-footer p{color:var(--text-secondary);font-size:14px;margin:0}.auth-toggle-btn{background:none;border:none;color:var(--gw-cyan);cursor:pointer;font-size:14px;font-weight:600;padding:0;transition:all .2s}.auth-toggle-btn:hover{text-decoration:underline}@media (max-width:480px){.auth-modal{padding:24px;width:95%}.auth-modal h2{font-size:24px}}.user-button-container{position:relative}.user-button{background:#0000;border:none;border-radius:50%;cursor:pointer;padding:0;transition:all .2s}.user-button:hover .user-avatar{box-shadow:0 4px 12px #00a3e04d;transform:scale(1.05)}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border-radius:50%;box-shadow:0 2px 8px #00a3e033;color:#fff;display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;transition:all .2s;width:40px}.user-menu{animation:slideDown .2s ease-out;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #00000026;min-width:220px;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.user-menu-header{padding:16px}.user-menu-name{color:var(--text-primary);font-size:15px;font-weight:600;margin-bottom:4px}.user-menu-email{color:var(--text-secondary);font-size:13px;word-break:break-all}.user-menu-divider{background:var(--border-color);height:1px;margin:0 8px}.user-menu-item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:8px;padding:12px 16px;text-align:left;transition:all .2s;width:100%}.user-menu-item:hover{background:var(--bg-tertiary)}.user-menu-item:first-of-type{border-radius:0 0 10px 10px}:root{--bg-primary-light:#f8fafc;--bg-secondary-light:#fff;--bg-tertiary-light:#f1f5f9;--card-bg-light:#fff;--text-primary-light:#1e293b;--text-secondary-light:#64748b;--border-light:#e2e8f0;--bg-primary-dark:#0f172a;--bg-secondary-dark:#1e293b;--bg-tertiary-dark:#334155;--card-bg-dark:#1e293b;--text-primary-dark:#f1f5f9;--text-secondary-dark:#cbd5e1;--border-dark:#334155;--gw-navy:#003057;--gw-navy-dark:#033c5a;--gw-cyan:#00a3e0;--gw-cyan-dark:#0082b3;--success:#10b981;--success-light:#d1fae5;--success-dark:#065f46;--warning:#f59e0b;--warning-light:#fef3c7;--warning-dark:#d97706;--error:#ef4444;--error-light:#fee2e2;--error-dark:#991b1b;--info:#3b82f6;--info-light:#dbeafe;--info-dark:#1e40af}[data-theme=light]{--bg-primary:var(--bg-primary-light);--bg-secondary:var(--bg-secondary-light);--bg-tertiary:var(--bg-tertiary-light);--card-bg:var(--card-bg-light);--text-primary:var(--text-primary-light);--text-secondary:var(--text-secondary-light);--border-color:var(--border-light)}[data-theme=dark]{--bg-primary:var(--bg-primary-dark);--bg-secondary:var(--bg-secondary-dark);--bg-tertiary:var(--bg-tertiary-dark);--card-bg:var(--card-bg-dark);--text-primary:var(--text-primary-dark);--text-secondary:var(--text-secondary-dark);--border-color:var(--border-dark)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;margin:0}button,input,select,textarea{color:inherit;font-family:inherit;font-size:inherit}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.deliverables-configurator{background:var(--bg-primary);bottom:0;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.configurator-header{align-items:center;background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.configurator-header h3{color:var(--text-primary);font-size:1.5rem;margin:0}.configurator-content{margin:0 auto;max-width:1200px}.config-section{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.config-section h4{color:var(--text-primary);font-size:1.1rem;margin:0 0 15px}.input-group{align-items:center;display:flex;gap:10px}.input-group input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:14px;padding:10px}.input-group input:focus{border-color:#00a3e0;border-color:var(--gw-cyan);outline:none}.categories-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.category-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}.category-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.category-header h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.deliverables-list{margin-bottom:15px;min-height:50px}.deliverable-item{align-items:center;background:var(--bg-tertiary);justify-content:space-between;margin-bottom:8px;padding:10px}.deliverable-item span{color:var(--text-primary);flex:1 1;font-size:14px}.deliverable-actions{display:flex;gap:5px}.deliverable-actions button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:12px;min-width:32px;padding:4px 8px;transition:all .2s}.deliverable-actions button:hover:not(:disabled){background:var(--bg-tertiary);border-color:#00a3e0;border-color:var(--gw-cyan);color:#00a3e0;color:var(--gw-cyan)}.deliverable-actions button:disabled{cursor:not-allowed;opacity:.3}.deliverable-actions button.btn-danger:hover{background:#fee2e2;border-color:#ef4444;color:#ef4444}.add-deliverable{margin-top:10px}.configurator-footer{background:var(--card-bg);border-radius:8px;bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;justify-content:center;margin-top:20px;padding:20px;position:sticky}.btn-lg{font-size:1.1rem;font-weight:600;padding:15px 40px}@media (max-width:768px){.categories-list{grid-template-columns:1fr}.configurator-header{flex-direction:column;gap:15px}.deliverable-item{align-items:flex-start;flex-direction:column;gap:10px}.deliverable-actions{justify-content:flex-end;width:100%}}.app-container{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background .3s,color .3s}.main-content{background:var(--bg-primary);min-height:calc(100vh - 64px);transition:background .3s}.app-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;height:56px;justify-content:space-between;padding:0 20px;position:sticky;top:0;transition:all .3s;z-index:100}.app-logo{cursor:pointer}.app-logo-text{color:var(--text-primary);font-size:18px;font-weight:700}.app-logo-text span{color:#00a3e0;color:var(--gw-cyan)}.nav-tabs{display:flex;gap:6px}.nav-tab{background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.nav-tab:hover{background:var(--bg-tertiary);color:#00a3e0;color:var(--gw-cyan)}.nav-tab.active{background:linear-gradient(135deg,#00a3e0,#0082b3);background:linear-gradient(135deg,var(--gw-cyan),#0082b3);box-shadow:0 2px 8px #00a3e04d;color:#fff}.header-actions,.theme-toggle{align-items:center}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:8px 10px;transition:all .2s}.theme-toggle:hover{border-color:#00a3e0;border-color:var(--gw-cyan);transform:scale(1.05)}.instructor-profile-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;position:relative;transition:all .2s;white-space:nowrap;z-index:10}.instructor-profile-btn:hover{background:linear-gradient(135deg,#00a3e0,#0082b3);background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border-color:#00a3e0;border-color:var(--gw-cyan);color:#fff}@media (max-width:968px){.app-header{height:52px;padding:0 16px}.app-logo-text{font-size:16px}.nav-tab{font-size:12px;padding:7px 12px}.instructor-profile-btn{font-size:11px;padding:7px 12px}.theme-toggle{font-size:14px;padding:7px 9px}}@media (max-width:640px){.app-header{align-items:center;flex-wrap:wrap;gap:0;height:auto;padding:10px 16px 0}.app-logo{flex:1 1}.header-actions{flex-shrink:0;gap:8px}.nav-tabs{-webkit-overflow-scrolling:touch;flex-basis:100%;flex-wrap:nowrap;gap:4px;margin-top:6px;order:10;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{flex-shrink:0;font-size:13px;padding:8px 14px;white-space:nowrap}.instructor-profile-btn{font-size:0;padding:8px 10px}.instructor-profile-btn:before{content:"🎓";font-size:16px}}.profile-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:2000}.profile-modal{background:var(--bg-secondary);border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.profile-header{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px}.profile-header h2{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 4px}.profile-subtitle{color:var(--text-secondary);font-size:14px;font-weight:500}.profile-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.profile-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.profile-body{padding:24px}.profile-section{margin-bottom:32px}.profile-section:last-child{margin-bottom:0}.profile-section h3{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:16px}.profile-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.profile-roles{display:flex;flex-wrap:wrap;gap:8px}.profile-role-badge{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);font-size:13px;font-weight:600;padding:6px 14px}.profile-role-badge.role-admin{background:linear-gradient(135deg,#00a3e026,#0082b31a);border-color:#00a3e04d;color:#00a3e0;color:var(--gw-cyan)}.profile-role-badge.role-coordinator{background:linear-gradient(135deg,#10b98126,#0596691a);border-color:#10b9814d;color:#10b981}.profile-role-badge.role-clinical{background:linear-gradient(135deg,#3b82f626,#2563eb1a);border-color:#3b82f64d;color:#3b82f6}.profile-aha-id{background:var(--bg-tertiary);border-radius:10px;font-size:18px;padding:12px}.aha-id-input,.profile-aha-id{color:var(--text-primary);font-weight:600}.aha-id-input{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:10px;font-family:inherit;font-size:16px;padding:12px 16px;transition:all .2s;width:100%}.aha-id-input:focus{border-color:#00a3e0;border-color:var(--gw-cyan);box-shadow:0 0 0 3px #00a3e01a;outline:none}.no-id-text{color:var(--text-secondary);font-weight:500}.profile-no-certs{background:var(--bg-tertiary);border-radius:12px;color:var(--text-secondary);padding:40px;text-align:center}.profile-no-certs p{margin-bottom:16px}.profile-add-btn{background:linear-gradient(135deg,#00a3e0,#0082b3);background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.profile-add-btn:hover{box-shadow:0 4px 12px #00a3e066;transform:translateY(-2px)}.profile-edit-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.profile-edit-btn:hover{background:#00a3e0;background:var(--gw-cyan);border-color:#00a3e0;border-color:var(--gw-cyan);color:#fff}.certifications-list{display:flex;flex-direction:column;gap:16px}.cert-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .2s}.cert-item:hover{border-color:#00a3e0;border-color:var(--gw-cyan)}.cert-info{display:flex;flex-direction:column;gap:8px}.cert-label{color:var(--text-primary);font-size:15px;font-weight:600}.cert-date-input{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 14px;transition:all .2s}.cert-date-input:focus{border-color:#00a3e0;border-color:var(--gw-cyan);box-shadow:0 0 0 3px #00a3e01a;outline:none}.cert-expiration{color:var(--text-secondary);font-size:13px;font-weight:500}.cert-status{border-radius:20px;color:#fff;display:inline-block;font-size:12px;font-weight:600;margin-top:4px;padding:4px 12px}.profile-edit-actions{border-top:1px solid var(--border-color);display:flex;gap:12px;margin-top:24px;padding-top:24px}.profile-save-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.profile-save-btn:hover:not(:disabled){box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.profile-save-btn:disabled{cursor:not-allowed;opacity:.6}.profile-cancel-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.profile-cancel-btn:hover:not(:disabled){background:var(--border-color)}.profile-cancel-btn:disabled{cursor:not-allowed;opacity:.6}.profile-message{border-radius:10px;font-size:14px;font-weight:500;margin-top:16px;padding:12px 16px}.profile-message.success{background:#d1fae5;color:#065f46}[data-theme=dark] .profile-message.success{background:#064e3b;color:#6ee7b7}.profile-message.error{background:#fee2e2;color:#991b1b}[data-theme=dark] .profile-message.error{background:#7f1d1d;color:#fca5a5}.quick-actions-bar{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:16px}.quick-actions-bar h2{color:var(--text-primary);font-size:18px}.quick-action-btn{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);display:flex;gap:8px;padding:12px 24px}.quick-action-btn:hover{background:#00a3e0;background:var(--gw-cyan);border-color:#00a3e0;border-color:var(--gw-cyan);box-shadow:0 4px 12px #00a3e066;color:#fff}.loading-screen{align-items:center;background:var(--bg-primary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid var(--border-color);border-top-color:var(--gw-cyan);height:48px;width:48px}.loading-text{font-weight:500}.empty-state{background:var(--bg-tertiary);padding:40px}.sign-in-container{align-items:center;background:linear-gradient(135deg,#003057,#0a1628);background:linear-gradient(135deg,var(--gw-navy),#0a1628);display:flex;justify-content:center;min-height:100vh;padding:24px}.sign-in-card{background:var(--card-bg);border-radius:24px;max-width:440px;padding:48px;text-align:center;width:100%}.sign-in-logo{margin-bottom:32px}.logo-light-img{display:block;margin:0 auto}.logo-dark-img{display:none;margin:0 auto}[data-theme=dark] .logo-light-img{display:none}[data-theme=dark] .logo-dark-img{display:block}.sign-in-card h1{color:var(--text-primary);font-size:24px;font-weight:700;margin-bottom:12px}.sign-in-card p{color:var(--text-secondary);margin-bottom:32px}.btn{align-items:center;border:1px solid #0000;border-radius:12px;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.btn-sm{border-radius:8px}.btn-secondary{border-color:var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);border-color:#00a3e0;border-color:var(--gw-cyan);color:#00a3e0;color:var(--gw-cyan)}.btn-danger{background:#fee2e2;border-color:#fecaca;color:#ef4444}.btn-danger:hover{background:#ef4444;border-color:#ef4444;color:#fff}.btn-primary:disabled{opacity:.6}.btn-secondary{border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color)}.sign-in-btn{padding:16px;width:100%}.error-card{background:var(--bg-secondary);border:2px solid #ef4444;border-radius:24px;max-width:500px;padding:48px;text-align:center}.error-icon{font-size:64px;margin-bottom:16px}.error-card h2{color:var(--text-primary);font-size:24px;font-weight:700;margin-bottom:16px}.error-card p{color:var(--text-secondary)}.cohort-card:before{background:linear-gradient(135deg,#00a3e0,#0082b3)}.cohort-card:hover{border-color:#00a3e0}.cohort-header h3{margin:0 0 16px}.cohort-view-btn{background:linear-gradient(135deg,#00a3e0,#0082b3)}.back-btn:hover{border-color:#00a3e0}.btn-refresh{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-refresh:hover{background:linear-gradient(135deg,#00a3e0,#0082b3);background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border-color:#00a3e0;border-color:var(--gw-cyan);color:#fff;transform:translateY(-2px)}.error-screen{align-items:center;display:flex;justify-content:center;min-height:60vh}.students-container{padding:0}.students-header{gap:16px;justify-content:space-between;margin-bottom:20px}.header-left,.students-header{align-items:center;display:flex;flex-wrap:wrap}.header-left{gap:24px}.students-header h2{color:var(--text-primary);font-size:22px;font-weight:700;margin:0}.select-all-container{align-items:center;display:flex;gap:8px}.select-all-container input[type=checkbox]{cursor:pointer;height:18px;width:18px}.select-all-container label{color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500}.header-controls{display:flex;flex-wrap:wrap;gap:12px}.control-btn{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.control-btn:hover{background:linear-gradient(135deg,#00a3e0,#0082b3);background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border-color:#00a3e0;border-color:var(--gw-cyan);color:#fff}.compact-table{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.table-header{grid-gap:12px;font-size:13px;font-weight:700;gap:12px;grid-template-columns:50px 1fr 1.2fr 1fr 120px 150px 60px;letter-spacing:.5px;text-transform:uppercase}.table-row-container{border-bottom:1px solid var(--border-color)}.table-row-container:last-child{border-bottom:none}.table-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:50px 1fr 1.2fr 1fr 120px 150px 60px;padding:16px;transition:background .2s}.table-row-container:hover .table-row{background:var(--bg-tertiary)}.table-row-container.selected .table-row{background:#00a3e01a}.col-select input[type=checkbox]{cursor:pointer;height:18px;width:18px}.col-name{color:var(--text-primary);font-weight:600}.col-cohort,.col-email{color:var(--text-secondary);font-size:14px}.status-active{background:#dcfce7;color:#166534}[data-theme=dark] .status-active{background:#14532d;color:#86efac}.status-onhold{background:#fef3c7;color:#92400e}[data-theme=dark] .status-onhold{background:#713f12;color:#fde047}[data-theme=dark] .status-withdrawn{background:#7f1d1d;color:#fca5a5}.col-progress,.progress-info{align-items:center;display:flex;gap:12px}.progress-info{width:100%}.progress-bar-container{background:var(--border-color)}.progress-bar-fill{border-radius:4px}.progress-text{font-weight:700;min-width:45px;text-align:right}.expand-btn{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:12px;transition:all .2s}.expand-btn:hover{background:linear-gradient(135deg,#00a3e0,#0082b3);background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border-color:#00a3e0;border-color:var(--gw-cyan);color:#fff}.expanded-details{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:24px}.deliverable-category-compact{margin-bottom:24px}.deliverable-category-compact:last-child{margin-bottom:0}.deliverable-category-compact h4{color:var(--text-primary);font-size:14px;font-weight:700;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.deliverables-grid-compact{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.deliverable-item-compact{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;display:flex;gap:10px;padding:10px 12px;transition:all .2s}.deliverable-item-compact:hover{border-color:#00a3e0;border-color:var(--gw-cyan)}.deliverable-item-compact input[type=checkbox]{cursor:pointer;height:18px;width:18px}.deliverable-item-compact span{color:var(--text-secondary);font-size:14px;font-weight:500}.deliverable-item-compact span.checked{color:var(--text-primary);font-weight:600}.save-section-compact{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;padding-top:20px}.save-button{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 32px;transition:all .2s}.save-button:hover:not(:disabled){box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.save-button:disabled{cursor:not-allowed;opacity:.6}.unsaved-indicator{color:#f59e0b;font-size:13px;font-weight:600}.bulk-actions-bar{background:linear-gradient(135deg,#00a3e0,#0082b3);background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border-bottom:1px solid #0000001a;margin-bottom:20px;padding:16px 24px;position:sticky;top:64px;z-index:50}.bulk-actions-content{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.bulk-selected-count{color:#fff;font-size:15px;font-weight:700}.bulk-deliverable-select{background:#ffffffe6;border:2px solid #ffffff4d;border-radius:8px;color:#1e293b;cursor:pointer;font-size:14px;font-weight:500;min-width:300px;padding:10px 16px}.bulk-value-toggle{display:flex;flex-wrap:wrap;gap:16px}.bulk-value-toggle label{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px}.bulk-value-toggle input[type=radio]{cursor:pointer;height:18px;width:18px}.bulk-apply-btn{background:#fff;border:none;border-radius:8px;color:#003057;color:var(--gw-navy);cursor:pointer;font-size:14px;font-weight:700;margin-left:auto;padding:10px 24px;transition:all .2s}.bulk-apply-btn:hover:not(:disabled){box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.bulk-apply-btn:disabled{cursor:not-allowed;opacity:.5}.save-message{border-radius:8px;margin-top:12px;padding:12px}.save-message.success{background:#d1fae5;color:#065f46}[data-theme=dark] .save-message.success{background:#064e3b;color:#6ee7b7}.save-message.error{background:#fee2e2;color:#991b1b}[data-theme=dark] .save-message.error{background:#7f1d1d;color:#fca5a5}h1,h2,h3,h4,h5,h6,label,p,span,td,th{word-wrap:break-word;overflow-wrap:break-word}button{overflow:visible}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.section-header h2{color:var(--text-primary);font-size:24px;font-weight:700;margin:0}.student-name{font-size:14px;font-weight:600}.student-email{font-size:12px;word-break:break-all}.pending-registrations{padding:0}.results-count{color:var(--text-secondary);font-size:13px;font-weight:600;padding:8px 0;white-space:nowrap}.roster-summary{background:var(--bg-tertiary);border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:16px}.roster-summary span{color:var(--text-primary);font-size:14px;font-weight:600}.roster-content{padding:24px}[data-theme=dark] input[type=datetime-local]{color-scheme:dark}[data-theme=dark] input[type=date],[data-theme=dark] input[type=datetime-local],[data-theme=dark] input[type=email],[data-theme=dark] input[type=number],[data-theme=dark] input[type=password],[data-theme=dark] input[type=search],[data-theme=dark] input[type=tel],[data-theme=dark] input[type=text],[data-theme=dark] input[type=time],[data-theme=dark] input[type=url],[data-theme=dark] select,[data-theme=dark] textarea{background-color:#1e293b;background-color:var(--bg-secondary-dark,#1e293b);border-color:#334155;border-color:var(--border-dark,#334155);color:#f1f5f9;color:var(--text-primary-dark,#f1f5f9)}[data-theme=dark] select option{background-color:#1e293b;background-color:var(--bg-secondary-dark,#1e293b);color:#f1f5f9;color:var(--text-primary-dark,#f1f5f9)}[data-theme=dark] input[type=date],[data-theme=dark] input[type=datetime-local],[data-theme=dark] input[type=time],[data-theme=dark] select{color-scheme:dark}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#cbd5e1;color:var(--text-secondary-dark,#cbd5e1);opacity:.7}[data-theme=dark] input:-webkit-autofill,[data-theme=dark] input:-webkit-autofill:focus,[data-theme=dark] input:-webkit-autofill:hover{-webkit-text-fill-color:#f1f5f9;-webkit-text-fill-color:var(--text-primary-dark,#f1f5f9);-webkit-box-shadow:inset 0 0 0 1000px #1e293b;-webkit-box-shadow:0 0 0 1000px var(--bg-secondary-dark,#1e293b) inset}[data-theme=dark] .dialog label,[data-theme=dark] .form-group label,[data-theme=dark] .modal label{color:#f1f5f9;color:var(--text-primary-dark,#f1f5f9)}[data-theme=light] input[type=date],[data-theme=light] input[type=datetime-local],[data-theme=light] input[type=email],[data-theme=light] input[type=number],[data-theme=light] input[type=password],[data-theme=light] input[type=search],[data-theme=light] input[type=tel],[data-theme=light] input[type=text],[data-theme=light] input[type=time],[data-theme=light] input[type=url],[data-theme=light] select,[data-theme=light] textarea{background-color:#fff;background-color:var(--bg-secondary-light,#fff);border-color:#e2e8f0;border-color:var(--border-light,#e2e8f0);color:#1e293b;color:var(--text-primary-light,#1e293b)}[data-theme=light] select option{background-color:#fff;background-color:var(--bg-secondary-light,#fff);color:#1e293b;color:var(--text-primary-light,#1e293b)}[data-theme=light] input[type=date],[data-theme=light] input[type=datetime-local],[data-theme=light] input[type=time]{color-scheme:light}.modal{background:var(--bg-secondary);display:flex!important;flex-direction:column!important;overflow:hidden!important}.modal-overlay{overflow-y:auto!important;padding:40px 20px!important}.modal-large{max-width:95vw!important;width:1400px!important}.modal-form{display:flex;flex:1 1;flex-direction:column;min-height:0}.modal-body{min-height:0!important}.modal-footer{background:var(--bg-tertiary)}.deliverables-configurator{display:flex!important;flex-direction:column!important;height:100%!important;min-width:0!important;width:100%!important}.configurator-header{border-bottom:2px solid var(--border-color)!important;flex-shrink:0!important;padding:16px 24px!important}.header-tips{color:var(--text-secondary)!important;font-size:13px!important;font-style:italic!important;margin-left:16px!important;margin-right:auto!important}.config-section{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;border-radius:10px!important;margin-bottom:32px!important;padding:24px!important}.master-detail-layout{background:var(--bg-primary)!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;height:80vh!important;min-height:600px!important;overflow:hidden!important}.configurator-header{align-items:center!important;background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important;display:flex!important;justify-content:space-between!important;padding:24px 32px!important}.header-title-section h3{color:var(--text-primary)!important;font-size:20px!important;margin:0 0 4px!important}.header-subtitle{color:var(--text-secondary)!important;font-size:13px!important;margin:0!important}.configurator-container{display:flex!important;flex:1 1!important;overflow:hidden!important}.config-sidebar{background:var(--bg-secondary)!important;border-right:1px solid var(--border-color)!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important;width:280px!important}.sidebar-section{flex:1 1!important;padding:24px!important}.sidebar-label{color:var(--text-secondary)!important;display:block!important;font-size:11px!important;font-weight:800!important;letter-spacing:1px!important;margin-bottom:16px!important;text-transform:uppercase!important}.category-tabs{display:flex!important;flex-direction:column!important;gap:6px!important}.category-tab{align-items:center!important;background:#0000!important;border:1px solid #0000!important;border-radius:10px!important;color:var(--text-primary)!important;cursor:pointer!important;display:flex!important;justify-content:space-between!important;padding:12px 16px!important;text-align:left!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;width:100%!important}.category-tab:hover{background:var(--bg-tertiary)!important;transform:translateX(4px)!important}.category-tab.active{background:#00a3e01a!important;border-color:#00a3e0!important;border-color:var(--gw-cyan)!important;color:#00a3e0!important;color:var(--gw-cyan)!important;font-weight:600!important}.cat-count{background:var(--bg-tertiary)!important;border-radius:12px!important;color:var(--text-secondary)!important;font-size:11px!important;padding:4px 8px!important}.category-tab.active .cat-count{background:#00a3e0!important;background:var(--gw-cyan)!important;color:#fff!important}.sidebar-footer{background:var(--bg-tertiary)!important;border-top:1px solid var(--border-color)!important;padding:20px!important}.add-category-form{display:flex!important;gap:8px!important}.add-category-form input{border:1px solid var(--border-color)!important;border-radius:6px!important;color:var(--text-primary)!important;font-size:13px!important;padding:8px 12px!important}.add-category-form input,.config-main{background:var(--bg-primary)!important;flex:1 1!important}.config-main{display:flex!important;flex-direction:column!important;overflow-y:auto!important;padding:40px!important}.main-header{align-items:flex-start!important;border-bottom:1px solid var(--border-color)!important;display:flex!important;justify-content:space-between!important;margin-bottom:40px!important;padding-bottom:24px!important}.main-title h4{color:var(--text-primary)!important;font-size:24px!important;margin:0 0 4px!important}.main-subtitle{color:var(--text-secondary)!important;font-size:14px!important;margin:0!important}.highlight-text{border-bottom:2px solid #00a3e0!important;border-bottom:2px solid var(--gw-cyan)!important;color:#00a3e0!important;color:var(--gw-cyan)!important}.btn-danger-outline{background:#0000!important;border:1px solid #ef4444!important;border-radius:8px!important;color:#ef4444!important;font-size:13px!important;padding:8px 16px!important;transition:all .2s!important}.btn-danger-outline:hover{background:#ef4444!important;color:#fff!important}.deliverables-list-grid{grid-gap:20px!important;align-items:start!important;display:grid!important;gap:20px!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}.config-item-premium{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;border-radius:12px!important;padding:16px!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.config-item-premium:hover{border-color:#00a3e0!important;border-color:var(--gw-cyan)!important;box-shadow:0 8px 24px #00000026!important;transform:translateY(-4px)!important}.item-row{align-items:flex-start!important;gap:12px!important;justify-content:space-between!important}.item-info,.item-row{display:flex!important}.item-info{flex-direction:column!important;gap:8px!important}.item-name{color:var(--text-primary)!important;font-size:15px!important;font-weight:600!important;line-height:1.4!important}.item-type-tag{border-radius:4px!important;display:inline-block!important;font-size:10px!important;font-weight:800!important;letter-spacing:.5px!important;padding:4px 8px!important;text-transform:uppercase!important}.item-type-tag.checkbox{background:#10b9811a!important;border:1px solid #10b98133!important;color:#10b981!important}.item-type-tag.text{background:#3b82f61a!important;border:1px solid #3b82f633!important;color:#3b82f6!important}.item-type-tag.select{background:#f59e0b1a!important;border:1px solid #f59e0b33!important;color:#f59e0b!important}.item-controls{display:flex!important;gap:6px!important}.control-btn{align-items:center!important;background:var(--bg-tertiary)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;color:var(--text-primary)!important;cursor:pointer!important;display:flex!important;font-size:14px!important;height:32px!important;justify-content:center!important;transition:all .2s!important;width:32px!important}.control-btn:hover:not(:disabled){background:#00a3e0!important;background:var(--gw-cyan)!important;border-color:#00a3e0!important;border-color:var(--gw-cyan)!important;color:#fff!important}.control-btn.delete:hover{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important}.control-btn:disabled{cursor:not-allowed!important;opacity:.2!important}.item-options-preview{background:var(--bg-tertiary)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;color:var(--text-secondary)!important;font-size:11px!important;margin-top:12px!important;padding:8px 12px!important}.add-item-card{background:var(--bg-secondary)!important;border:2px dashed var(--border-color)!important;border-radius:16px!important;padding:32px!important;transition:all .2s!important}.add-item-card:hover{background:#00a3e005!important;border-color:#00a3e0!important;border-color:var(--gw-cyan)!important}.add-item-card h5{color:var(--text-primary)!important;font-size:18px!important;margin:0 0 24px!important}.add-item-form-grid{grid-gap:20px!important;display:grid!important;gap:20px!important;grid-template-columns:1fr 160px!important;margin-bottom:20px!important}.form-input-group label{color:var(--text-secondary)!important;display:block!important;font-size:11px!important;font-weight:800!important;letter-spacing:.5px!important;margin-bottom:8px!important;text-transform:uppercase!important}.form-input-group input,.form-input-group select{background:var(--bg-primary)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;color:var(--text-primary)!important;font-size:14px!important;padding:12px 16px!important;width:100%!important}.form-input-group.full-width{margin-bottom:20px!important;width:100%!important}.add-confirm-btn{font-size:15px!important;font-weight:700!important;padding:14px!important;width:100%!important}.no-selection-state{align-items:center!important;color:var(--text-secondary)!important;display:flex!important;flex:1 1!important;flex-direction:column!important;justify-content:center!important;padding:80px!important;text-align:center!important}.no-selection-icon{font-size:80px!important;margin-bottom:32px!important;opacity:.3!important}.configurator-footer{align-items:center!important;background:var(--bg-secondary)!important;border-top:1px solid var(--border-color)!important;display:flex!important;justify-content:space-between!important;padding:24px 40px!important}.footer-status{color:var(--text-secondary)!important;font-size:13px!important}.saving-indicator{color:#00a3e0!important;color:var(--gw-cyan)!important;font-weight:600!important}.save-action-btn{border-radius:12px!important;box-shadow:0 4px 12px #00a3e04d!important;font-size:16px!important;font-weight:700!important;padding:14px 40px!important}@media (max-width:1200px){.config-sidebar{width:240px!important}.config-main{padding:32px!important}}@media (max-width:900px){.configurator-container{flex-direction:column!important}.config-sidebar{border-bottom:1px solid var(--border-color)!important;border-right:none!important;height:auto!important;width:100%!important}.sidebar-section{padding:16px!important}.master-detail-layout{height:95vh!important}}.ems-app{background:var(--bg-primary);margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.cohorts-view,.students-view{animation:fadeIn .3s ease-out}.students-view{max-width:100%;overflow-x:hidden}.page-header{align-items:flex-start;flex-wrap:wrap;gap:16px}.page-subtitle{color:var(--text-secondary);font-size:14px;margin-top:4px}.header-actions{flex-wrap:wrap}.cohort-search{margin-bottom:24px}.search-input{background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);font-size:15px;padding:12px 20px;width:100%}.cohorts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.cohort-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;cursor:pointer;display:flex;flex-direction:column;overflow:visible;padding:24px;position:relative;transition:all .3s}.cohort-card:before{background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s}.cohort-card:hover{border-color:var(--gw-cyan);box-shadow:0 8px 24px #00a3e026;transform:translateY(-4px)}.cohort-card:hover:before{transform:scaleX(1)}.cohort-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.cohort-header h3{color:var(--text-primary);flex:1 1;font-size:20px;font-weight:700;margin:0;word-break:break-word}.cohort-actions{display:flex;flex-shrink:0;gap:8px}.cohort-action-btn{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px 8px;transition:all .2s}.cohort-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.cohort-info{flex:1 1;margin-bottom:20px}.cohort-detail{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:4px;padding:12px 0}.cohort-detail:last-child{border-bottom:none}.cohort-label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.cohort-value{word-wrap:break-word;color:var(--text-primary);font-size:15px;font-weight:600;overflow-wrap:break-word}.cohort-footer{border-top:1px solid var(--border-color);margin-top:auto;padding-top:16px}.cohort-view-btn{background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s;width:100%}.cohort-view-btn:hover{box-shadow:0 4px 12px #00a3e04d;transform:translateX(4px)}.back-btn{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:12px;padding:8px 16px;transition:all .2s}.back-btn:hover{background:var(--bg-secondary);border-color:var(--gw-cyan);transform:translateX(-4px)}.add-cohort-btn{align-items:center;background:linear-gradient(135deg,var(--gw-cyan),#0082b3);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.add-cohort-btn:hover{box-shadow:0 4px 16px #00a3e04d;transform:translateY(-2px)}.empty-state{padding:60px 24px}.empty-state p{font-size:16px;margin:0 0 16px}.loading{padding:60px 24px}@media (max-width:1024px){.ems-app{padding:20px}.cohorts-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.page-header{align-items:stretch;flex-direction:column}.header-actions{justify-content:stretch}.add-cohort-btn{justify-content:center;width:100%}.cohort-card{padding:20px}.cohort-header h3{font-size:18px}}@media (max-width:768px){.ems-app{padding:16px}.page-header h1{font-size:24px}.cohorts-grid{gap:16px;grid-template-columns:1fr}.cohort-card{padding:16px}.cohort-header{flex-direction:column;gap:12px}.cohort-actions{align-self:flex-end}.cohort-detail{padding:8px 0}.cohort-label{font-size:11px}.cohort-value{font-size:14px}.back-btn{justify-content:center;width:100%}}@media (max-width:480px){.ems-app{padding:12px}.page-header h1{font-size:20px}.page-subtitle{font-size:13px}.search-input{font-size:14px;padding:10px 16px}.cohort-card{padding:14px}.cohort-header h3{font-size:16px}.add-cohort-btn,.back-btn,.cohort-view-btn{font-size:13px;padding:10px 16px}}.cohort-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.stat-card{border-radius:16px;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 8px 24px #00000026}.stat-label{margin-bottom:8px}.stat-value{font-size:32px;font-weight:800}.stat-icon{font-size:24px;opacity:.8;position:absolute;right:20px;top:20px}.text-success{color:#10b981}.text-info{color:#3b82f6}.text-accent{color:var(--gw-cyan)}.header-subtitle{color:var(--text-secondary);font-size:14px;margin:4px 0 0}.toolbar-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;gap:16px;justify-content:space-between;margin-bottom:24px;padding:12px 20px}.toolbar-container,.toolbar-filters{align-items:center;display:flex;flex-wrap:wrap}.toolbar-filters{gap:20px}.toolbar-group{display:flex;flex-direction:column;gap:4px}.toolbar-group label{color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.toolbar-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;min-width:160px;padding:8px 12px}.toolbar-select:focus{border-color:var(--gw-cyan);outline:none}.toolbar-search{flex:1 1;max-width:400px}.toolbar-search-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;padding:10px 16px;width:100%}.toolbar-search-input:focus{border-color:var(--gw-cyan);box-shadow:0 0 0 3px #00a3e01a;outline:none}.student-row-premium{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;margin-bottom:12px;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1)}.student-row-premium.active{border-color:var(--gw-cyan);box-shadow:0 4px 20px #00a3e01a}.student-main-row{align-items:center;cursor:pointer;display:flex;gap:24px;padding:16px 24px}.student-main-row:hover{background:#ffffff05}.student-checkbox{flex-shrink:0}.student-checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.student-profile-info{flex:1 1;min-width:200px}.student-name{color:var(--text-primary);font-size:16px;font-weight:700}.student-email{color:var(--text-secondary);font-size:13px;margin-top:2px}.student-progress-col{width:200px}.premium-progress-container{display:flex;flex-direction:column;gap:6px}.premium-progress-bar{background:var(--bg-tertiary);border-radius:5px;height:10px;overflow:hidden}.premium-progress-fill{background:linear-gradient(90deg,#00a3e0,#00d2ff);border-radius:5px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.premium-progress-fill.done{background:linear-gradient(90deg,#10b981,#34d399)}.premium-progress-text{color:var(--text-secondary);font-size:11px;font-weight:700;text-align:right}.student-badges-col{display:flex;justify-content:center;width:140px}.tuition-badge-premium{border:1px solid #0000001a;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.tuition-badge-premium.paid{background:#10b9811a;border-color:#10b98133;color:#10b981}.tuition-badge-premium.partial{background:#f59e0b1a;border-color:#f59e0b33;color:#f59e0b}.tuition-badge-premium.unpaid{background:#6b72801a;border-color:#6b728033;color:#9ca3af}.tuition-badge-premium.contract{background:#3b82f61a;border-color:#3b82f633;color:#3b82f6}.student-row-actions{display:flex;gap:12px;margin-left:auto}.row-action-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.row-action-btn:hover{background:var(--bg-hover);border-color:var(--gw-cyan)}.row-action-btn.profile{background:#00a3e01a;border-color:#00a3e033;color:var(--gw-cyan)}.row-action-btn.expand.open{background:var(--gw-cyan);border-color:var(--gw-cyan);color:#fff}.student-details{animation:slideInDown .3s ease-out;background:var(--card-bg);padding:0 24px 24px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.deliverables-section{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:24px;margin-top:12px;padding-top:24px}.category-title{color:var(--gw-cyan);margin-bottom:16px}.deliverables-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.deliverable-item{border-radius:12px;padding:16px}.deliverable-item:hover{background:var(--bg-hover)}@media (max-width:1024px){.student-main-row{flex-wrap:wrap;gap:16px}.student-badges-col,.student-progress-col{flex:1 1;width:auto}}@media (max-width:640px){.cohort-stats-grid{grid-template-columns:1fr}.toolbar-container{align-items:stretch;flex-direction:column}.toolbar-search{max-width:none}}.searchable-select{font-family:inherit;position:relative;width:100%}.select-display{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;min-height:38px;padding:8px 12px;transition:border-color .2s,background .2s}.select-display.open,.select-display:hover{border-color:var(--gw-cyan)}.select-display.open{border-bottom-left-radius:0;border-bottom-right-radius:0}.selected-value{color:var(--text-primary);font-weight:500}.chevron,.placeholder{color:var(--text-secondary)}.chevron{font-size:10px;transition:transform .2s}.open .chevron{transform:rotate(180deg)}.select-dropdown{background:var(--bg-tertiary);border:1px solid var(--gw-cyan);border-radius:0 0 8px 8px;box-shadow:0 4px 12px #00000026;left:0;padding-top:8px;pointer-events:auto;position:absolute;right:0;top:100%;z-index:1000}.select-search-container{padding:0 8px 8px}.select-search-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;outline:none;padding:6px 10px;width:100%}.select-search-input:focus{border-color:var(--gw-cyan)}.select-options-list{max-height:200px;overflow-y:auto}.select-option{color:var(--text-primary);cursor:pointer;font-size:13px;padding:8px 12px;transition:background .2s}.select-option:hover{background:var(--bg-secondary);color:var(--gw-cyan)}.select-option.active{background:#00a3e01a;color:var(--gw-cyan);font-weight:600}.no-options{color:var(--text-secondary);font-size:13px;font-style:italic;padding:12px;text-align:center}.dialog-overlay{align-items:center;animation:dialogFadeIn .2s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}.dialog-container{animation:dialogSlideIn .2s ease;background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;overflow:hidden;width:90%}@keyframes dialogSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;gap:12px;padding:20px 24px}.dialog-header.dialog-alert{background-color:#eff6ff;border-bottom-color:#dbeafe}.dialog-header.dialog-confirm{background-color:#fef3c7;border-bottom-color:#fde68a}.dialog-header.dialog-error{background-color:#fee2e2;border-bottom-color:#fecaca}.dialog-header.dialog-success{background-color:#d1fae5;border-bottom-color:#a7f3d0}.dialog-icon{flex-shrink:0;font-size:24px}.dialog-title{color:#111827;color:var(--text-primary,#111827);font-size:18px;font-weight:600;margin:0}.dialog-body{padding:24px}.dialog-message{color:#374151;color:var(--text-primary,#374151);font-size:15px;line-height:1.6;margin:0;white-space:pre-line;word-break:break-word}.dialog-footer{background-color:#f9fafb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.dialog-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;outline:none;padding:10px 20px;transition:all .15s ease}.dialog-button:focus{box-shadow:0 0 0 3px #3b82f633}.dialog-button-cancel{background-color:#fff;border:1px solid #d1d5db;color:#374151}.dialog-button-cancel:hover{background-color:#f9fafb;border-color:#9ca3af}.dialog-button-confirm{color:#fff}.dialog-button-confirm.dialog-button-alert,.dialog-button-confirm.dialog-button-confirm{background-color:#3b82f6}.dialog-button-confirm.dialog-button-alert:hover,.dialog-button-confirm.dialog-button-confirm:hover{background-color:#2563eb}.dialog-button-confirm.dialog-button-error{background-color:#ef4444}.dialog-button-confirm.dialog-button-error:hover{background-color:#dc2626}.dialog-button-confirm.dialog-button-success{background-color:#10b981}.dialog-button-confirm.dialog-button-success:hover{background-color:#059669}[data-theme=dark] .dialog-container{background:#1f2937;color:#f3f4f6}[data-theme=dark] .dialog-header{border-bottom-color:#374151}[data-theme=dark] .dialog-header.dialog-alert{background-color:#1e3a5f;border-bottom-color:#2d5a8f}[data-theme=dark] .dialog-header.dialog-confirm{background-color:#3f3a1e;border-bottom-color:#5f5a2d}[data-theme=dark] .dialog-header.dialog-error{background-color:#3f1e1e;border-bottom-color:#5f2d2d}[data-theme=dark] .dialog-header.dialog-success{background-color:#1e3f2d;border-bottom-color:#2d5f45}[data-theme=dark] .dialog-title{color:#f3f4f6}[data-theme=dark] .dialog-message{color:#d1d5db}[data-theme=dark] .dialog-footer{background-color:#111827}[data-theme=dark] .dialog-button-cancel{background-color:#374151;border-color:#4b5563;color:#f3f4f6}[data-theme=dark] .dialog-button-cancel:hover{background-color:#4b5563}@media (max-width:480px){.dialog-container{margin:10px;width:95%}.dialog-body,.dialog-footer,.dialog-header{padding:16px}.dialog-footer{flex-direction:column}.dialog-button{width:100%}}.student-list-container{background:var(--bg-primary);box-sizing:border-box;max-width:100%;min-height:100vh;overflow-x:hidden;padding:24px}.student-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.student-list-header h2{color:var(--text-primary);font-size:24px;font-weight:700;margin:0}.header-right{display:flex;gap:12px}.filters-section{border-radius:8px;margin-bottom:20px;padding:16px}.filter-group{align-items:center;gap:8px}.filter-group label,.filter-select{color:var(--text-primary);font-size:14px}.filter-select{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:6px;min-width:180px;padding:8px 12px}.bulk-edit-section{background:#e3f2fd;border:2px solid #2196f3;border-radius:8px;margin-bottom:20px;padding:16px}[data-theme=dark] .bulk-edit-section{background:#1a2332;border-color:#2196f3}.bulk-edit-content{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.bulk-edit-label{font-weight:600}.bulk-edit-label,.bulk-edit-select{color:var(--text-primary);font-size:14px}.bulk-edit-select{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:6px;min-width:200px;padding:8px 12px}.list-controls{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px}.list-controls .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.list-controls .btn-secondary{background:var(--bg-tertiary);border:2px solid var(--border-color);color:var(--text-primary)}.list-controls .btn-secondary:hover{background:var(--bg-hover);border-color:var(--accent-blue)}.list-controls .btn-secondary:active{transform:scale(.98)}.students-table{-webkit-overflow-scrolling:touch;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;max-width:100%;overflow-x:auto;width:100%}.table-header{grid-gap:16px;background:var(--bg-tertiary);border-bottom:2px solid var(--border-color);color:var(--text-primary);display:grid;font-weight:600;gap:16px;grid-template-columns:50px 1fr 1fr 200px 220px;padding:16px}.header-cell{align-items:center;display:flex;font-size:14px}.student-row{border-bottom:1px solid var(--border-color)}.student-row.has-changes{background:#fff3cd}[data-theme=dark] .student-row.has-changes{background:#2d2414}.student-row:last-child{border-bottom:none}.student-summary{grid-gap:16px;cursor:pointer;display:grid;gap:16px;grid-template-columns:50px 1fr 1fr 200px 220px;padding:16px;transition:background .2s}.student-summary:hover{background:var(--bg-tertiary)}.summary-cell{align-items:center;color:var(--text-primary);display:flex;font-size:14px;min-width:0;overflow:hidden}.name-cell{color:var(--text-primary);font-size:15px;font-weight:600}.email-cell,.name-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-cell{color:var(--text-secondary);font-size:14px}.checkbox-cell{justify-content:center}.actions-cell{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start}.progress-bar-container{background:var(--bg-tertiary);border-radius:4px;flex:1 1;height:8px;margin-right:8px;overflow:hidden}.progress-bar-fill{height:100%;transition:width .3s,background-color .3s}.progress-text{color:var(--text-primary);font-size:13px;font-weight:600;white-space:nowrap}.student-details{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:24px}.deliverables-category{margin-bottom:32px}.deliverables-category:last-child{margin-bottom:16px}.category-title{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:16px;font-weight:700;margin:0 0 16px;padding-bottom:8px}.deliverables-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.deliverable-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:12px;transition:all .2s}.deliverable-item:hover{border-color:var(--gw-cyan);box-shadow:0 2px 8px #00a3e01a}.deliverable-interactive{display:flex;flex-direction:column;gap:6px;width:100%}.deliverable-interactive-label{color:var(--text-secondary);font-size:13px;font-weight:600}.deliverable-text-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.deliverable-text-input:focus{border-color:var(--gw-cyan);outline:none}.deliverable-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:8px}.deliverable-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.deliverable-label span.completed{opacity:.7;text-decoration:line-through}.deliverable-meta{border-top:1px solid var(--border-color);color:var(--text-secondary);display:flex;flex-direction:row;font-size:11px;gap:12px;justify-content:space-between;margin-top:8px;padding-top:8px}.completed-date{color:#28a745;font-weight:600}.completed-by{color:var(--text-secondary);font-style:italic}.student-actions{align-items:center;border-top:2px solid var(--border-color);gap:12px;margin-top:24px;padding-top:16px}.save-message{border-radius:6px;font-size:14px;font-weight:600;padding:8px 16px}.save-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.save-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}[data-theme=dark] .save-message.success{background:#1e3a28;border-color:#2e5738;color:#4caf50}[data-theme=dark] .save-message.error{background:#3a1e1e;border-color:#5a2e2e;color:#f44336}.save-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s}.save-btn:hover{background-color:#218838}.save-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.configure-btn{align-items:center;background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:background-color .2s}.configure-btn:hover{background-color:#0056b3}.expand-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:background-color .2s}.expand-btn:hover{background-color:#5a6268}.comments-btn{align-items:center;background-color:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:13px;gap:4px;margin-left:8px;padding:6px 12px;transition:background-color .2s}.comments-btn:hover{background-color:#138496}.comment-count-badge{background-color:#dc3545;border-radius:10px;color:#fff;font-size:11px;font-weight:700;min-width:18px;padding:2px 6px;text-align:center}@media (max-width:1400px){.students-table{font-size:14px}.student-summary,.table-header{grid-template-columns:40px 1fr 180px 200px}.email-cell{display:none}}@media (max-width:1200px){.student-list-container{padding:20px}.student-summary,.table-header{gap:12px;grid-template-columns:40px 1fr 150px}.email-cell,.progress-cell{display:none}.deliverables-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.student-list-container{padding:16px}.student-list-header{align-items:stretch;flex-direction:column;gap:12px}.student-list-header h2{font-size:20px}.header-right{flex-direction:column}.configure-btn{justify-content:center;width:100%}.student-summary,.table-header{grid-template-columns:1fr 100px}.checkbox-cell,.email-cell,.progress-cell{display:none}.filters-section{flex-direction:column;padding:12px}.bulk-edit-content,.filter-group{align-items:stretch;flex-direction:column}.bulk-edit-select,.filter-select{min-width:auto;width:100%}.deliverables-grid{grid-template-columns:1fr}.student-details{padding:16px}.category-title{font-size:15px}.deliverable-item{padding:10px}.student-actions{flex-direction:column;gap:8px}.configure-btn,.expand-btn,.save-btn{justify-content:center;width:100%}}@media (max-width:480px){.student-list-container{max-width:100vw;overflow-x:hidden;padding:12px}.student-list-header h2{font-size:18px}.students-table{border-left:none;border-radius:0;border-right:none;margin:0 -12px;width:calc(100% + 24px)}.student-summary,.table-header{gap:8px;grid-template-columns:1fr 80px;padding:12px}.name-cell{font-size:14px;max-width:calc(100vw - 140px)}.actions-cell{flex-wrap:wrap;justify-content:flex-end}.comments-btn,.expand-btn,.progress-text{font-size:12px;padding:5px 10px}.filters-section{padding:10px}.bulk-edit-section,.student-details{padding:12px}.deliverable-label{font-size:13px}.deliverable-meta{font-size:11px}.list-controls{gap:8px;padding:10px}.list-controls .btn{font-size:13px;padding:8px 16px}.list-controls{flex-direction:column}.list-controls .btn{width:100%}}.tuition-badges{display:flex;gap:4px}.tuition-badge{border-radius:4px;font-size:11px;font-weight:700;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.tuition-badge.paid{background:#d1fae5;border:1px solid #10b981;color:#065f46}.tuition-badge.contract{background:#dbeafe;border:1px solid #3b82f6;color:#1e40af}.tuition-badge.partial{background:#fff7ed;border:1px solid #f97316;color:#c2410c}[data-theme=dark] .tuition-badge.partial{background:#431407;border-color:#ea580c;color:#fdba74}[data-theme=dark] .tuition-badge.unpaid{background:#374151;border-color:#4b5563;color:#d1d5db}.search-input{min-width:250px;transition:all .3s ease}.search-input:focus{border-color:var(--gw-cyan);box-shadow:0 0 0 3px #00a3e033}.student-list-loading{color:var(--text-secondary);font-size:16px;padding:40px;text-align:center}.notification-container{display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:24px;top:80px;z-index:9999}.notification{align-items:center;animation:slideIn .3s ease-out;background:var(--bg-secondary);border-left:4px solid;border-radius:12px;box-shadow:0 4px 24px #00000026;display:flex;gap:12px;max-width:480px;min-width:320px;padding:16px 20px;pointer-events:all}.notification-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:32px;justify-content:center;width:32px}.notification-message{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500;line-height:1.5}.notification-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.notification-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.notification-success{border-left-color:#10b981}.notification-success .notification-icon{background:#d1fae5;color:#059669}[data-theme=dark] .notification-success .notification-icon{background:#064e3b;color:#6ee7b7}.notification-error{border-left-color:#ef4444}.notification-error .notification-icon{background:#fee2e2;color:#dc2626}[data-theme=dark] .notification-error .notification-icon{background:#7f1d1d;color:#fca5a5}.notification-warning{border-left-color:#f59e0b}.notification-warning .notification-icon{background:#fef3c7;color:#d97706}[data-theme=dark] .notification-warning .notification-icon{background:#78350f;color:#fde047}.notification-info{border-left-color:#3b82f6}.notification-info .notification-icon{background:#dbeafe;color:#2563eb}[data-theme=dark] .notification-info .notification-icon{background:#1e3a8a;color:#93c5fd}.modal-overlay{animation:fadeIn .2s ease-out;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:var(--bg-secondary);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header h2{font-size:24px}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.modal-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.cohort-form{padding:24px}.required{color:#ef4444}.form-group input,.form-group select{background:var(--bg-primary);border:2px solid var(--border-color);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{border-color:var(--gw-cyan)}.form-group input.error,.form-group select.error{border-color:#ef4444}.form-group input:disabled,.form-group select:disabled{cursor:not-allowed;opacity:.6}.error-message{color:#ef4444;display:block;font-size:13px;font-weight:500;margin-top:6px}.modal-actions{border-top:2px solid var(--border-color)}.btn-primary{background:linear-gradient(135deg,var(--gw-cyan),#0082b3)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #00a3e04d;transform:translateY(-1px)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary);border-color:var(--gw-cyan)}@media (max-width:768px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{animation:slideUpMobile .3s ease-out;border-radius:16px 16px 0 0;max-height:95vh;max-width:none;width:100%}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:20px}.modal-header h2{font-size:20px}.cohort-form{padding:20px}.form-row{gap:0;grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.btn{width:100%}}@media (max-width:480px){.modal-header{padding:16px}.modal-header h2{font-size:18px}.cohort-form{padding:16px}.form-group input,.form-group select{font-size:14px;padding:10px 14px}}.searchable-dropdown{min-width:180px;position:relative;width:auto}.searchable-dropdown-label{color:#374151;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.required-asterisk{color:#ef4444;margin-left:.25rem}.searchable-dropdown-container{position:relative}.searchable-dropdown-input{background-color:#fff;border:2px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 2px 0 #0000000d;color:#1f2937;cursor:pointer;font-size:1rem;padding:.75rem 2.5rem .75rem 1rem;transition:all .2s ease;width:100%}.searchable-dropdown-input:hover:not(.disabled){border-color:#d1d5db}.searchable-dropdown-input.open,.searchable-dropdown-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;cursor:text;outline:none}.searchable-dropdown-input.disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.searchable-dropdown-input::placeholder{color:#9ca3af}.dropdown-arrow{color:#6b7280;pointer-events:none;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:transform .2s ease}.dropdown-arrow.open{transform:translateY(-50%) rotate(180deg)}.searchable-dropdown-menu{animation:slideDown .2s ease;background-color:#fff;border:2px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.searchable-dropdown-options{list-style:none;margin:0;padding:.5rem 0}.searchable-dropdown-option{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.95rem;justify-content:space-between;padding:.75rem 1rem;transition:all .15s ease}.searchable-dropdown-option:hover{background-color:#f3f4f6;color:#1f2937}.searchable-dropdown-option.selected{background-color:#eff6ff;color:#3b82f6;font-weight:500}.searchable-dropdown-option.selected:hover{background-color:#dbeafe}.searchable-dropdown-option.highlighted{background-color:#f3f4f6;outline:2px solid #3b82f6;outline-offset:-2px}.check-icon{align-items:center;color:#3b82f6;display:flex;margin-left:.5rem}.searchable-dropdown-empty{color:#9ca3af;font-size:.9rem;padding:1.5rem;text-align:center}.searchable-dropdown-menu::-webkit-scrollbar{width:8px}.searchable-dropdown-menu::-webkit-scrollbar-track{background:#f3f4f6;border-radius:.5rem}.searchable-dropdown-menu::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:.5rem}.searchable-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#9ca3af}[data-theme=dark] .searchable-dropdown-input,[data-theme=dark] .searchable-dropdown-label{color:#f3f4f6;color:var(--text-primary,#f3f4f6)}[data-theme=dark] .searchable-dropdown-input{background-color:#1f2937;background-color:var(--bg-primary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .searchable-dropdown-input:hover:not(.disabled){border-color:#4b5563}[data-theme=dark] .searchable-dropdown-input.disabled{background-color:#111827;color:#6b7280}[data-theme=dark] .searchable-dropdown-menu{background-color:#1f2937;background-color:var(--bg-secondary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .searchable-dropdown-option{color:#e5e7eb}[data-theme=dark] .searchable-dropdown-option:hover{background-color:#374151;color:#f3f4f6}[data-theme=dark] .searchable-dropdown-option.highlighted{background-color:#374151;color:#f3f4f6;outline-color:#3b82f6}[data-theme=dark] .searchable-dropdown-option.selected{background-color:#1e3a8a;color:#93c5fd}[data-theme=dark] .searchable-dropdown-option.selected:hover{background-color:#1e40af}[data-theme=dark] .searchable-dropdown-empty{color:#6b7280}.modal.custom-payment-modal{border-radius:12px!important;max-width:500px!important;overflow:hidden!important}.modal-intro{color:var(--text-secondary)!important;font-size:13px!important;line-height:1.5!important;margin-bottom:24px!important}.form-grid{grid-gap:16px!important;display:grid!important;gap:16px!important;grid-template-columns:1fr 1fr!important;margin-bottom:16px!important}.amount-desc{grid-template-columns:1fr 120px!important}.generated-link-box{background:#00a3e00d!important;border:1px dashed var(--gw-cyan)!important;border-radius:8px!important;margin-top:24px!important;padding:16px!important}.generated-link-box label{color:var(--gw-cyan)!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important}.link-copy-wrapper{display:flex!important;gap:8px!important;margin-top:8px!important}.link-copy-wrapper input{background:var(--bg-primary)!important;color:var(--text-secondary)!important;flex:1 1!important;padding:8px!important}.link-copy-wrapper button,.link-copy-wrapper input{border:1px solid var(--border-color)!important;border-radius:4px!important;font-size:11px!important}.link-copy-wrapper button{background:var(--bg-tertiary)!important;cursor:pointer!important;padding:6px 12px!important}.link-copy-wrapper button:hover{background:var(--bg-primary)!important;border-color:var(--gw-cyan)!important}.modal-form label{color:var(--text-secondary)!important;display:block!important;font-size:11px!important;font-weight:800!important;letter-spacing:.5px!important;margin-bottom:6px!important;text-transform:uppercase!important}.modal-form input,.modal-form select{background:var(--bg-primary)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;color:var(--text-primary)!important;font-size:14px!important;padding:10px 14px!important;width:100%!important}.modal-form input:focus,.modal-form select:focus{border-color:var(--gw-cyan)!important;box-shadow:0 0 0 3px #00a3e01a!important}.tc-hub{display:flex;flex-direction:column;height:100%}.tc-hub-nav{background:var(--card-bg);border-bottom:2px solid var(--border-color);box-shadow:0 2px 8px #0000000d;position:sticky;top:0;z-index:100}.tc-hub-tabs{display:flex;gap:4px;margin:0 auto;max-width:1600px;overflow-x:auto;padding:16px 24px 0}.tc-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:15px;font-weight:600;padding:14px 24px;position:relative;transition:all .2s;white-space:nowrap}.tc-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tc-tab.active{background:var(--bg-secondary);border-bottom-color:#00a3e0;color:#00a3e0}.tc-hub-content{flex:1 1;margin:0 auto;max-width:1600px;overflow-y:auto;padding:32px 24px;width:100%}@media (max-width:768px){.tc-hub-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:0;overflow-x:auto;padding:12px 16px 0;scrollbar-width:none}.tc-hub-tabs::-webkit-scrollbar{display:none}.tc-tab{flex-shrink:0;font-size:14px;padding:12px 16px}.tc-hub-content{padding:16px 12px}}.dashboard{padding:0}.quick-actions-bar{background:linear-gradient(135deg,#00a3e0,#0082b3);border-radius:12px;box-shadow:0 4px 12px #00a3e033;margin-bottom:24px;padding:24px}.quick-actions-bar h2{color:#fff;font-size:20px;font-weight:700;margin:0 0 16px}.quick-actions-buttons{display:flex;flex-wrap:wrap;gap:12px}.quick-action-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.quick-action-btn:hover{background:#ffffff4d;border-color:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.stat-card{background:var(--card-bg);box-shadow:0 2px 8px #0000000d}.stat-card:hover{box-shadow:0 4px 16px #0000001a}.stat-card-primary{border-left:4px solid #00a3e0}.stat-card-success{border-left:4px solid #10b981}.stat-card-warning{border-left:4px solid #f59e0b}.stat-card-info{border-left:4px solid #6366f1}.stat-info{display:flex;flex-direction:column;gap:8px}.stat-value{color:var(--text-primary);line-height:1}.stat-label{font-size:14px}.stat-sublabel{color:var(--text-secondary);font-size:12px;opacity:.7}.dashboard-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px}.dashboard-card-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.dashboard-card-header h3{color:var(--text-primary);font-size:18px;font-weight:700;margin:0}.card-badge{background:var(--bg-tertiary);border-radius:16px;color:var(--text-secondary);font-size:12px;font-weight:600;padding:4px 12px}.course-cards-compact{display:flex;flex-direction:column;gap:12px}.course-card-compact{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;justify-content:space-between;padding:16px;transition:all .2s}.course-card-compact:hover{background:var(--bg-tertiary);border-color:#00a3e0;transform:translateX(4px)}.course-card-compact.clickable{cursor:pointer}.course-main{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:12px}.course-type-inline{color:var(--text-primary);font-size:15px;font-weight:700}.course-date-inline,.course-location-inline{color:var(--text-secondary);font-size:14px}.course-count-inline{color:#00a3e0;font-size:14px;font-weight:600}.course-divider{color:var(--border-color);font-size:12px}.course-status-inline{border-radius:16px;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.registrations-by-course-list{display:flex;flex-direction:column;gap:12px}.reg-by-course-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;gap:16px;padding:16px;transition:all .2s}.reg-by-course-item:hover{background:var(--bg-tertiary);border-color:#00a3e0;transform:translateX(4px)}.reg-by-course-item.clickable{cursor:pointer}.reg-rank{color:#00a3e0;font-size:20px;font-weight:700;min-width:40px}.reg-course-info{flex:1 1}.reg-course-name{color:var(--text-primary);font-size:15px;font-weight:700;margin-bottom:4px}.reg-course-date{color:var(--text-secondary);font-size:13px}.reg-counts{display:flex;gap:16px}.reg-count-item{align-items:center;display:flex;flex-direction:column;gap:4px}.reg-count-label{color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.reg-count-value{font-size:18px;font-weight:700}.reg-count-active .reg-count-value{color:#10b981}.reg-count-waitlist .reg-count-value{color:#f59e0b}.empty-state-mini{background:var(--bg-secondary);border-radius:10px;color:var(--text-secondary);font-size:14px;padding:40px 20px;text-align:center}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.quick-actions-buttons{flex-direction:column}.quick-action-btn{width:100%}.course-main{align-items:flex-start;flex-direction:column;gap:6px}.course-divider{display:none}.course-card-compact{align-items:flex-start;flex-direction:column;gap:12px}.course-status-inline{align-self:flex-start}.reg-by-course-item{align-items:flex-start;flex-direction:column;gap:12px}.reg-counts{justify-content:space-around;width:100%}}.dashboard-two-col{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}@media (max-width:1024px){.dashboard-two-col{grid-template-columns:1fr}}.filters-bar{grid-gap:12px;align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px;padding:16px}.filters-bar .search-input{grid-column:1/-1}.filter-search-row{align-items:center;display:flex;gap:8px;grid-column:1/-1;margin-bottom:4px}.filter-search-row input{flex:1 1}.filter-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;grid-column:1/-1;justify-content:space-between;margin-top:8px;padding-top:12px}.filters-bar .searchable-dropdown{margin-bottom:0!important}.filters-bar .date-range-inputs{align-items:center;display:flex;gap:8px;grid-column:auto/span 2}.filters-bar .timeframe-filters{display:flex;gap:4px}.filters-bar .searchable-dropdown-input,.filters-bar input,.filters-bar select{font-size:13px!important;height:40px;padding:8px 12px!important}.filters-bar select option,.form-group select option{background-color:var(--bg-primary);color:var(--text-primary)}.filters-bar input:focus,.filters-bar select:focus{border-color:#00a3e0;box-shadow:0 0 0 3px #00a3e01a;outline:none}.search-input{flex:2 1;min-width:280px}.btn-filter,.btn-filter-active{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s;white-space:nowrap}.btn-filter:hover{background:var(--bg-tertiary);border-color:#00a3e0;color:var(--text-primary)}.btn-filter-active{background:linear-gradient(135deg,#00a3e0,#0082b3);border-color:#00a3e0;box-shadow:0 2px 8px #00a3e04d;color:#fff}.timeframe-filters{display:flex;flex-wrap:nowrap;gap:8px}.timeframe-btn{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:all .2s;white-space:nowrap}.timeframe-btn:hover{background:var(--bg-tertiary);border-color:#00a3e0;color:var(--text-primary)}.timeframe-btn.active{background:linear-gradient(135deg,#00a3e0,#0082b3);border-color:#00a3e0;box-shadow:0 2px 8px #00a3e04d;color:#fff}.btn-clear{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-clear:hover{background:var(--bg-hover);border-color:#ef4444;color:#ef4444}.date-range-inputs{flex:0 0 auto}.filter-date-input{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:10px 14px;transition:all .2s}.filter-date-input:focus{border-color:#00a3e0;box-shadow:0 0 0 3px #00a3e01a;outline:none}.custom-amt-note{background:#ffffff0d;border-left:3px solid #4a90e2;border-left:3px solid var(--accent-color,#4a90e2);border-radius:8px;color:var(--text-secondary);font-size:13px;font-style:italic;margin-top:15px;padding:10px;text-align:center}.table-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow-x:auto}table{border-collapse:collapse;width:100%}thead{background:var(--bg-secondary);position:sticky;top:0;z-index:10}th{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-align:left;text-transform:uppercase}td,th{padding:16px}td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:14px}.price-cell{font-weight:600;white-space:nowrap}tbody tr{transition:background .2s}tbody tr:hover{background:var(--bg-secondary)}.action-buttons{align-items:center;flex-wrap:nowrap!important;gap:6px;min-width:160px}.btn-delete,.btn-edit,.btn-promote,.btn-secondary,.btn-view{font-size:12px!important;padding:6px 12px!important}.btn-delete,.btn-edit,.btn-promote,.btn-view{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .2s;white-space:nowrap}.btn-edit{background:linear-gradient(135deg,#00a3e0,#0082b3);box-shadow:0 2px 6px #00a3e040;color:#fff}.btn-edit:hover{box-shadow:0 3px 10px #00a3e059;transform:translateY(-1px)}.btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 6px #ef444440;color:#fff}.btn-delete:hover{box-shadow:0 3px 10px #ef444459;transform:translateY(-1px)}.btn-promote,.btn-view{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-promote:hover,.btn-view:hover{background:var(--bg-primary);border-color:#00a3e0}.btn-primary{background:linear-gradient(135deg,#00a3e0,#0082b3);border:none;border-radius:10px;box-shadow:0 4px 12px #00a3e04d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #00a3e066;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:#00a3e0}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.form-row{grid-gap:16px;gap:16px;margin-bottom:16px}.form-row>.form-group{min-width:0}.form-row-three{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr;margin-bottom:16px}.form-group label{color:var(--text-primary);line-height:1.5}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:10px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;color:var(--text-primary);font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#00a3e0;box-shadow:0 0 0 3px #00a3e01a,0 1px 3px #0000001a;outline:none}.form-group textarea{min-height:80px}.status-select{appearance:none;background:var(--bg-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%2300A3E0' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 36px 10px 14px;transition:all .2s}.status-select:hover{border-color:#00a3e0;box-shadow:0 2px 8px #00a3e026}.status-select:focus{border-color:#00a3e0;box-shadow:0 0 0 3px #00a3e01a;outline:none}.error-text-small{color:#c62828;font-size:.8rem;font-weight:500;margin-top:4px}[data-theme=dark] .filters-bar select,[data-theme=dark] .form-group select,[data-theme=dark] .status-select,[data-theme=dark] select{background-color:#374151;border-color:#4b5563;color:#f3f4f6}[data-theme=dark] .status-select option,[data-theme=dark] select option{background-color:#1f2937;color:#f3f4f6}[data-theme=dark] .status-select:hover,[data-theme=dark] select:hover{background-color:#4b5563;border-color:#00a3e0}.status-badge{border-radius:20px;display:inline-block;font-weight:600;letter-spacing:.5px;white-space:nowrap}.status-active,.status-registration-opened{background:#d1fae5;color:#065f46}.status-waitlist-only,.status-waitlisted{background:#fef3c7;color:#92400e}.status-withdrawn{background:#fee2e2;color:#991b1b}.status-in-progress{background:#dbeafe;color:#1e40af}.status-completed{background:#e0e7ff;color:#3730a3}.status-cancelled{background:#f3f4f6;color:#6b7280}[data-theme=dark] .status-active,[data-theme=dark] .status-registration-opened{background:#065f46;color:#d1fae5}[data-theme=dark] .status-waitlist-only,[data-theme=dark] .status-waitlisted{background:#92400e;color:#fef3c7}[data-theme=dark] .status-withdrawn{background:#991b1b;color:#fee2e2}[data-theme=dark] .status-in-progress{background:#1e40af;color:#dbeafe}[data-theme=dark] .status-completed{background:#3730a3;color:#e0e7ff}[data-theme=dark] .status-cancelled{background:#4b5563;color:#d1d5db}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;padding:20px}.modal{background:var(--card-bg);border-radius:20px;box-shadow:0 20px 60px #0000004d;color:var(--text-primary);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.modal-large{max-width:800px}.modal-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:24px}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.modal-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:20px 24px}.process-split-view{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1.2fr}.modal-header h2{color:var(--text-primary);font-size:22px;font-weight:700;margin:0}.modal form{padding:24px}.modal-close{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:32px}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;margin-top:24px;padding-top:24px}.modal-actions button{min-width:120px}.checkbox-group{padding:12px 0}.checkbox-group,.checkbox-group label{align-items:center;display:flex;gap:8px}.checkbox-group label{color:var(--text-primary);cursor:pointer;margin:0}.checkbox-group input[type=checkbox]{cursor:pointer;height:20px;margin:0;width:20px}@media (max-width:768px){.filters-bar{flex-direction:column;gap:12px}.filters-bar>*{min-width:100%;width:100%}.timeframe-filters{justify-content:space-between;width:100%}.timeframe-btn{flex:1 1}.form-row,.form-row-three{grid-template-columns:1fr}.table-container{overflow-x:auto}table{min-width:600px}.action-buttons{flex-direction:column;gap:6px}.action-buttons button{width:100%}.modal{border-radius:12px;margin:12px;max-width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}.process-split-view{gap:20px!important;grid-template-columns:1fr!important}}.empty-state,.loading{padding:60px 20px}.empty-state{border-radius:12px;font-size:16px;margin:20px 0}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.header-actions{display:flex;gap:12px}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}}.action-buttons{justify-content:flex-end}.action-buttons button{min-width:fit-content;padding:8px 16px;white-space:nowrap}input[type=email],input[type=number],input[type=tel],input[type=text],select,textarea{color:var(--text-primary)!important}.call-log-modal input[type=email],.call-log-modal input[type=tel]{-webkit-text-fill-color:var(--text-primary);color:var(--text-primary)}.modal-actions{background:var(--bg-secondary);border-radius:0 0 16px 16px;margin:24px -24px -24px;padding:20px 24px}@media (max-width:768px){.modal-actions{flex-direction:column-reverse;gap:12px}.modal-actions button{min-width:auto;width:100%}.action-buttons{flex-direction:column;gap:6px}.action-buttons button{width:100%}.filters-bar{align-items:stretch;flex-direction:column}.filters-bar>*{flex:none;min-width:100%}.filters-bar>div{width:100%}}.shortcuts-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.shortcuts-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 40px #0003;color:var(--text-primary);max-width:480px;padding:32px;width:90%}.shortcuts-card h3{font-size:20px;font-weight:700;margin:0 0 20px}.shortcuts-table{border-collapse:collapse;width:100%}.shortcuts-section-title{color:#00a3e0;font-size:14px;font-weight:700;padding:16px 0 8px}.shortcuts-key-cell{padding:4px 0;width:100px}.shortcuts-table td{border:none!important;font-size:14px;padding:4px 0}kbd{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;box-shadow:inset 0 -1px 0 var(--border-color);color:var(--text-primary);display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;font-weight:600;line-height:1.2;padding:2px 8px}.shortcuts-footer{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:12px;margin-top:24px;padding-top:16px}.monthly-sync-overlay{align-items:center!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;background:#000000b3!important;bottom:0!important;display:flex!important;justify-content:center!important;left:0!important;position:fixed!important;right:0!important;top:0!important;z-index:2000!important}.monthly-sync-modal{background:var(--bg-primary)!important;border:1px solid var(--border-color)!important;border-radius:12px!important;box-shadow:0 20px 40px #0000004d!important;display:flex!important;flex-direction:column!important;max-height:90vh!important;max-width:650px!important;width:100%!important}.modal-header{align-items:center!important;background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important;border-radius:12px 12px 0 0!important;display:flex!important;justify-content:space-between!important;padding:20px 24px!important}.modal-header h3{color:var(--text-primary)!important;font-size:18px!important;margin:0!important}.close-btn{background:none!important;border:none!important;color:var(--text-secondary)!important;cursor:pointer!important;font-size:24px!important;line-height:1!important}.close-btn:hover{color:var(--text-primary)!important}.modal-body{flex:1 1!important;overflow-y:auto!important;padding:24px!important}.sync-controls{align-items:flex-end!important;background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;display:flex!important;gap:20px!important;justify-content:space-between!important;margin-bottom:24px!important;padding:16px!important}.period-picker{flex:1 1!important}.period-picker label{color:var(--text-secondary)!important;display:block!important;font-size:12px!important;font-weight:700!important;margin-bottom:8px!important;text-transform:uppercase!important}.select-row{display:flex!important;gap:8px!important}.select-row select{background:var(--bg-primary)!important;border:1px solid var(--border-color)!important;border-radius:6px!important;color:var(--text-primary)!important;flex:1 1!important;font-size:14px!important;padding:8px 12px!important}.sync-preview-table{border:1px solid var(--border-color)!important;border-radius:8px!important;overflow:hidden!important}.sync-preview-table table{border-collapse:collapse!important;width:100%!important}.sync-preview-table th{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;font-size:11px!important;font-weight:800!important;text-align:left!important;text-transform:uppercase!important}.sync-preview-table td,.sync-preview-table th{border-bottom:1px solid var(--border-color)!important;padding:12px 16px!important}.sync-preview-table td{color:var(--text-primary)!important;font-size:14px!important}.selected-row{background:#00a3e00d!important}.amount-cell{color:var(--gw-cyan)!important;font-family:monospace!important;font-weight:700!important;text-align:right!important}.modal-footer{align-items:center!important;background:var(--bg-secondary)!important;border-radius:0 0 12px 12px!important;border-top:1px solid var(--border-color)!important;display:flex!important;justify-content:space-between!important;padding:16px 24px!important}.disclaimer{color:var(--text-secondary)!important;font-size:12px!important;margin:0!important;max-width:70%!important}.sync-empty,.sync-loading{color:var(--text-secondary)!important;font-style:italic!important;padding:40px!important;text-align:center!important}.modal-body input[type=checkbox]{cursor:pointer!important;height:18px!important;width:18px!important}.skills-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.skills-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.skills-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.skills-modal-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.skills-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:background-color .2s,color .2s;width:32px}.skills-modal-close:hover{background-color:#f3f4f6;color:#111827}.skills-modal-body{padding:24px}.course-info,.student-info{font-size:.95rem;margin-bottom:16px}.course-info strong,.student-info strong{color:#374151;margin-right:8px}.attestation-preview{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin:24px 0;padding:20px}.attestation-preview h3{color:#374151;font-size:1rem;font-weight:600;margin:0 0 12px}.attestation-text{color:#111827;font-size:.95rem;line-height:1.6;margin:0;white-space:pre-wrap}.warning-message{background-color:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px;margin-top:20px;padding:16px}.warning-message strong{color:#92400e;display:block;margin-bottom:4px}.skills-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.skills-modal-footer .btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px;transition:all .2s}.skills-modal-footer .btn-secondary{background-color:#f3f4f6;color:#374151}.skills-modal-footer .btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.skills-modal-footer .btn-primary{background-color:#2563eb;color:#fff}.skills-modal-footer .btn-primary:hover:not(:disabled){background-color:#1d4ed8}.skills-modal-footer .btn:disabled{cursor:not-allowed;opacity:.5}[data-theme=dark] .skills-modal-content{background:#1f2937;color:#f3f4f6}[data-theme=dark] .skills-modal-header{border-bottom-color:#374151}[data-theme=dark] .skills-modal-header h2{color:#f3f4f6}[data-theme=dark] .skills-modal-close{color:#9ca3af}[data-theme=dark] .skills-modal-close:hover{background-color:#374151;color:#f3f4f6}[data-theme=dark] .course-info strong,[data-theme=dark] .student-info strong{color:#d1d5db}[data-theme=dark] .attestation-preview{background-color:#111827;border-color:#374151}[data-theme=dark] .attestation-preview h3{color:#e5e7eb}[data-theme=dark] .attestation-text{color:#f3f4f6}[data-theme=dark] .warning-message{background-color:#78350f;border-left-color:#f59e0b}[data-theme=dark] .warning-message strong{color:#fde68a}[data-theme=dark] .skills-modal-footer{border-top-color:#374151}[data-theme=dark] .skills-modal-footer .btn-secondary{background-color:#374151;color:#e5e7eb}[data-theme=dark] .skills-modal-footer .btn-secondary:hover:not(:disabled){background-color:#4b5563}@media (max-width:768px){.skills-modal-overlay{padding:12px}.skills-modal-body,.skills-modal-footer,.skills-modal-header{padding:16px}.skills-modal-header h2{font-size:1.25rem}.attestation-preview{padding:16px}.attestation-text{font-size:.9rem}}.aha-tracker{margin:0 auto;max-width:1400px;padding:24px}.view-toggle-bar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:flex-end;margin-bottom:16px;padding:12px 16px}.btn-view-toggle{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-view-toggle:hover{background:var(--primary-hover);transform:translateY(-1px)}.aha-content{background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.aha-placeholder{font-size:18px;padding:80px 20px}.aha-placeholder,.loading{color:var(--text-secondary);text-align:center}.loading{font-size:16px;padding:40px}.error{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;padding:20px}.empty-state{background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary);padding:40px 20px;text-align:center}.alert{border-radius:8px;margin-bottom:16px;padding:12px 16px}.alert-info{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.btn-sm{font-size:13px;padding:6px 12px;white-space:nowrap}.btn-large{font-size:16px;padding:14px 28px}@media (max-width:768px){.aha-tracker{padding:12px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:16px}.dashboard-header h2{font-size:20px}.classes-grid,.verification-cards{gap:16px;grid-template-columns:1fr}.class-info-grid{gap:12px;grid-template-columns:1fr}.aha-content{padding:16px}.admin-classes-table-container,.roster-table-container{-webkit-overflow-scrolling:touch;border-left:none;border-radius:0;border-right:none;margin:0 -16px;overflow-x:auto}.admin-classes-table,.roster-table{min-width:600px}.class-management-header,.roster-header,.verification-header{align-items:flex-start;flex-direction:column;gap:12px}.action-buttons{width:100%}.action-buttons .btn{flex:1 1;width:100%}.setup-actions{padding:16px}.class-title-section{align-items:flex-start;flex-direction:column}.class-title-section h2{font-size:20px}.course-item{align-items:stretch}.course-info,.course-item{flex-direction:column;gap:12px}.course-info{align-items:flex-start}}@media (max-width:480px){.btn-large{padding:12px 16px;width:100%}.modal-content{margin:10px;padding:16px;width:95%}.checkin-url-container{flex-direction:column}.btn-copy{width:100%}}.action-buttons .btn{flex:1 1;font-size:12px;min-width:0;padding:6px 10px}.btn-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:13px;padding:4px 8px;text-decoration:underline}.btn-link:hover:not(:disabled){color:var(--primary-hover);text-decoration:none}.btn-back{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:14px;margin-bottom:8px;padding:4px 0}.btn-back:hover{text-decoration:underline}.badge{border-radius:4px;font-size:11px;font-weight:600;margin-left:8px;padding:4px 8px}.badge-info{background:#dbeafe;color:#1e40af}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.dashboard-header h2{font-size:28px;margin:0}.classes-section{margin-bottom:40px}.classes-section h3{color:var(--text-secondary);font-size:18px;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.classes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.class-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:20px;transition:box-shadow .2s}.class-card:hover{box-shadow:0 4px 12px #0000001a}.class-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.course-type{font-size:16px;font-weight:600}.status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px;text-transform:uppercase}.status-setup{background:#fef3c7;color:#92400e}.status-active{background:#dbeafe;color:#1e40af}.status-completed{background:#d1fae5;color:#065f46}.class-body{margin-bottom:16px}.class-date{margin:0 0 4px}.class-date,.class-location{color:var(--text-secondary);font-size:14px}.class-location{margin:0 0 8px}.class-stats{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:12px}.surprise-badge{background:#fef3c7;border-radius:4px;color:#92400e;font-size:11px;font-weight:600;padding:2px 6px}.class-footer{display:flex;gap:8px}.setup-header{margin-bottom:24px}.setup-header h2{font-size:28px;margin:8px 0}.setup-subtitle{color:var(--text-secondary);font-size:14px;margin:0}.date-selector{align-items:center;display:flex;gap:12px;margin-bottom:24px}.date-selector label{font-weight:500}.date-selector input[type=date]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;padding:8px 12px}.courses-list h3{font-size:18px;margin:0 0 16px}.course-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:12px;padding:16px;transition:all .2s}.course-item:hover{border-color:#00a3e0;box-shadow:0 2px 8px #0000001a}.course-info{align-items:center;display:flex;gap:16px}.course-type-badge{background:var(--primary-color);color:#fff;font-size:14px;padding:6px 12px;white-space:nowrap}.course-time{font-weight:500;margin:0 0 4px}.course-location{color:var(--text-secondary);font-size:14px;margin:0}.class-management-header{margin-bottom:24px}.class-title-section{align-items:center;display:flex;gap:12px;margin-top:8px}.class-title-section h2{font-size:28px;margin:0}.class-info-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:24px;padding:20px}.class-info-card h3,.class-info-card h4{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding-bottom:8px}.class-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{font-size:14px;font-weight:500}.setup-actions{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;margin-bottom:24px;padding:24px}.setup-message{color:#92400e;font-weight:500;margin:0 0 12px}.setup-list{color:#92400e;margin:0 0 20px 20px;padding:0}.setup-list li{margin-bottom:8px}.roster-section{margin-top:24px}.roster-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.roster-header h3{font-size:20px;margin:0 0 8px}.roster-stats{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:8px}.roster-table-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.roster-table{border-collapse:collapse;width:100%}.roster-table th{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.roster-table td{border-bottom:1px solid var(--border-color);padding:12px}.roster-table strong{color:var(--text-primary);font-weight:600}.roster-table tr:hover{background:var(--bg-secondary)}.roster-table tr:last-child td{border-bottom:none}.attestation-row,.attestation-row:hover{background:#f9fafb!important;background:var(--bg-secondary,#f9fafb)!important}[data-theme=dark] .attestation-row{background:#1f2937!important}.checkin-status{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.checkin-registered{background:#e5e7eb;color:#374151}.checkin-checked-in{background:#d1fae5;color:#065f46}.checkin-no-show{background:#fee2e2;color:#991b1b}.complete-actions{margin-top:24px;text-align:center}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--card-bg);border-radius:12px;box-shadow:0 20px 60px #00000080;color:var(--text-primary);max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.modal-content,.modal-content h3{color:var(--text-primary)!important}.modal-content h3{font-size:20px;margin:0 0 20px}.modal-content div,.modal-content p,.modal-content span{color:var(--text-primary)!important}.form-group{gap:6px}.form-group label{color:var(--text-primary)!important;font-weight:500}.form-group input[type=email],.form-group input[type=number],.form-group input[type=text],.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:8px 12px}.form-group textarea{min-height:60px;resize:vertical}.form-group small{color:var(--text-secondary);font-size:12px;margin-top:2px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.verification-header{margin-bottom:24px}.verification-header h2{font-size:28px;margin:8px 0 0}.course-completion{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:24px;padding:24px}.course-completion h3{font-size:18px;margin:0 0 20px}.course-completion-form{display:flex;flex-direction:column;gap:16px}.info-display{color:var(--text-secondary);font-size:14px;padding:8px 0}.students-verification-list{margin-bottom:32px}.students-verification-list h3{font-size:20px;margin:0 0 16px}.verification-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.verification-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.student-header{border-bottom:1px solid var(--border-color);margin-bottom:16px;padding-bottom:12px}.student-header h4{font-size:16px;margin:0}.verification-fields{gap:12px}.field-group,.verification-fields{display:flex;flex-direction:column}.field-group{gap:6px}.field-group label{align-items:center;display:flex;font-size:14px;font-weight:500;gap:8px}.field-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.field-group input[type=number],.field-group textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px;padding:8px}.field-group textarea{min-height:60px;resize:vertical}.score-indicator{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;margin-top:4px;padding:2px 6px}.score-indicator.pass{background:#d1fae5;color:#065f46}.score-indicator.fail{background:#fee2e2;color:#991b1b}.verification-actions{display:flex;gap:12px;justify-content:center;margin-top:32px}.checkin-url-card{background:linear-gradient(135deg,#e0f2fe,#dbeafe);border:2px solid #00a3e0;border-radius:12px;margin-bottom:24px;padding:20px}.checkin-url-header h4{align-items:center;color:#0f172a;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0 0 8px}.checkin-url-header p{color:#1e293b;font-size:14px;font-weight:500;margin:0 0 16px}.checkin-url-container{align-items:stretch;display:flex;gap:12px}.checkin-url-input{background:#fff;border:2px solid #00a3e0;border-radius:8px;color:#0f172a;flex:1 1;font-family:Courier New,monospace;font-size:14px;font-weight:600;padding:12px 16px}.btn-copy{min-width:140px;white-space:nowrap}.btn-copy:hover:not(:disabled){box-shadow:0 4px 12px #00a3e04d;transform:translateY(-2px)}.instructor-selector{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding:12px}.instructor-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:10px;transition:all .2s}.instructor-checkbox:hover{background:var(--bg-tertiary)}.instructor-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.instructor-name{color:var(--text-primary);font-size:14px;font-weight:500}.instructor-id{color:var(--text-secondary);font-size:12px;font-weight:400}.no-instructors{font-style:italic;padding:20px}.loading-text,.no-instructors{color:var(--text-secondary);text-align:center}.loading-text{padding:12px}.sync-success-message{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;font-weight:600;margin-bottom:20px;padding:16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.roster-actions{display:flex;flex-wrap:wrap;gap:12px}.student-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 6px #f59e0b4d;color:#fff}.btn-warning:hover:not(:disabled){box-shadow:0 4px 12px #f59e0b66;transform:translateY(-1px)}.checkin-status.checkin-cancelled{background:#fee2e2;color:#991b1b}.admin-dashboard{margin:0 auto;max-width:1600px;padding:24px}.filters-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:200px}.filter-group label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-group input,.filter-group select{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 14px;transition:all .2s}.filter-group input:focus,.filter-group select:focus{border-color:#00a3e0;box-shadow:0 0 0 3px #00a3e01a;outline:none}.stats-overview{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;text-align:center;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-value{color:var(--primary-color);font-size:36px;font-weight:700;margin-bottom:8px}.stat-label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-classes-table{border-collapse:collapse;width:100%}.admin-classes-table thead{background:var(--bg-secondary);position:sticky;top:0;z-index:10}.admin-classes-table th{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.admin-classes-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:16px 12px}.admin-classes-table tbody tr{transition:background .2s}.admin-classes-table tbody tr:hover{background:var(--bg-secondary)}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.homepage-container{align-items:center;background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-primary) 100%);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.homepage-content{max-width:1200px;width:100%}.homepage-header{margin-bottom:60px;text-align:center}.homepage-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--gw-cyan),var(--gw-navy));-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:12px}.homepage-header p{color:var(--text-secondary);font-size:1.125rem}.apps-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin:0 auto}.app-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:16px;cursor:pointer;overflow:hidden;padding:40px 30px;position:relative;text-align:center;transition:all .3s ease}.app-card:before{background:var(--app-color);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.app-card:hover{border-color:var(--app-color);box-shadow:0 12px 24px #00000026;transform:translateY(-4px)}.app-card:hover:before{transform:scaleX(1)}.app-icon{font-size:4rem;margin-bottom:20px;transition:transform .3s ease}.app-card:hover .app-icon{transform:scale(1.1)}.app-card h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin-bottom:12px}.app-card p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:24px}.app-arrow{color:var(--app-color);font-size:1.5rem;opacity:0;transform:translateX(-10px);transition:all .3s ease}.app-card:hover .app-arrow{opacity:1;transform:translateX(0)}.no-apps-message{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:16px;padding:60px 20px;text-align:center}.no-apps-message .error-icon{font-size:4rem;margin-bottom:20px}.no-apps-message h2{color:var(--text-primary);font-size:1.75rem;margin-bottom:12px}.no-apps-message p{color:var(--text-secondary);font-size:1rem;line-height:1.6}@media (max-width:768px){.homepage-header h1{font-size:2rem}.apps-grid{grid-template-columns:1fr}.app-card{padding:30px 20px}}.public-checkin{align-items:center;background:linear-gradient(135deg,#00a3e0,#003057);display:flex;justify-content:center;min-height:100vh;padding:20px}.checkin-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;overflow:hidden;width:100%}.checkin-header{background:linear-gradient(135deg,#003057,#00528c);color:#fff;padding:40px 30px;text-align:center}.checkin-logo{font-size:32px;font-weight:800;margin-bottom:16px}.checkin-logo .logo-gw{color:#00a3e0}.checkin-header h1{font-size:28px;font-weight:700;margin:0 0 12px}.checkin-header p{font-size:16px;margin:0;opacity:.9}.success-banner{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:18px;font-weight:600;padding:20px;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.search-section{padding:30px}.search-form{margin-bottom:24px}.search-input-group{display:flex;gap:12px}.search-input{border:2px solid #e2e8f0;border-radius:12px;flex:1 1;font-family:inherit;font-size:16px;padding:16px 20px;transition:all .2s}.search-input:focus{border-color:#00a3e0;box-shadow:0 0 0 3px #00a3e01a;outline:none}.search-input:disabled{background:#f1f5f9;cursor:not-allowed}.search-btn{background:linear-gradient(135deg,#00a3e0,#0082b3);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:all .2s;white-space:nowrap}.search-btn:hover:not(:disabled){box-shadow:0 6px 20px #00a3e066;transform:translateY(-2px)}.search-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;margin-bottom:20px;padding:16px}.search-results h3{color:#1e293b;font-size:18px;margin:0 0 16px}.results-list{display:flex;flex-direction:column;gap:12px}.result-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:20px;position:relative;text-align:left;transition:all .2s;width:100%}.result-card:hover{background:#f1f9fe;border-color:#00a3e0;transform:translateX(4px)}.result-info{display:flex;flex-direction:column;gap:8px}.result-name{color:#1e293b;font-size:18px;font-weight:700}.result-details{color:#64748b;display:flex;flex-wrap:wrap;font-size:14px;gap:12px}.result-course{background:#dbeafe;border-radius:6px;color:#1e40af;font-weight:600;padding:4px 10px}.result-date{color:#64748b;font-size:14px;margin-top:4px}.already-checked-in{background:#d1fae5;border-radius:6px;color:#065f46;font-size:13px;font-weight:600;padding:6px 12px;position:absolute;right:20px;top:20px}.confirmation-section{padding:30px}.confirmation-section h3{color:#1e293b;font-size:22px;margin:0 0 8px}.confirmation-subtitle{color:#64748b;font-size:14px;margin:0 0 24px}.confirmation-form{gap:20px}.confirmation-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.public-checkin .form-group label{color:#0f172a!important;display:block;font-size:15px!important;font-weight:700!important}.public-checkin .form-input{background-color:#fff!important;border:2px solid #e2e8f0;border-radius:8px;color:#0f172a!important;font-family:inherit;font-size:16px!important;padding:12px 16px;transition:all .2s}.public-checkin .form-input::placeholder{color:#94a3b8!important;opacity:1}.public-checkin .form-input:focus{border-color:#00a3e0;box-shadow:0 0 0 3px #00a3e01a;outline:none}.public-checkin .class-details{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:16px}.public-checkin .detail-item{align-items:center;display:flex;justify-content:space-between}.public-checkin .detail-label{color:#475569!important;font-size:14px!important;font-weight:700!important}.public-checkin .detail-value{color:#0f172a!important;font-size:15px!important;font-weight:600!important}.confirmation-actions{display:flex;gap:12px;margin-top:8px}.btn-cancel,.btn-confirm{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:16px;transition:all .2s}.btn-cancel{background:#f1f5f9;border:2px solid #e2e8f0;color:#64748b}.btn-cancel:hover:not(:disabled){background:#e2e8f0;color:#475569}.btn-confirm{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d;color:#fff}.btn-confirm:hover:not(:disabled){box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.btn-cancel:disabled,.btn-confirm:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:640px){.checkin-container{border-radius:0;min-height:100vh}.search-input-group{flex-direction:column}.search-btn{width:100%}.confirmation-actions{flex-direction:column-reverse}.btn-cancel,.btn-confirm{width:100%}}.mfa-registration{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.mfa-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:800px;overflow:hidden;width:100%}.mfa-header{background:linear-gradient(135deg,#00a3e0,#0082b3);color:#fff;padding:40px;text-align:center}.mfa-logo{margin-bottom:20px}.mfa-logo .logo-gw{background:#fff;border-radius:8px;color:#00a3e0;font-size:32px;font-weight:900;margin-right:12px;padding:8px 16px}.mfa-logo .logo-text{font-size:14px;font-weight:600;letter-spacing:.5px;opacity:.95}.mfa-header h1{font-size:32px;font-weight:700;margin:20px 0 10px}.mfa-subtitle{font-size:16px;line-height:1.5;margin:0;opacity:.95}.mfa-form{padding:40px}.form-section{margin-bottom:32px}.form-section h2{border-bottom:2px solid #e2e8f0;color:#1a202c;font-size:20px;font-weight:700;margin:0 0 20px;padding-bottom:10px}.form-group{margin-bottom:20px}.form-group label{color:#2d3748;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#00a3e0;box-shadow:0 0 0 3px #00a3e01a;outline:none}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.mfa-info-box{background:#e6f7ff;border-left:4px solid #00a3e0;border-radius:4px;color:#0c5460;margin-bottom:24px}.mfa-error,.mfa-info-box{font-size:14px;padding:16px}.mfa-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin:20px 40px}.mfa-loading{color:#718096;padding:60px 40px;text-align:center}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#00a3e0;height:40px;margin:0 auto 16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.no-courses-message{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:14px;margin-top:12px;padding:12px}.form-actions{display:flex;justify-content:center;margin-top:32px}.form-actions .btn{font-size:16px;min-width:200px;padding:14px 32px}.mfa-success-card{padding:60px 40px;text-align:center}.success-icon{align-items:center;background:linear-gradient(135deg,#00a3e0,#0082b3);border-radius:50%;box-shadow:0 4px 12px #00a3e04d;color:#fff;display:flex;font-size:48px;font-weight:700;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.mfa-success-card h1{color:#1a202c;font-size:32px;margin:0 0 16px}.mfa-success-card p{color:#4a5568;font-size:16px;line-height:1.6;margin:0 0 12px}.success-detail{background:#e6f7ff;border-radius:6px;margin:20px 0;padding:12px}.mfa-success-card .btn{margin-top:24px}.checkbox-group{margin-bottom:16px}.checkbox-label{align-items:flex-start;font-weight:400}.checkbox-label input[type=checkbox]{flex-shrink:0;margin-right:12px;margin-top:2px;width:auto}.checkbox-label span{color:#2d3748;font-size:14px;line-height:1.5}@media (max-width:768px){.mfa-registration{padding:20px 10px}.mfa-header{padding:30px 20px}.mfa-header h1{font-size:24px}.mfa-subtitle{font-size:14px}.mfa-form{padding:30px 20px}.form-row{grid-template-columns:1fr}.form-section h2{font-size:18px}.mfa-success-card{padding:40px 20px}.mfa-success-card h1{font-size:24px}.success-icon{font-size:36px;height:60px;width:60px}}[data-theme=dark] .mfa-container{background:var(--bg-secondary)}[data-theme=dark] .form-section h2{border-bottom-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .form-group label{color:var(--text-primary)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .mfa-info-box{background:var(--bg-tertiary);border-left-color:var(--gw-cyan);color:var(--text-secondary)}[data-theme=dark] .mfa-error{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}[data-theme=dark] .mfa-loading{color:var(--text-secondary)}[data-theme=dark] .no-courses-message{background:#713f12;border-color:#92400e;color:#fde047}[data-theme=dark] .mfa-success-card h1{color:var(--text-primary)}[data-theme=dark] .mfa-success-card p{color:var(--text-secondary)}[data-theme=dark] .success-detail{background:var(--bg-tertiary)}.registration-page,[data-theme=dark] .checkbox-label span{color:var(--text-primary)}.registration-page{background-color:var(--bg-primary);font-family:Inter,sans-serif;margin:0 auto;max-width:800px;min-height:100vh;padding:40px 20px}.reg-header{align-items:center;display:flex;flex-direction:column;gap:20px;margin-bottom:40px;text-align:center}.reg-logo{margin-bottom:10px}.reg-logo img{transition:transform .2s}.reg-logo img:hover{transform:scale(1.05)}.reg-header h1{color:var(--gw-navy);font-size:2rem;font-weight:700}.course-summary-card{background:var(--card-bg);border-left:5px solid var(--gw-navy);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:32px;padding:24px;position:relative}.course-summary-card h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:16px;margin-top:0}.course-detail-row{align-items:center;color:var(--text-secondary);display:flex;gap:10px;margin-bottom:12px}.course-price-tag{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;color:var(--gw-navy);font-size:1.2rem;font-weight:700;padding:8px 16px;position:absolute;right:24px;top:24px}.form-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:24px}.form-section h3{border-bottom:1px solid var(--border-color);color:var(--text-primary);margin-bottom:20px;margin-top:0;padding-bottom:12px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{margin-bottom:16px}.form-group.full-width{grid-column:1/-1}.registration-page .form-group label{color:var(--text-secondary);display:block;font-size:.9rem;font-weight:500;margin-bottom:6px}.registration-page .form-group input:not([type=checkbox]),.registration-page .form-group select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:1rem;padding:10px 12px;transition:border-color .2s;width:100%}.registration-page select option{background-color:var(--bg-secondary);color:var(--text-primary)}.registration-page .form-group input:not([type=checkbox]):focus,.registration-page .form-group select:focus{border-color:var(--gw-navy);outline:none}.payment-options{display:flex;gap:12px;margin-bottom:24px}.payment-choice{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-weight:600;gap:8px;padding:12px;transition:all .2s}.payment-choice:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.payment-choice.active{background:var(--bg-tertiary);border-color:var(--gw-navy);color:var(--gw-navy)}.payment-details-container{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.terms-checkbox{align-items:flex-start;border:1px solid #0000;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;gap:14px;line-height:1.5;margin:20px 0;padding:12px;transition:background .2s}.terms-checkbox:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.terms-checkbox input[type=checkbox]{accent-color:var(--gw-navy);cursor:pointer;height:18px;margin-top:3px;width:18px}.checkbox-text{flex:1 1}.billing-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);font-weight:600;margin:0 0 8px;padding:8px 12px}.registration-page .submit-btn{background:var(--gw-navy);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:16px;transition:background .2s;width:100%}.registration-page .submit-btn:hover{background:var(--gw-navy-dark)}.registration-page .submit-btn:disabled{background:#ccc;cursor:not-allowed}.error-container,.loading,.registration-success{margin:0 auto;max-width:600px;padding:60px 20px;text-align:center}.error-container{background:var(--error-light);border-radius:8px;color:var(--error);padding:30px}.success-icon{font-size:4rem;margin-bottom:20px}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.course-summary-card{padding-bottom:60px;padding-top:16px}.course-price-tag{bottom:16px;font-size:1rem;position:absolute;right:16px;top:auto}.payment-options{flex-direction:column}.payment-choice{flex-direction:row;justify-content:center}.reg-header h1{font-size:1.4rem}.registration-page{padding:20px 12px}}.course-full-banner{background-color:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#c62828;margin-top:1rem;padding:1rem;text-align:center}.course-full-banner h3{color:#b71c1c;margin:0 0 .5rem}[data-theme=dark] .registration-page .submit-btn:disabled{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .course-full-banner{background-color:#7f1d1d;border-color:#991b1b;color:#fca5a5}[data-theme=dark] .course-full-banner h3{color:#fca5a5}.catalog-page{background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100vh}.catalog-header{background:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:0 4px 20px #0000000d;padding:40px 20px;text-align:center}.catalog-header-content{margin:0 auto;max-width:800px}.catalog-logo{height:48px;margin-bottom:24px}.catalog-header h1{color:var(--text-primary);font-size:36px;font-weight:700;letter-spacing:-.5px;margin:0 0 12px}.catalog-subtitle{color:var(--text-secondary);font-size:18px;line-height:1.5;margin:0}.catalog-main{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1200px;padding:40px 20px;width:100%}.catalog-empty,.catalog-error,.catalog-loading{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;margin-top:40px;padding:60px 20px;text-align:center}.catalog-loading p{color:var(--text-secondary);font-size:16px;margin-top:16px}.empty-icon,.error-icon{display:block;font-size:48px;margin-bottom:16px}.catalog-empty h2{font-size:24px;margin:0 0 8px}.catalog-empty p{color:var(--text-secondary);font-size:16px}.catalog-error p{color:#e74c3c;color:var(--error-color,#e74c3c);font-size:16px}.catalog-filters{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #00000005;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:32px;padding:16px 24px}.filter-label{color:var(--text-primary);font-weight:600;margin-right:8px}.checkbox-label{align-items:center;background:var(--bg-secondary);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:6px 12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.checkbox-label:hover{background:var(--bg-tertiary);color:var(--text-primary)}.checkbox-label input[type=checkbox]{accent-color:#00a3e0;accent-color:var(--accent-color,#00a3e0);cursor:pointer;height:16px;width:16px}.catalog-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.course-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.course-card:hover{box-shadow:0 12px 24px #00000014;transform:translateY(-4px)}.card-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;padding:20px}.card-header h3{color:var(--text-primary);font-size:20px;font-weight:600;line-height:1.3;margin:0}.course-type-badge{align-self:flex-start;background:#00a3e01a;background:var(--accent-light,#00a3e01a);border-radius:6px;color:#00a3e0;color:var(--accent-color,#00a3e0);display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.card-body{display:flex;flex:1 1;flex-direction:column;gap:16px;padding:20px}.course-detail{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:15px;gap:12px;line-height:1.4}.detail-icon{font-size:18px;margin-top:1px;opacity:.8}.schedule-notes{background:var(--bg-tertiary);border-radius:8px;font-size:14px;padding:12px}.course-status-row{align-items:center;border-top:1px dashed var(--border-color);display:flex;justify-content:space-between;margin-top:auto;padding-top:16px}.seats-available{align-items:center;display:flex;font-size:14px;font-weight:500;gap:8px}.seats-open{color:#2ecc71;color:var(--success-color,#2ecc71)}.seats-full{color:#f39c12;color:var(--warning-color,#f39c12)}.course-price{color:var(--text-primary);font-size:18px;font-weight:700}.card-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:20px}.register-btn{font-size:16px;font-weight:600;padding:12px 0;width:100%}[data-theme=dark] .course-type-badge{background:#00a3e033}@media (max-width:768px){.catalog-grid{grid-template-columns:1fr}.catalog-header{padding:30px 16px}.catalog-header h1{font-size:28px}}
/*# sourceMappingURL=main.8ab9abe2.css.map*/