:root{--color-primary: #c9fd5d;--color-primary-hover: #b8ec4c;--color-background: #000000;--color-surface: #111111;--color-surface-hover: #1a1a1a;--color-text: #ffffff;--color-text-secondary: #888888;--color-error: #ff4444;--color-error-bg: rgba(255, 68, 68, .1);--color-border: #333333;--font-family: "Inter", system-ui, -apple-system, sans-serif;--border-radius: 8px;--transition: .15s ease}*{margin:0;padding:0;box-sizing:border-box}select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background:var(--color-background) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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") no-repeat right 12px center / 12px!important;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-family:var(--font-family);font-size:14px;padding:10px 36px 10px 12px;cursor:pointer}select:focus{outline:none;border-color:var(--color-primary);background:var(--color-background) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9fd5d' 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") no-repeat right 12px center / 12px!important}select option{background-color:var(--color-surface);color:var(--color-text)}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--color-text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-background)}.login-callback-content{display:flex;flex-direction:column;align-items:center;gap:16px}.login-callback-content .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.login-callback-content p{color:var(--color-text-secondary);font-size:14px}.login-card{width:100%;max-width:400px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:40px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:24px;font-weight:500;margin-bottom:8px}.login-header p{color:var(--color-primary);font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.form-group input{padding:10px 12px;font-size:14px;font-family:var(--font-family);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);transition:border-color var(--transition)}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-group input::placeholder{color:var(--color-text-secondary)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.input-with-button{display:flex;gap:8px;align-items:stretch}.input-with-button input{flex:1}.input-with-button .btn{white-space:nowrap;padding:10px 16px}.error-message{padding:12px 16px;background-color:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--border-radius);color:var(--color-error);font-size:14px}.login-button{padding:14px 24px;font-size:16px;font-weight:500;font-family:var(--font-family);background-color:var(--color-primary);color:var(--color-background);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color var(--transition)}.login-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.login-button:disabled{opacity:.6;cursor:not-allowed}.dashboard-container{display:flex;min-height:100vh}.sidebar{width:260px;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0}.sidebar-header{padding:24px;border-bottom:1px solid var(--color-border)}.sidebar-header h2{font-size:20px;font-weight:500;color:var(--color-primary)}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;color:var(--color-text-secondary);text-decoration:none;font-size:14px;transition:all var(--transition)}.nav-item:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.nav-item.active{color:var(--color-primary);background-color:#c9fd5d1a}.nav-icon{font-size:16px;width:20px;text-align:center}.nav-category{margin-bottom:4px}.nav-category-header{display:flex;align-items:center;gap:12px;padding:12px 24px;width:100%;background:none;border:none;color:var(--color-text-secondary);font-size:14px;cursor:pointer;transition:all var(--transition);text-align:left}.nav-category-header:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.nav-category-header.active{color:var(--color-primary)}.nav-category-header .nav-label{flex:1}.nav-arrow{font-size:12px;transition:transform .2s ease}.nav-arrow.open{transform:rotate(180deg)}.nav-category-items{background-color:#0003;padding:4px 0}.nav-sub-item{display:block;padding:10px 24px 10px 56px;color:var(--color-text-secondary);text-decoration:none;font-size:13px;transition:all var(--transition)}.nav-sub-item:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.nav-sub-item.active{color:var(--color-primary);background-color:#c9fd5d1a}.sidebar-footer{padding:16px 24px;border-top:1px solid var(--color-border)}.user-info{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.user-name{font-size:14px;font-weight:500}.user-email{font-size:12px;color:var(--color-text-secondary)}.logout-button{width:100%;padding:10px 16px;font-size:14px;font-family:var(--font-family);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition)}.logout-button:hover{color:var(--color-text);border-color:var(--color-text-secondary)}.main-content{flex:1;margin-left:260px;display:flex;flex-direction:column;max-width:calc(100vw - 260px);overflow-x:hidden}.content-header{padding:24px 32px;border-bottom:1px solid var(--color-border)}.content-header h1{font-size:24px;font-weight:500}.content-body{flex:1;padding:32px;overflow-x:hidden;max-width:100%}.welcome-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:32px;margin-bottom:32px}.welcome-card h2{font-size:20px;font-weight:500;margin-bottom:8px}.welcome-card p{color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.stat-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px}.stat-card h3{font-size:14px;font-weight:400;color:var(--color-text-secondary);margin-bottom:8px}.stat-value{font-size:32px;font-weight:500;color:var(--color-primary)}.data-table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{background-color:var(--color-background);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);white-space:nowrap}.data-table td{font-size:14px}.data-table tbody tr:hover{background-color:var(--color-surface-hover)}.data-table tbody tr:last-child td{border-bottom:none}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--color-border);background-color:var(--color-surface)}.pagination-info{color:var(--color-text-secondary);font-size:14px}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-pages{display:flex;align-items:center;gap:4px}.pagination-ellipsis{color:var(--color-text-secondary);padding:0 8px}.pagination .btn-sm{display:flex;align-items:center;gap:4px;padding:6px 12px;font-size:13px}.pagination .btn-sm:disabled{opacity:.4;cursor:not-allowed}.pagination .btn-sm svg{flex-shrink:0}.pagination-pages .btn-sm{min-width:36px;justify-content:center;padding:6px 10px}.data-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.data-section>h2{padding:20px 24px;margin:0;font-size:18px;font-weight:500;color:var(--color-text);border-bottom:1px solid var(--color-border)}.form-panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px}.form-panel .form-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.form-panel .form-header h2{font-size:20px;font-weight:600;margin:0}.form-panel .form-body{display:flex;flex-direction:column;gap:24px}.badge{display:inline-flex;align-items:center;padding:4px 12px;font-size:12px;font-weight:500;border-radius:20px;text-transform:capitalize;border:1px solid transparent}.badge--active,.badge--enrolled,.badge--success{background-color:#22c55e26;color:#22c55e;border-color:#22c55e4d}.badge--inactive,.badge--locked{background-color:#6b728026;color:#9ca3af;border-color:#6b72804d}.badge--pending,.badge--warning{background-color:#fbbf2426;color:#fbbf24;border-color:#fbbf244d}.badge--finished,.badge--info{background-color:#3b82f626;color:#3b82f6;border-color:#3b82f64d}.badge--error,.badge--cancelled{background-color:#ef444426;color:#ef4444;border-color:#ef44444d}.badge--draft{background-color:#a855f726;color:#a855f7;border-color:#a855f74d}.badge--online{background-color:#3b82f633;color:#60a5fa}.badge--onsite{background-color:#22c55e33;color:#4ade80}.test-user-badge{margin-left:8px;font-size:10px;padding:2px 6px;vertical-align:middle}.badge--recorded{background-color:#a855f733;color:#c084fc}.alert{padding:16px 20px;border-radius:var(--border-radius);font-size:14px;margin-bottom:16px}.alert--success{background-color:#c9fd5d26;border:1px solid var(--color-primary);color:var(--color-primary)}.alert--error{background-color:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error)}.alert--warning{background-color:#fbbf2426;border:1px solid #fbbf24;color:#fbbf24}.alert--info{background-color:#3b82f626;border:1px solid #3b82f6;color:#3b82f6}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.page-header .header-content h1{font-size:24px;font-weight:600;margin-bottom:4px}.page-header .header-content .subtitle{font-size:14px;color:var(--color-text-secondary)}.table-actions{display:flex;gap:8px}.table-actions .action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition)}.table-actions .action-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.table-actions .action-btn--edit:hover{border-color:var(--color-primary);color:var(--color-primary)}.table-actions .action-btn--view:hover{border-color:#3b82f6;color:#3b82f6}.table-actions .action-btn--delete:hover{border-color:var(--color-error);color:var(--color-error)}.table-actions .action-btn--success:hover{border-color:#22c55e;color:#22c55e}.table-actions .action-btn--confirm{border-color:var(--color-error);color:var(--color-error);background-color:var(--color-error-bg)}.table-actions .action-btn--cancel{border-color:var(--color-text-secondary)}.table-actions .action-btn--copy:hover{border-color:#a78bfa;color:#a78bfa}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;display:inline-block}.status-badge--success{background:var(--color-primary);color:#000}.status-badge--inactive{background:var(--color-surface-secondary);color:var(--color-text-secondary)}.status-badge--warning{background:#fbbf2420;color:#fbbf24}.status-badge--error{background:var(--color-error-bg);color:var(--color-error)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--color-text-secondary);text-align:center}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{font-size:14px}.loading-state{display:flex;align-items:center;justify-content:center;padding:48px 24px;color:var(--color-text-secondary);font-size:14px}.error-state{display:flex;align-items:center;justify-content:center;padding:48px 24px;color:var(--color-error);font-size:14px}.confirm-dialog-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px;max-width:400px;width:90%}.confirm-dialog h3{font-size:18px;font-weight:600;margin-bottom:12px}.confirm-dialog p{color:var(--color-text-secondary);font-size:14px;margin-bottom:24px}.confirm-dialog .dialog-actions{display:flex;gap:12px;justify-content:flex-end}.success-message{padding:16px 20px;background-color:#c9fd5d26;border:1px solid var(--color-primary);border-radius:var(--border-radius);color:var(--color-primary);font-size:14px;margin-bottom:24px}.page-actions{margin-bottom:24px}.primary-button{padding:12px 24px;font-size:14px;font-weight:500;font-family:var(--font-family);background-color:var(--color-primary);color:var(--color-background);border:none;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);text-transform:uppercase}.primary-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{padding:12px 24px;font-size:14px;font-weight:500;font-family:var(--font-family);background-color:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.secondary-button:hover{border-color:var(--color-text-secondary)}.add-button{padding:8px 16px;font-size:13px;font-family:var(--font-family);background-color:transparent;color:var(--color-primary);border:1px dashed var(--color-primary);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);margin-top:8px}.remove-button{width:32px;height:32px;padding:0;font-size:18px;font-family:var(--font-family);background-color:transparent;color:var(--color-error);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);flex-shrink:0}.remove-button:hover{background-color:var(--color-error-bg);border-color:var(--color-error)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--border-radius);font-size:14px;font-weight:500;font-family:var(--font-family);cursor:pointer;border:none;transition:all var(--transition)}.btn-primary{background-color:var(--color-primary);color:var(--color-background)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){border-color:var(--color-text-secondary)}.btn-danger{background-color:var(--color-error);color:var(--color-text)}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);flex-shrink:0}.btn-back:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.form-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px;margin-bottom:24px}.form-card-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.form-card-header h2{margin:0;font-size:18px;font-weight:500;color:var(--color-primary)}.form-card h2{font-size:18px;font-weight:500;margin-bottom:24px;color:var(--color-primary)}.form-card form{display:flex;flex-direction:column;gap:24px}.course-form{display:flex;flex-direction:column;gap:16px}.form-section{display:flex;flex-direction:column;gap:20px;padding:24px;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background)}.form-section:last-of-type{border-bottom:1px solid var(--color-border)}.form-section h3{font-size:14px;font-weight:600;color:var(--color-primary);margin:0;text-transform:uppercase;letter-spacing:.5px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.form-section.collapsible{padding:0;overflow:hidden}.form-section-header{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background-color var(--transition);-webkit-user-select:none;user-select:none}.form-section-header:hover{background-color:#c9fd5d08}.form-section-header h3{flex:1;margin:0}.section-toggle-btn{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:color var(--transition);flex-shrink:0}.section-toggle-btn:hover{color:var(--color-primary)}.section-chevron{transition:transform .3s cubic-bezier(.4,0,.2,1)}.section-chevron.rotated{transform:rotate(90deg)}.form-section-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.form-section.collapsible.expanded .form-section-body{grid-template-rows:1fr}.form-section-inner{min-height:0;overflow:hidden;padding:0 16px;display:flex;flex-direction:column;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 24px}.form-grid .form-group{margin-bottom:0}.form-grid .form-group.full-width{grid-column:1 / -1}.form-section>.form-group,.form-section>.form-grid{margin-top:8px}.form-group.verification-group{display:flex;align-items:flex-end;padding-bottom:8px}@media(max-width:768px){.form-grid{grid-template-columns:1fr;gap:16px}.form-section{padding:16px;gap:16px}}.form-section.collapsible.expanded .form-section-inner{padding:0 16px 16px;border-top:1px solid var(--color-border)}.form-section-inner>*:first-child{padding-top:12px}.images-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:768px){.images-grid{grid-template-columns:1fr}}.profile-section{padding:24px;gap:0}.profile-header{display:flex;align-items:flex-start;gap:24px}.profile-picture-preview{width:100px;height:100px;border-radius:50%;border:2px dashed var(--color-border);overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color var(--transition);background-color:var(--color-background)}.profile-picture-preview:hover{border-color:var(--color-primary)}.profile-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-secondary)}.profile-toggles{flex:1;display:flex;flex-wrap:wrap;gap:24px}.toggle-group{display:flex;flex-direction:column;gap:8px}.toggle-group-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:24px;align-items:center;justify-content:flex-start}.form-group.toggle-group-row{flex-direction:row}.main-course-toggle{display:flex;align-items:center;gap:8px}.main-course-warning{cursor:help}@media(max-width:480px){.profile-header{flex-direction:column;align-items:center;text-align:center}.profile-toggles{justify-content:center}}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.form-row.two-cols{grid-template-columns:repeat(2,1fr)}.form-row.three-cols{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.form-row.two-cols,.form-row.three-cols{grid-template-columns:1fr}}.form-group select{padding:10px 36px 10px 12px;font-size:14px;font-family:var(--font-family);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);transition:border-color var(--transition);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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:12px}.form-group select:hover{border-color:var(--color-text-secondary)}.form-group select:focus{outline:none;border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9fd5d' 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")}.form-group select:disabled{opacity:.5;cursor:not-allowed;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555555' 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")}.form-group select option{background-color:var(--color-surface);color:var(--color-text);padding:8px 12px}.form-group textarea{padding:10px 12px;font-size:14px;font-family:var(--font-family);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);transition:border-color var(--transition);resize:vertical;min-height:60px}.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea::placeholder{color:var(--color-text-secondary)}.checkbox-group{display:flex;flex-wrap:wrap;gap:24px}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--color-text)}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-list{display:flex;flex-wrap:wrap;gap:12px}.checkbox-list.logo-list{gap:8px}.checkbox-label{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;font-size:13px;transition:all var(--transition)}.checkbox-label:has(input:checked){border-color:var(--color-primary);background-color:#c9fd5d1a}.checkbox-label input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--color-primary)}.array-item{display:flex;gap:12px;align-items:center;margin-bottom:8px}.array-item input[type=text]{flex:1;padding:10px 14px;font-size:14px;font-family:var(--font-family);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);transition:border-color var(--transition)}.array-item input[type=text]:focus{outline:none;border-color:var(--color-primary)}.array-item select{width:120px;padding:10px 32px 10px 14px;font-size:14px;font-family:var(--font-family);background:var(--color-background) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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") no-repeat right 10px center / 12px;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.array-item select:focus{outline:none;border-color:var(--color-primary)}.module-card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:20px;margin-bottom:16px}.module-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.module-header h4{font-size:14px;font-weight:500;color:var(--color-primary)}.module-card .form-group{margin-bottom:12px}.module-card .form-group label{font-size:13px}.module-card .form-group input,.module-card .form-group textarea{padding:10px 12px;font-size:14px}.curriculum-placeholder{background-color:var(--color-background);border:1px dashed var(--color-border);border-radius:var(--border-radius);padding:32px;text-align:center}.curriculum-placeholder p{color:var(--color-text-secondary);font-size:14px;margin-bottom:16px}.curriculum-placeholder p:last-child{margin-bottom:0}.curriculum-placeholder .secondary-button{margin-top:8px}.curriculum-module{border-color:var(--color-primary);border-width:1px}.curriculum-module .module-header{border-bottom:1px solid var(--color-border);padding-bottom:12px}.curriculum-module.collapsible{padding:0;overflow:hidden}.module-header-collapsible{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;transition:background-color var(--transition);-webkit-user-select:none;user-select:none}.module-header-collapsible:hover{background-color:#c9fd5d0d}.module-header-collapsible h4{flex:1;margin:0;font-size:15px;font-weight:500;color:var(--color-text)}.expand-toggle-btn{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:color var(--transition);flex-shrink:0}.expand-toggle-btn:hover{color:var(--color-primary)}.chevron-icon{transition:transform .3s cubic-bezier(.4,0,.2,1)}.chevron-icon.rotated{transform:rotate(90deg)}.module-lessons-badge{background-color:#c9fd5d26;color:var(--color-primary);padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;flex-shrink:0}.module-collapsible-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.curriculum-module.collapsible.expanded .module-collapsible-body{grid-template-rows:1fr}.module-collapsible-inner{min-height:0;overflow:hidden;padding:0 20px}.curriculum-module.collapsible.expanded .module-collapsible-inner{padding:0 20px 20px;border-top:1px solid var(--color-border)}.module-collapsible-inner .form-group:first-child{padding-top:16px}.disabled-input{background-color:var(--color-background)!important;border-color:var(--color-border)!important;color:var(--color-text-secondary)!important;cursor:not-allowed!important;opacity:.7}.disabled-input:focus{outline:none!important;border-color:var(--color-border)!important}.label-with-tooltip{display:flex;align-items:center;gap:6px}.tooltip-icon{position:relative;color:var(--color-text-secondary);font-size:14px;cursor:help;opacity:.7;transition:opacity var(--transition)}.tooltip-icon:hover{opacity:1;color:var(--color-primary)}.tooltip-icon:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#1a1a1a;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:normal;width:max-content;max-width:280px;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none;border:1px solid var(--color-border);box-shadow:0 4px 12px #0000004d;margin-bottom:8px;line-height:1.4}.tooltip-icon:hover:after{opacity:1;visibility:visible}.main-course-label{position:relative;display:flex;align-items:center;gap:4px}.main-course-warning{position:relative;font-size:14px;cursor:help;margin-left:4px}.main-course-warning:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#1a1a1a;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:normal;width:max-content;max-width:300px;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none;border:1px solid var(--color-border);box-shadow:0 4px 12px #0000004d;margin-bottom:8px;line-height:1.4}.main-course-warning:hover:after{opacity:1;visibility:visible}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}.form-actions-sticky{position:sticky;bottom:0;z-index:100;margin:16px -24px -24px;padding:16px 24px;background:linear-gradient(to top,var(--color-surface) 70%,transparent);pointer-events:none}.form-actions-inner{display:flex;justify-content:flex-end;gap:12px;pointer-events:auto;background-color:var(--color-surface);padding:12px 16px;border-radius:var(--border-radius);border:1px solid var(--color-border);box-shadow:0 -4px 20px #0000004d}.form-actions-sticky:not(:hover) .form-actions-inner{transition:box-shadow .3s ease}.lesson-form-actions{position:fixed;bottom:24px;right:24px;left:auto;z-index:100;margin:0;padding:0;background:none;pointer-events:auto}.lesson-form-actions .form-actions-inner{box-shadow:0 4px 24px #0006}.courses-section{margin-top:32px}.courses-section h2{font-size:18px;font-weight:500;margin-bottom:20px;color:var(--color-text)}.loading-state{padding:40px;text-align:center;color:var(--color-text-secondary)}.empty-state{padding:60px 40px;text-align:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius)}.empty-state p{color:var(--color-text-secondary);margin-bottom:8px}.empty-state p:last-child{margin-bottom:0}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding:24px}.course-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden;transition:all var(--transition)}.course-card:hover{border-color:var(--color-primary)}.course-image{position:relative;height:160px;overflow:hidden;background-color:var(--color-background)}.course-image img{width:100%;height:100%;object-fit:cover}.course-info{padding:20px}.course-info h3{font-size:16px;font-weight:500;margin-bottom:8px;color:var(--color-text)}.course-info p{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-meta{display:flex;gap:12px;margin-bottom:12px}.course-meta span{font-size:12px;color:var(--color-text-secondary);padding:4px 8px;background-color:var(--color-background);border-radius:4px}.course-price{font-size:18px;font-weight:500;color:var(--color-primary)}.course-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.edit-button,.delete-button,.confirm-delete-button,.cancel-button{padding:8px 16px;font-size:13px;font-family:var(--font-family);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);border:1px solid var(--color-border)}.edit-button{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.edit-button:hover{background-color:#c9fd5d1a}.delete-button{background-color:transparent;color:var(--color-error);border-color:var(--color-error)}.delete-button:hover{background-color:var(--color-error-bg)}.confirm-delete-button{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.confirm-delete-button:hover{opacity:.9}.cancel-button{background-color:transparent;color:var(--color-text-secondary)}.cancel-button:hover{color:var(--color-text);border-color:var(--color-text-secondary)}.course-badge{position:absolute;top:12px;right:12px;padding:4px 10px;font-size:11px;font-weight:500;text-transform:uppercase;border-radius:4px}.course-badge.draft{background-color:#ffc107e6;color:#000}.form-hint{display:block;margin-top:4px;font-size:12px;color:var(--color-text-secondary)}.section-description{font-size:12px;color:var(--color-text-secondary);line-height:1.4;margin:0 0 8px}.mentor-section{background-color:#c9fd5d08;border-radius:var(--border-radius);padding:24px;margin-top:8px}.mentor-section h3{color:var(--color-primary)}.curriculum-button{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:6px 12px;font-size:13px;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.curriculum-button:hover{background-color:#c9fd5d1a}.curriculum-page{padding:24px;max-width:1400px;margin:0 auto}.curriculum-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.curriculum-header .back-button{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--color-text-secondary);font-size:14px;cursor:pointer;padding:8px 12px;border-radius:var(--border-radius);transition:all var(--transition)}.curriculum-header .back-button:hover{color:var(--color-text);background-color:var(--color-surface)}.curriculum-title{flex:1;text-align:center}.curriculum-title h1{font-size:24px;margin:0;color:var(--color-text)}.curriculum-title .course-name{font-size:14px;color:var(--color-primary);margin-top:4px;display:block}.save-all-button{background-color:var(--color-primary);color:var(--color-background);border:none;padding:12px 24px;font-size:14px;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.save-all-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.save-all-button:disabled{opacity:.5;cursor:not-allowed}.unsaved-warning{background-color:#ffc1071a;border:1px solid rgba(255,193,7,.3);color:#ffc107;padding:12px 16px;border-radius:var(--border-radius);margin-bottom:24px;font-size:14px;text-align:center}.curriculum-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;min-height:500px}.curriculum-panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);display:flex;flex-direction:column;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border);background-color:#c9fd5d05}.panel-header h2{font-size:16px;font-weight:600;margin:0;color:var(--color-text)}.add-button{display:flex;align-items:center;gap:6px;background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:6px 12px;font-size:13px;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.add-button:hover{background-color:#c9fd5d1a}.panel-list{flex:1;overflow-y:auto;padding:12px}.panel-list .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--color-text-secondary);text-align:center;padding:24px}.panel-list .empty-state svg{margin-bottom:16px;color:var(--color-text-secondary)}.panel-list .empty-state p{margin:4px 0;font-size:14px}.list-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:8px;cursor:pointer;transition:all var(--transition);background-color:var(--color-background)}.list-item:hover{border-color:var(--color-primary);background-color:#c9fd5d05}.list-item.selected{border-color:var(--color-primary);background-color:#c9fd5d0d}.item-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:#c9fd5d1a;border-radius:8px;color:var(--color-primary)}.item-content{flex:1;min-width:0}.item-title{font-size:14px;font-weight:500;color:var(--color-text);margin-bottom:4px;display:flex;align-items:center;gap:8px}.item-number{color:var(--color-primary);font-weight:600}.item-description{font-size:13px;color:var(--color-text-secondary);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-meta{font-size:12px;color:var(--color-text-secondary);display:flex;align-items:center;gap:8px}.video-badge{background-color:#c9fd5d26;color:var(--color-primary);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.video-badge.intro{background-color:#3b82f626;color:#3b82f6}.no-video{color:var(--color-text-secondary);opacity:.6;font-style:italic}.item-actions{display:flex;gap:4px;opacity:0;transition:opacity var(--transition)}.list-item:hover .item-actions{opacity:1}.icon-btn{background:transparent;border:none;padding:6px;border-radius:4px;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition)}.icon-btn:hover{background-color:var(--color-surface)}.icon-btn.edit:hover{color:var(--color-primary)}.icon-btn.delete:hover{color:var(--color-error)}.list-item.module-item{flex-direction:column;padding:0;gap:0}.module-header{display:flex;align-items:center;gap:12px;padding:12px 16px;width:100%;cursor:pointer}.expand-toggle{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:color var(--transition);flex-shrink:0}.expand-toggle:hover{color:var(--color-primary)}.expand-toggle .chevron{transition:transform .3s cubic-bezier(.4,0,.2,1)}.expand-toggle .chevron.rotated{transform:rotate(90deg)}.module-header .item-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:#c9fd5d1a;border-radius:8px;color:var(--color-primary)}.module-header .item-title{flex:1;font-size:14px;font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:8px;margin:0}.lessons-badge{background-color:#c9fd5d26;color:var(--color-primary);padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;flex-shrink:0;min-width:24px;text-align:center}.module-header .item-actions{display:flex;gap:4px;opacity:0;transition:opacity var(--transition)}.list-item.module-item:hover .module-header .item-actions{opacity:1}.module-collapsible-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.list-item.module-item.expanded .module-collapsible-content{grid-template-rows:1fr}.module-content-inner{min-height:0;padding:0 16px;overflow:hidden}.list-item.module-item.expanded .module-content-inner{padding:0 16px 12px 64px}.module-content-inner .item-description{font-size:13px;color:var(--color-text-secondary);margin-bottom:6px;line-height:1.5}.module-content-inner .item-meta{font-size:12px;color:var(--color-text-secondary)}.inline-form{padding:16px;border-bottom:1px solid var(--color-border);background-color:#c9fd5d05}.inline-form input,.inline-form textarea{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);margin-bottom:8px;transition:border-color var(--transition)}.inline-form input:focus,.inline-form textarea:focus{outline:none;border-color:var(--color-primary)}.inline-form textarea{resize:vertical;min-height:60px}.inline-form .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.selected-module-info{padding:12px 16px;background-color:#c9fd5d0d;border-bottom:1px solid var(--color-border);font-size:13px}.selected-module-info .label{color:var(--color-text-secondary);margin-right:8px}.selected-module-info .value{color:var(--color-primary);font-weight:500}.lesson-form{padding:20px;border-bottom:1px solid var(--color-border);background-color:#c9fd5d05}.lesson-form .form-group{margin-bottom:16px}.lesson-form .form-group:last-of-type{margin-bottom:0}.lesson-form label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.lesson-form input,.lesson-form textarea{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);transition:border-color var(--transition)}.lesson-form input:focus,.lesson-form textarea:focus{outline:none;border-color:var(--color-primary)}.lesson-form textarea{resize:vertical;min-height:80px}.lesson-form .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border)}.cancel-btn,.save-btn{padding:8px 16px;font-size:13px;font-family:inherit;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.cancel-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.cancel-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.save-btn{background-color:var(--color-primary);border:none;color:var(--color-background)}.save-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.dialog-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:32px;max-width:400px;width:90%;text-align:center;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dialog-icon{color:#ffc107;margin-bottom:16px}.dialog h3{font-size:18px;margin:0 0 12px;color:var(--color-text)}.dialog p{font-size:14px;color:var(--color-text-secondary);line-height:1.5;margin:0 0 24px}.dialog-actions{display:flex;gap:12px;justify-content:center}.dialog-btn{padding:10px 20px;font-size:14px;font-family:inherit;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.dialog-btn.cancel{background-color:var(--color-primary);border:none;color:var(--color-background)}.dialog-btn.cancel:hover{background-color:var(--color-primary-hover)}.dialog-btn.confirm{background:transparent;border:1px solid var(--color-error);color:var(--color-error)}.dialog-btn.confirm:hover{background-color:var(--color-error-bg)}@media(max-width:768px){.sidebar{width:100%;position:relative}.main-content{margin-left:0;max-width:100vw}.dashboard-container{flex-direction:column}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.courses-grid{grid-template-columns:1fr}.curriculum-header{flex-direction:column;gap:16px}.curriculum-header .back-button{align-self:flex-start}.curriculum-title{text-align:left;width:100%}.save-all-button{width:100%}.curriculum-content{grid-template-columns:1fr}.item-actions{opacity:1}.dialog-actions{flex-direction:column}.dialog-btn{width:100%}}.placeholder-page{display:flex;align-items:center;justify-content:center;min-height:400px}.placeholder-content{text-align:center;padding:48px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.placeholder-content h2{font-size:24px;margin-bottom:8px;color:var(--color-primary)}.placeholder-content p{color:var(--color-text-secondary);font-size:14px}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:24px}.dashboard-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--transition)}.dashboard-stat-card:hover{border-color:var(--color-primary)}.stat-header{display:flex;justify-content:space-between;align-items:flex-start}.stat-label{font-size:14px;color:var(--color-text-secondary);font-weight:400;line-height:1.3}.stat-icon{font-size:18px;color:var(--color-text-secondary)}.stat-value-large{font-size:36px;font-weight:600;color:var(--color-primary);line-height:1}@media(max-width:1400px){.dashboard-stats-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1100px){.dashboard-stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.dashboard-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.dashboard-stats-grid{grid-template-columns:1fr}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.page-header h1{font-size:28px;font-weight:600;color:var(--color-text);margin:0}.page-header .subtitle{font-size:14px;color:var(--color-text-secondary);margin:4px 0 0}.header-content{flex:1}.search-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:24px}.search-bar svg{color:var(--color-text-secondary);flex-shrink:0}.search-bar input{flex:1;background:transparent;border:none;color:var(--color-text);font-size:14px;outline:none}.search-bar input::placeholder{color:var(--color-text-secondary)}.students-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.student-info{display:flex;align-items:center;gap:12px}.student-avatar{width:40px;height:40px;border-radius:50%;background-color:var(--color-primary);color:var(--color-background);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;overflow:hidden}.student-avatar img{width:100%;height:100%;object-fit:cover}.student-name{font-weight:500;color:var(--color-text);white-space:nowrap}.email-cell{color:var(--color-text-secondary);font-size:13px}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px}.badge-empty{background-color:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.pin-badge{font-family:SF Mono,Consolas,monospace;font-size:13px;padding:4px 8px;background-color:#c9fd5d1a;color:var(--color-primary);border-radius:4px;letter-spacing:1px}.action-buttons{display:flex;gap:8px}.action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);color:var(--color-text-secondary)}.action-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.action-btn.edit:hover{border-color:var(--color-primary);color:var(--color-primary)}.action-btn.view:hover{border-color:#3b82f6;color:#3b82f6}.action-btn.delete:hover{border-color:var(--color-error);color:var(--color-error)}.action-btn.confirm-delete{border-color:var(--color-error);color:var(--color-error);background-color:var(--color-error-bg)}.action-btn.cancel-delete{border-color:var(--color-text-secondary)}.delete-confirm{display:flex;gap:4px}.credentials-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.credentials-modal{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:32px;max-width:500px;width:90%;animation:slideUp .2s ease}.credentials-modal .modal-header{margin-bottom:24px}.credentials-modal .modal-header h2{font-size:20px;color:var(--color-primary);margin-bottom:8px}.credentials-modal .modal-header p{font-size:14px;color:var(--color-text-secondary)}.credentials-content{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.credential-row{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius)}.credential-row .label{font-size:13px;color:var(--color-text-secondary);width:80px;flex-shrink:0}.credential-row .value{flex:1;font-size:14px;color:var(--color-text);word-break:break-all}.credential-row .value.password,.credential-row .value.pin{font-family:SF Mono,Consolas,monospace;background-color:#c9fd5d1a;padding:4px 8px;border-radius:4px;color:var(--color-primary)}.copy-btn{padding:6px 12px;font-size:12px;background-color:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap}.copy-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.copy-btn.copied{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-background)}.modal-actions{display:flex;justify-content:flex-end}.field-hint{display:block;font-size:11px;color:var(--color-text-secondary);margin-top:4px}.form-group.full-width{grid-column:1 / -1}.verification-group{display:flex;flex-direction:column}.radio-group{display:flex;gap:8px}.radio-label{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);font-size:13px}.radio-label input[type=radio]{display:none}.radio-label:hover{border-color:var(--color-text-secondary)}.radio-label.active.verified{border-color:#22c55e;background-color:#22c55e1a;color:#22c55e}.radio-label.active.unverified{border-color:var(--color-error);background-color:var(--color-error-bg);color:var(--color-error)}.toggle-password-btn{padding:6px;background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center}.toggle-password-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.password-section .password-info{display:flex;align-items:center;gap:12px;padding:16px;background-color:#c9fd5d0d;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);font-size:14px}.password-section .password-info svg{flex-shrink:0;color:var(--color-primary)}.password-display-field{display:flex;align-items:center;gap:0;background:#1a1a1a;border:1px solid #333;border-radius:8px;overflow:hidden}.password-display-field .password-input{flex:1;padding:12px 14px;background:transparent;border:none;color:var(--color-text);font-size:14px;font-family:monospace;letter-spacing:1px}.password-display-field .password-input:focus{outline:none}.password-display-field:focus-within{border-color:var(--color-primary)}.password-toggle-btn{display:flex;align-items:center;justify-content:center;padding:12px 14px;background:transparent;border:none;border-left:1px solid #333;color:var(--color-text-secondary);cursor:pointer;transition:color .2s ease,background .2s ease}.password-toggle-btn:hover{color:var(--color-primary);background:#c9fd5d0d}.enrollments-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.session-cell{max-width:250px}.session-cell .session-info{display:flex;flex-direction:column;gap:2px}.session-cell .course-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-cell .session-details{font-size:12px;color:var(--color-text-secondary)}.search-filter-bar{display:flex;gap:16px;margin-bottom:24px}.search-filter-bar .search-bar{flex:1;margin-bottom:0}.filter-dropdown select{padding:10px 36px 10px 16px;font-size:14px;font-family:var(--font-family);background:var(--color-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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") no-repeat right 12px center / 12px;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);cursor:pointer;min-width:160px;appearance:none;-webkit-appearance:none;-moz-appearance:none}.filter-dropdown select:focus{outline:none;border-color:var(--color-primary)}.progress-cell{display:flex;align-items:center;gap:10px;min-width:120px}.progress-bar{flex:1;height:6px;background-color:var(--color-border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),#9be617);border-radius:3px;transition:width .3s ease}.progress-text{font-size:12px;font-weight:500;color:var(--color-text-secondary);min-width:35px;text-align:right}.progress-edit{display:flex;align-items:center;gap:4px}.progress-input{width:60px;padding:6px 8px;font-size:13px;font-family:var(--font-family);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);text-align:center}.progress-input:focus{outline:none;border-color:var(--color-primary)}.progress-edit span{font-size:13px;color:var(--color-text-secondary)}.inline-select{padding:6px 28px 6px 10px;font-size:12px;font-family:var(--font-family);background:var(--color-background) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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") no-repeat right 8px center / 10px;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.inline-select:focus{outline:none;border-color:var(--color-primary)}.action-btn.save:hover{border-color:#22c55e;color:#22c55e}.action-btn.cancel:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px;max-width:500px;width:90%;animation:slideUp .2s ease}.modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal .modal-header h2{font-size:18px;font-weight:600;color:var(--color-text)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition)}.modal-close:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.modal .form-section{display:flex;flex-direction:column;gap:16px}.modal .form-group select,.modal-content .form-group select{padding:10px 36px 10px 12px;font-size:14px;font-family:var(--font-family);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);cursor:pointer;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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:12px}.modal .form-group select:hover,.modal-content .form-group select:hover{border-color:var(--color-text-secondary)}.modal .form-group select:focus,.modal-content .form-group select:focus{outline:none;border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9fd5d' 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")}.modal .form-group select option,.modal-content .form-group select option{background-color:var(--color-surface);color:var(--color-text);padding:8px 12px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}.enrollment-form{display:flex;flex-direction:column;gap:32px}.enrollment-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px}.section-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;margin-bottom:20px;color:var(--color-text)}.section-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:var(--color-background);border-radius:50%;font-size:14px;font-weight:700}.section-description{font-size:14px;color:var(--color-text-secondary);margin-bottom:16px}.selected-preview{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:#c9fd5d0d;border:1px solid rgba(201,253,93,.2);border-radius:var(--border-radius);margin-top:12px}.preview-avatar{width:40px;height:40px;border-radius:50%;background-color:var(--color-primary);color:var(--color-background);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;overflow:hidden}.preview-avatar img{width:100%;height:100%;object-fit:cover}.preview-info{display:flex;flex-direction:column;gap:2px}.preview-name{font-weight:500;color:var(--color-text)}.preview-email{font-size:13px;color:var(--color-text-secondary)}.selected-course-preview{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#c9fd5d0d;border:1px solid rgba(201,253,93,.2);border-radius:var(--border-radius);margin-top:12px}.course-title{font-weight:500;color:var(--color-text)}.course-price{font-weight:600;color:var(--color-primary)}.coupon-toggle{margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--color-text)}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid var(--color-border);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"";width:6px;height:10px;border:solid var(--color-background);border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.coupon-input{margin-top:12px}.session-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.session-placeholder{padding:32px;text-align:center;background:var(--color-bg-light);border:2px dashed var(--color-border);border-radius:12px;color:var(--color-text-secondary)}.session-placeholder p{margin:0;font-size:14px}.session-card{padding:20px;background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.session-card:hover{border-color:var(--color-text-secondary)}.session-card.selected{border-color:var(--color-primary);background-color:#c9fd5d0d}.session-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.seats-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background-color:#fbbf2426;color:#fbbf24;border-radius:20px;font-size:12px;font-weight:500}.selected-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#22c55e}.session-label{font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:16px}.session-details{display:flex;flex-direction:column;gap:10px}.session-detail{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--color-text-secondary)}.session-detail svg{flex-shrink:0}.payment-options{display:flex;flex-direction:column;gap:12px}.payment-option{display:flex;align-items:center;gap:16px;padding:20px;background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.payment-option:hover{border-color:var(--color-text-secondary)}.payment-option.selected{border-color:var(--color-primary);background-color:#c9fd5d0d}.payment-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface);border-radius:var(--border-radius);color:var(--color-text-secondary)}.payment-icon.tabby{background:linear-gradient(135deg,#3cb4ac,#1a8a82);color:#fff;font-weight:700;font-size:12px}.payment-content{flex:1}.payment-content h4{font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:4px}.payment-content p{font-size:13px;color:var(--color-text-secondary)}.payment-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#22c55e}.contract-section{display:flex;flex-direction:column;gap:12px}.contract-btn{display:flex;align-items:center;gap:10px;padding:16px 24px}.contract-signed{display:flex;align-items:center;gap:12px;padding:16px;background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:var(--border-radius);color:#22c55e;font-weight:500}.contract-modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.contract-modal{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column}.contract-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--color-border)}.contract-modal-header h2{font-size:20px;font-weight:600;color:var(--color-text)}.contract-modal-content{flex:1;overflow-y:auto;padding:24px}.contract-document{color:var(--color-text)}.contract-document h3{font-size:20px;font-weight:600;margin-bottom:20px;color:var(--color-primary)}.contract-document h4{font-size:16px;font-weight:600;margin-top:24px;margin-bottom:12px;color:var(--color-text)}.contract-document p{font-size:14px;line-height:1.7;color:var(--color-text-secondary);margin-bottom:12px}.contract-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--color-border)}.seat-grid{display:grid;grid-template-columns:repeat(11,1fr);gap:8px;margin-bottom:16px}.seat-btn{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);font-weight:600;font-size:14px;cursor:pointer;transition:all var(--transition)}.seat-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.seat-btn.selected{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-background)}.seat-btn.occupied{background-color:#ef444426;border-color:var(--color-error);color:var(--color-error);cursor:not-allowed;opacity:.8}.seat-btn.occupied:hover{background-color:#ef444426;border-color:var(--color-error);color:var(--color-error)}.occupied-legend{color:var(--color-text-secondary)}.occupied-indicator{color:var(--color-error);font-weight:500}.selected-seat-info{font-size:14px;color:var(--color-text-secondary)}.selected-seat-info strong{color:var(--color-primary);font-size:16px}.enrollment-actions{display:flex;justify-content:flex-end;gap:16px;padding:24px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius)}@media(max-width:768px){.session-cards{grid-template-columns:1fr}.seat-grid{grid-template-columns:repeat(6,1fr)}.enrollment-actions{flex-direction:column}.enrollment-actions .btn{width:100%;justify-content:center}}.empty-state,.loading-state,.error-state{padding:48px;text-align:center;color:var(--color-text-secondary)}.error-state{color:var(--color-error)}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch;gap:16px}.page-header .btn{width:100%;justify-content:center}.student-avatar{width:32px;height:32px;font-size:12px}}.course-session-form-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px}.course-session-form-container .form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.course-session-form-container .form-header h2{font-size:20px;font-weight:600}.course-session-form-container .btn-close{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:8px;border-radius:var(--border-radius);transition:var(--transition)}.course-session-form-container .btn-close:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.course-session-form{display:flex;flex-direction:column;gap:24px}.course-session-form .form-row{display:grid;gap:16px}.course-session-form .form-row.two-cols{grid-template-columns:repeat(2,1fr)}.course-session-form .form-row.three-cols{grid-template-columns:repeat(3,1fr)}.course-session-form .form-row.four-cols{grid-template-columns:repeat(4,1fr)}.course-session-form .form-row.five-cols{grid-template-columns:repeat(5,1fr)}.course-session-form .form-group{display:flex;flex-direction:column;gap:8px}.course-session-form .form-group label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.course-session-form .form-group input,.course-session-form .form-group select{padding:12px 16px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:14px;transition:var(--transition)}.course-session-form .form-group select{padding-right:40px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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 14px center;background-size:12px;cursor:pointer}.course-session-form .form-group input:hover,.course-session-form .form-group select:hover{border-color:var(--color-text-secondary)}.course-session-form .form-group input[type=time],.course-session-form .form-group input[type=date]{color-scheme:dark}.course-session-form .form-group input[type=time]::-webkit-calendar-picker-indicator,.course-session-form .form-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;opacity:1;padding:4px;margin-right:-4px;width:20px;height:20px}.course-session-form .form-group input[type=time]::-webkit-calendar-picker-indicator:hover,.course-session-form .form-group input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:#ffffff1a;border-radius:4px}.course-session-form .form-group input[type=time]::-webkit-datetime-edit,.course-session-form .form-group input[type=date]::-webkit-datetime-edit{color:var(--color-text)}.course-session-form .form-group input[type=time]::-webkit-datetime-edit-fields-wrapper,.course-session-form .form-group input[type=date]::-webkit-datetime-edit-fields-wrapper{color:var(--color-text)}.course-session-form .form-group input[type=time]::-webkit-datetime-edit-text,.course-session-form .form-group input[type=date]::-webkit-datetime-edit-text{color:var(--color-text-secondary)}.course-session-form .form-group input[type=time]::-webkit-datetime-edit-hour-field,.course-session-form .form-group input[type=time]::-webkit-datetime-edit-minute-field,.course-session-form .form-group input[type=time]::-webkit-datetime-edit-ampm-field,.course-session-form .form-group input[type=date]::-webkit-datetime-edit-day-field,.course-session-form .form-group input[type=date]::-webkit-datetime-edit-month-field,.course-session-form .form-group input[type=date]::-webkit-datetime-edit-year-field{color:var(--color-text)}.course-session-form .form-group input[type=time]::-webkit-datetime-edit-hour-field:focus,.course-session-form .form-group input[type=time]::-webkit-datetime-edit-minute-field:focus,.course-session-form .form-group input[type=time]::-webkit-datetime-edit-ampm-field:focus,.course-session-form .form-group input[type=date]::-webkit-datetime-edit-day-field:focus,.course-session-form .form-group input[type=date]::-webkit-datetime-edit-month-field:focus,.course-session-form .form-group input[type=date]::-webkit-datetime-edit-year-field:focus{background-color:var(--color-primary);color:var(--color-background);border-radius:2px}.course-session-form .form-group input:focus,.course-session-form .form-group select:focus{outline:none;border-color:var(--color-primary)}.course-session-form .form-group select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9fd5d' 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")}.course-session-form .form-group input:disabled,.course-session-form .form-group select:disabled{opacity:.6;cursor:not-allowed}.course-session-form .form-group select:disabled{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555555' 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")}.course-session-form .form-group select option{background-color:var(--color-surface);color:var(--color-text);padding:10px 14px}.course-session-form .date-interval .date-inputs,.course-session-form .time-interval .time-inputs{display:flex;align-items:center;gap:8px}.course-session-form .date-interval .date-inputs input,.course-session-form .time-interval .time-inputs input{flex:1}.course-session-form .date-separator,.course-session-form .time-separator{color:var(--color-text-secondary);font-size:14px}.course-session-form .days-group{grid-column:1 / -1}.course-session-form .days-checkboxes{display:flex;gap:8px;flex-wrap:wrap}.course-session-form .day-checkbox{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition)}.course-session-form .day-checkbox:hover{border-color:var(--color-text-secondary)}.course-session-form .day-checkbox input{display:none}.course-session-form .day-checkbox input:checked+.day-label{color:var(--color-primary)}.course-session-form .day-checkbox:has(input:checked){border-color:var(--color-primary);background-color:#c9fd5d1a}.course-session-form .day-label{font-size:14px;font-weight:500;color:var(--color-text-secondary);transition:var(--transition)}.course-session-form .form-group.full-width{max-width:400px}.course-session-form .form-section-divider{display:flex;align-items:center;gap:16px;margin:8px 0;color:var(--color-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.course-session-form .form-section-divider:before,.course-session-form .form-section-divider:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.course-session-form input.auto-calculated{background-color:var(--color-surface);color:var(--color-text-secondary);cursor:default}.course-session-form input.auto-calculated:focus{border-color:var(--color-border)}.course-session-form .form-actions{display:flex;justify-content:flex-end;gap:16px;padding-top:24px;border-top:1px solid var(--color-border)}.sessions-list-placeholder{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:64px 24px}.sessions-list-placeholder .empty-state{display:flex;flex-direction:column;align-items:center;gap:16px}.sessions-list-placeholder .empty-state svg{color:var(--color-text-secondary);opacity:.5}.sessions-list-placeholder .empty-state p{color:var(--color-text-secondary);text-align:center}.sessions-list-placeholder .empty-state .hint{font-size:12px;opacity:.7}@media(max-width:1200px){.course-session-form .form-row.five-cols{grid-template-columns:repeat(3,1fr)}.course-session-form .form-row.four-cols{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.course-session-form .form-row.five-cols,.course-session-form .form-row.four-cols,.course-session-form .form-row.three-cols,.course-session-form .form-row.two-cols{grid-template-columns:1fr}.course-session-form .date-interval .date-inputs,.course-session-form .time-interval .time-inputs{flex-direction:column;align-items:stretch}.course-session-form .date-separator,.course-session-form .time-separator{text-align:center}.course-session-form .days-checkboxes{display:grid;grid-template-columns:repeat(4,1fr)}.course-session-form .day-checkbox{justify-content:center}.course-session-form .form-actions{flex-direction:column}.course-session-form .form-actions .btn{width:100%;justify-content:center}}.school-form-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px}.school-form-container .form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.school-form-container .form-header h2{font-size:20px;font-weight:600}.school-form-container .btn-close{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:8px;border-radius:var(--border-radius);transition:var(--transition)}.school-form-container .btn-close:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.school-form{display:flex;flex-direction:column;gap:24px}.schools-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius)}.schools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.school-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px;display:flex;flex-direction:column;gap:16px;transition:border-color var(--transition)}.school-card:hover{border-color:var(--color-text-secondary)}.school-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.school-card-header h3{font-size:18px;font-weight:600;margin:0;color:var(--color-text)}.school-card-stats{display:flex;gap:24px}.school-card-stat{display:flex;flex-direction:column;gap:4px}.school-card-stat .label{font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.school-card-stat .value{font-size:24px;font-weight:600;color:var(--color-primary)}.school-card-actions{display:flex;justify-content:flex-end}.classes-view-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.classes-view-title{flex:1}.classes-view-title h2{font-size:20px;font-weight:600;margin:0}.classes-view-title .subtitle{font-size:14px;color:var(--color-text-secondary);margin-top:4px}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.class-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:20px;display:flex;flex-direction:column;gap:16px;transition:border-color var(--transition)}.class-card:hover{border-color:var(--color-text-secondary)}.class-card-header{display:flex;align-items:center;gap:12px}.class-color-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0}.class-card-header h3{font-size:16px;font-weight:600;margin:0;flex:1}.class-card-info{display:flex;align-items:center;gap:16px}.class-card-info .seats{font-size:14px;color:var(--color-text-secondary)}.class-card-info .seats strong{color:var(--color-text)}.class-card-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--color-border)}.color-picker{display:flex;flex-direction:column;gap:12px}.color-swatches{display:flex;flex-wrap:wrap;gap:8px}.color-swatch{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all var(--transition);position:relative}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-background),0 0 0 4px var(--color-text)}.color-swatch.selected:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");background-size:contain}.color-custom{display:flex;align-items:center;gap:12px}.color-custom label{font-size:13px;color:var(--color-text-secondary)}.color-custom input[type=color]{width:40px;height:36px;border:none;border-radius:var(--border-radius);cursor:pointer;background:transparent;padding:0}.color-custom input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-custom input[type=color]::-webkit-color-swatch{border-radius:var(--border-radius);border:1px solid var(--color-border)}.color-custom input[type=text]{width:100px}.school-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.school-detail-title{flex:1}.school-detail-title h2{font-size:24px;font-weight:600;margin:0}.school-detail-title .subtitle{font-size:14px;color:var(--color-text-secondary);margin-top:4px}.reports-section{margin-bottom:40px}.section-title{font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:20px}.loading-stats{color:var(--color-text-secondary);padding:24px;text-align:center}.reports-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.report-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;transition:var(--transition)}.report-card:hover{border-color:var(--color-text-secondary)}.report-icon{color:var(--color-text-secondary)}.report-icon svg{width:28px;height:28px}.report-value{font-size:22px;font-weight:700;color:var(--color-text);line-height:1.2}.report-label{font-size:13px;color:var(--color-text-secondary)}.school-classes-section{margin-top:32px}.no-classes-message{color:var(--color-text-secondary);padding:24px;text-align:center;font-style:italic}@media(max-width:1200px){.reports-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.schools-grid,.classes-grid{grid-template-columns:1fr}.classes-view-header{flex-wrap:wrap}.btn-back{width:36px;height:36px}.reports-grid{grid-template-columns:repeat(2,1fr)}.school-detail-header{flex-wrap:wrap}}@media(max-width:480px){.reports-grid{grid-template-columns:1fr}}.calendar-page{display:flex;flex-direction:column;gap:24px;width:100%;max-width:100%;overflow-x:hidden}.teacher-filter-section{background:var(--color-surface);border-radius:var(--border-radius);padding:20px;border:1px solid var(--color-border)}.teacher-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.teacher-filter-header h3{font-size:14px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.teacher-carousel{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.teacher-carousel::-webkit-scrollbar{height:6px}.teacher-carousel::-webkit-scrollbar-track{background:transparent}.teacher-carousel::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.teacher-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;border:2px solid transparent;border-radius:var(--border-radius);background:var(--color-surface-hover);cursor:pointer;transition:all var(--transition);min-width:100px;position:relative}.teacher-card:hover{background:#ffffff0d}.teacher-card.selected{border-width:2px}.teacher-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;overflow:hidden}.teacher-avatar img{width:100%;height:100%;object-fit:cover}.teacher-name{font-size:12px;color:var(--color-text);text-align:center;white-space:nowrap}.teacher-check{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000}.calendar-container{background:var(--color-surface);border-radius:var(--border-radius);border:1px solid var(--color-border);overflow:hidden;width:100%;max-width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border)}.calendar-nav{display:flex;align-items:center;gap:16px}.calendar-title{font-size:18px;font-weight:600;min-width:200px;text-align:center}.calendar-selectors{display:flex;gap:8px;align-items:center}.calendar-select{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:16px;font-weight:600;padding:8px 32px 8px 12px;cursor:pointer;transition:all var(--transition);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.calendar-select:hover{border-color:var(--color-text-secondary);background-color:#ffffff0d}.calendar-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #c9fd5d33}.calendar-select option{background:var(--color-surface);color:var(--color-text);padding:8px}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--border-radius);background:transparent;color:var(--color-text);cursor:pointer;transition:all var(--transition)}.btn-icon:hover{background:var(--color-surface-hover);border-color:var(--color-text-secondary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.calendar-weekday{padding:8px 4px;text-align:center;font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;background:var(--color-surface-hover);border-bottom:1px solid var(--color-border);overflow:hidden;min-width:0}.calendar-day{min-height:100px;padding:6px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:2px;overflow:hidden;min-width:0}.calendar-day:nth-child(7n){border-right:none}.calendar-day.other-month{background:#0000004d}.calendar-day.other-month .day-number{color:var(--color-text-secondary);opacity:.5}.calendar-day.today{background:#c9fd5d0d}.calendar-day.today .day-number{background:var(--color-primary);color:#000;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.day-number{font-size:14px;font-weight:500;color:var(--color-text);margin-bottom:4px}.day-events{display:flex;flex-direction:column;gap:2px;flex:1;overflow:hidden;min-width:0}.calendar-event{display:block;padding:2px 4px;border-radius:3px;font-size:10px;cursor:pointer;transition:all var(--transition);border:none;text-align:left;width:100%;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3;box-sizing:border-box}.calendar-event:hover{filter:brightness(1.1)}.event-time{font-weight:600;margin-right:3px}.event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more-events{font-size:11px;color:var(--color-text-secondary);padding:2px 6px;cursor:pointer}.more-events:hover{color:var(--color-primary)}.modal-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.event-modal{background:var(--color-surface);border-radius:var(--border-radius);width:100%;max-width:400px;overflow:hidden;animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.event-modal-header{padding:20px;position:relative}.event-modal-header h3{font-size:18px;font-weight:600;padding-right:40px}.modal-close{position:absolute;top:12px;right:12px;background:#0003;border:none}.modal-close:hover{background:#0006}.modal-close-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:var(--border-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.modal-close-btn:hover{opacity:.8}.event-modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.event-detail{display:flex;align-items:center;gap:12px;color:var(--color-text);font-size:14px}.event-detail svg{color:var(--color-text-secondary);flex-shrink:0}@media(max-width:1400px){.calendar-day{min-height:85px;padding:4px}.calendar-event{font-size:9px;padding:2px 3px}.day-number{font-size:12px}.calendar-select{font-size:14px;padding:6px 28px 6px 8px}}@media(max-width:1200px){.content-body{padding:24px}.calendar-day{min-height:75px;padding:3px}.calendar-event{font-size:8px;padding:2px 3px}.day-number{font-size:11px}.event-time{display:none}}@media(max-width:1024px){.content-body{padding:20px}.calendar-day{min-height:70px;padding:2px}.calendar-event{font-size:8px;padding:1px 2px}.calendar-weekday{font-size:9px;padding:6px 2px}.calendar-header{padding:12px 16px}.calendar-selectors{gap:4px}.calendar-select{font-size:13px;padding:5px 24px 5px 6px}.teacher-filter-section{padding:12px}.teacher-filter-header h3{font-size:12px}}@media(max-width:768px){.calendar-header{flex-wrap:wrap;gap:12px}.calendar-nav{width:100%;justify-content:center}.calendar-selectors{gap:4px}.calendar-select{font-size:14px;padding:6px 28px 6px 8px}.calendar-day{min-height:80px;padding:4px}.day-number{font-size:12px}.calendar-event{padding:2px 4px;font-size:9px}.teacher-card{min-width:80px;padding:8px 12px}.teacher-avatar{width:40px;height:40px;font-size:12px}.teacher-name{font-size:11px}}@media(max-width:480px){.calendar-weekday{padding:8px 4px;font-size:10px}.calendar-day{min-height:60px}.day-events{display:none}.calendar-day.has-events:after{content:"";width:6px;height:6px;background:var(--color-primary);border-radius:50%;margin-top:4px}}.template-cards{display:flex;flex-direction:column;gap:12px}.template-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden;transition:border-color .2s ease}.template-card:hover{border-color:var(--color-border-hover)}.template-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.template-card-header:hover{background-color:var(--color-surface-hover)}.template-card-title{display:flex;align-items:center;gap:12px;font-weight:500;color:var(--color-text)}.expand-icon{color:var(--color-text-muted);transition:transform .2s ease;flex-shrink:0}.template-card-actions{display:flex;gap:8px}.template-card-body{padding:0 20px 20px 52px;border-top:1px solid var(--color-border);background-color:var(--color-background)}.template-text{color:var(--color-text-secondary);line-height:1.7;white-space:pre-wrap;margin:16px 0 0;font-size:14px}.form-helper-text{margin-top:8px;margin-bottom:16px;padding:12px 16px;background-color:var(--color-background);border-radius:var(--border-radius);font-size:13px;color:var(--color-text-muted);line-height:1.5}.form-helper-text strong{color:var(--color-text-secondary)}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background-color:transparent;color:var(--color-text-muted);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.btn-icon:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.btn-icon-danger:hover{background-color:#ef44441a;color:var(--color-danger)}@media(max-width:768px){.template-card-header{padding:14px 16px}.template-card-body{padding:0 16px 16px}.template-card-title{font-size:14px}}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.review-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:20px;display:flex;flex-direction:column;gap:16px;transition:all .2s ease}.review-card:hover{border-color:var(--color-border-hover)}.review-card.inactive{opacity:.6;background-color:var(--color-background)}.review-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.review-author{display:flex;align-items:center;gap:12px}.author-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.author-avatar-placeholder{width:44px;height:44px;border-radius:50%;background-color:var(--color-primary);color:var(--color-background);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px}.author-info{display:flex;flex-direction:column;gap:2px}.author-name{font-weight:500;color:var(--color-text)}.review-date{font-size:13px;color:var(--color-text-muted)}.review-stars{display:flex;gap:2px;flex-shrink:0}.review-stars .star{color:var(--color-text-muted)}.review-stars .star.filled{color:#fbbf24}.review-card-body{flex:1}.review-text{color:var(--color-text-secondary);line-height:1.6;font-size:14px;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.review-text .no-text{color:var(--color-text-muted)}.review-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--color-border)}.review-controls{display:flex;gap:20px;align-items:center}.control-group{display:flex;align-items:center;gap:8px}.control-group label{font-size:13px;color:var(--color-text-muted)}.order-input{width:60px;padding:6px 8px;font-size:13px;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background);color:var(--color-text);text-align:center}.order-input:focus{outline:none;border-color:var(--color-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}@media(max-width:768px){.reviews-grid{grid-template-columns:1fr}.review-card-header{flex-direction:column;gap:8px}.review-card-footer{flex-direction:column;gap:12px;align-items:stretch}.review-controls{justify-content:space-between}}.header-actions{display:flex;gap:12px}.star-selector{display:flex;gap:4px}.star-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--color-text-muted);transition:all .15s ease}.star-btn:hover{transform:scale(1.1)}.star-btn.filled{color:#fbbf24}.star-btn svg{display:block}.contracts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;padding:8px}.contract-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:20px;display:flex;flex-direction:column;gap:16px;transition:border-color var(--transition)}.contract-card:hover{border-color:var(--color-primary)}.contract-card-header{display:flex;justify-content:space-between;align-items:center}.contract-number{font-weight:600;font-size:14px;color:var(--color-text);font-family:monospace}.contract-signed-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.contract-signed-badge.signed{background-color:#22c55e26;color:#22c55e}.contract-signed-badge.unsigned{background-color:#ef444426;color:#ef4444}.contract-course{display:flex;flex-direction:column;gap:6px}.contract-course .course-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0;line-height:1.3}.contract-rating{display:flex;align-items:center;gap:4px}.contract-rating .star{color:var(--color-text-secondary)}.contract-rating .star.filled{color:#fbbf24}.contract-rating .rating-value{font-size:13px;color:var(--color-text-secondary);margin-left:4px}.contract-schedule{display:flex;flex-direction:column;gap:6px;padding:12px;background-color:var(--color-background);border-radius:6px}.schedule-dates,.schedule-time{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary)}.schedule-dates svg,.schedule-time svg{flex-shrink:0;color:var(--color-primary)}.contract-people{display:flex;gap:16px}.person-info{display:flex;align-items:center;gap:10px;flex:1;padding:10px;background-color:var(--color-background);border-radius:6px}.person-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.person-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#a8e063 100%);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#000}.person-details{display:flex;flex-direction:column;gap:2px}.person-name{font-size:13px;font-weight:500;color:var(--color-text)}.person-role{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.contract-payment{padding:12px;background-color:var(--color-background);border-radius:6px;display:flex;flex-direction:column;gap:6px}.payment-price{display:flex;justify-content:space-between;align-items:center}.price-amount{font-size:18px;font-weight:700;color:var(--color-text)}.payment-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.payment-status.paid{color:#22c55e}.payment-status.partially-paid{color:#f59e0b}.payment-status.not-paid{color:#ef4444}.payment-icon.paid{color:#22c55e}.payment-icon.partial{color:#f59e0b}.payment-icon.unpaid{color:#ef4444}.paid-amount{font-size:12px;color:var(--color-text-secondary)}.contract-sign-toggle{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background-color:var(--color-background);border-radius:6px}.contract-sign-toggle label{font-size:13px;color:var(--color-text-secondary)}.contract-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.contract-actions .btn{justify-content:center}.contract-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--color-border);margin-top:auto}.btn-sm{padding:8px 12px;font-size:12px}.btn-outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-outline:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.input-disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.contracts-grid{grid-template-columns:1fr}}@media(max-width:500px){.contract-people{flex-direction:column}.contract-actions{grid-template-columns:1fr}.contract-card-footer{flex-direction:column;gap:12px}.contract-card-footer .btn{width:100%;justify-content:center}}.contract-detail-card{background:linear-gradient(145deg,var(--color-surface) 0%,#0d0d0d 100%);border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.contract-detail-header{display:flex;align-items:center;gap:16px;padding:24px;background:linear-gradient(90deg,rgba(201,253,93,.08) 0%,transparent 100%);border-bottom:1px solid var(--color-border)}.contract-icon{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,var(--color-primary) 0%,#a8e063 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contract-icon svg{color:#000}.contract-title-section{flex:1}.contract-title{margin:0;font-size:20px;font-weight:700;color:var(--color-text);font-family:SF Mono,Monaco,Inconsolata,monospace;letter-spacing:1px}.contract-subtitle{margin:4px 0 0;font-size:13px;color:var(--color-text-secondary)}.contract-status-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600}.contract-status-chip.signed{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.contract-status-chip.pending{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.contract-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-border);border-bottom:1px solid var(--color-border)}.contract-meta-item{display:flex;align-items:center;gap:12px;padding:20px 24px;background:var(--color-surface)}.meta-icon{width:40px;height:40px;border-radius:10px;background:var(--color-background);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.meta-content{display:flex;flex-direction:column;gap:2px}.meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.meta-value{font-size:14px;font-weight:600;color:var(--color-text)}.meta-value.status-success{color:#22c55e}.meta-value.status-warning{color:#fbbf24}.meta-value.status-info{color:#3b82f6}.contract-courses-section{padding:24px}.contract-courses-section .section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--color-text-secondary)}.contract-courses-section .section-header svg{color:var(--color-primary)}.contract-courses-section .section-header h4{margin:0;font-size:14px;font-weight:600;color:var(--color-text)}.contract-courses-section .course-count{margin-left:auto;font-size:12px;padding:4px 10px;background:var(--color-background);border-radius:12px;color:var(--color-text-secondary)}.courses-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.course-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-background);border-radius:10px;border:1px solid transparent;transition:border-color var(--transition)}.course-row:hover{border-color:var(--color-border)}.course-info{display:flex;flex-direction:column;gap:6px}.course-info .course-name{font-size:15px;font-weight:600;color:var(--color-text)}.course-info .course-participants{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.course-info .course-participants svg{color:var(--color-primary);opacity:.7}.course-pricing{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.course-pricing .price-per-person{font-size:12px;color:var(--color-text-secondary)}.course-pricing .price-total{font-size:16px;font-weight:700;color:var(--color-text)}.courses-total{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(90deg,#c9fd5d1a,#c9fd5d0d);border-radius:10px;border:1px solid rgba(201,253,93,.2)}.courses-total span:first-child{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.courses-total .total-amount{font-size:22px;font-weight:700;color:var(--color-primary)}.contract-actions-bar{display:flex;gap:12px;padding:20px 24px;background:var(--color-background);border-top:1px solid var(--color-border)}.contract-actions-bar .btn{flex:1;justify-content:center;padding:14px 24px;font-size:14px;font-weight:600;border-radius:10px}.contract-actions-bar .btn svg{flex-shrink:0}@media(max-width:768px){.contract-detail-header{flex-wrap:wrap}.contract-status-chip{margin-left:auto}.contract-meta-grid{grid-template-columns:1fr}.course-row{flex-direction:column;align-items:flex-start;gap:12px}.course-pricing{align-items:flex-start;flex-direction:row;gap:12px;width:100%;justify-content:space-between}.contract-actions-bar{flex-direction:column}}.toast-container{position:fixed;top:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:420px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 8px 32px #0006,0 4px 12px #0003;pointer-events:auto;min-width:320px;max-width:100%}.toast-enter{animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1) forwards}.toast-exit{animation:toastSlideOut .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-error{background-color:#2d1b1b;border-color:#ef4444}.toast-error .toast-icon,.toast-error .toast-title{color:#ef4444}.toast-success{background-color:#1a2e1a;border-color:#22c55e}.toast-success .toast-icon,.toast-success .toast-title{color:#22c55e}.toast-warning{background-color:#2d2517;border-color:#f59e0b}.toast-warning .toast-icon,.toast-warning .toast-title{color:#f59e0b}.toast-info{background-color:#1a2233;border-color:#3b82f6}.toast-info .toast-icon,.toast-info .toast-title{color:#3b82f6}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.toast-icon svg{width:20px;height:20px}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:14px;margin-bottom:4px;line-height:1.3}.toast-message{font-size:13px;color:var(--color-text-secondary);line-height:1.4;word-wrap:break-word}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease;margin:-4px -4px -4px 0}.toast-close:hover{background-color:#ffffff1a;color:var(--color-text)}.toast-close svg{width:16px;height:16px}@media(max-width:480px){.toast-container{left:16px;right:16px;top:16px;max-width:none}.toast{min-width:0}}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#ef4444!important;background-color:#ef44440d}.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444426}.form-group.has-error label{color:#ef4444}.field-error{color:#ef4444;font-size:12px;margin-top:4px;display:flex;align-items:center;gap:4px}.field-error svg{width:14px;height:14px;flex-shrink:0}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.form-group.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}[data-tooltip]{position:relative}[data-tooltip]:before,[data-tooltip]:after{position:absolute;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:1000;pointer-events:none}[data-tooltip]:after{content:attr(data-tooltip);bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);padding:8px 12px;background-color:var(--color-surface);color:var(--color-text);font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;border:1px solid var(--color-border);box-shadow:0 4px 12px #0000004d}[data-tooltip]:before{content:"";bottom:calc(100% + 2px);left:50%;transform:translate(-50%) translateY(4px);border:6px solid transparent;border-top-color:var(--color-border)}[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}[data-tooltip-position=bottom]:after{bottom:auto;top:calc(100% + 8px);transform:translate(-50%) translateY(-4px)}[data-tooltip-position=bottom]:before{bottom:auto;top:calc(100% + 2px);transform:translate(-50%) translateY(-4px);border-top-color:transparent;border-bottom-color:var(--color-border)}[data-tooltip-position=bottom]:hover:before,[data-tooltip-position=bottom]:hover:after{transform:translate(-50%) translateY(0)}[data-tooltip-position=left]:after{bottom:auto;left:auto;right:calc(100% + 8px);top:50%;transform:translateY(-50%) translate(4px)}[data-tooltip-position=left]:before{bottom:auto;left:auto;right:calc(100% + 2px);top:50%;transform:translateY(-50%) translate(4px);border-top-color:transparent;border-left-color:var(--color-border)}[data-tooltip-position=left]:hover:before,[data-tooltip-position=left]:hover:after{transform:translateY(-50%) translate(0)}[data-tooltip-position=right]:after{bottom:auto;left:calc(100% + 8px);top:50%;transform:translateY(-50%) translate(-4px)}[data-tooltip-position=right]:before{bottom:auto;left:calc(100% + 2px);top:50%;transform:translateY(-50%) translate(-4px);border-top-color:transparent;border-right-color:var(--color-border)}[data-tooltip-position=right]:hover:before,[data-tooltip-position=right]:hover:after{transform:translateY(-50%) translate(0)}.answers-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.answer-row{display:flex;align-items:center;gap:12px}.answer-correct{display:flex;align-items:center;justify-content:center;flex-shrink:0}.answer-correct input[type=radio],.answer-correct input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary)}.answer-text{flex:1}.answer-text input{width:100%;padding:10px 14px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:14px;transition:var(--transition)}.answer-text input:focus{outline:none;border-color:var(--color-primary)}.answer-text input:disabled{opacity:.7;cursor:not-allowed}.answer-text input::placeholder{color:var(--color-text-secondary)}.answer-image{flex:1}.answer-image input{width:100%;padding:10px 14px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:14px;transition:var(--transition)}.answer-image input:focus{outline:none;border-color:var(--color-primary)}.answer-image input::placeholder{color:var(--color-text-secondary)}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition)}.btn-danger-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.btn-danger-ghost:hover{background-color:#ef44441a;border-color:var(--color-error);color:var(--color-error)}.btn-danger-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-danger-ghost:disabled:hover{background:transparent;border-color:var(--color-border);color:var(--color-text-secondary)}.btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.btn-ghost:hover{background-color:var(--color-surface-hover);border-color:var(--color-text-secondary);color:var(--color-text)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-ghost:disabled:hover{background:transparent;border-color:var(--color-border);color:var(--color-text-secondary)}.questions-list{display:flex;flex-direction:column;gap:16px}.question-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:20px;transition:border-color var(--transition)}.question-card:hover{border-color:var(--color-text-secondary)}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.question-number{display:flex;align-items:center;gap:12px}.question-number .number{font-weight:700;font-size:18px;color:var(--color-primary)}.question-number .type-badge{font-size:12px;padding:4px 8px;background-color:var(--color-surface-hover);border-radius:4px;color:var(--color-text-secondary)}.question-number .points-badge{font-size:12px;padding:4px 8px;background-color:#c9fd5d1a;border-radius:4px;color:var(--color-primary)}.question-actions{display:flex;gap:8px;align-items:center}.question-text{font-size:15px;color:var(--color-text);line-height:1.5;margin-bottom:16px}.question-answers{display:flex;flex-direction:column;gap:8px}.answer-option{display:flex;align-items:center;gap:10px;padding:10px 14px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:14px;color:var(--color-text-secondary)}.answer-option.correct{border-color:#22c55e;background-color:#22c55e14;color:var(--color-text)}.answer-option .answer-letter{font-weight:600;color:var(--color-text-secondary);min-width:20px}.answer-option.correct .answer-letter{color:#22c55e}.answer-option .answer-text{flex:1}.answer-option .correct-icon{color:#22c55e;flex-shrink:0}.answer-image-upload{flex-shrink:0}.answer-image-preview{position:relative;width:60px;height:60px;border-radius:var(--border-radius);overflow:hidden;border:1px solid var(--color-border)}.answer-image-preview img{width:100%;height:100%;object-fit:cover}.answer-image-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:0;transition:opacity var(--transition)}.answer-image-preview:hover .answer-image-remove{opacity:1}.answer-image-remove:hover{background-color:var(--color-error)}.answer-image-upload-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:var(--color-background);border:1px dashed var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition);font-size:13px}.answer-image-upload-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.answer-image-upload-btn.uploading{opacity:.7;cursor:not-allowed}.answer-image-upload-btn input[type=file]{display:none}.upload-spinner{width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.radio-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);font-size:14px;color:var(--color-text);margin-bottom:8px}.radio-option:last-child{margin-bottom:0}.radio-option:hover{border-color:var(--color-text-secondary);background-color:#ffffff05}.radio-option input[type=radio]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.radio-option input[type=radio]:checked+span{color:var(--color-primary)}.radio-option:has(input[type=radio]:checked){border-color:var(--color-primary);background-color:#c9fd5d0d}.info-box{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:#c9fd5d0d;border:1px solid rgba(201,253,93,.2);border-radius:var(--border-radius)}.info-box svg{flex-shrink:0;color:var(--color-primary);margin-top:2px}.info-box p{margin:0;font-size:14px;color:var(--color-text-secondary);line-height:1.5}.company-info{display:flex;flex-direction:column;gap:2px}.company-name{font-weight:600;color:var(--color-text)}.company-email{font-size:12px;color:var(--color-text-secondary)}.contact-info{display:flex;flex-direction:column;gap:2px}.contact-name{font-weight:500;color:var(--color-text)}.contact-email{font-size:12px;color:var(--color-text-secondary)}.text-muted{color:var(--color-text-secondary);font-style:italic}.ref-code{background:var(--color-background);padding:4px 8px;border-radius:4px;font-size:12px;font-family:monospace;cursor:pointer;transition:var(--transition);border:1px solid var(--color-border)}.ref-code:hover{border-color:var(--color-primary);color:var(--color-primary)}.profile-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--color-border);padding-bottom:0}.profile-tab{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);margin-bottom:-1px}.profile-tab:hover{color:var(--color-text)}.profile-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.profile-content{min-height:400px}.profile-overview{display:flex;flex-direction:column;gap:24px}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px}.info-card h3{font-size:16px;font-weight:600;margin-bottom:20px;color:var(--color-text)}.info-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.info-card .card-header h3{margin-bottom:0}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item.full-width{grid-column:span 2}.info-item label{font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:14px;color:var(--color-text)}.info-item code{background:var(--color-background);padding:4px 8px;border-radius:4px;font-size:12px;font-family:monospace}.edit-am-form{display:flex;flex-direction:column;gap:12px}.edit-am-form .form-select{width:100%;padding:10px 36px 10px 12px;background:var(--color-background) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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") no-repeat right 12px center / 12px;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:14px;appearance:none;-webkit-appearance:none;-moz-appearance:none}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.btn-sm{padding:6px 12px!important;font-size:12px!important}.message-preview{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.status-actions{display:flex;gap:8px}.course-name{font-weight:500}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;color:var(--color-text-secondary)}.coming-soon svg{margin-bottom:16px;opacity:.5}.coming-soon h3{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--color-text)}.coming-soon p{font-size:14px;max-width:300px}.badge--info{background:#6496ff26;color:#6496ff}.badge--warning{background:#ffaa0026;color:#fa0}@media(max-width:768px){.info-cards,.info-grid{grid-template-columns:1fr}.info-item.full-width{grid-column:span 1}.profile-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-tab{padding:10px 16px;white-space:nowrap}}.tabs-container{display:flex;gap:8px;background:var(--color-surface);padding:6px;border-radius:var(--border-radius);width:fit-content}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:transparent;border:none;border-radius:calc(var(--border-radius) - 2px);color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition)}.tab-btn:hover{color:var(--color-text);background:#ffffff0d}.tab-btn.active{color:var(--color-background);background:var(--color-primary)}.tab-btn svg{opacity:.7}.tab-btn.active svg{opacity:1}.change-request-stats{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.stat-pill{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:100px;cursor:pointer;transition:all var(--transition)}.stat-pill:hover{border-color:var(--color-text-secondary)}.stat-pill.active{border-color:var(--color-primary);background:#c9fd5d0d}.stat-pill-count{font-size:20px;font-weight:700}.stat-pill-label{font-size:13px;color:var(--color-text-secondary)}.change-request-list{display:flex;flex-direction:column;gap:8px}.change-request-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.change-request-row:hover{border-color:var(--color-text-secondary);background:var(--color-surface-hover)}.request-main{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.request-company{display:flex;align-items:center;gap:12px}.company-name{font-size:14px;font-weight:600;color:var(--color-text)}.request-time{font-size:12px;color:var(--color-text-secondary)}.request-workshop{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-changes{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.change-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ffffff0d;border-radius:100px;font-size:11px;color:var(--color-text-secondary)}.change-chip svg{opacity:.7}.change-chip.has-notes{background:#c9fd5d1a;color:var(--color-primary)}.request-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:100px;font-size:12px;font-weight:500}.row-arrow{color:var(--color-text-secondary);transition:transform var(--transition)}.change-request-row:hover .row-arrow{transform:translate(4px);color:var(--color-text)}.change-request-banner{background:linear-gradient(135deg,#f59e0b1f,#f59e0b0a);border:1px solid rgba(245,158,11,.25);border-radius:var(--border-radius);padding:20px;margin-bottom:24px}.change-request-banner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.change-request-banner-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#f59e0b}.change-request-banner-meta{font-size:12px;color:var(--color-text-secondary)}.change-request-info-box{background:#00000040;border:1px solid rgba(245,158,11,.15);border-radius:8px;padding:14px 18px;margin-bottom:16px;font-size:13px;color:var(--color-text-secondary);line-height:1.6}.change-request-info-box strong{color:var(--color-text)}.change-request-info-box ul{margin:8px 0 0;padding-left:20px}.change-request-info-box li{margin-bottom:4px}.change-request-info-box li:last-child{margin-bottom:0}.change-request-changes{display:flex;flex-direction:column;gap:12px}.change-request-item{display:flex;align-items:flex-start;gap:16px;padding:14px 16px;background:#0000004d;border-radius:8px}.change-request-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f59e0b26;border-radius:8px;color:#f59e0b;flex-shrink:0}.change-request-item-content{flex:1;min-width:0}.change-request-item-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:4px}.change-request-item-values{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.change-request-item-old{font-size:14px;color:var(--color-text-secondary);text-decoration:line-through}.change-request-item-arrow{color:var(--color-text-secondary)}.change-request-item-new{font-size:14px;font-weight:600;color:#f59e0b}.change-request-item-apply{padding:6px 14px;background:transparent;border:1px solid rgba(245,158,11,.4);border-radius:6px;color:#f59e0b;font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition);margin-left:auto;flex-shrink:0}.change-request-item-apply:hover{background:#f59e0b26;border-color:#f59e0b}.change-request-notes{margin-top:16px;padding:14px 16px;background:#0000004d;border-radius:8px}.change-request-notes-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:6px}.change-request-notes-text{font-size:14px;color:var(--color-text);line-height:1.5}.change-request-banner-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(245,158,11,.15)}.change-request-history{margin-top:32px}.change-request-history-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:16px}.change-request-history-list{display:flex;flex-direction:column;gap:12px}.change-request-history-item{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius)}.history-item-status{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.history-item-status.approved{background:#22c55e26;color:#22c55e}.history-item-status.rejected{background:#ef444426;color:#ef4444}.history-item-content{flex:1;min-width:0}.history-item-changes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.history-item-meta{font-size:12px;color:var(--color-text-secondary)}.history-item-reviewer{color:var(--color-text)}.history-item-date{margin-left:8px}.toggle-wrapper{display:flex;align-items:center;gap:12px}.toggle-wrapper.disabled{opacity:.5;pointer-events:none}.toggle-label{font-size:13px;color:var(--color-text-secondary);font-weight:500}.toggle-switch{position:relative;width:48px;height:26px;background:#2a2a3e;border:2px solid #3a3a4e;border-radius:13px;cursor:pointer;transition:all .2s ease;padding:0}.toggle-switch:hover{border-color:#4a4a5e}.toggle-switch:focus{outline:none;border-color:var(--color-primary)}.toggle-switch.checked{background:var(--color-primary);border-color:var(--color-primary)}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background:linear-gradient(145deg,#5a5a6e,#3a3a4e);border-radius:50%;transition:all .2s ease;box-shadow:0 2px 4px #0000004d}.toggle-switch.checked .toggle-knob{left:calc(100% - 20px);background:linear-gradient(145deg,#1a1a1a,#2a2a2a)}.phone-input-group.disabled{opacity:.5;pointer-events:none}.phone-prefix-select{width:140px;padding:12px 32px 12px 12px;background:#1a1a1a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.phone-prefix-select:focus{outline:none;border-color:#c9fd5d}.phone-prefix-select:hover{border-color:#444}.time-picker{display:inline-flex;align-items:center;gap:2px;padding:8px 12px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:border-color var(--transition)}.time-picker:hover:not(.disabled){border-color:var(--color-text-secondary)}.time-picker:focus-within{border-color:var(--color-primary)}.time-picker.has-error{border-color:var(--color-error)}.time-picker.disabled{opacity:.6;cursor:not-allowed}.time-picker-select{background:var(--color-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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") no-repeat right 8px center / 10px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:14px;font-family:var(--font-family);cursor:pointer;padding:8px 24px 8px 12px;transition:all var(--transition);text-align:left;appearance:none;-webkit-appearance:none;-moz-appearance:none}.time-picker-select:hover{border-color:var(--color-text-secondary);background-color:var(--color-surface-hover)}.time-picker-select:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-surface)}.time-picker-select option{background-color:var(--color-surface);color:var(--color-text);padding:8px}.time-picker-hours,.time-picker-minutes{width:75px}.time-picker-period{width:85px;margin-left:4px}.time-picker-separator{color:var(--color-text-secondary);font-weight:600;font-size:16px;-webkit-user-select:none;user-select:none;padding:0 2px}.time-picker.disabled .time-picker-select{cursor:not-allowed;pointer-events:none;opacity:.5}.upload-container{display:flex;flex-direction:column;gap:8px}.upload-label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.upload-dropzone{position:relative;border:2px dashed var(--color-border);border-radius:var(--border-radius);padding:20px;cursor:pointer;transition:all var(--transition);background-color:var(--color-background);min-height:100px;display:flex;align-items:center;justify-content:center}.upload-dropzone:hover{border-color:var(--color-primary);background-color:#c9fd5d05}.upload-dropzone.dragging{border-color:var(--color-primary);background-color:#c9fd5d0d;border-style:solid}.upload-dropzone.uploading{cursor:wait;pointer-events:none}.upload-dropzone.has-preview{padding:0;border-style:solid;border-color:var(--color-border)}.upload-dropzone.has-preview:hover{border-color:var(--color-primary)}.upload-input{display:none}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.upload-icon{color:var(--color-text-secondary);opacity:.6}.upload-text{font-size:14px;color:var(--color-text-secondary)}.upload-hint{font-size:12px;color:var(--color-text-secondary);opacity:.7}.upload-progress{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:200px}.progress-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.progress-text{font-size:14px;color:var(--color-primary)}.progress-bar{width:100%;height:4px;background-color:var(--color-border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background-color:var(--color-primary);transition:width .2s ease}.progress-hint{font-size:11px;color:var(--color-text-secondary);opacity:.7}.upload-preview{position:relative;width:100%;height:140px;overflow:hidden;border-radius:calc(var(--border-radius) - 2px)}.upload-preview img{width:100%;height:100%;object-fit:cover}.preview-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity var(--transition)}.upload-preview:hover .preview-overlay,.video-preview:hover .preview-overlay{opacity:1}.preview-change-btn,.preview-remove-btn{padding:8px 16px;font-size:13px;font-family:var(--font-family);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition)}.preview-change-btn{background-color:var(--color-primary);color:var(--color-background);border:none}.preview-change-btn:hover{background-color:var(--color-primary-hover)}.preview-remove-btn{background-color:transparent;color:#fff;border:1px solid white}.preview-remove-btn:hover{background-color:#ffffff1a}.cloudflare-badge{position:absolute;top:8px;left:8px;padding:4px 8px;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#f6821f;color:#fff;border-radius:4px}.video-upload .upload-dropzone{min-height:120px}.video-preview{position:relative;width:100%;height:140px;overflow:hidden;border-radius:calc(var(--border-radius) - 2px);background-color:var(--color-surface)}.video-thumbnail{width:100%;height:100%;object-fit:cover}.video-placeholder-thumb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface);color:var(--color-primary)}.video-icon{color:var(--color-primary);opacity:.8}.thumbnail-upload-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.thumbnail-section-label{display:flex;align-items:center;gap:8px;margin-bottom:8px}.thumbnail-hint{font-size:12px;font-weight:400;color:var(--color-text-secondary);opacity:.7}.thumbnail-dropzone{min-height:120px!important;padding:20px!important}.thumbnail-dropzone.has-preview{padding:0!important}.thumbnail-preview{position:relative;width:100%;height:120px;overflow:hidden;border-radius:calc(var(--border-radius) - 2px);background-color:var(--color-surface)}.thumbnail-image{width:100%;height:100%;object-fit:cover}.thumbnail-preview:hover .preview-overlay{opacity:1}.thumbnail-placeholder{gap:8px}.thumbnail-placeholder .upload-icon{opacity:.5}.thumbnail-placeholder .upload-text{font-size:13px}.thumbnail-placeholder .upload-hint{font-size:11px}.thumbnail-progress{max-width:180px}.thumbnail-progress .progress-spinner{width:24px;height:24px}.thumbnail-progress .progress-text{font-size:12px}.upload-error{font-size:13px;color:var(--color-error);padding:8px 12px;background-color:var(--color-error-bg);border-radius:var(--border-radius)}.upload-url-fallback{display:flex;flex-direction:column;gap:8px;margin-top:8px}.fallback-divider{font-size:12px;color:var(--color-text-secondary);text-align:center;position:relative}.fallback-divider:before,.fallback-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 80px);height:1px;background-color:var(--color-border)}.fallback-divider:before{left:0}.fallback-divider:after{right:0}.fallback-input{width:100%;padding:10px 12px;font-size:13px;font-family:var(--font-family);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);transition:border-color var(--transition)}.fallback-input:focus{outline:none;border-color:var(--color-primary)}.fallback-input::placeholder{color:var(--color-text-secondary);opacity:.6}.fallback-inputs{display:flex;flex-direction:column;gap:8px}.fallback-group{display:flex;flex-direction:column;gap:4px}.fallback-group label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.file-upload .upload-dropzone{min-height:120px}.file-dropzone.has-file{padding:16px;border-style:solid}.file-preview{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.file-info{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.file-icon{font-size:32px;flex-shrink:0}.file-icon-large{color:var(--color-primary);opacity:.8}.file-details{display:flex;flex-direction:column;gap:4px;min-width:0}.file-name{font-size:14px;color:var(--color-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r2-badge{display:inline-block;padding:2px 6px;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#f6821f;color:#fff;border-radius:3px;width:fit-content}.file-actions{display:flex;gap:8px;flex-shrink:0}.file-view-btn,.file-remove-btn{padding:6px 12px;font-size:12px;font-family:var(--font-family);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);text-decoration:none}.file-view-btn{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.file-view-btn:hover{background-color:#c9fd5d1a}.file-remove-btn{background-color:transparent;color:var(--color-error);border:1px solid var(--color-error)}.file-remove-btn:hover{background-color:var(--color-error-bg)}.progress-filename{font-size:12px;color:var(--color-text-secondary);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.upload-dropzone{padding:24px;min-height:140px}.upload-preview,.video-preview{height:160px}.preview-overlay{opacity:1;background:#0006}.file-preview{flex-direction:column;align-items:flex-start}.file-actions{width:100%;margin-top:8px}.file-view-btn,.file-remove-btn{flex:1;text-align:center}}.workshop-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.workshop-modal{background:#1a1a1a;border-radius:16px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.workshop-modal__header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.workshop-modal__header-content{display:flex;align-items:center;gap:12px}.workshop-modal__title{font-size:20px;font-weight:500;color:#fff;margin:0}.workshop-modal__template-badge{padding:4px 10px;background:#8b5cf626;color:#a78bfa;font-size:12px;font-weight:500;border-radius:4px}.workshop-modal__close{background:transparent;border:none;color:#999;cursor:pointer;padding:4px;transition:color .2s ease}.workshop-modal__close:hover{color:#fff}.workshop-modal__content{flex:1;overflow-y:auto;padding:24px}.workshop-modal__section{margin-bottom:32px}.workshop-modal__section:last-child{margin-bottom:0}.workshop-modal__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.workshop-modal__section-title{font-size:14px;font-weight:600;color:#c9fd5d;text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.workshop-modal__section-header .workshop-modal__section-title{margin-bottom:0}.workshop-modal__section-hint{font-size:12px;color:#666}.workshop-modal__info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.workshop-modal__info-item{display:flex;flex-direction:column;gap:4px}.workshop-modal__info-item--full{grid-column:1 / -1}.workshop-modal__info-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.workshop-modal__info-value{font-size:14px;color:#fff}.workshop-modal__info-value--notes{white-space:pre-wrap;background:#ffffff0d;padding:12px;border-radius:8px;line-height:1.5}.workshop-modal__status{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.status--success{background:#22c55e26;color:#22c55e}.status--warning{background:#eab30826;color:#eab308}.status--info{background:#3b82f626;color:#3b82f6}.status--error{background:#ef444426;color:#ef4444}.status--locked{background:#6b728026;color:#6b7280}.workshop-modal__files{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.workshop-modal__file{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0d;border:1px solid transparent;border-radius:8px;cursor:grab;transition:all .2s ease}.workshop-modal__file:hover{background:#ffffff14}.workshop-modal__file--dragging{opacity:.5;cursor:grabbing}.workshop-modal__file--drag-over{border-color:#c9fd5d;background:#c9fd5d1a}.workshop-modal__file-drag-handle{color:#666;cursor:grab;flex-shrink:0}.workshop-modal__file--dragging .workshop-modal__file-drag-handle{cursor:grabbing}.workshop-modal__file-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-icon{width:24px;height:24px}.file-icon--pdf{color:#ef4444}.file-icon--doc{color:#3b82f6}.file-icon--spreadsheet{color:#22c55e}.file-icon--presentation{color:#f97316}.file-icon--image{color:#a855f7}.file-icon--video{color:#ec4899}.file-icon--audio{color:#06b6d4}.file-icon--archive{color:#eab308}.file-icon--default{color:#6b7280}.workshop-modal__file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.workshop-modal__file-name{font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workshop-modal__file-meta{font-size:12px;color:#666}.workshop-modal__file-actions{display:flex;gap:8px;flex-shrink:0}.workshop-modal__file-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease}.workshop-modal__file-btn--view{background:#3b82f626;color:#3b82f6;text-decoration:none}.workshop-modal__file-btn--view:hover{background:#3b82f640}.workshop-modal__file-btn--delete{background:#ef444426;color:#ef4444}.workshop-modal__file-btn--delete:hover{background:#ef444440}.workshop-modal__empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:8px;margin-bottom:16px}.workshop-modal__empty-icon{font-size:32px;opacity:.5}.workshop-modal__empty-text{font-size:14px;color:#666}.workshop-modal__loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;color:#999}.workshop-modal__spinner{width:32px;height:32px;border:3px solid #333;border-top-color:#c9fd5d;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.workshop-modal__upload{margin-top:16px}.workshop-modal__footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid rgba(255,255,255,.1)}@media(max-width:600px){.workshop-modal{max-height:85vh}.workshop-modal__header,.workshop-modal__content{padding:16px}.workshop-modal__info-grid{grid-template-columns:1fr}.workshop-modal__file{padding:12px}.workshop-modal__file-name{font-size:13px}}.teachers-page{display:flex;flex-direction:column;gap:24px}.credentials-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:16px}.credentials-card h3{margin:0;font-size:18px;color:#c9fd5d}.credentials-info{display:flex;flex-direction:column;gap:8px}.credentials-info p{margin:0;font-size:14px;color:#fff}.credentials-info strong{color:#888;margin-right:8px}.page-actions{display:flex;justify-content:flex-end;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.btn-secondary{background:transparent;border:1px solid #555;color:#fff}.btn-secondary:hover:not(:disabled){border-color:#777}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-copy{background:#3b82f6;color:#fff}.btn-copy:hover:not(:disabled){background:#2563eb}.btn-small{padding:6px 12px;font-size:12px}.teacher-form,.employee-form{background:#111;border:1px solid #333;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:24px}.teacher-form h2,.employee-form h2{margin:0;font-size:20px;color:#fff}.profile-section{padding-bottom:16px}.profile-header{display:flex;align-items:center;gap:24px}.profile-picture-wrapper{flex-shrink:0}.profile-picture-preview{width:100px;height:100px;border-radius:50%;border:2px dashed #555;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease}.profile-picture-preview:hover{border-color:#c9fd5d}.profile-picture-preview img{width:100%;height:100%;object-fit:cover}.profile-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#555}.profile-placeholder span{font-size:28px;line-height:1}.profile-placeholder small{font-size:11px;margin-top:4px}.permanent-residency-toggle{flex:1}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#c9fd5d;cursor:pointer}.checkbox-text{font-size:14px;color:#fff}.name-input-group{display:flex;gap:12px}.title-select{width:100px;padding:12px 32px 12px 12px;background:#1a1a1a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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") no-repeat right 12px center / 12px;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.title-select:focus{outline:none;border-color:#c9fd5d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9fd5d' 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")}.name-input{flex:1;padding:12px;background:#1a1a1a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px}.name-input:focus{outline:none;border-color:#c9fd5d}.name-input::placeholder{color:#555}.phone-input-group{display:flex;gap:12px}.phone-prefix-select{width:140px;padding:12px 32px 12px 12px;background:#1a1a1a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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") no-repeat right 12px center / 12px;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.phone-prefix-select:focus{outline:none;border-color:#c9fd5d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9fd5d' 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")}.phone-number-input{flex:1;padding:12px;background:#1a1a1a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px}.phone-number-input:focus{outline:none;border-color:#c9fd5d}.phone-number-input::placeholder{color:#555}.form-group select{padding:12px 36px 12px 12px;background:#1a1a1a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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") no-repeat right 12px center / 12px;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-group select:focus{outline:none;border-color:#c9fd5d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9fd5d' 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")}.form-group input[type=date]{padding:12px;background:#1a1a1a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px}.form-group input[type=date]:focus{outline:none;border-color:#c9fd5d}.form-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.form-group-small{max-width:200px}.employee-name-cell{display:flex;align-items:center;gap:12px}.employee-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.form-section h3{margin:0;font-size:16px;color:#c9fd5d;padding-bottom:8px;border-bottom:1px solid #333}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{font-size:14px;color:#888}.form-group textarea{resize:vertical;min-height:100px}.teachers-list{background:#111;border:1px solid #333;border-radius:12px;overflow:hidden}.teachers-table{width:100%;border-collapse:collapse}.teachers-table th,.teachers-table td{padding:16px;text-align:left;border-bottom:1px solid #333}.teachers-table th{background:#1a1a1a;font-size:12px;font-weight:600;text-transform:uppercase;color:#888}.teachers-table td{font-size:14px;color:#fff}.teachers-table tr:last-child td{border-bottom:none}.teachers-table tr:hover td{background:#ffffff05}.actions-cell{display:flex;gap:8px;flex-wrap:wrap}.empty-state{padding:48px;text-align:center;color:#888}.empty-state p{margin:0;font-size:14px}@media(max-width:768px){.form-row{grid-template-columns:1fr}.teachers-table{display:block;overflow-x:auto}.actions-cell{flex-direction:column}}.profile-page{display:flex;flex-direction:column;gap:24px;max-width:800px}.success-message{padding:12px 16px;background:#c9fd5d1a;border:1px solid rgba(201,253,93,.3);border-radius:8px;color:#c9fd5d;font-size:14px}.error-message{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:14px}.loading{text-align:center;padding:48px;color:#888}.profile-info-card{display:flex;align-items:center;gap:20px;background:#111;border:1px solid #333;border-radius:12px;padding:24px}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#c9fd5d,#a8e050);color:#000;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;flex-shrink:0}.profile-details{display:flex;flex-direction:column;gap:4px}.profile-details h2{margin:0;font-size:24px;color:#fff}.profile-email{margin:0;font-size:14px;color:#888}.profile-position{margin:0;font-size:14px;color:#c9fd5d}.profile-form{background:#111;border:1px solid #333;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:24px}.profile-form h3{margin:0;font-size:20px;color:#fff}.form-section{display:flex;flex-direction:column;gap:16px}.form-section h4{margin:0;font-size:16px;color:#c9fd5d;padding-bottom:8px;border-bottom:1px solid #333}.section-description{margin:0;font-size:14px;color:#666}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;color:#fff;font-weight:500}.form-group input,.form-group textarea{padding:12px;background:#1a1a1a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#c9fd5d}.form-group input::placeholder,.form-group textarea::placeholder{color:#555}.form-group textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.form-hint{font-size:12px;color:#666}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #333}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#c9fd5d;color:#000}.btn-primary:hover:not(:disabled){background:#b8e654}@media(max-width:768px){.profile-info-card{flex-direction:column;text-align:center}.profile-details{align-items:center}}.partner-billing-page{display:flex;flex-direction:column;gap:24px}.billing-section{background:linear-gradient(180deg,#111,#0d0d0d);border:1px solid #1f1f1f;border-radius:16px;padding:28px}.section-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #1a1a1a}.section-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-icon.contract-icon{background:linear-gradient(135deg,#c9fd5d26,#c9fd5d0d);color:#c9fd5d;border:1px solid rgba(201,253,93,.2)}.section-icon.invoice-icon{background:linear-gradient(135deg,#6366f126,#6366f10d);color:#818cf8;border:1px solid rgba(99,102,241,.2)}.section-icon.paid-icon{background:linear-gradient(135deg,#22c55e26,#22c55e0d);color:#4ade80;border:1px solid rgba(34,197,94,.2)}.section-title{flex:1;display:flex;align-items:baseline;gap:12px}.section-title h2{margin:0;font-size:22px;font-weight:600;color:#fff}.section-title p{margin:0;font-size:13px;color:#555;font-family:SF Mono,Monaco,Consolas,monospace}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600}.status-chip.signed,.status-chip.paid{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.status-chip.pending{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.status-chip.pending-payment{background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.courses-breakdown{background:#0a0a0a;border-radius:12px;overflow:hidden;border:1px solid #1a1a1a}.billing-table{width:100%;border-collapse:collapse}.billing-table th,.billing-table td{padding:16px 20px;text-align:left}.billing-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#555;background:#080808}.billing-table tbody td{font-size:14px;color:#bbb;border-top:1px solid #151515}.billing-table .course-name{font-weight:500;color:#fff}.billing-table .amount{font-weight:600;color:#c9fd5d}.billing-table .center{text-align:center}.billing-table .right{text-align:right}.billing-table tfoot td{padding:18px 20px;font-weight:600;background:#080808;border-top:1px solid #222;color:#888}.billing-table .total-amount{font-size:20px;font-weight:700;color:#c9fd5d}.contract-actions-row{display:flex;flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap;padding:20px;background:#0a0a0a;border-radius:10px;margin-top:20px}.action-btn{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:12px 20px!important;border-radius:8px!important;font-size:14px!important;font-weight:600!important;text-decoration:none!important;cursor:pointer!important;border:none!important;transition:all .2s!important;white-space:nowrap!important;line-height:1!important}.action-btn svg{flex-shrink:0!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;display:inline-block!important;vertical-align:middle!important}.action-btn span{display:inline-block!important;vertical-align:middle!important}.action-btn.primary{background:#c9fd5d!important;color:#000!important}.action-btn.primary:hover{background:#b8e654!important}.action-btn.secondary{background:#1a1a1a!important;color:#fff!important;border:1px solid #444!important}.action-btn.secondary:hover{background:#252525!important;border-color:#555!important}.action-btn.success{background:#22c55e26!important;color:#4ade80!important;border:1px solid rgba(34,197,94,.3)!important}.action-btn.success:hover{background:#22c55e40!important}.action-btn:disabled{opacity:.5!important;cursor:not-allowed!important}.info-box{background:linear-gradient(135deg,#22c55e14,#22c55e0a);border:1px solid rgba(34,197,94,.2);border-radius:12px;padding:16px 20px}.info-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#4ade80;margin-bottom:12px}.info-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-option{display:flex;flex-direction:column;gap:4px}.info-option strong{font-size:13px;color:#86efac}.info-option span{font-size:12px;color:#4ade80;opacity:.8}.invoice-summary{margin-bottom:24px}.invoice-amount-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 32px;background:linear-gradient(145deg,#0d0d0d,#0a0a0a);border-radius:12px;border:1px solid #1a1a1a}.invoice-amount-box .label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#555;font-weight:600}.invoice-amount-box .amount{font-size:42px;font-weight:700;color:#fff;letter-spacing:-1px}.invoice-amount-box .amount.paid{color:#4ade80}.invoice-amount-box .paid-date{font-size:14px;color:#4ade80;display:flex;align-items:center;gap:6px}.payment-methods-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#888}.payment-methods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.payment-method-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:#0a0a0a;border:1px solid #222;border-radius:12px;cursor:pointer;transition:all .2s}.payment-method-card:hover{border-color:#444;background:#111}.payment-method-card.selected{background:#c9fd5d14;border-color:#c9fd5d}.payment-method-card .method-icon{color:#666}.payment-method-card.selected .method-icon{color:#c9fd5d}.payment-method-card .method-name{font-size:14px;font-weight:600;color:#fff}.payment-method-card .method-desc{font-size:12px;color:#666}.payment-details{padding:20px;background:#0a0a0a;border-radius:12px;border:1px solid #222}.payment-details p{margin:0 0 16px;color:#888;font-size:14px}.payment-details.empty{text-align:center;color:#555;padding:32px}.pay-now-btn{width:100%;padding:16px 24px;background:#c9fd5d;color:#000;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.pay-now-btn:hover{background:#b8e654}.pay-now-btn:disabled{opacity:.5;cursor:not-allowed}.details-grid{display:grid;grid-template-columns:140px 1fr;gap:12px 16px;font-size:14px}.details-grid .label{color:#666}.details-grid .value{color:#fff;font-weight:500}.details-grid .value.mono{font-family:SF Mono,monospace}.details-grid .value.highlight{color:#c9fd5d;font-weight:600}.payment-note{margin-top:16px;padding:12px 16px;background:#22c55e1a;border-radius:8px;border:1px solid rgba(34,197,94,.2);font-size:13px;color:#86efac}.employee-billing-section{margin-top:32px}.section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#666;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #222}.employee-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:#111;border:1px solid #222;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:6px}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#666}.stat-value{font-size:24px;font-weight:700;color:#fff}.stat-value.primary{color:#c9fd5d}.stat-value.success{color:#4ade80}.employee-data-card{background:#111;border:1px solid #222;border-radius:12px;padding:20px;margin-bottom:16px}.employee-data-card h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#888}.employee-data-card .data-table.compact th,.employee-data-card .data-table.compact td{padding:12px 14px;font-size:13px}.employee-cell{display:flex;flex-direction:column;gap:2px}.employee-cell .name{font-weight:500;color:#fff}.employee-cell .email{font-size:12px;color:#666}.contract-num{font-family:SF Mono,monospace;color:#c9fd5d}.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge.status-paid{background:#22c55e26;color:#4ade80}.status-badge.status-partial{background:#fbbf2426;color:#fbbf24}.status-badge.status-unpaid{background:#ef444426;color:#f87171}.invoices-list{display:flex;flex-direction:column;gap:8px}.invoice-item{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:10px;overflow:hidden}.invoice-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;transition:background .2s}.invoice-header:hover{background:#111}.invoice-info{display:flex;flex-direction:column;gap:4px}.invoice-number{font-family:SF Mono,monospace;font-weight:600;color:#c9fd5d}.invoice-date{font-size:12px;color:#666}.invoice-right{display:flex;align-items:center;gap:16px}.invoice-amount{font-size:16px;font-weight:600;color:#fff}.expand-icon{color:#666;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.invoice-details{padding:16px;border-top:1px solid #1a1a1a;background:#0d0d0d}.invoice-details h5{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;color:#666}.contract-chips{display:flex;flex-wrap:wrap;gap:8px}.contract-chip{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#111;border-radius:8px;border:1px solid #222}.chip-number{font-family:SF Mono,monospace;font-size:12px;color:#c9fd5d}.chip-employee{font-size:13px;color:#999}.chip-amount{font-size:13px;font-weight:600;color:#fff}.download-link{display:inline-block;margin-top:12px;padding:8px 16px;background:#1a1a1a;border:1px solid #333;border-radius:6px;color:#fff;font-size:13px;text-decoration:none;transition:all .2s}.download-link:hover{background:#222;border-color:#444}.empty-billing-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;color:#555}.empty-billing-state svg{margin-bottom:20px;opacity:.5}.empty-billing-state h3{margin:0 0 8px;font-size:18px;color:#888}.empty-billing-state p{margin:0;font-size:14px;max-width:400px}.muted{color:#555}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.signature-modal{background:#111;border-radius:16px;padding:32px;max-width:520px;width:100%;border:1px solid #333}.signature-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.signature-modal .modal-header h2{margin:0;font-size:20px;display:flex;align-items:center;gap:12px;color:#fff}.signature-modal .modal-header h2 svg{color:#c9fd5d}.close-btn{background:transparent;border:none;color:#666;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background:#222;color:#fff}.modal-description{margin:0 0 20px;color:#888;font-size:14px}.canvas-wrapper{background:#fff;border-radius:10px;padding:4px;margin-bottom:12px}.canvas-wrapper canvas{width:100%;height:150px;cursor:crosshair;touch-action:none;border-radius:8px}.canvas-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.clear-btn{background:transparent;border:1px solid #333;color:#888;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.clear-btn:hover{background:#222;color:#fff}.signature-status{font-size:12px;color:#666}.legal-notice{background:#0a0a0a;border-radius:8px;padding:16px;margin-bottom:24px;font-size:12px;color:#888;line-height:1.6;border:1px solid #222}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn-cancel{padding:12px 24px;background:transparent;border:1px solid #333;color:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#222}.btn-sign{padding:12px 24px;background:#c9fd5d;border:none;color:#000;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-sign:hover{background:#b8e654}.btn-sign:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.billing-section{padding:16px}.section-header{flex-wrap:wrap;gap:12px}.status-chip{margin-left:auto}.payment-methods-grid,.info-options,.details-grid{grid-template-columns:1fr}.details-grid .label{margin-top:8px}.employee-stats{grid-template-columns:1fr 1fr}.invoice-header{flex-direction:column;align-items:flex-start;gap:12px}.invoice-right{width:100%;justify-content:space-between}.contract-actions-row{flex-direction:column}.action-btn{width:100%;justify-content:center}}
