.formation-list-container{max-width:1400px;margin:0 auto;padding:40px 24px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);min-height:100vh}.formation-list-header{margin-bottom:40px;padding-bottom:0;border-bottom:none}.formation-list-header h2{margin:0 0 8px;font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.formation-list-loading,.formation-list-error{padding:40px;text-align:center;font-size:16px;border-radius:var(--radius-lg);background:var(--bg-primary);box-shadow:var(--shadow-md);font-weight:500}.formation-list-error{color:var(--danger);background:#fef2f2;border-left:4px solid var(--danger)}.formation-filters{display:flex;gap:16px;margin-bottom:32px;flex-wrap:wrap;padding:24px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.filter-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:250px}.filter-group label{font-weight:600;color:var(--text-primary);font-size:14px;text-transform:uppercase;letter-spacing:.5px}.search-input,.type-filter{padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;background:var(--bg-primary);color:var(--text-primary);transition:var(--transition);font-weight:500}.search-input::placeholder,.type-filter::placeholder{color:var(--text-tertiary)}.search-input:focus,.type-filter:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light);background:var(--primary-light)}.no-formations{padding:60px 40px;text-align:center;color:var(--text-tertiary);font-size:18px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:2px dashed var(--border-color)}.formations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;margin-top:0}.formation-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:var(--transition);cursor:pointer;border:1px solid transparent;overflow:hidden;position:relative}.formation-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);transition:var(--transition)}.formation-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--primary-light)}.formation-card:hover:before{height:6px}.formation-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.formation-title{margin:0;font-size:18px;font-weight:700;color:var(--text-primary);flex:1;line-height:1.4}.status-badge,.formation-type-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;transition:var(--transition)}.status-badge{white-space:normal}.status-published{background:#dcfce7;color:#166534}.status-draft{background:#fef3c7;color:#92400e}.status-archived{background:#f3f4f6;color:#4b5563}.formation-type-badge{padding:8px 16px;font-size:12px;color:#fff;margin-bottom:12px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.formation-description{margin:0 0 16px;font-size:14px;color:var(--text-secondary);line-height:1.6;flex:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.formation-meta{margin:16px 0;padding:16px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);font-size:13px}.meta-item{display:flex;justify-content:space-between;align-items:center;margin:8px 0;color:var(--text-secondary)}.meta-item .label{font-weight:600;color:var(--text-primary)}.meta-item .value{color:var(--text-tertiary);font-weight:500}.formation-actions{display:flex;gap:12px;margin-top:20px}.btn{padding:10px 18px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);flex:1;text-align:center;letter-spacing:.5px;text-transform:uppercase}@media(max-width:768px){.formation-list-container{padding:24px 16px}.formation-list-header h2{font-size:24px}.formation-filters{flex-direction:column;padding:16px}.filter-group{min-width:auto}.search-input,.type-filter{width:100%}.formations-grid{grid-template-columns:1fr;gap:16px}.formation-card-header{flex-direction:column;gap:12px}.formation-card{padding:16px}.status-badge,.formation-type-badge{align-self:flex-start}}@media(max-width:480px){.formation-list-container{padding:16px 12px}.formation-list-header h2{font-size:20px}.formation-card{padding:12px}.formation-title{font-size:16px}.formation-actions{gap:8px}.btn{padding:8px 12px;font-size:12px}}.formation-detail-container{max-width:900px;margin:0 auto;padding:40px 24px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-height:100vh}.formation-detail-loading,.formation-detail-error{padding:40px;text-align:center;font-size:16px;font-weight:500;border-radius:var(--radius-lg)}.formation-detail-error{color:var(--danger);background:#fef2f2;border:2px solid var(--danger)}.formation-detail-error button{margin-top:20px;padding:12px 28px;background:linear-gradient(135deg,var(--danger) 0%,#dc2626 100%);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:var(--transition);box-shadow:var(--shadow-md)}.formation-detail-error button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.formation-detail-header{position:relative;margin-bottom:32px;padding-bottom:0;border-bottom:none}.detail-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.detail-title{margin:0;font-size:36px;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1;letter-spacing:-.5px}.close-btn{background:var(--bg-tertiary);border:2px solid var(--border-color);font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:var(--transition);font-weight:600}.close-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger);transform:rotate(90deg)}.detail-description{margin:0;font-size:16px;color:var(--text-secondary);line-height:1.7}.session-progress{background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);padding:24px;border-radius:var(--radius-lg);margin:32px 0;border-left:6px solid var(--primary);box-shadow:var(--shadow-md)}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.session-status{padding:8px 16px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-enrolled{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#0c4a6e}.status-in_progress{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f}.status-completed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.status-abandoned{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#7c2d12}.progress-bar{width:100%;height:28px;background:#fff9;border-radius:14px;overflow:hidden;border:2px solid rgba(255,255,255,.8)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);transition:width .5s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;box-shadow:var(--shadow-md)}.formation-metadata{margin:32px 0;padding:28px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.meta-section h3{margin:0 0 20px;font-size:18px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.5px}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.meta-row{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-md);border-left:4px solid var(--primary);transition:var(--transition)}.meta-row:hover{background:var(--primary-light);box-shadow:var(--shadow-md)}.meta-row .label{font-size:12px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.meta-row .value{font-size:15px;color:var(--text-primary);font-weight:600}.chapters-section{margin:32px 0}.chapters-section h2{margin:0 0 24px;font-size:24px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.no-chapters{padding:40px;text-align:center;color:var(--text-tertiary);background:var(--bg-primary);border-radius:var(--radius-lg);margin-top:20px;border:2px dashed var(--border-color);font-weight:500}.chapters-list{display:flex;flex-direction:column;gap:16px}.chapter-item{border:2px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-primary);transition:var(--transition);box-shadow:var(--shadow-md)}.chapter-item:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.chapter-item.completed{border-color:var(--success);background:linear-gradient(135deg,#f0fdf4,#f7fee7)}.chapter-header{width:100%;padding:20px;border:none;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);cursor:pointer;display:flex;align-items:center;gap:16px;font-size:15px;font-weight:700;color:var(--text-primary);transition:var(--transition);text-transform:uppercase;letter-spacing:.5px}.chapter-item.completed .chapter-header{background:linear-gradient(135deg,#f7fee7,#f0fdf4)}.chapter-header:hover{background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%)}.chapter-number{font-weight:700;color:var(--primary);min-width:100px;font-size:13px}.chapter-item.completed .chapter-number{color:var(--success)}.chapter-title{flex:1;text-align:left}.completed-badge{color:var(--success);font-weight:700;font-size:20px}.expand-icon{color:var(--text-tertiary);font-size:22px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:inline-block}.expand-icon.expanded{transform:rotate(180deg)}.chapter-content{padding:24px;background:var(--bg-primary);border-top:1px solid var(--border-color)}.chapter-description,.chapter-duration,.chapter-video,.chapter-resources{margin-bottom:20px}.chapter-description h4,.chapter-video h4,.chapter-resources h4{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.5px}.chapter-description p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.7}.chapter-duration{display:flex;gap:16px;font-size:14px;font-weight:500}.chapter-duration .label{font-weight:700;color:var(--text-primary)}.chapter-duration span:last-child{color:var(--text-secondary)}.chapter-video a,.chapter-resources a{color:var(--primary);text-decoration:none;font-weight:700;transition:var(--transition);display:inline-block;padding:2px 8px;border-radius:var(--radius-sm)}.chapter-video a:hover,.chapter-resources a:hover{color:#fff;background:var(--primary);text-decoration:none}.chapter-resources ul{margin:0;padding-left:24px;list-style:disc}.chapter-resources li{margin:10px 0;color:var(--text-secondary);font-weight:500}.complete-btn{width:100%;margin-top:16px}.target-info{margin:32px 0;padding:24px;background:var(--bg-primary);border-radius:var(--radius-lg);border-left:6px solid var(--primary);box-shadow:var(--shadow-md)}.target-info h3{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.5px}.tags{display:flex;flex-wrap:wrap;gap:12px}.tag{display:inline-block;padding:8px 14px;background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);border:2px solid var(--primary);border-radius:20px;font-size:13px;color:var(--primary-dark);font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:var(--transition)}.tag:hover{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.formation-detail,.formation-detail-content{display:flex;flex-direction:column;gap:28px}.formation-info{background:var(--bg-primary);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.formation-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:24px;padding-bottom:24px;border-bottom:2px solid var(--border-color)}.back-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:13px;transition:var(--transition);margin-bottom:16px}.status-badge{display:inline-block;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-published{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:1px solid var(--success)}.status-draft{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid var(--warning)}.status-archived{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:1px solid var(--border-color)}.status-enrolled{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#0c4a6e;border:1px solid var(--primary)}.status-in-progress{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid var(--warning)}.status-completed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:1px solid var(--success)}.type-badge{display:inline-block;padding:8px 16px;background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);border:2px solid var(--primary);border-radius:20px;font-size:12px;font-weight:700;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.5px;transition:var(--transition)}.type-badge:hover{background:var(--primary);color:#fff}.duration{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.description{font-size:16px;color:var(--text-secondary);line-height:1.7;margin:0 0 24px;padding:0}.actions{display:flex;gap:16px;flex-wrap:wrap;padding-top:24px;border-top:2px solid var(--border-color)}.enroll-button{padding:12px 28px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md);flex:1;min-width:160px}.enroll-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.enroll-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.cancel-button{padding:12px 28px;background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:var(--transition);flex:1;min-width:160px}.cancel-button:hover:not(:disabled){background:var(--border-color);border-color:var(--danger);color:var(--danger);transform:translateY(-2px)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.formation-detail-container{padding:24px 16px}.detail-title{font-size:28px}.meta-grid{grid-template-columns:1fr}.detail-header-content{flex-direction:column}.close-btn{position:absolute;top:0;right:0}.chapters-section h2{font-size:20px}.chapter-header{padding:16px;font-size:14px}.chapter-content{padding:16px}.formation-meta{flex-direction:column;align-items:flex-start;gap:12px}.actions{flex-direction:column}.enroll-button,.cancel-button{min-width:auto;width:100%}.formation-info{padding:20px}}@media(max-width:480px){.formation-detail-container{padding:16px 12px}.detail-title{font-size:22px}.chapter-item{border-width:1px}.chapter-header{padding:12px;gap:10px}.chapter-number{min-width:60px;font-size:11px}.btn{padding:10px 16px;font-size:12px}.meta-row{padding:12px}.formation-meta{gap:10px}.status-badge,.type-badge,.duration{font-size:11px;padding:6px 12px}.description{font-size:14px}.actions{gap:8px}.enroll-button,.cancel-button{padding:10px 16px;font-size:12px;min-width:auto}.back-button{padding:8px 12px;font-size:11px}}.formation-form-container{max-width:900px;margin:0 auto;padding:40px 24px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-height:100vh}.form-title{margin:0 0 32px;font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding-bottom:0;border-bottom:none;letter-spacing:-.5px}.formation-form{display:flex;flex-direction:column;gap:32px}fieldset{border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;margin:0;background:var(--bg-primary);box-shadow:var(--shadow-md)}legend{padding:0 16px;font-size:16px;font-weight:700;color:var(--primary);background:var(--primary-light);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.5px}.form-group{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:0}.form-row .form-group{margin-bottom:0}label{font-weight:600;color:var(--text-primary);font-size:14px;display:block;text-transform:uppercase;letter-spacing:.5px}label:after{content:""}input[type=text],input[type=number],input[type=url],input[type=email],textarea,select{padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-family:inherit;background:var(--bg-primary);transition:var(--transition);width:100%;box-sizing:border-box;color:var(--text-primary);font-weight:500}input[type=text]::placeholder,input[type=number]::placeholder,input[type=url]::placeholder,input[type=email]::placeholder,textarea::placeholder{color:var(--text-tertiary)}input[type=text]:focus,input[type=number]:focus,input[type=url]:focus,input[type=email]:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light);background:var(--primary-light)}textarea{resize:vertical;min-height:120px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:40px}.chapters-list{margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.chapter-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);gap:16px;transition:var(--transition);border-left:4px solid var(--primary)}.chapter-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary)}.chapter-info{display:flex;flex-direction:column;gap:6px;flex:1}.chapter-number{font-size:12px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.chapter-title{font-size:15px;font-weight:600;color:var(--text-primary)}.btn-sm{padding:8px 14px;font-size:12px;white-space:nowrap}.add-chapter-section{background:var(--primary-light);padding:24px;border:2px dashed var(--primary);border-radius:var(--radius-lg);margin-top:20px}.add-chapter-section h4{margin:0 0 20px;font-size:14px;font-weight:700;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.5px}.add-chapter-section .form-group{margin-bottom:16px}.add-chapter-section .form-row{margin-bottom:0}.tag-input-group{display:flex;gap:10px;margin-bottom:16px}.tag-input-group input{flex:1}.tag-input-group .btn{white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);border:2px solid var(--primary);border-radius:20px;font-size:13px;color:var(--primary-dark);font-weight:600}.tag button{background:none;border:none;color:var(--danger);cursor:pointer;font-size:18px;padding:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;transition:var(--transition)}.tag button:hover{background:#ef44441a;transform:scale(1.1)}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,#dc2626 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.form-actions{display:flex;gap:16px;margin-top:32px;padding-top:32px;border-top:2px solid var(--border-color);justify-content:flex-end;flex-wrap:wrap}.form-actions .btn{min-width:160px}.form-actions .btn-primary{flex:0 1 auto}.file-upload-section{background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);border:2px dashed var(--primary);border-radius:var(--radius-lg);padding:24px;margin:20px 0}.file-upload-section h5{margin:0 0 20px;color:var(--primary-dark);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.upload-group{margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.upload-group:last-child{margin-bottom:0}.upload-label{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--primary-dark);cursor:pointer;padding:12px 16px;border-radius:var(--radius-md);background:var(--bg-primary);border:2px solid var(--primary);transition:var(--transition);text-transform:uppercase;font-size:13px;letter-spacing:.5px}.upload-label:hover{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.upload-icon{font-size:20px}.file-input{padding:10px 12px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;transition:var(--transition);color:var(--text-primary);font-weight:500}.file-input:hover{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.file-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.upload-group small{font-size:12px;color:var(--text-secondary);margin-left:8px;font-weight:500}@media(max-width:768px){.formation-form-container{padding:24px 16px}.form-title{font-size:24px;margin-bottom:24px}fieldset{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%;min-width:auto}.tag-input-group{flex-direction:column}.tag-input-group .btn{width:100%}.file-upload-section{padding:16px}.upload-group{margin-bottom:16px}}@media(max-width:480px){.formation-form-container{padding:16px 12px}.form-title{font-size:20px}fieldset{padding:16px}.form-group{margin-bottom:16px}.btn{padding:10px 16px;font-size:12px}.btn-sm{padding:6px 10px;font-size:11px}.chapter-item{flex-direction:column;align-items:flex-start}}.formation-management-container{max-width:1400px;margin:0 auto;padding:40px 24px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);min-height:100vh}.formation-management-restricted{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.restricted-message{text-align:center;padding:60px 40px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px}.restricted-message h2{color:var(--danger);margin-bottom:16px;font-size:28px;font-weight:700}.restricted-message p{color:var(--text-secondary);font-size:16px;font-weight:500}.management-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;padding-bottom:0;border-bottom:none;flex-wrap:wrap}.management-header h2{margin:0;font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.management-header .subtitle{margin:8px 0 0;color:var(--text-secondary);font-size:14px;font-weight:500}.back-button{padding:12px 20px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-weight:700;transition:var(--transition);text-transform:uppercase;letter-spacing:.5px;font-size:13px}.back-button:hover{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-color:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn{padding:12px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:700;cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:.5px}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary:hover:not(:disabled){background:var(--border-color);border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.btn-lg{padding:14px 28px;font-size:15px}.formation-controls{display:flex;gap:20px;margin-bottom:32px;flex-wrap:wrap;padding:24px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.search-box{flex:1;min-width:280px;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:16px;width:20px;height:20px;color:var(--text-tertiary);pointer-events:none}.search-input{width:100%;padding:12px 16px 12px 44px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;background:var(--bg-primary);color:var(--text-primary);transition:var(--transition);font-weight:500}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light);background:var(--primary-light)}.filter-controls{display:flex;gap:16px;flex-wrap:wrap}.filter-select{padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;background:var(--bg-primary);cursor:pointer;transition:var(--transition);color:var(--text-primary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light);background:var(--primary-light)}.loading-state,.error-state,.empty-state{padding:60px 40px;text-align:center;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:32px 0;font-weight:500}.loading-state{color:var(--text-secondary);font-size:16px}.error-state{color:var(--danger);background:#fef2f2;border:2px solid var(--danger)}.error-state p{margin:0 0 20px;font-size:16px}.empty-state{color:var(--text-tertiary)}.empty-icon{width:80px;height:80px;margin:0 auto 20px;opacity:.4}.empty-state h3{margin:20px 0 10px;font-size:20px;color:var(--text-secondary);font-weight:700}.empty-state p{margin:0;font-size:14px;color:var(--text-tertiary)}.formations-table-wrapper{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:32px;border:1px solid var(--border-color)}.formations-table{width:100%;border-collapse:collapse;font-size:14px}.formations-table thead{background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);border-bottom:2px solid var(--primary)}.formations-table th{padding:18px 16px;text-align:left;font-weight:700;color:var(--primary-dark);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;font-size:13px}.formations-table tbody tr{border-bottom:1px solid var(--border-color);transition:var(--transition)}.formations-table tbody tr:hover{background-color:var(--bg-tertiary);box-shadow:var(--shadow-sm) inset}.formations-table td{padding:18px 16px;vertical-align:top;color:var(--text-secondary)}.title-cell{max-width:300px}.title-info h4{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--primary);cursor:pointer;transition:var(--transition)}.title-info h4:hover{color:var(--primary-dark);text-decoration:underline}.title-info .description{margin:0;font-size:13px;color:var(--text-tertiary)}.center{text-align:center}.badge{display:inline-block;padding:8px 14px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-type{background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);color:var(--primary-dark);border:1px solid var(--primary)}.badge-status{text-transform:uppercase;font-weight:700;letter-spacing:.5px}.status-draft{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.status-published{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.status-archived{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151}.actions-cell{display:flex;gap:12px;align-items:center}.action-btn{width:36px;height:36px;padding:0;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;font-size:16px;transition:var(--transition);display:flex;align-items:center;justify-content:center;font-weight:600}.action-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.edit-btn:hover{background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);border-color:var(--primary);color:var(--primary-dark)}.publish-btn:hover{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:var(--success);color:#166534}.archive-btn:hover{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:var(--warning);color:#92400e}.delete-btn:hover{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:var(--danger);color:#991b1b}.management-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;padding:0;background:transparent;border-radius:0;box-shadow:none;margin-bottom:32px}.stat{text-align:center;padding:24px;border-radius:var(--radius-lg);background:var(--bg-primary);box-shadow:var(--shadow-md);border:1px solid var(--border-color);border-left:4px solid var(--primary);transition:var(--transition)}.stat:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-number{display:block;font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}.stat-label{display:block;font-size:12px;color:var(--text-secondary);text-transform:uppercase;font-weight:700;letter-spacing:.5px}@media(max-width:1024px){.formations-table{font-size:13px}.formations-table th,.formations-table td{padding:14px 12px}.title-cell{max-width:200px}.action-btn{width:32px;height:32px;font-size:14px}}@media(max-width:768px){.formation-management-container{padding:24px 16px}.management-header{flex-direction:column;margin-bottom:24px}.management-header h2{font-size:26px}.formation-controls{flex-direction:column;padding:16px}.search-box{min-width:100%}.filter-controls{width:100%}.filter-select{flex:1;min-width:120px}.management-stats{grid-template-columns:repeat(2,1fr);margin-bottom:24px}.formations-table th:nth-child(n+4),.formations-table td:nth-child(n+4){display:none}.actions-cell{flex-wrap:wrap;gap:8px}.action-btn{width:32px;height:32px}}@media(max-width:500px){.formation-management-container{padding:16px 12px}.management-stats{grid-template-columns:1fr}.formations-table th:nth-child(n+3),.formations-table td:nth-child(n+3){display:none}.formations-table th,.formations-table td{padding:12px 8px}.action-btn{width:28px;height:28px;font-size:12px}}:root{--primary: #2563eb;--primary-dark: #1e40af;--primary-light: #eff6ff;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--text-primary: #1f2937;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}.learner-container{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);overflow:hidden}.learner-container.loading{display:flex;align-items:center;justify-content:center}.loader{text-align:center;padding:3rem}.spinner{width:60px;height:60px;border:4px solid var(--border-color);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader p{color:var(--text-secondary);margin-top:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.learner-container.error{display:flex;align-items:center;justify-content:center;padding:2rem}.error-card{background:var(--bg-primary);padding:3rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;max-width:500px;border-left:6px solid var(--danger)}.error-card h2{color:var(--danger);margin-bottom:1rem;font-size:1.5rem;font-weight:700}.error-card p{color:var(--text-secondary);margin-bottom:2rem}.learner-container.enrollment{display:flex;align-items:center;justify-content:center;padding:2rem}.enrollment-card{background:#fff;border-radius:16px;box-shadow:var(--shadow-xl);max-width:900px;width:100%;overflow:hidden}.enrollment-header{padding:2rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;display:flex;justify-content:space-between;align-items:start;position:relative}.enrollment-header h1{font-size:2rem;margin:0;flex:1}.close-btn{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.close-btn:hover{background:#ffffff4d}.enrollment-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;padding:2rem}.enrollment-info{display:flex;flex-direction:column;gap:2rem}.enrollment-info .description{font-size:1.1rem;color:var(--text-secondary);line-height:1.6}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.info-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border-left:3px solid var(--primary)}.info-item .icon{font-size:1.5rem}.info-item .label{display:block;font-size:.85rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-item .value{display:block;font-size:1.1rem;color:var(--text-primary);font-weight:600}.chapters-preview{display:flex;flex-direction:column;gap:1rem}.chapters-preview h3{margin:0;color:var(--text-primary);font-size:1.1rem}.chapters-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.chapters-list li{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:6px;font-size:.9rem;transition:var(--transition);border-left:3px solid transparent}.chapters-list li:hover{background:var(--bg-tertiary);border-left-color:var(--primary)}.chapters-list .chapter-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--primary);color:#fff;border-radius:50%;font-weight:600;flex-shrink:0}.chapters-list .chapter-title{flex:1;font-weight:500;color:var(--text-primary)}.chapters-list .chapter-type{background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.enrollment-action{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;border:2px solid var(--border-color)}.btn-lg{padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:var(--transition)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--border-color)}.btn:disabled{opacity:.6;cursor:not-allowed}.learner-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);gap:2rem}.header-left{display:flex;align-items:center;gap:1.5rem;flex:1;min-width:0}.back-btn{background:var(var(--bg-tertiary));border:1px solid var(--neutral-300);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.95rem;color:var(var(--text-primary));font-weight:500;transition:var(--transition);white-space:nowrap;flex-shrink:0}.back-btn:hover{background:var(var(--border-color));border-color:var(--neutral-400)}.header-left>div{min-width:0;flex:1}.course-title{margin:0;font-size:1.5rem;color:var(var(--text-primary));font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-subtitle{margin:.25rem 0 0;color:var(var(--bg-secondary)0);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggle-sidebar-btn{background:var(--primary);border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:1.1rem;transition:var(--transition);flex-shrink:0}.toggle-sidebar-btn:hover{background:var(--primary-dark)}.learner-content{display:grid;grid-template-columns:280px 1fr 320px;gap:0;flex:1;overflow:hidden}.learner-sidebar{background:#fff;border-right:1px solid var(var(--border-color));overflow-y:auto;display:flex;flex-direction:column}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(var(--border-color));display:flex;justify-content:space-between;align-items:center;gap:1rem}.sidebar-header h3{margin:0;font-size:1rem;color:var(var(--text-primary));font-weight:600}.completion-badge{background:var(--success);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.progress-mini{padding:1rem 1.5rem;border-bottom:1px solid var(var(--border-color))}.progress-bar-mini{width:100%;height:6px;background:var(var(--border-color));border-radius:3px;overflow:hidden}.progress-fill-mini{height:100%;background:var(--success);transition:width .3s ease}.chapters-nav{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.chapter-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:var(--transition);text-align:left;font-size:.9rem;color:var(var(--text-primary))}.chapter-nav-item:hover{background:var(var(--bg-secondary));border-color:var(--primary)}.chapter-nav-item.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.chapter-nav-item.completed{background:var(var(--bg-secondary));border-color:var(--success)}.nav-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(var(--border-color));border-radius:50%;font-weight:600;font-size:.85rem;flex-shrink:0}.chapter-nav-item.active .nav-number{background:#ffffff4d}.chapter-nav-item.completed .nav-number{background:var(--success);color:#fff}.nav-content{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.nav-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.nav-type{font-size:.75rem;opacity:.7;white-space:nowrap}.check-icon{color:var(--success);font-weight:600;flex-shrink:0}.sidebar-stats{padding:1rem 1.5rem;border-top:1px solid var(var(--border-color));display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sidebar-stats .stat{text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--primary)}.stat-label{display:block;font-size:.75rem;color:var(var(--bg-secondary)0);margin-top:.25rem;text-transform:uppercase;letter-spacing:.5px}.learner-main{background:#fff;padding:2rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem}.chapter-header{display:flex;justify-content:space-between;align-items:start;padding-bottom:1.5rem;border-bottom:2px solid var(var(--border-color))}.chapter-number{display:block;font-size:.85rem;color:var(--primary);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.chapter-header h2{margin:0;font-size:2rem;color:var(var(--text-primary))}.completed-stamp{background:var(--success);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;white-space:nowrap}.chapter-viewer{display:flex;flex-direction:column;gap:2rem}.content-block{background:#fff;border-radius:8px;overflow:hidden}.video-content{border:1px solid var(var(--border-color))}.text-content{padding:2rem;background:var(var(--bg-secondary));border-radius:8px}.content-text{line-height:1.8;color:var(var(--text-primary));font-size:1rem}.content-text p{margin:0 0 1rem}.content-text p:last-child{margin-bottom:0}.image-content{padding:2rem;text-align:center}.image-content figure{margin:0;display:flex;flex-direction:column;gap:1rem}.chapter-image{max-width:100%;height:auto;border-radius:8px;box-shadow:var(--shadow-md)}.image-content figcaption{color:var(var(--text-secondary));font-style:italic}.document-content{padding:2rem;text-align:center}.document-preview{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;background:var(var(--bg-secondary));border-radius:8px;border:2px dashed var(--neutral-300)}.document-icon{font-size:3rem}.document-info{text-align:center}.document-info h3{margin:0 0 .5rem;color:var(var(--text-primary))}.document-info p{margin:0;color:var(var(--text-secondary))}.content-metadata{display:flex;gap:2rem;flex-wrap:wrap;padding:1rem 0}.meta-item{display:flex;align-items:center;gap:.5rem;color:var(var(--text-secondary));font-size:.95rem}.meta-item .icon{font-size:1.1rem}.resources-content{padding:1.5rem;background:var(var(--bg-secondary));border-radius:8px}.resources-content h3{margin:0 0 1rem;color:var(var(--text-primary));font-size:1.1rem}.resources-list{display:flex;flex-direction:column;gap:.75rem}.resource-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:6px;text-decoration:none;transition:var(--transition);border-left:3px solid transparent}.resource-item:hover{background:var(var(--bg-tertiary));border-left-color:var(--primary);transform:translate(4px)}.resource-icon{font-size:1.3rem}.resource-text{flex:1;color:var(--primary);font-weight:500;text-decoration:underline}.open-icon{color:var(--neutral-400)}.notes-section{padding:1.5rem;background:var(var(--bg-secondary));border-radius:8px;border-left:4px solid var(--warning)}.notes-section h3{margin:0 0 1rem;color:var(var(--text-primary));font-size:1rem;font-weight:600}.notes-input{width:100%;padding:1rem;border:1px solid var(--neutral-300);border-radius:6px;font-family:inherit;font-size:.95rem;resize:vertical;transition:var(--transition)}.notes-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.chapter-navigation{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;border-top:2px solid var(var(--border-color))}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#059669;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary:disabled,.btn-success:disabled{opacity:.5;cursor:not-allowed}.chapter-navigation .btn-secondary{flex:1;max-width:150px}.learner-progress-sidebar{width:320px;background:#fff;border-left:1px solid var(var(--border-color));overflow-y:auto;padding:1.5rem}.progress-card{display:flex;flex-direction:column;gap:1.5rem}.progress-card h3{margin:0;font-size:1.1rem;color:var(var(--text-primary));font-weight:600}.progress-circle{position:relative;width:160px;height:160px;margin:0 auto}.circle-svg{width:100%;height:100%;transform:rotate(-90deg)}.circle-bg{fill:none;stroke:var(var(--border-color));stroke-width:8}.circle-progress{fill:none;stroke:var(--success);stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .5s ease}.circle-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;gap:.25rem}.circle-text .percentage{font-size:1.8rem;font-weight:700;color:var(--primary)}.circle-text .label{font-size:.75rem;color:var(var(--bg-secondary)0);text-transform:uppercase;letter-spacing:.5px}.progress-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-box{padding:1rem;background:var(var(--bg-secondary));border-radius:6px;text-align:center;border:1px solid var(var(--border-color))}.stat-box .stat-number{display:block;font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:.5rem}.stat-box .stat-label{display:block;font-size:.75rem;color:var(var(--text-secondary));font-weight:500}.progress-position{padding:1rem;background:var(--primary);color:#fff;border-radius:6px}.progress-position h4{margin:0 0 .75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.position-info{display:flex;flex-direction:column;gap:.25rem}.position-number{font-weight:600;font-size:1rem}.position-title{font-size:.9rem;opacity:.9}.progress-time{display:flex;flex-direction:column;gap:.75rem}.time-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(var(--bg-secondary));border-radius:6px}.time-item .icon{font-size:1.3rem;flex-shrink:0}.time-item>div{display:flex;flex-direction:column;gap:.25rem}.time-item .label{font-size:.75rem;color:var(var(--text-secondary));text-transform:uppercase;letter-spacing:.5px}.time-item .value{font-weight:600;color:var(var(--text-primary))}.achievement-badge{padding:1rem;border-radius:6px;text-align:center;display:flex;align-items:center;gap:.75rem;justify-content:center;font-weight:600}.achievement-badge.progress{background:#fef3c7;color:#92400e}.achievement-badge.started{background:#dbeafe;color:#0c4a6e}.achievement-badge.not-started{background:#e0e7ff;color:#312e81}.achievement-icon{font-size:1.3rem}.course-info-box{padding:1rem;background:var(var(--bg-secondary));border-radius:6px;border:1px solid var(var(--border-color))}.course-info-box h4{margin:0 0 1rem;font-size:.9rem;color:var(var(--text-primary));font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;gap:1rem}.info-row .label{color:var(var(--text-secondary));font-weight:500}.info-row .value{color:var(var(--text-primary));font-weight:600}.info-row .value.status{background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:4px;text-transform:uppercase;font-size:.7rem;letter-spacing:.5px}.video-player-wrapper{display:flex;flex-direction:column;gap:1rem}.video-player{position:relative;width:100%;background:#000;border-radius:8px;overflow:hidden}.video-player video{width:100%;height:auto;display:block;max-height:500px}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:2rem 1rem 1rem;display:flex;flex-direction:column;gap:1rem}.progress-slider{width:100%;height:4px;border-radius:2px;background:#ffffff4d;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer}.progress-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer;border:none}.controls-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.controls-left,.controls-right{display:flex;align-items:center;gap:1rem}.control-btn{background:#ffffff4d;border:none;color:#fff;font-size:1.2rem;width:40px;height:40px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.control-btn:hover{background:#ffffff80}.time-display{color:#fff;font-size:.85rem;font-family:monospace;white-space:nowrap}.time-display .separator{margin:0 .25rem;opacity:.7}.volume-control{display:flex;align-items:center;gap:.75rem;color:#fff;font-size:1.1rem}.volume-slider{width:80px;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff4d;border-radius:2px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer}.volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none}.video-info{padding:1rem;background:var(var(--bg-secondary));border-radius:0 0 8px 8px}.video-info h3{margin:0 0 .75rem;color:var(var(--text-primary));font-size:1rem}.video-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.video-stats .stat-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(var(--text-secondary))}.video-stats .icon{font-size:1rem}@media(max-width:1400px){.learner-content{grid-template-columns:1fr 300px}.learner-sidebar{display:none}}@media(max-width:1024px){.learner-content{grid-template-columns:1fr}.learner-progress-sidebar{width:100%;padding:1rem;max-height:300px;border-left:none;border-top:1px solid var(var(--border-color))}.learner-header{flex-direction:column;align-items:start}.header-left{flex-direction:column}.course-title{font-size:1.3rem}.course-subtitle{font-size:.85rem}.enrollment-content{grid-template-columns:1fr}.progress-card{gap:1rem}}@media(max-width:768px){.learner-header{padding:1rem}.course-title{font-size:1.1rem}.learner-main{padding:1rem}.chapter-navigation{flex-direction:column}.chapter-navigation .btn-secondary{max-width:100%;flex:1;width:100%}.chapter-header{flex-direction:column;gap:1rem}.chapter-header h2{font-size:1.5rem}.enrollment-info .description{font-size:1rem}.info-grid{grid-template-columns:repeat(2,1fr)}.controls-bar{flex-wrap:wrap}.progress-stats{grid-template-columns:1fr}}@media(max-width:480px){.learner-header{gap:1rem}.header-left{gap:.75rem}.back-btn{padding:.4rem .75rem;font-size:.85rem}.course-title{font-size:1rem}.course-subtitle{display:none}.learner-main{padding:.75rem;gap:1rem}.learner-progress-sidebar{padding:.75rem;max-height:250px}.chapter-header h2{font-size:1.3rem}.content-block{padding:1rem}.chapter-navigation{flex-direction:column;gap:.5rem}.chapter-navigation .btn{width:100%;padding:.6rem 1rem}.info-grid{grid-template-columns:1fr}.video-player video{max-height:300px}.video-controls{padding:1.5rem .75rem .75rem;gap:.75rem}.controls-left,.controls-right{gap:.5rem}.control-btn{width:35px;height:35px;font-size:1rem}.progress-circle{width:120px;height:120px}.circle-text .percentage{font-size:1.5rem}}.learner-sidebar::-webkit-scrollbar,.learner-main::-webkit-scrollbar,.learner-progress-sidebar::-webkit-scrollbar,.chapters-list::-webkit-scrollbar{width:8px}.learner-sidebar::-webkit-scrollbar-track,.learner-main::-webkit-scrollbar-track,.learner-progress-sidebar::-webkit-scrollbar-track,.chapters-list::-webkit-scrollbar-track{background:transparent}.learner-sidebar::-webkit-scrollbar-thumb,.learner-main::-webkit-scrollbar-thumb,.learner-progress-sidebar::-webkit-scrollbar-thumb,.chapters-list::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:4px}.learner-sidebar::-webkit-scrollbar-thumb:hover,.learner-main::-webkit-scrollbar-thumb:hover,.learner-progress-sidebar::-webkit-scrollbar-thumb:hover,.chapters-list::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.learner-container{animation:slideIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.content-block{animation:fadeIn .3s ease}.learner-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--bg-primary);border-bottom:2px solid var(--border-color);box-shadow:var(--shadow-sm);gap:2rem}.header-left{display:flex;align-items:center;gap:1.5rem;flex:1}.header-right{display:flex;align-items:center;gap:1rem}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:13px;transition:var(--transition)}.back-btn:hover{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-color:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.course-title{margin:0;font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.course-subtitle{margin:4px 0 0;font-size:.95rem;color:var(--text-secondary);font-weight:500}.toggle-sidebar-btn{padding:10px 14px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:1.2rem;transition:var(--transition)}.toggle-sidebar-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.1)}.learner-content{display:flex;flex:1;gap:0;overflow:hidden}.learner-sidebar{width:280px;background:var(--bg-primary);border-right:2px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;box-shadow:var(--shadow-sm)}.sidebar-header{padding:1.5rem;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:1rem;background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%)}.sidebar-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.5px}.completion-badge{display:inline-block;padding:6px 12px;background:var(--primary);color:#fff;border-radius:20px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.progress-mini{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.progress-bar-mini{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.progress-fill-mini{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:4px;transition:width .3s ease}.chapters-nav{display:flex;flex-direction:column;gap:0;flex:1;overflow-y:auto;padding:.5rem}.chapter-nav-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:none;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);text-align:left;margin-bottom:.25rem}.chapter-nav-item:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.chapter-nav-item.active{background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);border-color:var(--primary)}.nav-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;font-weight:700;font-size:.9rem;flex-shrink:0}.chapter-nav-item.active .nav-number{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.nav-content{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.nav-title{font-size:.9rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-type{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.sidebar-stats{padding:1.5rem;border-top:2px solid var(--border-color);display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat{display:flex;flex-direction:column;gap:.5rem;text-align:center;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--primary)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.learner-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:2rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%)}.chapter-header{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--bg-primary);border-radius:var(--radius-lg);margin-bottom:2rem;box-shadow:var(--shadow-md);border-left:6px solid var(--primary)}.chapter-number{font-size:.85rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.5px}.chapter-title{margin:0;font-size:2rem;font-weight:700;color:var(--text-primary)}.chapter-viewer{flex:1;background:var(--bg-primary);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);margin-bottom:2rem;overflow-y:auto}.notes-section{background:var(--bg-primary);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-md)}.notes-section h3{margin:0 0 1rem;font-size:1rem;font-weight:700;color:var(--text-primary)}.notes-input{width:100%;padding:1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.95rem;font-family:inherit;color:var(--text-primary);background:var(--bg-secondary);resize:vertical;transition:var(--transition)}.notes-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light);background:var(--primary-light)}.notes-input::placeholder{color:var(--text-tertiary)}.chapter-navigation{display:flex;gap:1rem;justify-content:space-between;align-items:center}.btn{padding:12px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:700;cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:8px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--border-color);border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-success{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;border:none;box-shadow:var(--shadow-md)}.btn-success:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.learner-progress-sidebar{width:320px;background:var(--bg-primary);border-left:2px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;box-shadow:0 -1px 3px #0000000d}.progress-card{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.progress-card h3{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.progress-circle{position:relative;width:180px;height:180px;margin:0 auto}.circle-svg{width:100%;height:100%}.circle-bg{fill:none;stroke:var(--border-color);stroke-width:8}.circle-progress{fill:none;stroke:var(--primary);stroke-width:8;stroke-linecap:round;stroke-dashoffset:0;transform:rotate(-90deg);transform-origin:100px 100px;transition:stroke-dasharray .5s ease}.circle-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;gap:4px}.percentage{font-size:2rem;font-weight:700;color:var(--primary)}.label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.progress-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.stat-box{display:flex;flex-direction:column;gap:4px;text-align:center;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-md)}.stat-number{font-size:1.5rem;font-weight:700;color:var(--primary)}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.progress-position{padding:1rem 0;border-bottom:1px solid var(--border-color)}.progress-position h4{margin:0 0 1rem;font-size:.9rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.position-info{display:flex;flex-direction:column;gap:4px;padding:1rem;background:var(--primary-light);border-radius:var(--radius-md);border-left:4px solid var(--primary)}.position-number{font-size:.9rem;font-weight:700;color:var(--primary-dark)}.position-title{font-size:1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-time{display:flex;flex-direction:column;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border-color)}.time-item{display:flex;align-items:flex-start;gap:1rem}.time-item .icon{font-size:1.5rem}.time-item>div{display:flex;flex-direction:column;gap:2px}.time-item .label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.time-item .value{font-size:1rem;font-weight:700;color:var(--text-primary)}.achievement-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;border-radius:var(--radius-lg);text-align:center;border:2px dashed var(--border-color);margin:1rem 0}.achievement-badge.not-started{background:linear-gradient(135deg,var(--primary-light) 0%,#dbeafe 100%);border-color:var(--primary)}.achievement-badge.in-progress{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:var(--warning)}.achievement-badge.completed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:var(--success)}.achievement-icon{font-size:2.5rem}.achievement-text{font-size:1rem;font-weight:700;color:var(--text-primary)}.course-info-box{padding:1.5rem;background:var(--bg-tertiary);border-radius:var(--radius-lg);border-left:4px solid var(--primary)}.course-info-box h4{margin:0 0 1rem;font-size:.9rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.info-items{display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:var(--radius-sm)}.info-row .label{font-size:.8rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-row .value{font-size:.9rem;font-weight:700;color:var(--text-primary);padding:4px 10px;background:var(--primary-light);border-radius:12px;border:1px solid var(--primary);color:var(--primary-dark)}.info-row .value.status{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border-color:var(--success)}@media(max-width:1200px){.learner-sidebar{width:240px}.learner-progress-sidebar{width:280px}.course-title{font-size:1.5rem}}@media(max-width:768px){.learner-header{padding:1rem 1.5rem;flex-direction:column;align-items:flex-start}.header-left{flex-direction:column;width:100%}.header-right{width:100%;justify-content:flex-end}.learner-content{flex-direction:column}.learner-sidebar{width:100%;border-right:none;border-bottom:2px solid var(--border-color);max-height:300px}.learner-progress-sidebar{width:100%;border-left:none;border-top:2px solid var(--border-color);max-height:300px}.learner-main{padding:1.5rem}.chapter-header{padding:1rem}.chapter-title{font-size:1.5rem}.course-title{font-size:1.3rem}.progress-circle{width:150px;height:150px}.chapter-navigation{flex-direction:column}.btn{width:100%}}@media(max-width:480px){.learner-header{padding:1rem .75rem}.course-title{font-size:1.1rem}.course-subtitle{font-size:.85rem}.learner-sidebar,.learner-progress-sidebar{max-height:250px}.learner-main{padding:1rem}.chapter-header{padding:.75rem;margin-bottom:1rem}.chapter-title{font-size:1.2rem}.chapter-viewer,.notes-section{padding:1rem;margin-bottom:1rem}.btn{padding:10px 16px;font-size:12px}.progress-circle{width:130px;height:130px}.percentage{font-size:1.5rem}.sidebar-stats,.progress-stats{grid-template-columns:1fr}}
