.cm-overlay{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.cm-mini{position:fixed;-webkit-user-select:none;user-select:none;z-index:10001}.cm-fullscreen{border-radius:0!important;height:100vh!important;max-width:none!important;width:100vw!important}.cm-mirror{transform:scaleX(-1)}@keyframes cm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cm-slide-up{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cm-pulse-ring{0%,to{box-shadow:0 0 0 0 rgba(99,102,241,.45)}50%{box-shadow:0 0 0 20px rgba(99,102,241,0)}}@keyframes cm-spin{to{transform:rotate(1turn)}}@keyframes cm-slide-mini{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cm-fade-in{animation:cm-fade-in .25s ease both}.cm-slide-up{animation:cm-slide-up .35s cubic-bezier(.16,1,.3,1) both}.cm-pulse-ring{animation:cm-pulse-ring 2s ease-in-out infinite}.cm-spin{animation:cm-spin .8s linear infinite}.cm-slide-mini{animation:cm-slide-mini .2s ease both}.cm-scroll::-webkit-scrollbar{width:5px}.cm-scroll::-webkit-scrollbar-track{background:transparent}.cm-scroll::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15);border-radius:999px}@media (max-width:768px){.cm-controls-label{display:none!important}}.fvp-panel{isolation:isolate;position:fixed;-webkit-user-select:none;user-select:none;z-index:1000}.fvp-panel.is-dragging{opacity:.92}.fvp-panel.is-resizing{transition:none!important}.fvp-fab{bottom:24px;left:auto!important;position:fixed;right:24px;top:auto!important;z-index:1000}.fvp-resize{position:absolute;z-index:10}.fvp-resize-n,.fvp-resize-s{cursor:ns-resize;height:6px;left:8px;right:8px}.fvp-resize-n{top:-3px}.fvp-resize-s{bottom:-3px}.fvp-resize-e,.fvp-resize-w{bottom:8px;cursor:ew-resize;top:8px;width:6px}.fvp-resize-e{right:-3px}.fvp-resize-w{left:-3px}.fvp-resize-ne,.fvp-resize-nw,.fvp-resize-se,.fvp-resize-sw{height:14px;width:14px}.fvp-resize-ne{cursor:nesw-resize;right:-4px;top:-4px}.fvp-resize-nw{cursor:nwse-resize;left:-4px;top:-4px}.fvp-resize-se{bottom:-4px;cursor:nwse-resize;right:-4px}.fvp-resize-sw{bottom:-4px;cursor:nesw-resize;left:-4px}.fvp-scroll::-webkit-scrollbar{width:5px}.fvp-scroll::-webkit-scrollbar-track{background:transparent}.fvp-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.fvp-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fvp-fab-ping{0%{box-shadow:0 0 0 0 rgba(99,102,241,.55)}70%{box-shadow:0 0 0 14px rgba(99,102,241,0)}to{box-shadow:0 0 0 0 rgba(99,102,241,0)}}@keyframes fvp-slide-up{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fvp-status-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 4px rgba(34,197,94,0)}}@keyframes fvp-incoming-ring{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.45);transform:scale(1)}50%{box-shadow:0 0 0 18px rgba(59,130,246,0);transform:scale(1.06)}}@keyframes fvp-spin{to{transform:rotate(1turn)}}.fvp-fab-ping{animation:fvp-fab-ping 2.5s cubic-bezier(.4,0,.6,1) infinite}.fvp-slide-up{animation:fvp-slide-up .35s cubic-bezier(.16,1,.3,1) both}.fvp-status-pulse{animation:fvp-status-pulse 2s ease-in-out infinite}.fvp-incoming-ring{animation:fvp-incoming-ring 1.4s ease-in-out infinite}.fvp-spin{animation:fvp-spin .8s linear infinite}@media (max-width:768px){.fvp-fab{bottom:14px;right:14px}}.fv-overlay{align-items:center;animation:fv-fadeIn .2s ease;background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fv-fadeIn{0%{opacity:0}to{opacity:1}}.fv-modal{animation:fv-slideUp .25s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;height:88vh;max-width:1200px;overflow:hidden;width:90vw}@keyframes fv-slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fv-header{display:none}.fv-header-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.fv-type-label{background:#e5e7eb;border-radius:12px;color:#6b7280;font-size:13px;padding:3px 10px;white-space:nowrap}.fv-filename{color:#1f2937;font-size:15px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.fv-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.fv-btn-icon{align-items:center;background:#e5e7eb;color:#374151;display:flex;font-size:16px;font-weight:600;height:32px;justify-content:center;width:32px}.fv-btn-icon:hover{background:#d1d5db}.fv-btn-download{background:#3b82f6;color:#fff;font-weight:500;padding:6px 14px}.fv-btn-download:hover{background:#2563eb}.fv-btn-close{align-items:center;background:none;color:#6b7280;display:flex;font-size:20px;height:32px;justify-content:center;padding:0;width:32px}.fv-btn-close:hover{background:#fee2e2;color:#ef4444}.fv-btn-primary{background:#3b82f6;color:#fff;font-size:14px;font-weight:500;padding:10px 20px}.fv-btn-primary:hover{background:#2563eb}.fv-zoom-controls{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;gap:4px;margin-right:8px;padding:2px}.fv-zoom-level{color:#6b7280;font-size:12px;min-width:40px;text-align:center}.fv-body{background:#f3f4f6;flex:1 1}.fv-body,.fv-image-container{align-items:center;display:flex;justify-content:center;overflow:auto}.fv-image-container{height:100%;padding:20px;width:100%}.fv-image{border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.1);max-height:100%;max-width:100%;object-fit:contain;transition:transform .2s ease}.fv-pdf-container,.fv-pdf-frame{height:100%;width:100%}.fv-pdf-frame{border:none}.fv-office-container,.fv-office-frame{height:100%;width:100%}.fv-office-frame{border:none}.fv-text-container{height:100%;overflow:auto;padding:24px;width:100%}.fv-text-content{word-wrap:break-word;background:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.06);color:#374151;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;margin:0;padding:24px;white-space:pre-wrap}.fv-download-prompt{align-items:center;display:flex;flex-direction:column;gap:12px;padding:40px;text-align:center}.fv-download-prompt h3{color:#1f2937;font-size:18px;margin:0;word-break:break-all}.fv-download-prompt p{color:#6b7280;font-size:14px;margin:0}.fv-file-icon-large{font-size:56px}.fv-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:16px}.fv-spinner{animation:fv-spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;width:40px}@keyframes fv-spin{to{transform:rotate(1turn)}}.fv-error{align-items:center;display:flex;flex-direction:column;gap:12px;padding:40px;text-align:center}.fv-error-icon{font-size:48px}.fv-error p{color:#ef4444;font-size:14px;margin:0}@media (max-width:768px){.fv-modal{border-radius:8px;height:95vh;width:98vw}.fv-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.fv-header-info{flex:1 1 100%}.fv-header-actions{flex:1 1 100%;justify-content:flex-end}}.tutor-home-layout{background:#f5f7fa;display:flex;min-height:calc(100vh - 60px)}.tutor-sidebar{background:linear-gradient(180deg,#1565c0,#0d47a1);box-shadow:2px 0 8px rgba(0,0,0,.1);color:#fff;display:flex;flex-direction:column;min-width:260px;width:260px}.tutor-sidebar-header{align-items:center;background:rgba(0,0,0,.1);border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;gap:12px;padding:20px}.tutor-avatar{align-items:center;background:hsla(0,0%,100%,.2);border-radius:50%;display:flex;font-size:1.1rem;font-weight:600;height:48px;justify-content:center;width:48px}.tutor-info{display:flex;flex-direction:column}.tutor-name{font-size:1rem;font-weight:600}.tutor-role{font-size:.8rem;opacity:.8}.tutor-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:16px 0}.tutor-nav-item{align-items:center;background:transparent;border:none;color:hsla(0,0%,100%,.85);cursor:pointer;display:flex;font-size:.95rem;gap:12px;padding:12px 20px;text-align:left;transition:all .2s ease;width:100%}.tutor-nav-item:hover{background:hsla(0,0%,100%,.1);color:#fff}.tutor-nav-item.active{background:hsla(0,0%,100%,.2);border-left:3px solid #fff;color:#fff}.nav-icon{font-size:1.2rem;text-align:center;width:24px}.nav-label{flex:1 1}.nav-badge{background:hsla(0,0%,100%,.2);border-radius:10px;font-size:.75rem;font-weight:600;padding:2px 8px}.tutor-main-content{flex:1 1;max-width:calc(100vw - 260px);overflow-y:auto;padding:24px}.tutor-dashboard-view{margin:0 auto;max-width:1200px}.tutor-welcome-banner{background:linear-gradient(135deg,#1976d2,#42a5f5);border-radius:16px;color:#fff;margin-bottom:24px;padding:32px}.tutor-welcome-banner h2{font-size:1.8rem;margin-bottom:8px}.tutor-welcome-banner p{opacity:.9}.tutor-stats-grid{grid-gap:20px;gap:20px;margin-bottom:32px}.tutor-stat-card{box-shadow:0 2px 8px rgba(0,0,0,.06);padding:24px;text-align:center;transition:transform .2s,box-shadow .2s}.tutor-stat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(-2px)}.stat-icon{font-size:2rem;margin-bottom:8px}.stat-value{color:#1976d2;font-size:2rem;font-weight:700}.stat-label{font-size:.9rem;margin-top:4px}.tutor-quick-actions{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:24px;padding:24px}.tutor-quick-actions h3{color:#333;margin-bottom:16px}.quick-action-buttons{display:flex;flex-wrap:wrap;gap:12px}.quick-action-btn{background:#f5f9ff;border:1px solid #e3f2fd;border-radius:8px;color:#1976d2;font-weight:500;padding:12px 20px;transition:all .2s}.quick-action-btn:hover{background:#e3f2fd;border-color:#1976d2}.tutor-recent-activity{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);padding:24px}.tutor-recent-activity h3{color:#333;margin-bottom:16px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{background:#f8f9fa;gap:12px;padding:12px}.activity-icon,.activity-item{align-items:center;border-radius:8px;display:flex}.activity-icon{background:#fff;font-size:1.2rem;height:36px;justify-content:center;width:36px}.activity-details{display:flex;flex:1 1;flex-direction:column}.activity-text{color:#333;font-size:.95rem}.activity-time{color:#888;font-size:.8rem}.my-students-view{display:flex;flex-direction:column;height:100%}.view-header{margin-bottom:24px}.view-header h2{color:#1976d2;margin-bottom:4px}.view-header p{color:#666}.students-content{display:flex;flex:1 1;gap:24px;min-height:0}.student-list-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;flex-direction:column;min-width:340px;overflow:hidden;width:340px}.student-list-header{border-bottom:1px solid #eee;padding:16px}.student-list-header h3{color:#333;margin-bottom:12px}.student-filters{display:flex;flex-direction:column;gap:8px}.student-search{border:1px solid #ddd;border-radius:8px;font-size:.9rem;outline:none;padding:10px 14px;transition:border-color .2s}.student-search:focus{border-color:#1976d2}.course-filter{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.9rem;padding:10px 14px}.student-list{flex:1 1;padding:8px}.student-list-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:12px;transition:background-color .2s}.student-list-item:hover{background:#f5f9ff}.student-list-item.selected{background:#e3f2fd;border:1px solid #1976d2}.student-avatar{align-items:center;background:linear-gradient(135deg,#1976d2,#42a5f5);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:600;height:40px;justify-content:center;width:40px}.student-info{flex:1 1;min-width:0}.student-course,.student-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-course{color:#666;font-size:.8rem}.student-progress{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.progress-bar{height:6px;width:60px}.progress-bar,.progress-fill{border-radius:3px}.progress-text{font-size:.75rem}.student-file-browser{flex:1 1;flex-direction:column;overflow:hidden}.file-browser-empty,.student-file-browser{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex}.file-browser-empty{align-items:center;flex:1 1;justify-content:center}.empty-icon{display:block;font-size:3rem}.empty-state h3{margin-bottom:8px}.file-browser-header{border-bottom:1px solid #eee;padding:16px 20px}.browser-breadcrumb{align-items:center;display:flex;font-size:.95rem;gap:8px}.breadcrumb-item{color:#333;font-weight:500}.breadcrumb-item.clickable{color:#1976d2;cursor:pointer}.breadcrumb-item.clickable:hover{text-decoration:underline}.breadcrumb-sep{color:#999}.upload-btn{align-items:center;background:#1976d2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 16px;transition:background-color .2s}.upload-btn:hover:not(:disabled){background:#1565c0}.upload-btn:disabled{cursor:not-allowed;opacity:.6}.file-browser-content{flex:1 1;overflow-y:auto;padding:20px}.folder-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.folder-card{align-items:center;background:#f8f9fa;border:2px solid transparent;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:24px 16px;transition:all .2s}.folder-card:hover{background:#e3f2fd;border-color:#1976d2;transform:translateY(-2px)}.folder-icon{font-size:2.5rem}.folder-name{color:#333;font-weight:500;text-align:center}.file-list-view{height:100%}.no-files{align-items:center;color:#666;display:flex;flex-direction:column;height:200px;justify-content:center}.no-files-icon{font-size:3rem;margin-bottom:12px}.upload-btn-secondary{background:#f5f9ff;border:1px solid #1976d2;border-radius:8px;color:#1976d2;cursor:pointer;font-weight:500;margin-top:16px;padding:10px 20px;transition:all .2s}.upload-btn-secondary:hover{background:#e3f2fd}.files-table{border-collapse:collapse;width:100%}.files-table td,.files-table th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}.files-table th{color:#555;font-size:.85rem;font-weight:600;text-transform:uppercase}.files-table th,.files-table tr:hover{background:#f8f9fa}.file-name-cell{align-items:center;display:flex;gap:10px}.file-icon{font-size:1.2rem}.uploaded-by{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:500;padding:3px 10px}.uploaded-by.tutor{background:#e3f2fd;color:#1976d2}.uploaded-by.student{background:#e8f5e9;color:#2e7d32}.file-actions{display:flex;gap:8px}.action-btn{background:transparent;border:1px solid #ddd;border-radius:6px;padding:6px 10px}.action-btn:hover{background:#f5f5f5;border-color:#999}.action-btn.danger:hover{background:#ffebee;border-color:#e57373}.coming-soon-view{align-items:center;display:flex;height:100%;justify-content:center;min-height:400px}.coming-soon-content{text-align:center}.coming-soon-icon{display:block;font-size:4rem;margin-bottom:16px}.coming-soon-content h2{color:#333;margin-bottom:8px}.coming-soon-content p{color:#666;margin-bottom:16px}.coming-soon-badge{border-radius:16px;padding:6px 16px}@media (max-width:1024px){.students-content{flex-direction:column}.student-list-panel{max-height:300px;min-width:0;min-width:auto;width:100%}}@media (max-width:768px){.tutor-home-layout{flex-direction:column}.tutor-sidebar{flex-direction:row;min-width:0;min-width:auto;overflow-x:auto;width:100%}.tutor-sidebar-header{display:none}.tutor-nav{flex-direction:row;gap:0;padding:8px}.tutor-nav-item{flex-direction:column;gap:4px;padding:10px 16px;text-align:center}.nav-label{font-size:.75rem}.nav-badge{display:none}.tutor-main-content{max-width:100vw;padding:16px}}.course-progress-view{display:flex;flex-direction:column;height:100%}.progress-content{display:flex;flex:1 1;gap:24px;min-height:0}.course-selection-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;flex-direction:column;min-width:320px;padding:20px;width:320px}.course-selection-panel h3{color:#333;font-size:1rem;margin:0 0 16px}.course-list{overflow-y:auto}.course-card{background:#f8f9fa;border:2px solid transparent;border-radius:10px;cursor:pointer;padding:16px;transition:all .2s}.course-card:hover{background:#f0f7ff;border-color:#90caf9}.course-card.selected{background:#e3f2fd;border-color:#1976d2}.course-card-header{align-items:center;gap:10px;margin-bottom:12px}.course-icon{font-size:1.4rem}.course-card .course-name{color:#333;font-size:.95rem;font-weight:600}.course-progress-bar{align-items:center;display:flex;gap:10px;margin-bottom:8px}.progress-track{background:#e0e0e0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.course-progress-bar .progress-fill{background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:4px;height:100%;transition:width .3s}.progress-percent{color:#1976d2;font-size:.9rem;font-weight:600;min-width:40px;text-align:right}.course-stats{color:#666;display:flex;font-size:.8rem;gap:16px}.syllabus-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);flex:1 1;overflow:hidden}.syllabus-empty,.syllabus-panel{display:flex;flex-direction:column}.syllabus-empty{align-items:center;color:#666;height:100%;justify-content:center;padding:40px;text-align:center}.syllabus-empty .empty-icon{font-size:3rem;margin-bottom:16px}.syllabus-empty h3{color:#333;margin-bottom:8px}.syllabus-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.syllabus-title{align-items:center;display:flex;gap:16px}.syllabus-title h3{color:#333;margin:0}.overall-progress{background:#e3f2fd;border-radius:12px;color:#1976d2;display:inline-block;font-size:.85rem;font-weight:600;padding:4px 12px}.overall-progress.complete{background:#e8f5e9;color:#2e7d32}.add-unit-btn{background:#1976d2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:background-color .2s}.add-unit-btn:hover{background:#1565c0}.units-list{flex:1 1;overflow-y:auto;padding:16px}.no-units{align-items:center;color:#666;display:flex;flex-direction:column;height:200px;justify-content:center;text-align:center}.no-units .empty-icon{font-size:3rem;margin-bottom:12px}.add-unit-btn-secondary{background:#f5f9ff;border:1px solid #1976d2;border-radius:8px;color:#1976d2;cursor:pointer;font-weight:500;margin-top:16px;padding:10px 20px;transition:all .2s}.add-unit-btn-secondary:hover{background:#e3f2fd}.unit-card{background:#f8f9fa;border:1px solid #e8e8e8;border-radius:10px;margin-bottom:12px;overflow:hidden}.unit-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:background-color .15s}.unit-header:hover{background:#f0f4f8}.expand-icon{color:#666;font-size:.7rem;transition:transform .2s}.expand-icon.expanded{transform:rotate(90deg)}.unit-info{flex:1 1;min-width:0}.unit-number{color:#888;display:block;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.unit-title{color:#333;display:block;font-size:1rem;font-weight:600}.unit-progress{align-items:center;display:flex;gap:8px}.mini-progress-bar{background:#ddd;border-radius:3px;height:6px;overflow:hidden;width:80px}.mini-progress-fill{background:#ffc107;border-radius:3px;height:100%;transition:width .3s}.mini-progress-fill.complete{background:#4caf50}.progress-label{color:#666;font-size:.8rem;min-width:30px}.unit-actions{display:flex;gap:4px}.unit-action-btn{background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:6px 8px;transition:background-color .15s}.unit-action-btn:hover{background:rgba(0,0,0,.08)}.unit-action-btn.danger:hover{background:#ffebee}.lessons-list{background:#fff;border-top:1px solid #e8e8e8;padding:8px 0}.no-lessons{color:#888;padding:20px;text-align:center}.no-lessons p{margin-bottom:8px}.add-lesson-link{background:none;border:none;color:#1976d2;cursor:pointer;font-size:.9rem;text-decoration:underline}.add-lesson-link:hover{color:#1565c0}.lesson-item{align-items:center;border-left:3px solid transparent;display:flex;gap:10px;padding:10px 16px;transition:background-color .15s}.lesson-item:hover{background:#f8f9fa}.lesson-item.status-completed{border-left-color:#4caf50}.lesson-item.status-in-progress{background:#fff8e1;border-left-color:#ff9800}.lesson-item.status-not-started{border-left-color:#e0e0e0}.lesson-checkbox{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;padding:4px;transition:background-color .15s}.lesson-checkbox:hover{background:rgba(0,0,0,.05)}.lesson-info{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.lesson-number{color:#888;font-size:.8rem;font-weight:500;min-width:30px}.lesson-title{color:#333;font-size:.95rem}.lesson-title.completed{color:#888;text-decoration:line-through}.lesson-date{font-size:.8rem;min-width:100px;text-align:right}.completed-date{color:#4caf50}.scheduled-date{color:#666}.lesson-delete-btn{background:none;border:none;border-radius:4px;color:#ccc;cursor:pointer;font-size:1.2rem;padding:4px 8px;transition:color .15s,background-color .15s}.lesson-delete-btn:hover{background:#ffebee;color:#e53935}.add-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.2);display:flex;flex-direction:column;max-height:90vh;max-width:420px;overflow:hidden;width:100%}.add-modal .modal-header{align-items:center;background:#1976d2;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.add-modal .modal-header h3{font-size:1.1rem;margin:0}.add-modal .modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.8;padding:0}.add-modal .modal-close:hover{opacity:1}.add-modal .modal-body{flex:1 1;overflow-y:auto;padding:20px}.add-modal .form-group{margin-bottom:16px}.add-modal .form-group:last-child{margin-bottom:0}.add-modal .form-group label{color:#555;display:block;font-weight:500;margin-bottom:6px}.add-modal .form-input{border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;padding:10px 14px;transition:border-color .2s;width:100%}.add-modal .form-input:focus{border-color:#1976d2;outline:none}.add-modal .modal-footer{background:#f5f5f5;border-top:1px solid #e0e0e0;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:16px 20px}.add-modal .btn-secondary{background:#e0e0e0;border:none;border-radius:6px;color:#333;cursor:pointer;font-weight:500;padding:10px 16px}.add-modal .btn-secondary:hover{background:#d0d0d0}.add-modal .btn-primary{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px}.add-modal .btn-primary:hover{background:#1565c0}.add-modal .btn-primary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:1024px){.progress-content{flex-direction:column}.course-selection-panel{max-height:250px;min-width:0;min-width:auto;width:100%}.course-list{flex-direction:row;flex-wrap:wrap}.course-card{flex:1 1;min-width:200px}}.student-progress-panel{padding:0}.progress-overview{align-items:center;background:linear-gradient(135deg,#1976d2,#42a5f5);border-radius:12px;color:#fff;display:flex;justify-content:space-between;margin-bottom:20px;padding:24px}.progress-course-info{align-items:center;display:flex;gap:16px}.progress-course-icon{font-size:2.5rem}.progress-course-details h4{font-size:1.3rem;margin:0 0 4px}.progress-student-name{font-size:.9rem;opacity:.9}.overall-progress-display{align-items:center;display:flex;flex-direction:column;gap:8px}.big-progress-ring{align-items:center;background:hsla(0,0%,100%,.2);border:4px solid hsla(0,0%,100%,.5);border-radius:50%;display:flex;height:80px;justify-content:center;width:80px}.progress-value{font-size:1.5rem;font-weight:700}.progress-status{font-size:.85rem;opacity:.9}.student-units{max-height:calc(100vh - 400px);overflow-y:auto;padding-right:8px}.progress-actions{border-top:1px solid #eee;display:flex;gap:12px;margin-top:16px;padding-top:16px}.progress-actions .add-unit-btn{padding:10px 20px}.assignments-list-view{padding:16px}.assignments-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.assignments-header h4{color:#374151;font-size:1.1rem;margin:0}.create-assignment-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s ease}.create-assignment-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 4px 12px rgba(59,130,246,.4);transform:translateY(-1px)}.no-assignments{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.no-assignments-icon{font-size:3rem;margin-bottom:12px}.no-assignments p{color:#6b7280;margin-bottom:16px}.create-assignment-btn-secondary{background:#f3f4f6;border:2px dashed #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.create-assignment-btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}.assignments-list{display:flex;flex-direction:column;gap:12px}.assignment-card{border:1px solid #e5e7eb;transition:all .2s ease}.assignment-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.assignment-card.overdue{border-left:4px solid #ef4444}.assignment-card-header{align-items:center;cursor:pointer;gap:12px;transition:background .15s ease}.assignment-card-header:hover{background:#f9fafb}.expand-arrow{color:#9ca3af;font-size:.75rem;transition:transform .2s ease}.expand-arrow.expanded{transform:rotate(90deg)}.assignment-info{flex:1 1;min-width:0}.assignment-title{color:#1f2937;display:block;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-dates{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:.8rem;gap:8px}.due-soon-badge{background:#fef3c7;color:#b45309}.due-soon-badge,.overdue-badge{border-radius:12px;font-size:.7rem;font-weight:600;padding:2px 8px}.overdue-badge{background:#fef2f2;color:#dc2626}.assignment-status-badge{align-items:center;border-radius:20px;display:flex;font-size:.8rem;font-weight:500;gap:6px;padding:6px 12px;white-space:nowrap}.assignment-card-body{animation:slideDown .2s ease;border-top:1px solid #f3f4f6;padding:0 16px 16px 40px}.assignment-description{margin-bottom:16px}.assignment-description strong{color:#374151;display:block;font-size:.85rem;margin-bottom:6px}.assignment-description p{color:#6b7280;font-size:.9rem;line-height:1.5;margin:0}.assignment-attachments{margin-bottom:16px}.assignment-attachments strong{color:#374151;display:block;font-size:.85rem;margin-bottom:8px}.attachment-list{display:flex;flex-wrap:wrap;gap:8px}.attachment-chip{background:#f3f4f6;border-radius:6px;color:#4b5563;font-size:.8rem;padding:6px 12px}.assignment-feedback,.assignment-submission-info,.late-pass-info,.revision-info{background:#f9fafb;border-radius:8px;font-size:.9rem;margin-bottom:16px;padding:12px}.revision-info{background:#fef2f2;border-left:3px solid #ef4444}.late-pass-info{background:#f5f3ff;border-left:3px solid #8b5cf6}.assignment-feedback{background:#f0fdf4;border-left:3px solid #22c55e}.new-due{color:#b45309;font-weight:600;margin-top:8px}.grade-display{color:#15803d;font-size:1rem;font-weight:700;margin-top:8px}.assignment-actions{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:10px;padding-top:12px}.action-btn-status{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.action-btn-status.pending{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.action-btn-status.pending:hover{background:#ffedd5}.action-btn-status.complete{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.action-btn-status.complete:hover{background:#dcfce7}.action-btn-status.revision{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.action-btn-status.revision:hover{background:#fee2e2}.action-btn-status.late-pass{background:#f5f3ff;border:1px solid #ddd6fe;color:#6d28d9}.action-btn-status.late-pass:hover{background:#ede9fe}.action-btn-icon{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.action-btn-icon:hover{background:#f3f4f6}.action-btn-icon.edit:hover{background:#eff6ff;border-color:#93c5fd}.action-btn-icon.delete:hover{background:#fef2f2;border-color:#fecaca}.assignment-modal{max-width:520px;width:100%}.form-textarea{min-height:80px}.form-info{align-items:center;background:#f0f9ff;color:#0369a1;display:flex;font-size:.85rem;gap:8px;margin-top:8px;padding:10px 12px}.info-icon{flex-shrink:0}.modal-info-box{border-radius:8px;font-size:.9rem;line-height:1.6;margin-bottom:16px;padding:12px 16px}.modal-info-box.warning{background:#fef3c7;border-left:4px solid #f59e0b}.modal-info-box.alert{align-items:flex-start;background:#fef2f2;border-left:4px solid #ef4444;display:flex;gap:12px}.modal-info-box.success{background:#f0fdf4;border-left:4px solid #22c55e}.alert-icon{font-size:1.2rem}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309)!important}.btn-purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important}.btn-purple:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)!important}.btn-success{background:linear-gradient(135deg,#22c55e,#16a34a)!important}.btn-success:hover{background:linear-gradient(135deg,#16a34a,#15803d)!important}.late-pass-modal .modal-header,.revision-modal .modal-header{background:#fef3c7}.feedback-modal .modal-header{background:#f0fdf4}.session-reports-view{padding:16px}.reports-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.reports-header-info h4{color:#374151;font-size:1.1rem;margin:0 0 4px}.reports-subtitle{color:#6b7280;font-size:.85rem;margin:0}.create-report-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s ease}.create-report-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px rgba(139,92,246,.4);transform:translateY(-1px)}.reports-stats-bar{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;margin-bottom:20px;padding:16px 20px}.reports-stats-bar .stat-item{align-items:center;border-right:1px solid #e2e8f0;display:flex;flex:1 1;flex-direction:column;padding:8px 16px}.reports-stats-bar .stat-item:last-child{border-right:none}.reports-stats-bar .stat-item.highlight{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:8px;border-right:none}.reports-stats-bar .stat-number{color:#1f2937;font-size:1.5rem;font-weight:700}.reports-stats-bar .stat-label{color:#6b7280;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.no-reports{align-items:center;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.no-reports-icon{font-size:3rem;margin-bottom:12px}.no-reports p{color:#374151;font-weight:500;margin:0 0 4px}.no-reports-hint{color:#9ca3af;font-size:.9rem;margin-bottom:16px}.create-report-btn-secondary{background:#fff;border:2px solid #c4b5fd;border-radius:8px;color:#7c3aed;cursor:pointer;font-weight:500;padding:10px 24px;transition:all .2s ease}.create-report-btn-secondary:hover{background:#f5f3ff;border-color:#8b5cf6}.reports-list{display:flex;flex-direction:column;gap:12px}.report-card{border:1px solid #e5e7eb;transition:all .2s ease}.report-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.report-card-header{cursor:pointer;gap:12px;transition:background .15s ease}.report-card-header:hover{background:#f9fafb}.report-info{flex:1 1;min-width:0}.report-title{color:#1f2937;display:block;font-weight:600;margin-bottom:2px}.report-meta{color:#9ca3af;font-size:.8rem}.report-quick-stats{display:flex;gap:8px}.quick-stat{align-items:center;border-radius:12px;display:flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 10px}.quick-stat.completed{background:#f0fdf4;color:#15803d}.quick-stat.pending{background:#fefce8;color:#a16207}.quick-stat.missing{background:#fef2f2;color:#b91c1c}.report-actions-header{display:flex;gap:6px}.report-action-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.report-action-btn.view:hover{background:#eff6ff;border-color:#93c5fd}.report-action-btn.delete:hover{background:#fef2f2;border-color:#fecaca}.report-card-body{animation:slideDown .2s ease;border-top:1px solid #f3f4f6;padding:0 16px 16px 40px}.report-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px;padding-top:16px}.summary-item{background:#f9fafb;border-radius:8px;padding:12px;text-align:center}.summary-label{color:#6b7280;display:block;font-size:.7rem;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.summary-value{color:#1f2937;display:block;font-size:1.25rem;font-weight:700}.report-section{margin-bottom:16px}.report-section strong{color:#374151;display:block;font-size:.85rem;margin-bottom:8px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{border-radius:16px;font-size:.8rem;font-weight:500;padding:6px 12px}.tag.strength{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.tag.improvement{background:#fef3c7;border:1px solid #fcd34d;color:#b45309}.tag.editable{align-items:center;display:flex;gap:6px}.tag-remove{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;opacity:.7;padding:0}.tag-remove:hover{opacity:1}.goals-text,.tutor-notes-text{background:#f9fafb;border-radius:8px;color:#4b5563;line-height:1.6;margin:0;padding:12px}.report-modal{max-width:600px;width:100%}.report-header{background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.form-group.half{flex:1 1}.tag-input-container{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.tags-display{flex-wrap:wrap;margin-bottom:12px;min-height:24px}.tag-input-row,.tags-display{display:flex;gap:8px}.tag-input{flex:1 1}.tag-add-btn{background:#22c55e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.tag-add-btn:hover{background:#16a34a}.tag-add-btn.improvement{background:#f59e0b}.tag-add-btn.improvement:hover{background:#d97706}.modal-info-box.info{background:#eff6ff;border-left:4px solid #3b82f6}.view-report-modal{max-width:650px;width:100%}.view-report-header{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.view-report-body{padding:24px}.view-report-student-info{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;margin-bottom:24px;padding-bottom:16px}.student-avatar.large{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:1.25rem;height:64px;width:64px}.student-details h4{color:#1f2937;margin:0 0 4px}.student-details p{color:#6b7280;font-size:.9rem;margin:0 0 4px}.report-period{color:#9ca3af;font-size:.8rem}.view-report-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.view-report-stats .stat-card{align-items:center;background:#f9fafb;border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:16px;text-align:center}.view-report-stats .stat-card.highlight{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.view-report-stats .stat-icon{font-size:1.25rem}.view-report-stats .stat-value{color:#1f2937;font-size:1.5rem;font-weight:700}.view-report-stats .stat-label{color:#6b7280;font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.view-report-section{margin-bottom:20px}.view-report-section h5{color:#374151;font-size:.95rem;margin:0 0 12px}.goals-box,.tutor-notes-box{background:#f9fafb;border-left:3px solid #3b82f6;border-radius:8px;padding:16px}.goals-box p,.tutor-notes-box p{color:#4b5563;line-height:1.6;margin:0}.view-report-footer-info{border-top:1px solid #e5e7eb;color:#9ca3af;font-size:.8rem;padding-top:16px;text-align:center}.tutor-section-view{padding:20px}.tutor-section-view .section-header h2{color:#1e293b;font-size:1.4em;margin:0 0 4px}.tutor-section-view .section-header p{color:#6b7280;font-size:14px;margin:0 0 16px}.student-work-list{display:flex;flex-direction:column;gap:16px}.student-work-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.student-work-card-header{align-items:center;background:#f9fafb;border-bottom:1px solid #f3f4f6;display:flex;gap:10px;padding:14px 16px}.student-avatar-sm{align-items:center;background:#7c3aed;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.student-work-subjects{padding:4px 0}.student-work-subject{border-bottom:1px solid #f3f4f6}.student-work-subject:last-child{border-bottom:none}.student-work-subject-btn{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:space-between;padding:10px 16px;transition:background .15s;width:100%}.student-work-subject-btn:hover{background:#f9fafb}.student-work-subject-assignments{padding:0 16px 12px}.student-work-assignment{background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;padding:10px 12px}.student-work-assignment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.student-work-files{display:flex;flex-direction:column;gap:3px}.student-work-file{align-items:center;background:#fff;border:1px solid #f3f4f6;border-radius:4px;display:flex;gap:8px;padding:4px 8px}.student-work-file .grade-file-view-btn{background:#eff6ff;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;flex-shrink:0;font-size:12px;padding:3px 10px}.student-work-file .grade-file-view-btn:hover{background:#dbeafe}

/*!
 * Quill Editor v2.0.2
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;-o-tab-size:4;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre{margin:0;padding:0}@supports (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor li,.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"\2022"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"\2611"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"\2610"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor .ql-code-block-container,.ql-snow .ql-editor code{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.child-switcher{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.child-switcher-trigger{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:8px 12px;text-align:left;transition:all .2s ease;width:100%}.child-switcher-trigger:hover{background:#f9fafb;border-color:#d1d5db}.child-switcher-trigger.open{background:#f3f4f6;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.child-switcher-trigger.disabled{cursor:not-allowed;opacity:.7}.child-switcher-trigger.error{background:#fef2f2;border-color:#ef4444}.child-switcher-trigger.no-children{background:#f9fafb;border-style:dashed}.child-avatar{flex-shrink:0;font-size:14px;height:40px;width:40px}.child-avatar.small{font-size:12px;height:32px;width:32px}.child-avatar.loading{background:#e5e7eb}.child-avatar.error{background:#ef4444;font-size:18px}.child-avatar.empty{background:#e5e7eb;font-size:20px}.spinner-small{animation:spin .8s linear infinite;border:2px solid #d1d5db;border-radius:50%;border-top-color:#3b82f6;height:16px;width:16px}.child-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.child-name{color:#111827;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child-meta{color:#6b7280;font-size:12px}.child-hint{color:#9ca3af;font-size:11px}.tutor-badge{background:#ecfdf5;border-radius:6px;font-size:16px;padding:2px 6px}.dropdown-arrow{color:#9ca3af;font-size:10px;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.child-dropdown{animation:dropdownFadeIn .15s ease;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.1);left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 14px;text-transform:uppercase}.dropdown-list{max-height:280px;overflow-y:auto}.child-option{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:10px;padding:10px 14px;text-align:left;transition:background .15s ease;width:100%}.child-option:hover{background:#f3f4f6}.child-option.selected{background:#eff6ff}.child-option-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.child-option-name{color:#111827;font-size:14px;font-weight:500}.child-option-meta{color:#6b7280;font-size:12px}.check-mark,.tutor-indicator{font-size:14px}.check-mark{color:#3b82f6;font-weight:600}.dropdown-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:8px 14px}.switch-hint{color:#9ca3af;font-size:11px}.child-switcher.compact .child-switcher-trigger{gap:8px;padding:6px 10px}.child-switcher.compact .child-avatar{font-size:12px;height:32px;width:32px}.child-switcher.compact .child-name{font-size:13px}.child-switcher.compact .child-meta{display:none}@media (max-width:640px){.child-switcher-trigger{padding:6px 10px}.child-avatar{height:36px;width:36px}.child-name{font-size:13px}.child-meta{font-size:11px}}.tutor-mode-container{margin:0 auto;max-width:1400px;padding:24px}.tutor-mode-empty,.tutor-mode-loading,.tutor-mode-restricted{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:48px;text-align:center}.tutor-mode-empty .empty-icon,.tutor-mode-restricted .restricted-icon{font-size:64px;margin-bottom:16px}.tutor-mode-empty h3,.tutor-mode-restricted h3{color:#333;margin:0 0 8px}.tutor-mode-empty p,.tutor-mode-restricted p{color:#666;margin:0}.tutor-mode-restricted .help-text{color:#999;font-size:13px;margin-top:8px}.tutor-mode-loading .spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#4a90d9;height:40px;margin-bottom:16px;width:40px}.tutor-mode-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.header-info h2{color:#333;font-size:24px;margin:0 0 4px}.header-info p{color:#666;margin:0}.header-actions{display:flex;gap:12px}.tutor-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.tutor-stat-card{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;gap:16px;padding:20px}.tutor-stat-card.upcoming{border-left:4px solid #4a90d9}.tutor-stat-card.completed{border-left:4px solid #28a745}.tutor-stat-card.pending{border-left:4px solid #ffc107}.stat-icon{font-size:32px}.stat-content h3{color:#333;font-size:28px;margin:0}.stat-content p{color:#666;font-size:13px;margin:0}.permissions-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);margin-bottom:24px;padding:20px}.permissions-card h3{color:#333;font-size:16px;margin:0 0 16px}.permissions-grid{grid-gap:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.permission-item{align-items:center;border-radius:8px;display:flex;font-size:14px;gap:8px;padding:8px 12px}.permission-item.enabled{background:#e8f5e9;color:#2e7d32}.permission-item.disabled{background:#ffebee;color:#c62828}.recent-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);margin-bottom:24px;padding:20px}.recent-section h3{color:#333;font-size:16px;margin:0 0 16px}.empty-list{color:#666;padding:24px}.empty-list .check-icon{display:block;font-size:48px;margin:16px 0}.empty-list .success-text{color:#28a745;font-weight:500}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:16px;padding:16px}.session-item.completed{border-left:4px solid #28a745}.session-item.scheduled{border-left:4px solid #4a90d9}.session-item.cancelled{border-left:4px solid #dc3545;opacity:.7}.session-date{min-width:100px}.session-date .date{color:#333;display:block;font-weight:600}.session-date .time{color:#666;font-size:13px}.session-info{flex:1 1}.session-info h4{color:#333;font-size:14px;margin:0 0 4px}.session-info p{color:#666;font-size:13px;margin:0}.session-status{border-radius:16px;font-size:13px;font-weight:500;padding:4px 12px}.session-status.completed{background:#e8f5e9;color:#2e7d32}.session-status.scheduled{background:#e3f2fd;color:#1565c0}.session-status.cancelled{background:#ffebee;color:#c62828}.sessions-container{display:flex;flex-direction:column;gap:24px}.sessions-section h3{color:#333;font-size:16px;margin:0 0 16px}.sessions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.session-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.session-card.upcoming{border-top:4px solid #4a90d9}.session-card-header{align-items:center;background:#f8f9fa;display:flex;justify-content:space-between;padding:16px}.session-card-header h4{color:#333;font-size:16px;margin:0}.session-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.session-badge.scheduled{background:#e3f2fd;color:#1565c0}.session-card-body{padding:16px}.session-datetime,.session-time{color:#666;display:block;font-size:14px;margin-bottom:4px}.meeting-link{background:#4a90d9;border-radius:6px;color:#fff;display:inline-block;font-size:13px;margin-top:8px;padding:6px 12px;text-decoration:none}.meeting-link:hover{background:#3a7bc8}.session-notes{border-top:1px solid #e9ecef;color:#666;font-size:14px;margin-top:12px;padding-top:12px}.session-card-actions{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:8px;padding:12px 16px}.assignments-container{display:flex;flex-direction:column;gap:24px}.assignments-section h3{color:#333;font-size:16px;margin:0 0 16px}.assignments-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.assignment-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.assignment-card.active{border-top:4px solid #4a90d9}.assignment-card.submitted{border-top:4px solid #ffc107}.assignment-card-header{align-items:flex-start;background:#f8f9fa;display:flex;justify-content:space-between;padding:16px}.assignment-card-header h4{color:#333;font-size:15px;margin:0}.assignment-badge{background:#e9ecef;border-radius:12px;color:#495057;font-size:11px;font-weight:500;padding:4px 10px}.assignment-badge.submitted{background:#fff3cd;color:#856404}.assignment-card-body{padding:16px}.assignment-due,.assignment-points,.assignment-submitted{color:#666;font-size:13px;margin:4px 0}.assignment-description{color:#555;font-size:14px;margin-top:8px}.assignment-card-actions{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:8px;padding:12px 16px}.assignments-list.compact{display:flex;flex-direction:column;gap:8px}.assignment-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.assignment-item.graded{border-left:4px solid #28a745}.assignment-item.pending{border-left:4px solid #ffc107}.assignment-item .assignment-info h4{color:#333;font-size:14px;margin:0 0 2px}.subject-tag{background:#e9ecef;font-size:12px}.assignment-grade{text-align:right}.grade-score{color:#28a745;font-size:18px;font-weight:600}.grade-percent{color:#666;display:block;font-size:12px}.grading-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:320px 1fr;min-height:600px}.grading-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:20px}.grading-sidebar h3{color:#333;font-size:15px;margin:0 0 16px}.pending-list{display:flex;flex-direction:column;gap:8px}.pending-item{background:#f8f9fa;border:2px solid transparent;border-radius:8px;cursor:pointer;padding:12px;transition:all .2s}.pending-item:hover{background:#e9ecef}.pending-item.selected{background:#e3f2fd;border-color:#4a90d9}.pending-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:4px}.pending-item-header h4{color:#333;font-size:14px;margin:0}.points-badge{background:#e9ecef;border-radius:8px;color:#666;font-size:11px;padding:2px 6px}.pending-item-subject{color:#666;font-size:12px;margin:0 0 4px}.pending-item-date{color:#999;font-size:11px;margin:0}.grading-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.grading-empty{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.grading-empty .empty-icon{font-size:48px;margin-bottom:16px}.grading-content{padding:24px}.assignment-preview{margin-bottom:24px}.preview-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.preview-header h3{color:#333;font-size:20px;margin:0}.subject-badge{background:#e3f2fd;border-radius:16px;color:#1565c0;font-size:13px;padding:4px 12px}.preview-details{grid-gap:12px;background:#f8f9fa;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px;padding:16px}.detail-item .label{color:#666;font-size:12px}.preview-section{margin-bottom:16px}.preview-section h4{color:#333;font-size:14px;margin:0 0 8px}.preview-section p{color:#666;font-size:14px;line-height:1.6;margin:0}.submission-content{background:#f8f9fa;border-radius:8px;padding:16px}.grading-form{border-top:2px solid #e9ecef;padding-top:24px}.grading-form h4{color:#333;font-size:16px;margin:0 0 16px}.score-input{flex:0 0 150px}.score-field{align-items:center;display:flex;gap:8px}.score-field input{font-size:20px;font-weight:600;text-align:center;width:80px}.score-field span{color:#666;font-size:16px}.score-percentage{color:#28a745;font-size:14px;font-weight:500;margin-top:4px}.quick-grades{align-items:flex-end;display:flex;gap:8px}.quick-grade{background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.quick-grade:hover{background:#e3f2fd;border-color:#4a90d9}.reports-container{display:flex;flex-direction:column;gap:24px}.alert{align-items:center;background:#fff3cd;border:1px solid #ffeaa7;border-radius:12px;display:flex;gap:16px;padding:16px 20px}.alert-icon{font-size:24px}.alert-content{flex:1 1}.alert-content strong{color:#856404;display:block;margin-bottom:4px}.alert-content p{color:#856404;font-size:14px;margin:0}.reports-section h3{color:#333;font-size:16px;margin:0 0 16px}.reports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.report-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.report-card-header{align-items:center;justify-content:space-between;padding:16px}.report-date .date{color:#333;display:block;font-weight:600}.report-date .subject{color:#666;font-size:13px}.report-rating{font-size:14px}.report-card-body{padding:16px}.report-progress{margin-bottom:16px}.progress-badge{border-radius:16px;display:inline-block;font-size:13px;font-weight:500;padding:4px 12px}.progress-badge.excellent{background:#e8f5e9;color:#2e7d32}.progress-badge.good{background:#e3f2fd;color:#1565c0}.progress-badge.satisfactory{background:#fff3e0;color:#e65100}.progress-badge.needs-improvement{background:#ffebee;color:#c62828}.report-section{margin-bottom:12px}.report-section h5{color:#666;font-size:13px;margin:0 0 4px}.report-section p{color:#333;font-size:14px;line-height:1.5;margin:0}.report-section.parent-notes{background:#fff8e1;border-radius:8px;margin-top:16px;padding:12px}.report-card-footer{padding:12px 16px}.created-date{color:#999;font-size:12px}.rating-input{display:flex;gap:4px}.rating-input .star{cursor:pointer;font-size:24px;opacity:.3;transition:opacity .2s}.rating-input .star.filled{opacity:1}.rating-input .star:hover{opacity:.8}.materials-container{display:flex;flex-direction:column;gap:24px}.materials-section h3{color:#333;font-size:16px;margin:0 0 16px}.materials-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.material-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.material-card-header{background:#f8f9fa;display:flex;gap:12px;padding:16px}.material-type-icon{font-size:28px}.material-title h4{color:#333;font-size:15px;margin:0 0 2px}.material-type{color:#666;font-size:12px;text-transform:capitalize}.material-card-body{padding:16px}.material-description{color:#666;font-size:14px;margin:0 0 8px}.material-file{color:#333;font-size:13px;margin:0 0 4px}.material-file .file-size{color:#999;margin-left:4px}.material-date{color:#999;font-size:12px;margin:8px 0 0}.material-card-actions{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:8px;padding:12px 16px}.empty-state-large{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:48px;text-align:center}.empty-state-large .empty-icon{font-size:64px;margin-bottom:16px}.empty-state-large h3{color:#333;margin:0 0 8px}.empty-state-large p{color:#666;margin:0 0 16px}.file-upload-area{border:2px dashed #dee2e6;border-radius:8px;padding:16px;text-align:center;transition:all .2s}.file-upload-area:hover{background:#f8f9fa;border-color:#4a90d9}.file-preview{align-items:center;background:#e3f2fd;border-radius:6px;display:flex;justify-content:space-between;margin-top:12px;padding:8px}.file-name{color:#1565c0}.file-size{color:#666;font-size:13px}.form-help{color:#999;font-size:12px;margin:8px 0}.modal-content{border-radius:16px}.modal-header{border-bottom:1px solid #e9ecef}.modal-header h3{color:#333;font-size:18px}.close-btn{background:none;border:none;color:#999;cursor:pointer;font-size:24px;line-height:1;padding:0}.close-btn:hover{color:#333}form{padding:24px}.form-group label{color:#333;font-size:14px}.form-group input,.form-group select,.form-group textarea{border:1px solid #dee2e6;border-radius:8px;font-size:14px;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4a90d9;box-shadow:0 0 0 3px rgba(74,144,217,.1);outline:none}.form-actions{border-top:1px solid #e9ecef;margin-top:24px;padding-top:16px}.btn-primary:disabled{background:#a0c4e8}.btn-secondary{background:#e9ecef;color:#495057}.btn-secondary:hover{background:#dee2e6}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-danger{background:#dc3545}.btn-danger:hover{background:#c82333}.btn-link{color:#4a90d9;padding:0}.btn-link:hover{text-decoration:underline}@media (max-width:768px){.tutor-mode-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{flex-wrap:wrap;width:100%}.grading-layout{grid-template-columns:1fr}.grading-sidebar{order:2}.grading-panel{order:1}.form-row{grid-template-columns:1fr}.permissions-grid{grid-template-columns:1fr 1fr}}.grade-file-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:8px;margin-bottom:4px;padding:6px 10px}.grade-file-name{color:#374151;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-file-view-btn{background:#eff6ff;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;flex-shrink:0;font-size:12px;padding:4px 12px;transition:background .15s}.grade-file-view-btn:hover{background:#dbeafe}.grade-submission-entry{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px;padding:12px}.grade-submission-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.grade-feedback-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.grade-pending-file{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;font-size:12px;gap:6px;padding:4px 8px}.grade-pending-file button{background:none;border:none;color:#ef4444;cursor:pointer;font-size:14px;padding:0 2px}.btn-warning{background:#f59e0b}.btn-warning:hover{background:#d97706}.btn-warning:disabled{background:#fcd34d}.file-attach-zone{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;padding:24px 16px;text-align:center;transition:all .2s ease}.file-attach-zone:hover{background:#eff6ff;border-color:#3b82f6}.file-attach-zone p{color:#6b7280;font-size:13px;margin:4px 0 0}.parent-visibility-container{margin:0 auto;max-width:1400px;padding:24px}.visibility-header{border-bottom:2px solid #e9ecef;margin-bottom:24px;padding-bottom:16px}.visibility-header h2{color:#333;font-size:24px;margin:0 0 4px}.visibility-header p{color:#666;margin:0}.visibility-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.search-box{flex:1 1;max-width:400px;min-width:200px;position:relative}.search-box input{border:1px solid #dee2e6;border-radius:8px;font-size:14px;padding:10px 40px 10px 16px;width:100%}.search-box input:focus{border-color:#4a90d9;box-shadow:0 0 0 3px rgba(74,144,217,.1);outline:none}.search-box .search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.filter-controls{align-items:center;display:flex;gap:12px}.filter-controls select{border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 14px}.filter-controls select:focus{border-color:#4a90d9;outline:none}.view-toggle{border:1px solid #dee2e6;overflow:hidden}.view-toggle button{background:#fff;font-size:16px;padding:8px 12px;transition:all .2s}.view-toggle button:hover{background:#f8f9fa}.view-toggle button.active{background:#4a90d9;color:#fff}.attendance-toggle button{font-size:14px;padding:8px 16px}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.filter-tabs button{background:#fff;border:1px solid #dee2e6;border-radius:20px;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s}.filter-tabs button:hover{background:#f8f9fa;border-color:#4a90d9}.filter-tabs button.active{background:#4a90d9;border-color:#4a90d9;color:#fff}.tab-navigation{border-bottom:2px solid #e9ecef;display:flex;gap:8px;margin-bottom:24px;padding-bottom:0}.tab-btn{background:none;border:none;border-bottom:3px solid transparent;color:#666;cursor:pointer;font-size:15px;margin-bottom:-2px;padding:12px 24px;transition:all .2s}.tab-btn:hover{color:#333}.tab-btn.active{border-bottom-color:#4a90d9;color:#4a90d9;font-weight:500}.summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}.summary-card{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;gap:16px;padding:20px}.summary-card.overall{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.summary-card.present{border-left:4px solid #22c55e}.summary-card.absent{border-left:4px solid #ef4444}.summary-card.tardy{border-left:4px solid #f97316}.summary-card.excused{border-left:4px solid #3b82f6}.summary-card.completed{border-left:4px solid #22c55e}.summary-card.in-progress{border-left:4px solid #f97316}.summary-icon{font-size:32px}.summary-content{display:flex;flex-direction:column}.summary-value{color:#333;font-size:28px;font-weight:600}.summary-label{color:#666;font-size:13px}.letter-grade{font-size:36px;font-weight:700;margin-left:auto}.file-stats{background:#f8f9fa;border-radius:12px;display:flex;gap:24px;margin-bottom:24px;padding:16px 20px}.stat-item{flex-direction:column}.stat-value{color:#333;font-size:20px}.stat-label{color:#666;font-size:12px}.files-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.list-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;color:#666;font-size:13px;font-weight:600}.file-row,.list-header{grid-gap:16px;display:grid;gap:16px;grid-template-columns:2fr 1fr 1fr 100px 120px 80px;padding:12px 20px}.file-row{align-items:center;border-bottom:1px solid #f0f0f0;transition:background .2s}.file-row:hover{background:#f8f9fa}.file-row:last-child{border-bottom:none}.col-name{align-items:center;display:flex;gap:12px}.file-icon{font-size:24px}.file-name{color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-badge{background:#e9ecef;border-radius:12px;color:#495057;display:inline-block;font-size:12px;padding:4px 10px}.category-badge.small{font-size:11px;padding:2px 8px}.col-date,.col-size,.col-subject{color:#666;font-size:13px}.btn-icon{border-radius:6px;padding:6px 10px;text-decoration:none}.btn-icon:hover{background:#e9ecef}.files-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.file-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:12px;padding:20px}.file-card-icon{font-size:40px}.file-card-name{color:#333;font-size:15px;margin:0}.file-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0}.subject-tag{background:#f0f0f0;border-radius:10px;color:#666;font-size:11px;padding:2px 8px}.file-card-details{color:#999;font-size:12px;margin:0}.file-card-action{background:#4a90d9;border-radius:6px;color:#fff;font-size:13px;margin-top:auto;padding:8px 16px;text-align:center;text-decoration:none;transition:background .2s}.file-card-action:hover{background:#3a7bc8}.grades-sections{display:flex;flex-direction:column;gap:24px}.subject-grades-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.subject-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px 20px}.subject-header h3{color:#333;font-size:16px;margin:0}.subject-average{align-items:center;display:flex;gap:8px}.avg-score{color:#333;font-size:18px;font-weight:600}.avg-letter{font-size:20px;font-weight:700}.grades-table{padding:8px 0}.grades-table-header{color:#999;font-size:12px;font-weight:500;padding:8px 20px}.grade-row,.grades-table-header{grid-gap:16px;display:grid;gap:16px;grid-template-columns:2fr 100px 100px 80px 60px}.grade-row{align-items:center;border-bottom:1px solid #f0f0f0;padding:12px 20px}.grade-row:last-child{border-bottom:none}.assignment-name{color:#333;font-weight:500}.type-badge{background:#e9ecef;border-radius:10px;color:#666;display:inline-block;font-size:11px;padding:3px 8px}.grade-date{color:#666;font-size:13px}.grade-score{color:#333;font-weight:500}.grade-letter{font-size:18px;text-align:center}.report-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.report-card-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.report-card-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:16px;padding:20px}.report-icon{font-size:32px}.report-info h4{color:#333;font-size:16px;margin:0 0 4px}.report-info p{color:#666;font-size:13px;margin:0}.report-card-body{padding:20px}.report-gpa{align-items:baseline;display:flex;gap:8px;margin-bottom:16px}.gpa-label{color:#666;font-size:13px}.gpa-value{color:#333;font-size:32px}.report-subjects-preview{display:flex;flex-direction:column;gap:8px}.subject-preview{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.subject-preview .subject-name{color:#333;font-size:14px}.subject-preview .subject-grade{font-size:15px;font-weight:600}.more-subjects{color:#999;font-size:12px;margin:8px 0 0;text-align:center}.report-card-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px 20px}.report-date{color:#666;font-size:12px}.attendance-calendar{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:24px}.calendar-header{align-items:center;display:flex;gap:24px;justify-content:center;margin-bottom:20px}.calendar-header h3{font-size:18px;margin:0;min-width:180px;text-align:center}.nav-btn{background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;padding:8px 16px;transition:all .2s}.nav-btn:hover{background:#f8f9fa;border-color:#4a90d9}.calendar-day-label{color:#666;font-size:13px;font-weight:600;padding:8px;text-align:center}.calendar-day{align-items:center;cursor:default;display:flex;flex-direction:column;justify-content:center;transition:all .2s}.calendar-day.empty{background:none}.calendar-day:not(.empty){background:#f8f9fa}.calendar-day:not(.empty):hover{background:#e9ecef}.calendar-day.today{border:2px solid #4a90d9}.calendar-day.future{opacity:.5}.calendar-day.present{background:#dcfce7}.calendar-day.absent{background:#fee2e2}.calendar-day.tardy{background:#ffedd5}.calendar-day.excused{background:#dbeafe}.day-number{color:#333;font-size:14px;font-weight:500}.status-indicator{font-size:12px;margin-top:2px}.calendar-legend{border-top:1px solid #e9ecef;display:flex;gap:24px;justify-content:center;margin-top:20px;padding-top:20px}.legend-item{color:#666;font-size:13px}.legend-icon{font-size:14px}.attendance-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.month-nav{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:24px;justify-content:center;padding:16px 20px}.month-nav h3{margin:0;min-width:150px;text-align:center}.attendance-table{padding:8px 0}.attendance-table-header{border-bottom:1px solid #e9ecef;color:#999;font-size:12px;font-weight:500;padding:10px 20px}.attendance-row,.attendance-table-header{grid-gap:16px;display:grid;gap:16px;grid-template-columns:100px 60px 120px 80px 80px 1fr}.attendance-row{align-items:center;border-bottom:1px solid #f0f0f0;padding:12px 20px}.attendance-row:last-child{border-bottom:none}.att-date{color:#333;font-weight:500}.att-day{color:#666;font-size:13px}.status-badge{align-items:center;display:inline-flex;font-size:12px;gap:4px}.att-notes,.att-time{color:#666;font-size:13px}.att-notes{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.courses-progress-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.course-progress-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);cursor:pointer;overflow:hidden;transition:all .2s}.course-progress-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12)}.course-progress-card.expanded{border-color:#4a90d9}.course-card-header{align-items:flex-start;display:flex;gap:16px;padding:20px}.course-icon{font-size:32px}.course-info h4{color:#333;font-size:16px;margin:0 0 4px}.course-subject{color:#666;font-size:13px;margin:0}.course-status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.course-progress-bar{background:#e9ecef;margin:0 20px}.progress-fill{transition:width .3s ease}.progress-labels{color:#666;display:flex;font-size:13px;justify-content:space-between;padding:8px 20px 20px}.course-details{animation:slideDown .2s ease;border-top:1px solid #e9ecef;padding:0 20px 20px}.details-section{padding-top:16px}.details-section h5{color:#333;font-size:14px;margin:0 0 12px}.details-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.detail-item{display:flex;flex-direction:column}.detail-item .label{color:#999;font-size:11px;margin-bottom:2px}.detail-item .value{color:#333;font-size:14px;font-weight:500}.modules-list{display:flex;flex-direction:column;gap:8px}.module-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.module-name{color:#333;font-size:13px}.module-progress{color:#666;font-size:13px;font-weight:500}.next-lesson{background:#e3f2fd;border-radius:8px;margin-top:16px;padding:12px}.next-lesson h5{color:#1565c0;font-size:13px;margin:0 0 4px}.next-lesson p{color:#333;font-size:14px;margin:0}.circular-progress{height:80px;position:relative;width:80px}.circular-progress svg{transform:rotate(-90deg)}.circular-progress .circle-bg{fill:none;stroke:#e9ecef;stroke-width:3}.circular-progress .circle{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.progress-text{color:#333;font-size:18px}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:48px}.empty-state.small{min-height:150px;padding:24px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h3{color:#333;margin:0 0 8px}.empty-state p{color:#666;margin:0}.loading-state{min-height:300px}.loading-state .spinner{border:4px solid #e0e0e0;border-top-color:#4a90d9}.btn{align-items:center;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;padding:10px 20px;text-decoration:none;transition:all .2s}.btn-primary{background:#4a90d9}.btn-primary:hover{background:#3a7bc8}.btn-small{font-size:12px}@media (max-width:768px){.visibility-controls{align-items:stretch;flex-direction:column}.search-box{max-width:none}.filter-controls{flex-wrap:wrap}.file-row,.list-header{gap:8px;grid-template-columns:1fr}.file-row span:not(.col-name):not(.col-actions),.list-header span:not(:first-child){display:none}.grade-row,.grades-table-header{grid-template-columns:1fr 80px 60px}.grade-row .assignment-type,.grade-row .grade-date,.grades-table-header span:nth-child(2),.grades-table-header span:nth-child(3){display:none}.attendance-row,.attendance-table-header{grid-template-columns:1fr 100px}.attendance-row span:not(.att-date):not(.att-status),.attendance-table-header span:not(:first-child):not(:nth-child(3)){display:none}.courses-progress-grid{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}}.portfolio-stats-bar{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.portfolio-stat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;min-width:100px;padding:12px 20px;text-align:center}.portfolio-stat-value{color:#7c3aed;display:block;font-size:22px;font-weight:700}.portfolio-stat-label{color:#6b7280;display:block;font-size:12px;margin-top:2px}.portfolio-subject-list{display:flex;flex-direction:column;gap:8px}.portfolio-subject-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.portfolio-subject-header{align-items:center;background:#fafbfc;border:none;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:space-between;padding:12px 16px;transition:background .15s;width:100%}.portfolio-subject-header:hover{background:#f3f4f6}.portfolio-subject-header.open{border-bottom:1px solid #e5e7eb}.portfolio-subject-meta{color:#9ca3af;font-size:12px;font-weight:400}.portfolio-subject-body{padding:12px 16px}.portfolio-assignment-entry{background:#fafbfc;border:1px solid #f3f4f6;border-radius:8px;margin-bottom:8px;padding:10px 12px}.portfolio-assignment-info strong{color:#1e293b;font-size:14px}.portfolio-assignment-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:10px;margin-top:4px}.pv-status{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:capitalize}.pv-status-graded{background:#ecfdf5;color:#059669}.pv-status-submitted{background:#fefce8;color:#ca8a04}.pv-status-assigned{background:#eff6ff;color:#3b82f6}.pv-status-revision-needed{background:#fef2f2;color:#ef4444}.pv-grade{color:#7c3aed;font-weight:600}.portfolio-file-list-parent{display:flex;flex-direction:column;gap:3px;margin-top:8px}.portfolio-file-row{align-items:center;background:#fff;border:1px solid #f3f4f6;border-radius:4px;display:flex;gap:8px;padding:5px 8px}.portfolio-file-name{color:#374151;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-file-tag{color:#9ca3af;flex-shrink:0;font-size:11px}.portfolio-view-btn{background:#eff6ff;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;flex-shrink:0;font-size:12px;padding:3px 10px}.portfolio-view-btn:hover{background:#dbeafe}.multichild-container{margin:0 auto;max-width:1400px;padding:24px}.multichild-header{margin-bottom:24px}.multichild-header h2{color:#1e293b;font-size:1.75rem;font-weight:600;margin:0 0 8px}.multichild-header p{color:#64748b;margin:0}.loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-state .spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}.empty-state{color:#64748b;padding:60px 20px}.empty-state .empty-icon{display:block;font-size:4rem;margin-bottom:16px}.children-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:32px}.child-overview-card{background:#fff;border:2px solid transparent;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);cursor:pointer;padding:20px;transition:all .2s ease}.child-overview-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-4px)}.child-card-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.child-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-size:1rem;font-weight:600;height:48px;justify-content:center;width:48px}.child-info h3{color:#1e293b;font-size:1.1rem;margin:0}.grade-badge{background:#f1f5f9;border-radius:12px;color:#64748b;display:inline-block;font-size:.75rem;margin-top:2px;padding:2px 8px}.tutor-badge{font-size:1.5rem;margin-left:auto}.child-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.stat-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:8px;padding:8px}.stat-icon{font-size:1.25rem}.stat-content{display:flex;flex-direction:column}.stat-value{color:#1e293b;font-size:1rem;font-weight:600}.stat-label{color:#64748b;font-size:.7rem;text-transform:uppercase}.child-alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.alert-item{border-radius:8px;font-size:.85rem;padding:8px 12px}.alert-item.assignment{background:#fef3c7;color:#92400e}.alert-item.session{background:#dbeafe;color:#1e40af}.view-details-btn{background:#f1f5f9;border:none;border-radius:8px;color:#3b82f6;cursor:pointer;font-weight:500;padding:10px;transition:all .2s ease;width:100%}.view-details-btn:hover{background:#e2e8f0}.upcoming-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);margin-bottom:24px;padding:24px}.upcoming-section h3{color:#1e293b;margin:0 0 16px}.empty-upcoming{color:#64748b;padding:40px;text-align:center}.empty-upcoming span{display:block;font-size:3rem;margin-bottom:8px}.upcoming-list{display:flex;flex-direction:column;gap:12px}.upcoming-item{align-items:center;background:#f8fafc;border-radius:12px;display:flex;gap:16px;padding:12px 16px;transition:all .2s ease}.upcoming-item:hover{background:#f1f5f9}.upcoming-date{color:#3b82f6;font-size:.85rem;font-weight:600;min-width:70px}.upcoming-content{align-items:center;display:flex;flex:1 1;gap:12px}.upcoming-type{font-size:1.25rem}.upcoming-details{display:flex;flex-direction:column}.upcoming-details strong{color:#1e293b}.upcoming-child{color:#64748b;font-size:.8rem}.child-indicator{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:28px;justify-content:center;width:28px}.quick-actions-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:24px}.quick-actions-section h3{color:#1e293b;margin:0 0 16px}.quick-actions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.quick-action-btn{align-items:center;background:#f8fafc;border:2px solid transparent;border-radius:12px;color:#1e293b;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px;transition:all .2s ease}.quick-action-btn:hover{background:#f1f5f9;border-color:#3b82f6}.quick-action-btn span{font-size:1.5rem}.calendar-controls{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px;padding:16px}.view-toggle{background:#f1f5f9;border-radius:8px;display:flex;gap:4px;padding:4px}.view-toggle button{background:transparent;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.view-toggle button.active{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#3b82f6}.child-filter select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.9rem;padding:8px 16px}.nav-controls{display:flex;gap:8px}.nav-controls button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.nav-controls button:hover{background:#f8fafc;border-color:#3b82f6}.child-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.legend-item{align-items:center;background:#fff;border:2px solid transparent;border-radius:20px;cursor:pointer;display:flex;gap:6px;padding:6px 12px;transition:all .2s ease}.legend-item.active,.legend-item:hover{border-color:currentColor}.legend-color{border-radius:50%;height:12px;width:12px}.legend-name{color:#1e293b;font-size:.85rem;font-weight:500}.calendar-month-view{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:24px}.month-header h3{color:#1e293b;margin:0 0 20px;text-align:center}.calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day-header{color:#64748b;font-size:.85rem;font-weight:600;padding:12px;text-align:center}.calendar-day{aspect-ratio:1;background:#f8fafc;border-radius:8px;min-height:80px;padding:8px;position:relative}.calendar-day.empty{background:transparent}.calendar-day.today{background:#dbeafe;border:2px solid #3b82f6}.calendar-day.has-events{background:#fef3c7}.day-number{color:#1e293b;font-size:.9rem;font-weight:600}.day-events{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.event-dot{border-radius:50%;cursor:pointer;height:8px;transition:transform .2s ease;width:8px}.event-dot:hover{transform:scale(1.5)}.more-events{color:#64748b;font-size:.7rem}.calendar-week-view{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:24px}.week-header h3{color:#1e293b;margin:0 0 20px;text-align:center}.week-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr)}.week-day{background:#f8fafc;border-radius:12px;min-height:200px;padding:16px}.week-day.today{background:#dbeafe;border:2px solid #3b82f6}.week-day-header{border-bottom:1px solid #e2e8f0;margin-bottom:12px;padding-bottom:12px;text-align:center}.day-name{color:#64748b;display:block;font-size:.75rem;text-transform:uppercase}.day-date{color:#1e293b;display:block;font-size:1.25rem;font-weight:600}.week-day-events{display:flex;flex-direction:column;gap:8px}.week-event{background:#fff;border-left:3px solid;border-radius:8px;cursor:pointer;padding:8px;transition:all .2s ease}.week-event:hover{transform:translateX(4px)}.event-icon{margin-right:6px}.event-info{display:flex;flex-direction:column}.event-title{color:#1e293b;font-size:.8rem;font-weight:500}.event-child{color:#64748b;font-size:.7rem}.no-events{color:#94a3b8;font-size:.8rem;padding:20px 0;text-align:center}.calendar-list-view{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:24px}.calendar-list-view h3{color:#1e293b;margin:0 0 20px}.empty-list{color:#64748b;padding:40px;text-align:center}.empty-list span{display:block;font-size:3rem;margin-bottom:8px}.events-list{display:flex;flex-direction:column;gap:12px}.list-event{align-items:center;background:#f8fafc;border-left:4px solid;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:16px;transition:all .2s ease}.list-event:hover{background:#f1f5f9}.list-event-date{align-items:center;display:flex;flex-direction:column;min-width:50px}.event-month{color:#64748b;font-size:.7rem;text-transform:uppercase}.event-day{color:#1e293b;font-size:1.5rem;font-weight:700}.list-event-content{flex:1 1}.event-header{display:flex;gap:8px;margin-bottom:4px}.event-type-badge{background:#e2e8f0;color:#64748b;text-transform:uppercase}.event-child-badge,.event-type-badge{border-radius:12px;font-size:.7rem;padding:2px 8px}.event-child-badge{color:#fff}.list-event-content h4{color:#1e293b;margin:0 0 4px}.event-subject{color:#64748b;font-size:.85rem}.list-event-status{min-width:80px;text-align:right}.status-badge.assigned,.status-badge.in-progress{background:#fef3c7;color:#92400e}.status-badge.submitted{background:#dbeafe;color:#1e40af}.status-badge.completed{background:#dcfce7;color:#166534}.duration{color:#64748b;font-size:.85rem}.event-modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.event-modal{background:#fff;border-radius:16px;max-width:500px;padding:24px;position:relative;width:90%}.close-modal{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.5rem;position:absolute;right:16px;top:16px}.modal-header{border-left:4px solid;margin-bottom:24px;padding-left:16px}.modal-type{color:#64748b;display:block;font-size:.85rem;margin-bottom:4px}.modal-header h3{color:#1e293b}.modal-content{flex-direction:column;margin-bottom:24px}.modal-content,.modal-row{display:flex;gap:12px}.modal-row .label{color:#64748b;font-weight:500;min-width:80px}.modal-row .value{color:#1e293b}.btn-primary{background:#3b82f6;border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s ease}.btn-primary:hover{background:#2563eb}.comparison-controls{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:20px}.child-selector{display:flex;flex-direction:column;gap:8px}.selector-label{color:#64748b;font-weight:500}.child-chips{display:flex;flex-wrap:wrap;gap:8px}.child-chip{background:transparent;border:2px solid;border-radius:20px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.child-chip.selected{color:#fff}.comparison-type-selector{display:flex;gap:8px}.comparison-type-selector button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.comparison-type-selector button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.comparison-content{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:24px}.comparison-section{margin-bottom:32px}.comparison-section:last-child{margin-bottom:0}.comparison-section h4{color:#1e293b;margin:0 0 16px}.gpa-comparison{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.gpa-card{background:#f8fafc;border:3px solid;border-radius:16px;min-width:150px;padding:24px;text-align:center}.gpa-child-name{color:#1e293b;font-weight:600;margin-bottom:12px}.gpa-value{font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:8px}.gpa-label{color:#64748b;font-size:.9rem}.comparison-table{border-collapse:collapse;width:100%}.comparison-table td,.comparison-table th{border-bottom:1px solid #e2e8f0;padding:12px 16px;text-align:left}.comparison-table th{border-bottom:3px solid;color:#64748b;font-weight:600}.subject-name{color:#1e293b;font-weight:500}.grade-cell{text-align:center}.grade-display{align-items:center;display:flex;flex-direction:column}.grade-letter{font-size:1.25rem;font-weight:700}.grade-percent{color:#64748b;font-size:.8rem}.no-data{color:#94a3b8}.attendance-cards{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.attendance-card{background:#f8fafc;border:3px solid;border-radius:16px;min-width:200px;padding:24px;text-align:center}.attendance-child{color:#1e293b;font-weight:600;margin-bottom:12px}.rate-value{color:#22c55e;font-size:2.5rem;font-weight:700}.attendance-stats{border-top:1px solid #e2e8f0;display:flex;gap:16px;justify-content:center;margin-top:16px;padding-top:16px}.attendance-stats .stat{align-items:center;display:flex;flex-direction:column}.attendance-stats .stat-label{color:#64748b;font-size:.75rem}.attendance-stats .stat-value{font-size:1.1rem;font-weight:600}.attendance-stats .stat-value.present{color:#22c55e}.attendance-stats .stat-value.absent{color:#ef4444}.attendance-stats .stat-value.tardy{color:#f97316}.attendance-bars{display:flex;flex-direction:column;gap:12px}.attendance-bar-row{align-items:center;display:flex;gap:16px}.bar-label{color:#1e293b;font-weight:500;min-width:80px}.bar-container{background:#e2e8f0;border-radius:12px;flex:1 1;height:24px;overflow:hidden}.bar-fill{border-radius:12px;height:100%;transition:width .5s ease}.bar-value{color:#1e293b;font-weight:600;min-width:50px;text-align:right}.progress-cards{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.progress-card{background:#f8fafc;border:3px solid;border-radius:16px;min-width:180px;padding:24px;text-align:center}.progress-child{color:#1e293b;font-weight:600;margin-bottom:16px}.progress-circle{height:100px;margin:0 auto 16px;position:relative;width:100px}.progress-circle svg{height:100%;transform:rotate(-90deg);width:100%}.circle-bg{fill:none;stroke:#e2e8f0;stroke-width:3}.circle-progress{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .5s ease}.progress-text{color:#1e293b;font-size:1.25rem;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.progress-stats{color:#64748b;font-size:.85rem}.courses-comparison{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.child-courses{background:#f8fafc;border-left:4px solid;border-radius:12px;padding:20px}.child-courses h5{color:#1e293b;margin:0 0 16px}.course-list{display:flex;flex-direction:column;gap:12px}.course-item{align-items:center;background:#fff;border-radius:8px;display:flex;gap:12px;padding:8px}.course-name{color:#1e293b;display:block;font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-teacher{color:#64748b;font-size:.75rem}.course-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden;width:80px}.progress-fill{border-radius:4px}.course-percent{color:#1e293b;font-size:.85rem;font-weight:600;min-width:40px;text-align:right}.insights-section{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;margin-top:24px;padding:20px}.insights-section h4{color:#0369a1;margin:0 0 16px}.insights-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.insight-card{align-items:center;background:#fff;border-radius:8px;display:flex;gap:12px;padding:12px}.insight-icon{font-size:1.5rem}.insight-text{color:#1e293b;font-size:.9rem}.bulk-tabs{background:#f1f5f9;border-radius:12px;display:flex;gap:4px;margin-bottom:24px;padding:4px}.bulk-tabs button{background:transparent;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-weight:500;padding:12px 20px;transition:all .2s ease}.bulk-tabs button.active{color:#3b82f6}.bulk-tab-content,.bulk-tabs button.active{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}.bulk-tab-content{border-radius:16px;padding:24px}.tab-description{color:#64748b;margin:0 0 24px}.setting-card{background:#f8fafc;border:2px solid transparent;border-radius:12px;margin-bottom:16px;padding:20px;transition:all .2s ease}.setting-card.enabled{background:#f0f9ff;border-color:#3b82f6}.setting-header{align-items:center;display:flex;gap:16px}.toggle-switch{display:inline-block;height:28px;position:relative;width:52px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#cbd5e1;border-radius:28px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:22px;left:3px;position:absolute;transition:.3s;width:22px}input:checked+.toggle-slider{background-color:#3b82f6}input:checked+.toggle-slider:before{transform:translateX(24px)}.setting-info h4{color:#1e293b;margin:0 0 4px}.setting-info p{color:#64748b;font-size:.9rem;margin:0}.setting-options{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px}.option-row{align-items:center;display:flex;gap:12px;margin-bottom:16px}.option-row label{color:#64748b}.option-row select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;padding:8px 12px}.child-selector-compact{margin-top:12px}.selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.selector-header span{color:#64748b;font-size:.85rem}.select-all-btn{background:transparent;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;font-size:.8rem;padding:4px 12px}.select-all-btn:hover{background:#f1f5f9}.child-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.child-checkboxes.horizontal{flex-direction:row}.child-checkbox{align-items:center;cursor:pointer;display:flex;gap:8px}.child-checkbox input{margin:0}.child-checkbox .child-name{background:#f1f5f9;border-left:3px solid;border-radius:12px;font-size:.85rem;padding:4px 12px}.save-section{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px;text-align:right}.templates-section{margin-bottom:32px}.templates-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.templates-header h4{color:#1e293b;margin:0}.btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-secondary:hover{background:#e2e8f0}.new-template-form{background:#f8fafc;border-radius:12px;margin-bottom:20px;padding:20px}.new-template-form h5{color:#1e293b;margin:0 0 16px}.form-group{margin-bottom:16px}.form-group label{color:#64748b;margin-bottom:8px}.form-group input,.form-group textarea{border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;padding:10px 12px;resize:vertical;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none}.templates-list{display:flex;flex-direction:column;gap:12px}.template-card{background:#f8fafc;border-radius:12px;padding:16px}.template-header{margin-bottom:12px}.template-header h5{color:#1e293b;margin:0}.btn-icon{padding:4px;transition:background .2s ease}.btn-icon:hover{background:#e2e8f0}.btn-icon.delete:hover{background:#fee2e2}.template-preview{color:#64748b;font-size:.9rem}.template-preview p{color:#1e293b;font-style:italic;margin:8px 0 0}.quick-send-section{border-top:1px solid #e2e8f0;padding-top:24px}.quick-send-section h4{color:#1e293b;margin:0 0 16px}.quick-send-form{gap:16px}.form-row,.quick-send-form{display:flex;flex-direction:column}.form-row{gap:8px}.form-row label{color:#64748b;font-weight:500}.form-row textarea{border:1px solid #e2e8f0;border-radius:8px;padding:12px;resize:vertical;width:100%}@media (max-width:768px){.multichild-container{padding:16px}.children-grid{grid-template-columns:1fr}.calendar-controls{align-items:stretch;flex-direction:column}.week-grid{gap:8px;grid-template-columns:1fr}.week-day{min-height:auto}.comparison-controls{padding:16px}.child-chips{justify-content:center}.comparison-type-selector{flex-wrap:wrap;justify-content:center}.attendance-cards,.gpa-comparison,.progress-cards{align-items:center;flex-direction:column}.courses-comparison{grid-template-columns:1fr}.comparison-table{font-size:.85rem}.comparison-table td,.comparison-table th{padding:8px}}@keyframes mf-spin{to{transform:rotate(1turn)}}.mf-spinner{animation:mf-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:40px;width:40px}.mf-scroll::-webkit-scrollbar{width:5px}.mf-scroll::-webkit-scrollbar-track{background:transparent}.mf-scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.08);border-radius:999px}.mf-scroll::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.15)}.video-call-page{background:#1a1a2e;display:flex;flex-direction:column;height:100vh}.video-container{display:flex;flex:1 1;gap:20px;padding:20px;position:relative}.remote-video{align-items:center;background:#16213e;border-radius:12px;display:flex;flex:1 1;flex-direction:column;justify-content:center}.remote-video video{border-radius:12px;height:100%;object-fit:cover;width:100%}.remote-video p{color:#8a8a8a;font-size:18px}.local-video{background:#0f3460;border-radius:8px;bottom:100px;box-shadow:0 4px 12px rgba(0,0,0,.3);height:150px;overflow:hidden;position:absolute;right:40px;width:200px}.local-video video{height:100%;object-fit:cover;width:100%}.call-controls{background:#16213e;display:flex;gap:20px;justify-content:center;padding:20px}.control-btn{background:#0f3460;border-radius:50px;font-size:16px;padding:15px 25px;transition:all .3s}.control-btn:hover{background:#1a4a7a}.control-btn.active,.control-btn.end-call{background:#e94560}.control-btn.end-call:hover{background:#c73e54}.video-call-error{align-items:center;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.video-call-error h2{color:#e94560;margin-bottom:10px}.video-call-error button{background:#0f3460;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:20px;padding:10px 20px}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-1{bottom:-.25rem}.-bottom-10{bottom:-2.5rem}.-bottom-12{bottom:-3rem}.-bottom-16{bottom:-4rem}.-bottom-20{bottom:-5rem}.-left-10{left:-2.5rem}.-left-12{left:-3rem}.-left-16{left:-4rem}.-left-40{left:-10rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-16{right:-4rem}.-right-2{right:-.5rem}.-right-20{right:-5rem}.-right-24{right:-6rem}.-top-1{top:-.25rem}.-top-16{top:-4rem}.-top-2{top:-.5rem}.-top-20{top:-5rem}.-top-24{top:-6rem}.-top-40{top:-10rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-1{left:.25rem}.left-1\.5{left:.375rem}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-\[11px\]{left:11px}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[9999\]{z-index:9999}.z-\[999\]{z-index:999}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-bottom:.125rem;margin-top:.125rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.my-8{margin-bottom:2rem;margin-top:2rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-9{margin-left:2.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[18px\]{height:18px}.h-\[2\.5px\]{height:2.5px}.h-\[280px\]{height:280px}.h-\[2px\]{height:2px}.h-\[360px\]{height:360px}.h-\[60px\]{height:60px}.h-\[72px\]{height:72px}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:12rem}.max-h-\[75vh\]{max-height:75vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[18px\]{width:18px}.w-\[280px\]{width:280px}.w-\[320px\]{width:320px}.w-\[340px\]{width:340px}.w-\[360px\]{width:360px}.w-\[60px\]{width:60px}.w-\[72px\]{width:72px}.w-\[92\%\]{width:92%}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[120px\]{min-width:120px}.min-w-\[200px\]{min-width:200px}.min-w-\[20px\]{min-width:20px}.min-w-\[280px\]{min-width:280px}.min-w-\[28px\]{min-width:28px}.min-w-\[320px\]{min-width:320px}.min-w-\[340px\]{min-width:340px}.min-w-\[36px\]{min-width:36px}.min-w-\[40px\]{min-width:40px}.min-w-\[42px\]{min-width:42px}.min-w-\[60px\]{min-width:60px}.min-w-\[80px\]{min-width:80px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-\[120px\]{max-width:120px}.max-w-\[130px\]{max-width:130px}.max-w-\[140px\]{max-width:140px}.max-w-\[180px\]{max-width:180px}.max-w-\[240px\]{max-width:240px}.max-w-\[400px\]{max-width:400px}.max-w-\[520px\]{max-width:520px}.max-w-\[90\%\]{max-width:90%}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-\[3\.5px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-\[3\.5px\]{--tw-translate-x:-3.5px}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-full{--tw-translate-x:100%}.translate-x-full,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-full{--tw-translate-y:100%}.-rotate-90,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.rotate-\[135deg\]{--tw-rotate:135deg}.rotate-\[135deg\],.scale-110{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[slideIn_0\.25s_ease-out\]{animation:slideIn .25s ease-out}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-slideDown{animation:slideDown .3s ease}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-\[3px\]{gap:3px}.gap-x-5{column-gap:1.25rem}.gap-y-1{row-gap:.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.875rem*var(--tw-space-y-reverse));margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#f1f5f9;border-color:rgb(241 245 249/var(--tw-divide-opacity,1))}.divide-slate-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#f8fafc;border-color:rgb(248 250 252/var(--tw-divide-opacity,1))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.rounded-b-xl{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-r-full{border-bottom-right-radius:9999px;border-top-right-radius:9999px}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-bl-full{border-bottom-left-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-\[2\.5px\]{border-width:2.5px}.border-\[3px\]{border-width:3px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#1565c0\]{--tw-border-opacity:1;border-color:#1565c0;border-color:rgb(21 101 192/var(--tw-border-opacity,1))}.border-\[\#1565c0\]\/30{border-color:rgba(21,101,192,.3)}.border-amber-100{--tw-border-opacity:1;border-color:#fef3c7;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:#fde68a;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-200\/50{border-color:hsla(48,97%,77%,.5)}.border-amber-200\/60{border-color:hsla(48,97%,77%,.6)}.border-amber-400\/30{border-color:rgba(251,191,36,.3)}.border-blue-100{--tw-border-opacity:1;border-color:#dbeafe;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-200\/50{border-color:rgba(191,219,254,.5)}.border-blue-200\/60{border-color:rgba(191,219,254,.6)}.border-blue-300\/30{border-color:rgba(147,197,253,.3)}.border-blue-400{--tw-border-opacity:1;border-color:#60a5fa;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-cyan-200\/60{border-color:rgba(165,243,252,.6)}.border-emerald-100{--tw-border-opacity:1;border-color:#d1fae5;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:#a7f3d0;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-200\/50{border-color:rgba(167,243,208,.5)}.border-emerald-200\/60{border-color:rgba(167,243,208,.6)}.border-emerald-200\/80{border-color:rgba(167,243,208,.8)}.border-emerald-400\/20{border-color:rgba(52,211,153,.2)}.border-emerald-500{--tw-border-opacity:1;border-color:#10b981;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-emerald-500\/30{border-color:rgba(16,185,129,.3)}.border-fuchsia-200\/60{border-color:rgba(245,208,254,.6)}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-green-100{--tw-border-opacity:1;border-color:#dcfce7;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.border-indigo-200\/60{border-color:rgba(199,210,254,.6)}.border-lime-200\/60{border-color:hsla(81,88%,80%,.6)}.border-purple-100{--tw-border-opacity:1;border-color:#f3e8ff;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:#e9d5ff;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-200\/60{border-color:rgba(233,213,255,.6)}.border-red-100{--tw-border-opacity:1;border-color:#fee2e2;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/60{border-color:hsla(0,96%,89%,.6)}.border-red-500\/30{border-color:rgba(239,68,68,.3)}.border-rose-200\/60{border-color:rgba(254,205,211,.6)}.border-slate-100{--tw-border-opacity:1;border-color:#f1f5f9;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/50{border-color:rgba(226,232,240,.5)}.border-slate-200\/60{border-color:rgba(226,232,240,.6)}.border-slate-200\/80{border-color:rgba(226,232,240,.8)}.border-slate-300{--tw-border-opacity:1;border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-50{--tw-border-opacity:1;border-color:#f8fafc;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:#334155;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-violet-100{--tw-border-opacity:1;border-color:#ede9fe;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.border-violet-200{--tw-border-opacity:1;border-color:#ddd6fe;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-violet-200\/50{border-color:rgba(221,214,254,.5)}.border-violet-200\/60{border-color:rgba(221,214,254,.6)}.border-white{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/5{border-color:hsla(0,0%,100%,.05)}.border-white\/60{border-color:hsla(0,0%,100%,.6)}.border-l-amber-400{--tw-border-opacity:1;border-left-color:#fbbf24;border-left-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-l-blue-400{--tw-border-opacity:1;border-left-color:#60a5fa;border-left-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-l-red-500{--tw-border-opacity:1;border-left-color:#ef4444;border-left-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-t-\[\#1565c0\]{--tw-border-opacity:1;border-top-color:#1565c0;border-top-color:rgb(21 101 192/var(--tw-border-opacity,1))}.border-t-blue-500{--tw-border-opacity:1;border-top-color:#3b82f6;border-top-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.border-t-white{--tw-border-opacity:1;border-top-color:#fff;border-top-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-\[\#0f172a\]{--tw-bg-opacity:1;background-color:#0f172a;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-\[\#1565c0\]{--tw-bg-opacity:1;background-color:#1565c0;background-color:rgb(21 101 192/var(--tw-bg-opacity,1))}.bg-\[\#1a1a2e\]{--tw-bg-opacity:1;background-color:#1a1a2e;background-color:rgb(26 26 46/var(--tw-bg-opacity,1))}.bg-\[\#1e293b\]{--tw-bg-opacity:1;background-color:#1e293b;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-\[\#1e293b\]\/80{background-color:rgba(30,41,59,.8)}.bg-amber-100{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:#fbbf24;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}.bg-amber-50\/60{background-color:rgba(255,251,235,.6)}.bg-amber-500{--tw-bg-opacity:1;background-color:#f59e0b;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/20{background-color:rgba(245,158,11,.2)}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-black\/90{background-color:rgba(0,0,0,.9)}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:#60a5fa;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-400\/20{background-color:rgba(96,165,250,.2)}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50\/30{background-color:rgba(239,246,255,.3)}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-50\/60{background-color:rgba(239,246,255,.6)}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/20{background-color:rgba(59,130,246,.2)}.bg-blue-500\/90{background-color:rgba(59,130,246,.9)}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-cyan-50{--tw-bg-opacity:1;background-color:#ecfeff;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:#d1fae5;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:#34d399;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-50\/30{background-color:rgba(236,253,245,.3)}.bg-emerald-50\/40{background-color:rgba(236,253,245,.4)}.bg-emerald-50\/50{background-color:rgba(236,253,245,.5)}.bg-emerald-50\/60{background-color:rgba(236,253,245,.6)}.bg-emerald-500{--tw-bg-opacity:1;background-color:#10b981;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/10{background-color:rgba(16,185,129,.1)}.bg-emerald-500\/20{background-color:rgba(16,185,129,.2)}.bg-emerald-500\/80{background-color:rgba(16,185,129,.8)}.bg-fuchsia-50{--tw-bg-opacity:1;background-color:#fdf4ff;background-color:rgb(253 244 255/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:#e0e7ff;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:#818cf8;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/80{background-color:rgba(238,242,255,.8)}.bg-lime-50{--tw-bg-opacity:1;background-color:#f7fee7;background-color:rgb(247 254 231/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:#fb923c;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:#fff7ed;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:#f97316;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-primary-400\/20{background-color:rgba(96,165,250,.2)}.bg-primary-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:#f3e8ff;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:#a855f7;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:#9333ea;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:#f87171;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/30{background-color:hsla(0,86%,97%,.3)}.bg-red-50\/40{background-color:hsla(0,86%,97%,.4)}.bg-red-50\/80{background-color:hsla(0,86%,97%,.8)}.bg-red-500{--tw-bg-opacity:1;background-color:#ef4444;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/20{background-color:rgba(239,68,68,.2)}.bg-red-500\/80{background-color:rgba(239,68,68,.8)}.bg-rose-50{--tw-bg-opacity:1;background-color:#fff1f2;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:#38bdf8;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:#f0f9ff;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-200\/80{background-color:rgba(226,232,240,.8)}.bg-slate-300{--tw-bg-opacity:1;background-color:#cbd5e1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:#94a3b8;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-50\/80{background-color:rgba(248,250,252,.8)}.bg-slate-500{--tw-bg-opacity:1;background-color:#64748b;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600\/80{background-color:rgba(71,85,105,.8)}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:#ede9fe;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-400{--tw-bg-opacity:1;background-color:#a78bfa;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:#f5f3ff;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-50\/60{background-color:rgba(245,243,255,.6)}.bg-violet-500{--tw-bg-opacity:1;background-color:#8b5cf6;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/40{background-color:hsla(0,0%,100%,.4)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-white\/\[0\.07\]{background-color:hsla(0,0%,100%,.07)}.bg-yellow-50{--tw-bg-opacity:1;background-color:#fefce8;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4wNSI\+PHBhdGggZD0iTTM2IDM0djItSDJ2LTJoMzR6bTAtMzBWMkgydjJoMzR6Ii8\+PC9nPjwvZz48L3N2Zz4\=\'\)\]{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTM2IDM0djIiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iLjA1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#0d47a1\]{--tw-gradient-from:#0d47a1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(13,71,161,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#1565c0\]{--tw-gradient-from:#1565c0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(21,101,192,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#1565c0\]\/10{--tw-gradient-from:rgba(21,101,192,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(21,101,192,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-50{--tw-gradient-from:#fffbeb var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,251,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-100{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50\/60{--tw-gradient-from:rgba(239,246,255,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from:#06b6d4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,182,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-100\/40{--tw-gradient-from:rgba(209,250,229,.4) var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,250,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-400{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-50\/80{--tw-gradient-from:rgba(236,253,245,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-fuchsia-500{--tw-gradient-from:#d946ef var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,70,239,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-lime-500{--tw-gradient-from:#84cc16 var(--tw-gradient-from-position);--tw-gradient-to:rgba(132,204,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-500{--tw-gradient-from:#f43f5e var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-100{--tw-gradient-from:#f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(241,245,249,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-200{--tw-gradient-from:#e2e8f0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,232,240,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-200\/60{--tw-gradient-from:rgba(226,232,240,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,232,240,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-200\/80{--tw-gradient-from:rgba(226,232,240,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,232,240,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-300{--tw-gradient-from:#cbd5e1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(203,213,225,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-400{--tw-gradient-from:#94a3b8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(148,163,184,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50\/80{--tw-gradient-from:rgba(248,250,252,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-50{--tw-gradient-from:#f5f3ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,243,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-50{--tw-gradient-from:#fefce8 var(--tw-gradient-from-position);--tw-gradient-to:hsla(55,92%,95%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#1565c0\]{--tw-gradient-to:rgba(21,101,192,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1565c0 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-700{--tw-gradient-to:rgba(29,78,216,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-slate-200{--tw-gradient-to:rgba(226,232,240,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#e2e8f0 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#0d47a1\]{--tw-gradient-to:#0d47a1 var(--tw-gradient-to-position)}.to-\[\#1565c0\]{--tw-gradient-to:#1565c0 var(--tw-gradient-to-position)}.to-\[\#1976d2\]{--tw-gradient-to:#1976d2 var(--tw-gradient-to-position)}.to-amber-50{--tw-gradient-to:#fffbeb var(--tw-gradient-to-position)}.to-amber-500{--tw-gradient-to:#f59e0b var(--tw-gradient-to-position)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.to-blue-200{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.to-blue-400{--tw-gradient-to:#60a5fa var(--tw-gradient-to-position)}.to-blue-50\/30{--tw-gradient-to:rgba(239,246,255,.3) var(--tw-gradient-to-position)}.to-blue-50\/40{--tw-gradient-to:rgba(239,246,255,.4) var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.to-blue-500\/10{--tw-gradient-to:rgba(59,130,246,.1) var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to:#f3f4f6 var(--tw-gradient-to-position)}.to-green-500{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.to-primary-700{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.to-purple-400{--tw-gradient-to:#c084fc var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.to-rose-600{--tw-gradient-to:#e11d48 var(--tw-gradient-to-position)}.to-sky-500{--tw-gradient-to:#0ea5e9 var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.to-slate-400{--tw-gradient-to:#94a3b8 var(--tw-gradient-to-position)}.to-slate-50{--tw-gradient-to:#f8fafc var(--tw-gradient-to-position)}.to-slate-50\/40{--tw-gradient-to:rgba(248,250,252,.4) var(--tw-gradient-to-position)}.to-slate-500{--tw-gradient-to:#64748b var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-violet-600{--tw-gradient-to:#7c3aed var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-0{padding-bottom:0}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-10{padding-left:2.5rem}.pl-12{padding-left:3rem}.pl-3{padding-left:.75rem}.pl-3\.5{padding-left:.875rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.\!text-white\/90{color:hsla(0,0%,100%,.9)!important}.text-\[\#0d47a1\]{--tw-text-opacity:1;color:#0d47a1;color:rgb(13 71 161/var(--tw-text-opacity,1))}.text-\[\#1565c0\]{--tw-text-opacity:1;color:#1565c0;color:rgb(21 101 192/var(--tw-text-opacity,1))}.text-\[\#1565c0\]\/60{color:rgba(21,101,192,.6)}.text-amber-100{--tw-text-opacity:1;color:#fef3c7;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-amber-200\/60{color:hsla(48,97%,77%,.6)}.text-amber-300{--tw-text-opacity:1;color:#fcd34d;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:#fbbf24;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:#f59e0b;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:#d97706;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:#dbeafe;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-100\/60{color:rgba(219,234,254,.6)}.text-blue-100\/70{color:rgba(219,234,254,.7)}.text-blue-100\/80{color:rgba(219,234,254,.8)}.text-blue-200{--tw-text-opacity:1;color:#bfdbfe;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-200\/40{color:rgba(191,219,254,.4)}.text-blue-300{--tw-text-opacity:1;color:#93c5fd;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:#60a5fa;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:#0891b2;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-emerald-100{--tw-text-opacity:1;color:#d1fae5;color:rgb(209 250 229/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:#a7f3d0;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-200\/60{color:rgba(167,243,208,.6)}.text-emerald-400{--tw-text-opacity:1;color:#34d399;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:#10b981;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:#059669;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:#065f46;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-fuchsia-600{--tw-text-opacity:1;color:#c026d3;color:rgb(192 38 211/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:#6366f1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-lime-600{--tw-text-opacity:1;color:#65a30d;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:#ea580c;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:#c2410c;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:#ec4899;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-primary-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:#a855f7;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:#7e22ce;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:#f87171;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:#e11d48;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:#0369a1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:#e2e8f0;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:#cbd5e1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:#8b5cf6;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:#7c3aed;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:#6d28d9;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-violet-800{--tw-text-opacity:1;color:#5b21b6;color:rgb(91 33 182/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/40{color:hsla(0,0%,100%,.4)}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/90{color:hsla(0,0%,100%,.9)}.text-yellow-600{--tw-text-opacity:1;color:#ca8a04;color:rgb(202 138 4/var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-white\/40::placeholder{color:hsla(0,0%,100%,.4)}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[0_-2px_8px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\]{--tw-shadow:0 -2px 8px -2px rgba(0,0,0,.06);--tw-shadow-colored:0 -2px 8px -2px var(--tw-shadow-color)}.shadow-\[0_-2px_8px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\],.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-black\/50{--tw-shadow-color:rgba(0,0,0,.5);--tw-shadow:var(--tw-shadow-colored)}.shadow-black\/60{--tw-shadow-color:rgba(0,0,0,.6);--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-100\/40{--tw-shadow-color:rgba(219,234,254,.4);--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-200\/30{--tw-shadow-color:rgba(191,219,254,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-500\/15{--tw-shadow-color:rgba(59,130,246,.15);--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-500\/20{--tw-shadow-color:rgba(59,130,246,.2);--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-500\/25{--tw-shadow-color:rgba(59,130,246,.25);--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-900\/15{--tw-shadow-color:rgba(30,58,138,.15);--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-900\/20{--tw-shadow-color:rgba(30,58,138,.2);--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-900\/30{--tw-shadow-color:rgba(30,58,138,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-900\/40{--tw-shadow-color:rgba(30,58,138,.4);--tw-shadow:var(--tw-shadow-colored)}.shadow-emerald-500\/25{--tw-shadow-color:rgba(16,185,129,.25);--tw-shadow:var(--tw-shadow-colored)}.shadow-emerald-500\/30{--tw-shadow-color:rgba(16,185,129,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-primary-500\/30{--tw-shadow-color:rgba(59,130,246,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-red-500\/30{--tw-shadow-color:rgba(239,68,68,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-200\/50{--tw-shadow-color:rgba(226,232,240,.5);--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-900\/10{--tw-shadow-color:rgba(15,23,42,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-900\/15{--tw-shadow-color:rgba(15,23,42,.15);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2,.ring-4{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-amber-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity,1))}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-amber-200\/60{--tw-ring-color:hsla(48,97%,77%,.6)}.ring-amber-600\/20{--tw-ring-color:rgba(217,119,6,.2)}.ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}.ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity,1))}.ring-blue-200\/50{--tw-ring-color:rgba(191,219,254,.5)}.ring-blue-200\/60{--tw-ring-color:rgba(191,219,254,.6)}.ring-blue-600\/20{--tw-ring-color:rgba(37,99,235,.2)}.ring-cyan-100{--tw-ring-opacity:1;--tw-ring-color:rgb(207 250 254/var(--tw-ring-opacity,1))}.ring-emerald-100{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1))}.ring-emerald-100\/50{--tw-ring-color:rgba(209,250,229,.5)}.ring-emerald-200{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1))}.ring-emerald-200\/50{--tw-ring-color:rgba(167,243,208,.5)}.ring-emerald-200\/60{--tw-ring-color:rgba(167,243,208,.6)}.ring-emerald-400{--tw-ring-opacity:1;--tw-ring-color:rgb(52 211 153/var(--tw-ring-opacity,1))}.ring-emerald-600\/20{--tw-ring-color:rgba(5,150,105,.2)}.ring-fuchsia-100{--tw-ring-opacity:1;--tw-ring-color:rgb(250 232 255/var(--tw-ring-opacity,1))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.ring-indigo-200\/60{--tw-ring-color:rgba(199,210,254,.6)}.ring-indigo-600\/20{--tw-ring-color:rgba(79,70,229,.2)}.ring-lime-100{--tw-ring-opacity:1;--tw-ring-color:rgb(236 252 203/var(--tw-ring-opacity,1))}.ring-orange-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 215 170/var(--tw-ring-opacity,1))}.ring-orange-200\/60{--tw-ring-color:hsla(32,98%,83%,.6)}.ring-orange-600\/20{--tw-ring-color:rgba(234,88,12,.2)}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.ring-red-200\/60{--tw-ring-color:hsla(0,96%,89%,.6)}.ring-red-600\/20{--tw-ring-color:rgba(220,38,38,.2)}.ring-rose-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 228 230/var(--tw-ring-opacity,1))}.ring-sky-200\/60{--tw-ring-color:rgba(186,230,253,.6)}.ring-sky-600\/20{--tw-ring-color:rgba(2,132,199,.2)}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-200\/60{--tw-ring-color:rgba(226,232,240,.6)}.ring-slate-500\/20{--tw-ring-color:rgba(100,116,139,.2)}.ring-violet-100{--tw-ring-opacity:1;--tw-ring-color:rgb(237 233 254/var(--tw-ring-opacity,1))}.ring-violet-200{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.ring-violet-200\/60{--tw-ring-color:rgba(221,214,254,.6)}.ring-violet-600\/20{--tw-ring-color:rgba(124,58,237,.2)}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-offset-1{--tw-ring-offset-width:1px}.blur-2xl{--tw-blur:blur(40px)}.blur-2xl,.blur-3xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur:blur(64px)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-sm,.backdrop-blur-xl{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}body,html{max-width:100vw;overflow-x:hidden}.tutor-dashboard{background:#fff;border-radius:16px;box-shadow:0 4px 24px rgba(25,118,210,.08);margin:24px auto;max-width:100%;overflow-x:hidden;padding:16px}.tutor-dashboard-header{margin-bottom:32px;text-align:center}.tutor-dashboard-title{color:#1976d2;font-size:2.2rem;font-weight:700;margin-bottom:8px}.tutor-dashboard-welcome{color:#666;font-size:1.1rem}.tutor-dashboard-content{align-items:center;display:flex;flex-direction:column}.tutor-dashboard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 auto;max-width:700px;overflow-x:hidden;width:100%}.tutor-dashboard-card{background:#f5f9ff;border-radius:14px;box-shadow:0 2px 12px rgba(25,118,210,.07);padding:32px 24px;text-align:center;transition:box-shadow .2s}.tutor-dashboard-card:hover{box-shadow:0 6px 24px rgba(25,118,210,.13)}.tutor-dashboard-card h3{color:#1976d2;font-size:1.3rem;margin-bottom:12px}.tutor-dashboard-card p{color:#555;font-size:1rem;margin-bottom:16px}.coming-soon-badge{background:#ffe082;border-radius:12px;color:#ef6c00;display:inline-block;font-size:.85rem;font-weight:600;margin-top:8px;padding:4px 12px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}.container{margin:0 auto;max-width:1200px;padding:20px}.auth-container{align-items:center;background:linear-gradient(135deg,#1976d2,#0d47a1);display:flex;justify-content:center;min-height:100vh}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.2);max-width:400px;padding:40px;width:100%}.auth-card h1{color:#1976d2;margin-bottom:8px;text-align:center}.auth-card .brand-title{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#1976d2,#42a5f5);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:4px}.auth-card .portal-name{color:#666;font-size:1rem;font-weight:500;letter-spacing:2px;margin-bottom:20px;text-align:center;text-transform:uppercase}.auth-card h2{color:#666;font-size:1.1rem;font-weight:400;margin-bottom:30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:6px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#1976d2;outline:none}.btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:background-color .2s,transform .1s;width:100%}.btn:active{transform:scale(.98)}.btn-primary{background-color:#1976d2;color:#fff}.btn-primary:hover{background-color:#1565c0}.btn-primary:disabled{background-color:#90caf9;cursor:not-allowed}.btn-link{background:none;border:none;color:#1976d2;cursor:pointer;display:block;font-size:14px;margin-top:16px;text-align:center;text-decoration:underline}.btn-link:hover{color:#0d47a1}.error-message{background-color:#ffebee;color:#c62828}.error-message,.success-message{border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px;text-align:center}.success-message{background-color:#e8f5e9;color:#2e7d32}.home-container{background-color:#f5f5f5;min-height:100vh}.navbar{background:linear-gradient(135deg,#1565c0,#0d47a1);box-shadow:0 2px 12px rgba(0,0,0,.15);height:60px;justify-content:space-between;padding:0 24px}.navbar,.navbar-left{align-items:center;display:flex}.navbar-left{gap:16px}.btn-menu{background:hsla(0,0%,100%,.1);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.2rem;line-height:1;padding:8px 10px;transition:background .2s}.btn-menu:hover{background:hsla(0,0%,100%,.2)}.navbar h1{color:#fff;font-size:1.25rem;margin:0}.navbar .brand-title{color:#fff;font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.navbar .navbar-subtitle{border-left:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.7);font-size:.8rem;font-weight:500;padding-left:16px}.env-badge,.navbar .navbar-subtitle{letter-spacing:.05em;text-transform:uppercase}.env-badge{border-radius:4px;font-size:.65rem;font-weight:600;margin-left:12px;padding:3px 8px}.env-badge.env-local,.env-badge.env-prod,.env-badge.env-uat{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.85)}.navbar-user{align-items:center;display:flex;gap:12px}.navbar-user>span{color:hsla(0,0%,100%,.9);font-size:.85rem;font-weight:500}.btn-logout{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 14px;transition:all .2s}.btn-logout:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.3)}.dashboard{padding:40px}.welcome-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);margin:0 auto;max-width:600px;padding:40px;text-align:center}.welcome-card h2{color:#1976d2;margin-bottom:16px}.welcome-card p{color:#666;font-size:1.1rem}.role-badge{background-color:#e3f2fd;border-radius:20px;color:#1976d2;display:inline-block;font-size:14px;margin:4px;padding:4px 12px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-left:auto;margin-right:auto;margin-top:40px;max-width:800px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:24px;text-align:center}.stat-card h3{color:#1976d2;font-size:2rem;margin-bottom:8px}.stat-card p{color:#666}.app-wrapper{display:flex;flex-direction:column;max-width:100vw;overflow-x:hidden}.version-footer{background:transparent;bottom:0;font-size:12px;left:0;padding:8px 16px;pointer-events:none;position:fixed;right:0;text-align:center;z-index:1000}.auth-container~.version-footer,.version-footer{color:hsla(0,0%,100%,.7)}.home-container~.version-footer{color:rgba(0,0,0,.4)}.welcome-card .role-indicator{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-top:12px;padding:6px 16px;text-transform:uppercase}.admin-welcome .role-indicator{background:#e3f2fd;color:#1565c0}.course-admin-welcome .role-indicator{background:#e0f7fa;color:#00838f}.principal-welcome .role-indicator{background:#f3e5f5;color:#7b1fa2}.parent-welcome .role-indicator{background:#e8f5e9;color:#2e7d32}.student-welcome .role-indicator{background:#fff3e0;color:#ef6c00}.program-welcome .role-indicator{background:#e0f7fa;color:#00838f}.admin-actions,.parent-actions,.principal-actions,.program-actions,.student-actions{margin:40px auto 0;max-width:800px;padding:0 20px}.admin-actions h3,.parent-actions h3,.principal-actions h3,.program-actions h3,.student-actions h3{color:#333;margin-bottom:20px}.action-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.action-btn{background:#fff;border:2px solid #e0e0e0;border-radius:12px;color:#555;font-size:14px;font-weight:500;padding:16px 20px}.action-btn:hover:not(:disabled){background:#f5f9ff;border-color:#1976d2;color:#1976d2}.action-btn:disabled{cursor:not-allowed;opacity:.6}.navbar-roles{display:flex;gap:6px}.role-badge-small{background:hsla(0,0%,100%,.15);border-radius:12px;color:#fff;font-size:.7rem;font-weight:500;letter-spacing:.03em;padding:4px 10px;text-transform:uppercase}.navbar-avatar-wrapper{position:relative}.navbar-avatar{align-items:center;background:hsla(0,0%,100%,.2);border:2px solid hsla(0,0%,100%,.4);border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:700;height:36px;justify-content:center;letter-spacing:.02em;transition:all .2s;width:36px}.navbar-avatar:hover{background:hsla(0,0%,100%,.3);border-color:hsla(0,0%,100%,.6);transform:scale(1.05)}.navbar-avatar-dropdown{animation:avatarDropdownIn .15s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.08);min-width:240px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:9999}@keyframes avatarDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.navbar-avatar-dropdown-header{align-items:center;display:flex;gap:12px;padding:16px}.navbar-avatar-lg{align-items:center;background:linear-gradient(135deg,#1565c0,#0d47a1);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;height:42px;justify-content:center;width:42px}.navbar-avatar-info{display:flex;flex-direction:column;min-width:0}.navbar-avatar-name{color:#1a1a1a;font-size:.9rem;font-weight:600}.navbar-avatar-email,.navbar-avatar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-avatar-email{color:#888;font-size:.75rem}.navbar-avatar-dropdown-divider{background:#eee;height:1px;margin:0}.navbar-avatar-dropdown-item{align-items:center;background:transparent;border:none;color:#555;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:10px;padding:12px 16px;text-align:left;transition:all .15s;width:100%}.navbar-avatar-dropdown-item:hover{background:#f5f5f5;color:#d32f2f}.navbar-avatar-dropdown-item svg{flex-shrink:0;opacity:.6}.navbar-avatar-dropdown-item:hover svg{opacity:1}.program-layout{display:flex;gap:24px;margin:0 auto;max-width:1400px;padding:20px}.program-sidebar{flex-shrink:0;width:400px}.program-main{flex:1 1;min-width:0}.history-list-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);overflow:hidden}.history-list-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:16px 20px}.history-list-header h3{color:#333;font-size:1.1rem;margin:0 0 12px}.history-filter{display:flex;gap:8px}.history-filter select{background:#fff;border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.history-list{max-height:500px;overflow-y:auto}.history-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:14px 20px;transition:background-color .15s}.history-item:hover{background-color:#f5f9ff}.history-item.selected{background-color:#e3f2fd;border-left:3px solid #1976d2}.history-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:6px}.history-item-title{align-items:center;color:#333;display:flex;font-size:.95rem;font-weight:500;gap:6px}.history-item-title.has-file{color:#1976d2;cursor:pointer}.history-item-title.has-file:hover{color:#1565c0;text-decoration:underline}.file-icon{font-size:.85rem}.history-item-type{border-radius:10px;font-size:.7rem;font-weight:500;padding:3px 8px;text-transform:uppercase}.history-item-type.transcript{background:#e8f5e9;color:#2e7d32}.history-item-type.testresult{background:#fff3e0;color:#ef6c00}.history-item-type.document{background:#e3f2fd;color:#1565c0}.history-item-type.certificate{background:#f3e5f5;color:#7b1fa2}.history-item-type.other{background:#f5f5f5;color:#666}.history-item-meta{color:#666;display:flex;font-size:.8rem;gap:16px}.history-item-student{color:#555;font-weight:500}.history-empty{color:#888}.history-empty,.history-loading{padding:40px 20px;text-align:center}.history-loading{color:#666}.file-drop-zone{background:#fafafa;border:2px dashed #ccc;border-radius:12px;cursor:pointer;margin:16px;padding:24px;text-align:center;transition:all .2s}.file-drop-zone:hover:not(.disabled){background:#f5f9ff;border-color:#1976d2}.file-drop-zone.dragging{background:#e3f2fd;border-color:#1976d2;border-style:solid}.file-drop-zone.disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.drop-zone-content{pointer-events:none}.drop-zone-icon{font-size:2.5rem;margin-bottom:8px}.drop-zone-content p{color:#666;margin:4px 0}.drop-zone-hint{color:#888!important;font-size:.85rem}.drop-zone-formats{color:#aaa!important;font-size:.75rem;margin-top:8px!important}.upload-message{border-radius:8px;font-size:.9rem;margin:12px 16px;padding:10px 16px}.upload-message.success{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32}.upload-message.error{background:#ffebee;border:1px solid #ef9a9a;color:#c62828}.upload-progress{color:#1976d2;font-size:.9rem;padding:8px;text-align:center}.parent-dashboard{max-width:1400px}.parent-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:280px 1fr;margin-top:24px}.parent-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:20px}.parent-sidebar h3{border-bottom:2px solid #e91e63;color:#333;font-size:1.1rem;margin:0 0 16px;padding-bottom:12px}.parent-main{gap:24px}.parent-main,.student-list{display:flex;flex-direction:column}.student-list{gap:8px;max-height:400px;overflow-y:auto}.student-item{background:#f8f9fa;border:2px solid transparent;border-radius:8px;cursor:pointer;padding:12px;transition:all .2s ease}.student-item:hover{background:#fce4ec;border-color:#f48fb1}.student-item.selected{background:#fce4ec;border-color:#e91e63}.student-name{color:#333;font-size:.95rem;font-weight:500}.student-relationship{color:#666;font-size:.8rem;margin-top:4px;text-transform:capitalize}.list-empty,.list-error,.list-loading{color:#666;font-size:.9rem;padding:20px;text-align:center}.list-empty small{color:#999;display:block;margin-top:8px}.child-details-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:24px}.child-details-card h3{border-bottom:2px solid #e91e63;color:#333;margin:0 0 16px;padding-bottom:12px}.child-details-card p{color:#555;margin:8px 0}.sidebar-section{margin-bottom:24px}.sidebar-section:last-child{margin-bottom:0}.sidebar-actions{display:flex;flex-direction:column;gap:8px}.sidebar-action-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#333;cursor:pointer;font-size:.9rem;padding:10px 16px;text-align:left;transition:all .2s ease;width:100%}.sidebar-action-btn:hover:not(:disabled){background:#fce4ec;border-color:#f48fb1;color:#c2185b}.sidebar-action-btn:disabled{cursor:not-allowed;opacity:.6}.sidebar-action-btn.program:hover:not(:disabled){background:#e3f2fd;border-color:#64b5f6;color:#1565c0}.program-sidebar .sidebar-section{border-bottom:1px solid #eee;margin-bottom:20px;padding-bottom:16px}.program-sidebar .sidebar-section h3{border-bottom:2px solid #1976d2;color:#333;font-size:1rem;margin:0 0 12px;padding-bottom:8px}.resizable-splitter{display:flex;height:calc(100vh - 60px);overflow:hidden;width:100%}.resizable-left{display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow:hidden;position:relative}.resizable-left .app-sidebar{height:100%;max-width:none;min-width:0;min-width:auto;overflow-x:hidden;overflow-y:auto;width:100%}.resizable-divider{align-items:center;background:linear-gradient(180deg,#1565c0,#0d47a1);cursor:col-resize;display:flex;flex-shrink:0;justify-content:center;min-width:8px;position:relative;transition:all .15s;width:8px;z-index:100}.resizable-divider.dragging,.resizable-divider:hover{background:#1976d2;width:10px}.divider-handle{background:hsla(0,0%,100%,.4);border-radius:2px;height:60px;transition:all .15s;width:4px}.resizable-divider.dragging .divider-handle,.resizable-divider:hover .divider-handle{background:hsla(0,0%,100%,.8);height:80px}.resizable-right{display:flex;flex:1 1;flex-direction:column;height:100%;min-width:300px;overflow:hidden}.dashboard-layout{display:flex;min-height:calc(100vh - 60px)}.app-sidebar{background:linear-gradient(180deg,#1565c0,#0d47a1);box-shadow:4px 0 20px rgba(0,0,0,.15);color:#fff;display:flex;flex-direction:column;max-width:320px;min-width:260px;overflow-y:auto;width:280px}.sidebar-header{border-bottom:1px solid hsla(0,0%,100%,.1);padding:20px 16px}.sidebar-title{align-items:center;color:#fff;display:flex;font-size:1.1rem;font-weight:600;gap:10px;letter-spacing:.02em;margin-bottom:16px}.sidebar-title-icon{flex-shrink:0;height:20px;opacity:.85;width:20px}.sidebar-title span{opacity:.95}.sidebar-stats{display:flex;gap:10px}.sidebar-stat{align-items:center;background:hsla(0,0%,100%,.1);border-radius:8px;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:12px 10px;transition:background .2s ease}.sidebar-stat:hover{background:hsla(0,0%,100%,.15)}.sidebar-stat-value{color:#fff;font-size:1.25rem;font-weight:700;line-height:1}.sidebar-stat-label{font-size:.65rem;font-weight:500;letter-spacing:.05em;margin-top:4px;opacity:.6;text-transform:uppercase}.sidebar-nav{flex:1 1;overflow-y:auto;padding:12px}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.25)}.sidebar-footer{border-top:1px solid hsla(0,0%,100%,.1);padding:12px}.sidebar-logout-btn{align-items:center;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:hsla(0,0%,100%,.8);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;justify-content:center;padding:10px 14px;transition:all .15s ease;width:100%}.sidebar-logout-btn:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.2);color:#fff}.sidebar-logout-btn svg{height:18px;width:18px}.sidebar-version{font-size:.7rem;opacity:.4}.sidebar-menu-section{margin-bottom:4px}.sidebar-section-title{color:hsla(0,0%,100%,.4);font-size:.65rem;font-weight:600;letter-spacing:.08em;padding:12px 14px 6px;text-transform:uppercase}.sidebar-item{align-items:center;background:transparent;border:none;border-radius:8px;color:hsla(0,0%,100%,.7);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;margin:2px 0;padding:10px 14px;text-align:left;transition:all .15s ease;width:100%}.sidebar-item:hover:not(.disabled){background:hsla(0,0%,100%,.1);color:#fff}.sidebar-item.active{background:hsla(0,0%,100%,.15);color:#fff;font-weight:600}.sidebar-item.disabled{cursor:not-allowed;opacity:.4}.sidebar-item-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-right:10px;opacity:.8;width:20px}.sidebar-item-icon svg{height:100%;width:100%}.sidebar-item.active .sidebar-item-icon,.sidebar-item:hover:not(.disabled) .sidebar-item-icon{opacity:1}.sidebar-item-label{flex:1 1}.sidebar-submenu{display:flex;flex-direction:column}.sidebar-submenu-toggle{position:relative}.sidebar-submenu-arrow{font-size:.65rem;margin-left:8px;opacity:.5;transition:transform .2s ease}.sidebar-submenu.open .sidebar-submenu-arrow{transform:rotate(180deg)}.sidebar-submenu-items{border-left:1px solid hsla(0,0%,100%,.15);margin-bottom:2px;margin-left:30px;margin-top:2px;padding-left:12px}.sidebar-subitem{font-size:.8rem;padding:8px 12px}.sidebar-subitem .sidebar-item-icon{font-size:.95rem;margin-right:10px}.dashboard-content{background:#f5f5f5;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.dashboard-empty{align-items:center;color:#666;display:flex;font-size:1rem;height:100%;justify-content:center;padding:40px}.dashboard-empty .empty-state{max-width:400px;text-align:center}.dashboard-empty .empty-icon{font-size:3rem;margin-bottom:16px;opacity:.7}.dashboard-empty .empty-state h3{color:#333;font-size:1.3rem;margin:0 0 12px}.dashboard-empty .empty-state p{color:#666;margin:0 0 16px}.dashboard-empty .empty-options{list-style:none;margin:0;padding:0;text-align:left}.dashboard-empty .empty-options li{border-bottom:1px solid #eee;padding:8px 0}.dashboard-empty .empty-options li:last-child{border-bottom:none}.editor-full{display:flex;flex-direction:column;height:100%}.sidebar-filter{padding:8px 16px}.sidebar-select{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.3);border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 12px;width:100%}.sidebar-select option{background:#1565c0;color:#fff}.sidebar-select:focus{background:hsla(0,0%,100%,.15);border-color:#fff;outline:none}.sidebar-history-list{margin:8px 0;max-height:300px;overflow-y:auto}.sidebar-history-item{border-bottom:1px solid hsla(0,0%,100%,.1);cursor:pointer;padding:10px 16px;transition:background .15s}.sidebar-history-item:hover{background:hsla(0,0%,100%,.1)}.sidebar-history-item.active{background:hsla(0,0%,100%,.2)}.sidebar-history-title{color:#fff;display:block;font-size:.9rem;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-history-title .file-icon{margin-right:6px}.sidebar-history-type{background:hsla(0,0%,100%,.2);border-radius:10px;color:#fff;font-size:.7rem;padding:2px 8px;text-transform:uppercase}.sidebar-history-actions{align-items:center;display:flex;gap:6px}.permissions-btn{background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;opacity:.6;padding:2px 4px;transition:opacity .15s,background .15s}.permissions-btn:hover{background:hsla(0,0%,100%,.15);opacity:1}.sidebar-history-item:hover .permissions-btn{opacity:.8}.permissions-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.3);max-width:380px;overflow:hidden;width:100%}.modal-header{background:#1976d2;color:#fff;padding:16px 20px}.modal-header h3{font-size:1.1rem;margin:0}.modal-close{background:transparent;color:#fff;font-size:1.5rem;opacity:.8}.modal-close:hover{opacity:1}.modal-body{padding:20px}.modal-subtitle{color:#666;font-size:.9rem;margin-bottom:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permissions-grid{display:flex;flex-direction:column;gap:12px}.permissions-header{border-bottom:1px solid #eee;color:#666;font-size:.85rem;font-weight:600;padding-bottom:8px;text-align:center}.permissions-header,.permissions-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:80px 1fr 1fr}.permissions-row{align-items:center}.role-label{color:#333;font-weight:500}.checkbox-wrapper{cursor:pointer;display:flex;justify-content:center}.checkbox-wrapper input{accent-color:#1976d2;cursor:pointer;height:18px;width:18px}.modal-footer{background:#f5f5f5;border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.modal-footer .btn-secondary{background:#e0e0e0;border:none;border-radius:6px;color:#333;cursor:pointer;font-weight:500;padding:8px 16px}.modal-footer .btn-secondary:hover{background:#d0d0d0}.modal-footer .btn-primary{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.modal-footer .btn-primary:hover{background:#1565c0}.modal-footer .btn-primary:disabled,.modal-footer .btn-secondary:disabled{cursor:not-allowed;opacity:.6}.sidebar-empty,.sidebar-error,.sidebar-loading{color:hsla(0,0%,100%,.7);font-size:.9rem;padding:16px;text-align:center}.app-sidebar .file-drop-zone{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.4);margin:8px 12px;padding:16px}.app-sidebar .file-drop-zone:hover:not(.disabled){background:hsla(0,0%,100%,.1);border-color:#fff}.app-sidebar .file-drop-zone.dragging{background:hsla(0,0%,100%,.15);border-color:#fff}.app-sidebar .drop-zone-content p{color:hsla(0,0%,100%,.9)}.app-sidebar .drop-zone-hint{color:hsla(0,0%,100%,.6)!important}.app-sidebar .upload-message{font-size:.85rem;margin:8px 12px}.app-sidebar .upload-progress{color:#fff;font-size:.85rem;padding:8px;text-align:center}.sidebar-section-subtitle{color:hsla(0,0%,100%,.6);font-size:.75rem;letter-spacing:.5px;padding:8px 16px 4px;text-transform:uppercase}.sidebar-course-add{padding:0 12px 8px}.sidebar-program-courses{margin:4px 0;max-height:250px;overflow-y:auto}.sidebar-program-course-item{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;gap:8px;padding:8px 12px;transition:background .15s}.sidebar-program-course-item:hover{background:hsla(0,0%,100%,.1)}.course-order-controls{display:flex;flex-direction:column;gap:2px}.order-btn{background:hsla(0,0%,100%,.15);border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.65rem;padding:2px 4px;transition:background .15s}.order-btn:hover:not(:disabled){background:hsla(0,0%,100%,.3)}.order-btn:disabled{cursor:not-allowed;opacity:.3}.course-info{flex:1 1;min-width:0}.course-info .course-title{color:#fff;display:block;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-status-select{background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);border-radius:4px;color:#fff;cursor:pointer;font-size:.7rem;margin-top:4px;padding:2px 6px}.course-status-select option{background:#2c3e50;color:#fff}.remove-course-btn{background:transparent;border:none;border-radius:4px;color:hsla(0,0%,100%,.6);cursor:pointer;font-size:1.2rem;padding:2px 6px;transition:color .15s,background .15s}.remove-course-btn:hover{background:hsla(0,0%,100%,.1);color:#ff6b6b}.sidebar-programs-list{border-top:1px solid hsla(0,0%,100%,.1);margin:4px 0;max-height:200px;overflow-y:auto;padding-top:8px}.sidebar-program-item{align-items:center;background:hsla(0,0%,100%,.05);border-radius:6px;cursor:pointer;display:flex;gap:8px;margin:4px 8px;padding:10px 12px;transition:background .15s,transform .1s}.sidebar-program-item:hover{background:hsla(0,0%,100%,.12)}.sidebar-program-item.active{background:rgba(25,118,210,.3);border-left:3px solid #1976d2}.program-item-active-indicator{align-items:center;color:#4caf50;display:flex;font-size:.75rem;font-weight:700;height:18px;justify-content:center;min-width:18px;width:18px}.program-item-info{flex:1 1;min-width:0}.program-item-name{color:#fff;display:block;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-item-year{color:hsla(0,0%,100%,.6);display:block;font-size:.7rem;margin-top:2px}.program-item-count{background:hsla(0,0%,100%,.1);border-radius:10px;color:hsla(0,0%,100%,.5);font-size:.7rem;padding:2px 8px;white-space:nowrap}.sidebar-new-program-btn{background:linear-gradient(135deg,#1976d2,#1565c0);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:8px;padding:10px 12px;transition:all .15s;width:100%}.sidebar-new-program-btn:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-1px)}.create-program-content{margin:0 auto;max-width:1200px;padding:24px}.program-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.program-header-left{flex:1 1}.program-header-right{align-items:center;display:flex;gap:16px}.program-header-right .header-message{border-radius:4px;font-size:.875rem;padding:6px 12px}.program-header-right .header-message.success{background:#e8f5e9;color:#2e7d32}.program-header-right .header-message.error{background:#ffebee;color:#c62828}.save-program-btn{font-size:1rem;font-weight:600;padding:10px 24px}.content-tabs-bar{background:#1e2a38;border-bottom:1px solid #2c3e50;display:flex;min-height:40px;overflow-x:auto;padding:0 8px;scrollbar-width:thin}.content-tabs-bar::-webkit-scrollbar{height:4px}.content-tabs-bar::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:2px}.content-tab{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:hsla(0,0%,100%,.7);cursor:pointer;display:flex;font-size:.875rem;gap:8px;padding:8px 12px;transition:all .15s;white-space:nowrap}.content-tab:hover{background:hsla(0,0%,100%,.05);color:#fff}.content-tab.active{background:hsla(0,0%,100%,.1);border-bottom-color:#1976d2;color:#fff}.content-tab-icon{font-size:1rem}.content-tab-title{max-width:150px;overflow:hidden;text-overflow:ellipsis}.content-tab-close{background:transparent;border:none;border-radius:4px;color:hsla(0,0%,100%,.5);cursor:pointer;font-size:1rem;line-height:1;padding:2px 6px;transition:all .15s}.content-tab-close:hover{background:hsla(0,0%,100%,.2);color:#fff}.content-tabs-content{flex:1 1;overflow:hidden;position:relative}.content-tab-panel{display:none;height:100%;overflow:auto}.content-tab-panel.active{display:block}.history-content{padding:24px}.history-content h2{color:#1976d2;margin-bottom:8px}.program-header h2{align-items:center;color:#1976d2;display:flex;gap:12px;margin-bottom:4px}.program-active-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 10px}.program-active-badge.active{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32}.program-active-badge.inactive{background:#fff3e0;border:1px solid #ffcc80;color:#e65100}.set-active-btn{margin-right:8px}.program-subtitle{color:#666;font-size:1rem}.program-placeholder{padding:60px 40px}.program-placeholder,.program-setup-form{background:#f8f9fa;border:2px dashed #ddd;border-radius:12px;text-align:center}.program-setup-form{margin:40px auto;max-width:500px;padding:40px}.program-setup-form h3{color:#333;margin-bottom:8px}.program-setup-form p{color:#666;margin-bottom:24px}.setup-form-fields{display:flex;flex-direction:column;gap:16px;text-align:left}.setup-form-fields .form-group{display:flex;flex-direction:column;gap:6px}.setup-form-fields label{color:#555;font-size:13px;font-weight:500}.setup-form-fields .form-select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px}.saved-programs-section{border-top:1px solid #ddd;margin-top:24px;padding-top:24px;text-align:left}.saved-programs-section h4{color:#555;font-size:14px;margin-bottom:12px}.saved-programs-list{display:flex;flex-direction:column;gap:8px}.saved-program-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:all .15s ease}.saved-program-item:hover{background:#e3f2fd;border-color:#1976d2}.sidebar-info{background:#f5f5f5;border-radius:6px;margin-bottom:12px;padding:12px}.info-row{display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.info-label{color:#666}.info-value{color:#333;font-weight:500}.info-value.active{color:#2e7d32}.sidebar-hint{color:#666;font-size:13px;padding:12px;text-align:center}.placeholder-icon{font-size:3rem;margin-bottom:16px}.program-placeholder h3{color:#333;margin-bottom:8px}.program-placeholder p{color:#666;margin:0 auto;max-width:400px}.program-loading{padding:60px 40px;text-align:center}.loading-spinner{margin:0 auto 16px}.program-form{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08)}.form-section{border-bottom:1px solid #eee;padding:20px 24px}.form-section h3{border-bottom:2px solid #1976d2;color:#333;display:inline-block;font-size:1rem;margin-bottom:16px;padding-bottom:8px}.form-input{border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;padding:10px 14px;transition:border-color .2s;width:100%}.form-input:focus{border-color:#1976d2;outline:none}.form-textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:.95rem;padding:10px 14px;resize:vertical;transition:border-color .2s;width:100%}.form-textarea:focus{border-color:#1976d2;outline:none}.no-courses-message{background:#f8f9fa;border-radius:8px;padding:24px;text-align:center}.no-courses-message p{color:#666;margin-bottom:8px}.no-courses-message .hint{color:#999;font-size:.85rem}.program-courses-table{overflow-x:auto}.program-courses-table table{border-collapse:collapse;width:100%}.program-courses-table td,.program-courses-table th{border-bottom:1px solid #eee;padding:12px;text-align:left}.program-courses-table th{background:#f8f9fa;color:#555;font-size:.85rem;font-weight:600;text-transform:uppercase}.program-courses-table tr:hover{background:#f8f9fa}.status-badge{border-radius:12px;font-size:.75rem;padding:4px 10px;text-transform:uppercase}.status-badge.status-planned{background:#e3f2fd;color:#1976d2}.status-badge.status-in-progress{background:#fff3e0;color:#f57c00}.status-badge.status-completed{background:#e8f5e9;color:#388e3c}.status-badge.status-dropped{background:#ffebee;color:#c62828}.btn-icon{padding:4px 8px;transition:background .15s}.btn-icon:hover{background:#f0f0f0}.form-actions{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.form-actions .btn-primary{padding:10px 24px;width:auto}.form-actions .btn-secondary{background:#f0f0f0;color:#333;padding:10px 24px;width:auto}.form-actions .btn-secondary:hover{background:#e0e0e0}.template-section{padding:20px 24px}.template-section .section-description{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:16px}.template-section .template-selector{min-height:450px}.create-program-content.with-templates{max-width:1400px}.content-section{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);margin-left:auto;margin-right:auto;margin-top:24px;max-width:800px;padding:24px}.content-section h3{border-bottom:2px solid #1976d2;color:#333;margin-bottom:16px;padding-bottom:12px}.user-list-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);margin-top:24px;overflow:hidden}.user-list-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #1976d2;display:flex;justify-content:space-between;padding:20px 24px}.user-list-header h3{color:#333;margin:0}.user-list-header-right{align-items:center;display:flex;gap:16px}.btn-add-user{align-items:center;background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 16px;transition:background .2s}.btn-add-user:hover{background:#43a047}.user-count{background:#e3f2fd;border-radius:20px;color:#1565c0;font-size:.85rem;font-weight:500;padding:4px 12px}.user-list{overflow-x:auto}.user-table{border-collapse:collapse;width:100%}.user-table td,.user-table th{border-bottom:1px solid #eee;padding:14px 20px;text-align:left}.user-table th{background:#f8f9fa;color:#555;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.user-table tr:hover{background:#f5f9ff}.user-table tr.inactive-row{background:#fafafa;opacity:.7}.user-name{color:#1976d2;cursor:pointer;font-weight:500}.user-name:hover{text-decoration:underline}.user-email{color:#666}.status-badge{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:500;padding:4px 12px;text-transform:capitalize}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.inactive{background:#ffebee;color:#c62828}.btn-edit,.btn-status{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .2s}.btn-edit{background:#e3f2fd;color:#1565c0}.btn-edit:hover{background:#bbdefb}.btn-status.activate{background:#e8f5e9;color:#2e7d32}.btn-status.activate:hover{background:#c8e6c9}.btn-status.deactivate{background:#ffebee;color:#c62828}.btn-status.deactivate:hover{background:#ffcdd2}.btn-edit:disabled,.btn-status:disabled{cursor:not-allowed;opacity:.5}.content-error,.content-loading{background:#fff;border-radius:12px;color:#666;margin-top:24px;padding:40px;text-align:center}.content-error{background:#ffebee;color:#c62828}.modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #1976d2;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#333;font-size:1.3rem;margin:0}.modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:1.8rem;height:32px;line-height:1;padding:0;width:32px}.modal-close:hover{color:#333}.modal-error,.modal-loading{color:#666;padding:40px;text-align:center}.modal-error{color:#c62828}.user-edit-form{padding:24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-row,.user-edit-form .form-group{margin-bottom:16px}.user-edit-form .form-group label{color:#555;display:block;font-size:.9rem;font-weight:500;margin-bottom:6px}.user-edit-form .form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:10px 14px;transition:border-color .2s;width:100%}.user-edit-form .form-group input:focus{border-color:#1976d2;outline:none}.form-error{background:#ffebee;border-radius:8px;color:#c62828;margin-bottom:16px;padding:12px;text-align:center}.form-info{background:#f5f5f5;margin-top:16px;padding:16px}.form-info p{color:#555;margin:4px 0}.password-note{color:#888!important;font-size:.9rem;margin-top:8px!important}.roles-section{background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;margin-top:20px;padding:16px}.roles-section h4{color:#1565c0;font-size:1rem;margin:0 0 12px}.current-roles{margin-bottom:12px}.no-roles{color:#666;font-style:italic;margin:0}.role-tags{display:flex;flex-wrap:wrap;gap:8px}.role-tag{background:#1976d2;border-radius:20px;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;padding:6px 12px}.role-remove-btn,.role-tag{align-items:center;color:#fff}.role-remove-btn{background:hsla(0,0%,100%,.3);border:none;border-radius:50%;cursor:pointer;display:flex;font-size:14px;height:18px;justify-content:center;line-height:1;transition:background .2s;width:18px}.role-remove-btn:hover{background:hsla(0,0%,100%,.5)}.role-remove-btn:disabled{cursor:not-allowed;opacity:.5}.add-role-section{align-items:center;display:flex;gap:8px}.role-select{background:#fff;border:2px solid #90caf9;border-radius:8px;flex:1 1;font-size:14px;padding:8px 12px}.role-select:focus{border-color:#1976d2;outline:none}.btn-add-role{background:#4caf50;color:#fff;font-size:14px;padding:8px 16px;width:auto}.btn-add-role:hover{background:#43a047}.btn-add-role:disabled{background:#bdbdbd;cursor:not-allowed}.modal-actions{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.btn-secondary{background:#f5f5f5;border:1px solid #ddd;color:#555}.btn-secondary:hover{background:#eee}.role-list-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden}.role-list-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #1976d2;display:flex;justify-content:space-between;padding:20px 24px}.role-list-header h3{color:#333;font-size:1.2rem;margin:0}.role-list-header .header-actions{align-items:center;display:flex;gap:16px}.role-count{color:#666;font-size:.9rem}.btn-add{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s;width:auto}.btn-add:hover{background:#43a047}.role-table{border-collapse:collapse;width:100%}.role-table th{background:#f0f0f0;border-bottom:1px solid #ddd;color:#555;font-weight:600;padding:14px 20px;text-align:left}.role-table td{border-bottom:1px solid #eee;padding:14px 20px}.role-table tr:hover{background:#f8f9fa}.role-table .inactive-row{background:#f5f5f5;opacity:.7}.role-name{color:#1976d2;cursor:pointer;font-weight:500}.role-name:hover{text-decoration:underline}.role-description{color:#666;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-danger{background:#f44336;border:none}.btn-danger:hover{background:#d32f2f}.btn-danger:disabled{background:#bdbdbd;cursor:not-allowed}.no-data{color:#999;font-style:italic;padding:40px!important;text-align:center}.role-edit-modal{max-width:500px}.role-edit-form{padding:24px}.role-edit-form .form-group{margin-bottom:20px}.role-edit-form .form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.role-edit-form .form-group input,.role-edit-form .form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:15px;padding:12px 14px;transition:border-color .2s;width:100%}.role-edit-form .form-group input:focus,.role-edit-form .form-group textarea:focus{border-color:#1976d2;outline:none}.role-edit-form .form-group textarea{min-height:80px;resize:vertical}.info-note{color:#888!important;font-size:.9rem;margin-top:8px!important}.icon-btn{background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:1.2rem;opacity:.8;padding:6px 8px;transition:background .2s,transform .1s}.icon-btn:hover{background:rgba(0,0,0,.05);opacity:1;transform:scale(1.1)}.icon-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.icon-btn.icon-edit:hover{background:rgba(25,118,210,.1)}.icon-btn.icon-danger:hover{background:rgba(244,67,54,.1)}.icon-btn.icon-success:hover{background:rgba(76,175,80,.1)}.icon-btn.icon-warning:hover{background:rgba(255,152,0,.1)}.actions-cell{align-items:center;gap:4px}.course-list-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden}.course-list-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #1976d2;display:flex;justify-content:space-between;padding:20px 24px}.course-list-header h3{color:#333;font-size:1.2rem;margin:0}.course-count{color:#666;font-size:.9rem}.course-table{border-collapse:collapse;width:100%}.course-table th{background:#f0f0f0;border-bottom:1px solid #ddd;color:#555;font-weight:600;padding:14px 16px;text-align:left}.course-table td{border-bottom:1px solid #eee;padding:14px 16px}.course-table tr:hover{background:#f8f9fa}.course-table .inactive-row{background:#f5f5f5;opacity:.7}.course-code{color:#1976d2;cursor:pointer;font-weight:600}.course-code:hover{text-decoration:underline}.course-title{font-weight:500}.course-level,.course-subject{color:#666}.course-price{color:#2e7d32;font-weight:500}.course-edit-modal{max-width:600px}.course-edit-form{padding:24px}.course-edit-form .form-group{margin-bottom:16px}.course-edit-form .form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.course-edit-form .form-group input,.course-edit-form .form-group select,.course-edit-form .form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:15px;padding:10px 14px;transition:border-color .2s;width:100%}.course-edit-form .form-group input:focus,.course-edit-form .form-group select:focus,.course-edit-form .form-group textarea:focus{border-color:#1976d2;outline:none}.course-edit-form .form-group textarea{min-height:70px;resize:vertical}.course-edit-form .form-group select{background:#fff;cursor:pointer}.version-display{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;font-size:15px;gap:10px;height:42px;padding:10px 14px}.version-number{color:#1976d2;font-size:16px;font-weight:600}.version-status{color:#666;font-size:13px}.version-status.active{color:#2e7d32}.version-status.inactive{color:#c62828}.btn-warning{background-color:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.btn-warning:hover{background-color:#f57c00}.btn-warning:disabled{background-color:#ffcc80;cursor:not-allowed}.resources-layout{display:flex;gap:0;height:calc(100vh - 100px)}.resources-sidebar{background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;min-width:280px;width:280px}.resources-editor{background:#fafafa;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.history-with-editor{display:flex;gap:0;height:calc(100vh - 100px)}.history-dashboard{background:#f8f9fa;border-right:1px solid #e0e0e0;min-width:300px;overflow-y:auto;padding:20px;width:300px}.history-dashboard .welcome-card{margin-bottom:0}.history-editor{background:#fafafa;flex:1 1;overflow:hidden}.file-browser,.history-editor{display:flex;flex-direction:column}.file-browser{height:100%}.file-browser-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px}.file-browser-header h4{color:#333;font-size:14px;margin:0}.file-list{flex:1 1;overflow-y:auto;padding:8px}.file-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;transition:background-color .15s;-webkit-user-select:none;user-select:none}.file-item:hover{background-color:#e3f2fd}.file-item.selected{background-color:#bbdefb}.file-item .file-icon{flex-shrink:0;font-size:24px}.file-item .file-info{flex:1 1;min-width:0}.file-item .file-name{color:#333;display:block;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item .file-meta{color:#888;display:block;font-size:11px;margin-top:2px}.file-browser-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:12px 16px;text-align:center}.file-browser-footer small{color:#888;font-size:12px}.empty-files{color:#888;padding:40px 20px;text-align:center}.tabbed-editor{display:flex;flex-direction:column;height:100%}.tabbed-editor-empty{align-items:center;background:#fafafa;display:flex;height:100%;justify-content:center}.empty-message{color:#888}.empty-message .empty-icon{display:block;font-size:64px;margin-bottom:16px;opacity:.5}.empty-message h3{color:#666;margin:0 0 8px}.empty-message p{font-size:14px;margin:0}.editor-tabs{background:#e0e0e0;display:flex;flex-shrink:0;overflow-x:auto;padding:4px 4px 0}.editor-tab{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-bottom:none;border-radius:6px 6px 0 0;color:#666;cursor:pointer;display:flex;font-size:13px;gap:8px;margin-right:2px;max-width:200px;min-width:120px;padding:8px 12px;transition:background-color .15s}.editor-tab:hover{background:#fff}.editor-tab.active{background:#fff;border-color:#ccc;color:#333}.editor-tab .tab-icon{flex-shrink:0;font-size:16px}.editor-tab .tab-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-tab .tab-modified{color:#ff9800;font-size:18px;font-weight:700;margin-left:-4px}.editor-tab .tab-close{background:none;border:none;border-radius:3px;color:#888;cursor:pointer;flex-shrink:0;font-size:16px;line-height:1;padding:2px 4px}.editor-tab .tab-close:hover{background:#e0e0e0;color:#333}.editor-tab .tab-split-indicator{color:#1976d2;font-size:12px;margin-left:4px}.editor-tab.split-active{border-bottom:2px solid #ff9800}.tab-context-menu{animation:contextMenuFadeIn .15s ease;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.15);min-width:180px;padding:4px 0;position:fixed;z-index:1000}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px 16px;transition:background .15s}.context-menu-item:hover{background:#f0f0f0}.context-menu-item .context-icon{color:#666;font-size:12px;text-align:center;width:16px}.context-menu-divider{background:#e0e0e0;height:1px;margin:4px 0}.editor-content-wrapper{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.editor-content-wrapper.split{flex-direction:row}.editor-content-wrapper.split .editor-content{flex:1 1;overflow:hidden}.editor-content-wrapper.split .split-panel{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.editor-splitter-container{display:flex;flex:1 1;height:100%;overflow:hidden}.editor-splitter-left,.editor-splitter-right{display:flex;flex-direction:column;height:100%;overflow:hidden}.editor-splitter-divider{background:linear-gradient(180deg,#1976d2,#1565c0);cursor:col-resize;flex-shrink:0;min-width:6px;transition:width .15s,background .15s;width:6px}.editor-splitter-divider.dragging,.editor-splitter-divider:hover{background:#2196f3;width:8px}.split-panel-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#555;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 12px}.split-panel-header .tab-icon{font-size:14px}.split-close-btn{background:none;border:none;border-radius:3px;color:#888;cursor:pointer;font-size:16px;margin-left:auto;padding:2px 6px}.split-close-btn:hover{background:#e0e0e0;color:#333}.tab-splitter-container{display:flex;flex:1 1;height:100%;overflow:hidden}.tab-splitter-left,.tab-splitter-right{display:flex;flex-direction:column;height:100%;overflow:hidden}.tab-splitter-left .content-tab-panel,.tab-splitter-right .content-tab-panel{flex:1 1;overflow:auto}.tab-splitter-divider{background:linear-gradient(180deg,#1976d2,#1565c0);cursor:col-resize;flex-shrink:0;min-width:6px;transition:width .15s,background .15s;width:6px}.tab-splitter-divider.dragging,.tab-splitter-divider:hover{background:#2196f3;width:8px}.tab-splitter-right .split-panel-header{align-items:center;background:#f0f4f8;border-bottom:1px solid #e0e0e0;color:#555;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 12px}.split-panel-icon{font-size:14px}.split-panel-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-content{background:#fff;flex:1 1;overflow:hidden}.editor-content,.editor-loading{display:flex;flex-direction:column}.editor-loading{align-items:center;color:#888;height:100%;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#1976d2;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.editor-toolbar-actions{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 16px}.editor-toolbar-actions .file-name{color:#333;font-weight:500}.editor-toolbar-actions .modified-indicator{color:#ff9800;font-style:italic}.editor-toolbar-actions .toolbar-buttons{display:flex;gap:8px}.btn-sm,.editor-error{font-size:13px}.editor-error{background:#ffebee;color:#c62828;padding:8px 16px}.rich-text-editor{display:flex;flex-direction:column;height:100%}.rich-text-editor .quill{display:flex;flex:1 1;flex-direction:column}.rich-text-editor .ql-container{flex:1 1;font-size:15px;overflow-y:auto}.rich-text-editor .ql-editor{min-height:300px}.spreadsheet-editor{display:flex;flex-direction:column;height:100%}.spreadsheet-container{flex:1 1;overflow:auto;padding:16px}.spreadsheet-container .Spreadsheet{width:100%}.spreadsheet-container .Spreadsheet__cell{border:1px solid #e0e0e0;min-width:80px;padding:6px 8px}.spreadsheet-container .Spreadsheet__header{background:#f5f5f5;font-weight:500}.pdf-viewer{display:flex;flex-direction:column;height:100%}.pdf-toolbar{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:8px 16px}.pdf-info .file-name{color:#333;font-weight:500}.pdf-controls{align-items:center;display:flex;gap:16px}.page-controls,.zoom-controls{align-items:center;display:flex;gap:8px}.page-controls button,.zoom-controls button{background:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px}.page-controls button:hover,.zoom-controls button:hover{background:#d0d0d0}.page-controls button:disabled{cursor:not-allowed;opacity:.5}.page-indicator{color:#666;font-size:13px;min-width:120px;text-align:center}.pdf-container{background:#e0e0e0;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:20px}.pdf-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px}.image-error .error-message,.pdf-error .error-message{align-items:center;display:flex;flex-direction:column;gap:12px;padding:40px}.error-message .error-icon{font-size:48px}.image-viewer{display:flex;flex-direction:column;height:100%}.image-toolbar{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 16px}.image-toolbar .file-name{color:#333;font-weight:500}.image-controls{display:flex;gap:16px}.rotation-controls{display:flex;gap:8px}.rotation-controls button{background:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px}.rotation-controls button:hover{background:#d0d0d0}.image-container{align-items:center;background:#e0e0e0;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:20px}.image-container img{box-shadow:0 4px 20px rgba(0,0,0,.2);max-height:100%;max-width:100%;object-fit:contain}.image-loading{flex-direction:column}.image-loading,.unsupported-file{align-items:center;display:flex;height:100%;justify-content:center}.unsupported-file{color:#888;font-size:16px}.online-users-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);display:flex;flex-direction:column;max-height:400px;overflow:hidden}.online-users-header{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.online-users-header h3{align-items:center;color:#333;display:flex;font-size:16px;gap:10px;margin:0}.status-dot{border-radius:50%;height:10px;width:10px}.status-dot.online{background:#4caf50;box-shadow:0 0 8px rgba(76,175,80,.5)}.status-dot.offline{background:#9e9e9e}.btn-retry{background:none;border:1px solid #1976d2;border-radius:4px;color:#1976d2;cursor:pointer;font-size:12px;padding:4px 12px}.btn-retry:hover{background:#e3f2fd}.connection-error{background:#ffebee;color:#c62828;font-size:13px;padding:12px 20px}.no-users-online{color:#666;padding:40px 20px;text-align:center}.online-users-list{flex:1 1;overflow-y:auto}.online-user-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;padding:12px 20px;transition:background .2s}.online-user-item:hover{background:#f5f5f5}.online-user-item:last-child{border-bottom:none}.online-user-item .user-avatar{align-items:center;background:linear-gradient(135deg,#1976d2,#0d47a1);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.online-user-item .user-info{display:flex;flex:1 1;flex-direction:column}.online-user-item .user-name{color:#333;font-weight:500}.online-user-item .user-role{color:#666;font-size:12px}.user-actions{display:flex;gap:8px}.btn-call{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:transform .2s,box-shadow .2s;width:36px}.btn-call:hover{transform:scale(1.1)}.btn-call.audio{background:#4caf50;color:#fff}.btn-call.audio:hover{box-shadow:0 4px 12px rgba(76,175,80,.4)}.btn-call.video{background:#1976d2;color:#fff}.btn-call.video:hover{box-shadow:0 4px 12px rgba(25,118,210,.4)}.video-call-overlay{align-items:center;background:rgba(0,0,0,.9);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.video-call-container{background:#1a1a1a;display:flex;flex-direction:column;height:100%;width:100%}.video-call-header{align-items:center;background:rgba(0,0,0,.5);display:flex;justify-content:space-between;left:0;padding:16px 24px;position:absolute;right:0;top:0;z-index:10}.peer-info{display:flex;flex-direction:column}.peer-name{color:#fff;font-size:18px;font-weight:600}.call-status{color:hsla(0,0%,100%,.7);font-size:14px}.btn-close-call{background:hsla(0,0%,100%,.2);border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:18px;height:40px;transition:background .2s;width:40px}.btn-close-call:hover{background:hsla(0,0%,100%,.3)}.video-call-content{align-items:center;display:flex;flex:1 1;justify-content:center;position:relative}.call-ended-prompt,.calling-prompt,.incoming-call-prompt{align-items:center;color:#fff;display:flex;flex-direction:column;gap:16px;text-align:center}.avatar-large,.caller-avatar{align-items:center;background:linear-gradient(135deg,#1976d2,#0d47a1);border-radius:50%;color:#fff;display:flex;font-size:40px;font-weight:600;height:120px;justify-content:center;width:120px}.caller-avatar.pulse{animation:pulse 2s ease-in-out infinite}.call-ended-prompt h3,.calling-prompt h3,.incoming-call-prompt h3{font-size:24px;margin:0}.call-ended-prompt p,.calling-prompt p,.incoming-call-prompt p{color:hsla(0,0%,100%,.7);margin:0}.incoming-call-actions{display:flex;gap:24px;margin-top:24px}.btn-accept,.btn-reject{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;font-size:14px;gap:8px;padding:16px 24px;transition:transform .2s,box-shadow .2s}.btn-accept span,.btn-reject span{align-items:center;border-radius:50%;display:flex;font-size:24px;height:50px;justify-content:center;width:50px}.btn-reject{background:#c62828;color:#fff}.btn-reject:hover{box-shadow:0 4px 20px rgba(198,40,40,.4);transform:scale(1.05)}.btn-reject span{background:hsla(0,0%,100%,.2)}.btn-accept{background:#4caf50;color:#fff}.btn-accept:hover{box-shadow:0 4px 20px rgba(76,175,80,.4);transform:scale(1.05)}.btn-accept span{background:hsla(0,0%,100%,.2)}.btn-cancel-call{background:#c62828;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin-top:24px;padding:12px 32px;transition:background .2s}.btn-cancel-call:hover{background:#b71c1c}.video-streams{height:100%;position:relative;width:100%}.remote-video-container{align-items:center;background:#000;display:flex;height:100%;justify-content:center;width:100%}.remote-video{height:100%;object-fit:contain;width:100%}.remote-video-container .video-placeholder,.remote-video-container.video-off .remote-video{display:none}.remote-video-container.video-off .video-placeholder{align-items:center;display:flex;justify-content:center}.peer-muted-indicator{background:rgba(0,0,0,.7);border-radius:8px;color:#fff;font-size:14px;padding:8px 16px;position:absolute;right:24px;top:80px}.local-video-container{background:#333;border-radius:12px;bottom:100px;box-shadow:0 4px 20px rgba(0,0,0,.4);height:150px;overflow:hidden;position:absolute;right:24px;width:200px}.local-video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.local-video-container.video-off .local-video{display:none}.video-placeholder-small{align-items:center;color:#fff;display:none;font-size:14px;height:100%;justify-content:center;width:100%}.local-video-container.video-off .video-placeholder-small{display:flex}.video-call-controls{background:rgba(0,0,0,.7);border-radius:50px;bottom:24px;display:flex;gap:16px;left:50%;padding:16px 24px;position:absolute;transform:translateX(-50%);z-index:10}.control-btn{align-items:center;background:hsla(0,0%,100%,.2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:56px;justify-content:center;transition:background .2s,transform .2s;width:56px}.control-btn:hover{background:hsla(0,0%,100%,.3);transform:scale(1.1)}.control-btn.disabled{background:#c62828}.control-btn.end-call{background:#c62828;transform:rotate(135deg)}.control-btn.end-call:hover{background:#b71c1c}.call-error-message{align-items:center;color:#fff;display:flex;flex-direction:column;gap:16px;text-align:center}.call-error-message p{color:#ef5350;font-size:16px}@media (max-width:768px){.local-video-container{bottom:120px;height:90px;right:16px;width:120px}.video-call-controls{gap:12px;padding:12px 16px}.control-btn{font-size:20px;height:48px;width:48px}}.video-section-page{max-width:800px;padding:40px}.video-section-page h3{color:#333;font-size:24px;margin-bottom:8px}.video-section-page .section-description{color:#666;margin-bottom:24px}.video-section{margin-top:24px}.video-section h3{color:#333;font-size:18px;margin-bottom:8px}.video-section .section-description{color:#666;font-size:14px;margin-bottom:16px}.active-call-indicator{align-items:center;background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background .2s}.active-call-indicator:hover{background:linear-gradient(135deg,#43a047,#2e7d32)}.call-pulse{animation:callPulse 1.5s ease-in-out infinite;background:#fff;border-radius:50%;height:12px;width:12px}@keyframes callPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.btn-focus-call{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.4);border-radius:4px;color:#fff;cursor:pointer;font-size:12px;margin-left:auto;padding:4px 12px}.btn-focus-call:hover{background:hsla(0,0%,100%,.3)}.btn-call:disabled{cursor:not-allowed;opacity:.5}.btn-call:disabled:hover{box-shadow:none;transform:none}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h3{margin:0}.quick-actions{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-bottom:24px;padding:20px}.quick-actions h3{margin-bottom:16px}.recent-assignments{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);padding:20px}.recent-assignments h3{color:#333;margin-bottom:16px}.assignments-section,.user-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);padding:20px}.user-section h3{color:#333;margin-bottom:8px}.section-description{color:#666;font-size:.9rem;margin-bottom:20px}.actions-cell{display:flex;gap:8px}.btn-small{font-size:.85rem;padding:6px 12px;width:auto}.btn-secondary{background-color:#757575;color:#fff}.btn-secondary:hover{background-color:#616161}.btn-danger{background-color:#d32f2f;color:#fff}.btn-danger:hover{background-color:#c62828}.empty-message{color:#666;font-style:italic;padding:40px 20px;text-align:center}.stat-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.routing-form-list{background:#fff;border-radius:12px;padding:20px}.routing-form-list .section-header h3{color:#333;margin-bottom:8px}.routing-form-list .tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:8px;margin-bottom:20px;padding-bottom:0}.routing-form-list .tab{background:transparent;border:none;border-bottom:2px solid transparent;color:#666;cursor:pointer;font-size:.95rem;margin-bottom:-2px;padding:12px 24px;transition:all .2s}.routing-form-list .tab:hover{color:#1976d2}.routing-form-list .tab.active{border-bottom-color:#1976d2;color:#1976d2;font-weight:500}.template-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;overflow:hidden}.template-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:background .2s}.template-header:hover{background:#f0f0f0}.template-info h4{color:#333;margin:0 0 4px}.template-description{color:#666;font-size:.9rem;margin-bottom:8px}.template-meta{align-items:center;display:flex;gap:12px}.step-count{color:#888;font-size:.85rem}.template-actions{align-items:center;display:flex;gap:8px}.expand-icon{color:#888;font-size:.8rem;margin-left:8px}.template-steps{background:#fff;border-top:1px solid #e0e0e0;padding:0 16px 16px}.template-steps h5{color:#666;margin:12px 0 8px}.step-list{margin:0;padding-left:20px}.step-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.step-item:last-child{border-bottom:none}.step-info{display:flex;flex-direction:column}.step-info strong{color:#333}.step-role{color:#888;font-size:.85rem}.step-days{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.85rem;padding:2px 8px}.data-table{border-collapse:collapse;margin-top:16px;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.data-table th{background:#f5f5f5;color:#555;font-weight:600}.data-table tr:hover{background:#f8f9fa}.progress-cell{display:flex;flex-direction:column;gap:4px}.progress-bar{background:#e0e0e0;border-radius:4px;height:8px;overflow:hidden;width:100px}.progress-fill{background:linear-gradient(90deg,#4caf50,#8bc34a);height:100%;transition:width .3s}.progress-text{color:#666;font-size:.8rem}.status-active,.status-completed{background:#e8f5e9;color:#2e7d32}.status-in-progress,.status-progress{background:#fff3e0;color:#ef6c00}.status-draft{background:#e3f2fd;color:#1565c0}.status-pending{background:#f5f5f5;color:#757575}.status-inactive{background:#fafafa;color:#9e9e9e}.modal-large{max-height:90vh;max-width:800px;overflow-y:auto}.form-section{border-bottom:1px solid #e0e0e0;margin-bottom:24px;padding-bottom:16px}.form-section:last-child{border-bottom:none}.form-section h4{color:#333;margin-bottom:16px}.section-header-inline{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-hint{color:#666;font-size:.9rem;margin-bottom:16px}.steps-editor{display:flex;flex-direction:column;gap:16px}.step-editor-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:16px;padding:16px}.step-number{align-items:center;background:#1976d2;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.step-fields{flex:1 1}.step-row{display:flex;gap:12px;margin-bottom:12px}.step-row .form-group{flex:1 1;margin-bottom:0}.form-group-small{max-width:80px}.step-options{margin-top:8px}.checkbox-label{align-items:center;color:#555;display:flex;font-size:.9rem;gap:8px}.step-actions{display:flex;flex-direction:column;gap:4px}.btn-icon{background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:1rem;height:32px;padding:0;transition:background .2s;width:32px}.btn-icon:hover{background:#e0e0e0}.btn-icon:disabled{cursor:not-allowed;opacity:.3}.btn-icon.btn-danger:hover{background:#ffebee}.student-routing-form{background:#fff;border-radius:12px;padding:24px}.form-header{align-items:flex-start;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.form-header-info h3{color:#333;margin:0 0 8px}.student-info{color:#666;margin-bottom:8px}.form-meta{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.date-info{color:#888;font-size:.85rem}.form-notes{background:#fff3e0;border-left:4px solid #ff9800;border-radius:8px;margin-bottom:24px;padding:12px 16px}.steps-timeline h4{color:#333;margin-bottom:16px}.timeline{position:relative}.timeline-step{display:flex;gap:16px;padding-bottom:24px}.timeline-step:last-child{padding-bottom:0}.step-indicator{flex-direction:column;flex-shrink:0}.step-circle,.step-indicator{align-items:center;display:flex}.step-circle{background:#e0e0e0;border-radius:50%;color:#666;font-weight:700;height:32px;justify-content:center;transition:all .3s;width:32px}.step-completed .step-circle{background:#4caf50;color:#fff}.step-in-progress .step-circle{animation:pulse 2s infinite;background:#ff9800;color:#fff}.step-line{background:#e0e0e0;flex:1 1;margin-top:4px;min-height:20px;width:2px}.step-completed .step-line{background:#4caf50}.step-content{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;flex:1 1;padding:16px}.step-in-progress .step-content{background:#fff8e1;border-color:#ff9800}.step-completed .step-content{background:#f1f8e9;border-color:#4caf50}.step-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.step-header h5{color:#333;margin:0}.step-status-badge{border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 12px}.step-description{color:#666;margin-bottom:12px}.step-details{display:flex;flex-wrap:wrap;font-size:.9rem;gap:16px;margin-bottom:8px}.assigned-role,.due-date{color:#555}.signoff-info{background:#e8f5e9;border-radius:6px;color:#2e7d32;padding:8px 12px}.signoff-info,.step-notes{font-size:.9rem;margin-top:8px}.step-notes{color:#666;font-style:italic}.signoff-action{display:flex;flex-direction:column;gap:8px;margin-top:12px}.signoff-action textarea{border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:8px 12px;resize:vertical}.completion-banner{align-items:center;background:linear-gradient(135deg,#4caf50,#8bc34a);border-radius:12px;color:#fff;display:flex;gap:16px;margin-top:24px;padding:20px}.completion-banner span:first-child{font-size:2rem}.completion-banner strong{font-size:1.2rem}.completion-banner p{margin:4px 0 0;opacity:.9}.task-list .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.task-summary{display:flex;gap:12px}.task-count{border-radius:12px;font-size:.9rem;font-weight:500;padding:4px 12px}.task-count.pending{background:#fff3e0;color:#ef6c00}.task-count.overdue{background:#ffebee;color:#c62828}.filter-bar{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px}.filter-bar label{color:#666;font-size:.9rem}.filter-bar select{border:1px solid #ddd;border-radius:6px;padding:6px 12px}.task-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.task-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;transition:all .2s}.task-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.task-card.overdue{background:#fff8f8;border-color:#ef5350}.task-card.due-soon{background:#fffbf5;border-color:#ff9800}.task-card.completed{background:#f5f5f5;opacity:.7}.task-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.task-card-header h4{color:#333;margin:0}.task-description{color:#666;font-size:.9rem;margin-bottom:12px}.task-details{display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px;margin-bottom:12px}.assigned-role,.student-name{color:#555}.due-date-info{color:#666;font-size:.9rem;margin-bottom:12px}.due-date-info.overdue{color:#c62828}.due-date-info.due-soon{color:#ef6c00}.overdue-label{background:#c62828;border-radius:4px;color:#fff;font-size:.75rem;font-weight:700;margin-left:8px;padding:2px 8px}.task-actions{display:flex;gap:8px}.quick-actions{margin-top:24px}.quick-actions h3{color:#333;margin-bottom:12px}.action-buttons{display:flex;flex-wrap:wrap;gap:12px}.action-btn{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.95rem;padding:12px 20px;transition:all .2s}.action-btn:hover{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.info-section{background:#f8f9fa;border-radius:8px;margin-top:24px;padding:16px}.info-section h3{color:#333;margin-bottom:12px}.info-section ul{color:#555;margin:0;padding-left:20px}.info-section li{padding:4px 0}.action-bar{margin-bottom:16px}.stat-card.clickable{cursor:pointer}.stat-card.stat-warning{background:#fff8e1;border-color:#ff9800}.stat-card.stat-warning h3{color:#ef6c00}.empty-state{color:#666;padding:40px 20px;text-align:center}.empty-state p{margin-bottom:16px}.form-info{background:#e3f2fd;border-radius:8px;color:#1565c0;margin:16px 0;padding:12px 16px}.form-info p{font-size:.9rem;margin:0}.form-group-inline,.form-group-inline label{align-items:center;display:flex;gap:8px}.form-group-inline label{cursor:pointer}.btn-sm{font-size:.85rem;padding:6px 12px}.btn-view{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer}.btn-view:hover{background:#1565c0}.app-wrapper{min-height:100vh}.app-wrapper .dashboard-container,.app-wrapper .home-container{margin-right:0;transition:margin-right .3s ease}@media (max-width:768px){.navbar{padding-right:24px}.navbar:after{display:none}.app-wrapper .dashboard-container,.app-wrapper .home-container{margin-right:0}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-\[-13px\]:before{content:var(--tw-content);left:-13px}.before\:top-4:before{content:var(--tw-content);top:1rem}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:w-2\.5:before{content:var(--tw-content);width:.625rem}.before\:bg-emerald-200:before{--tw-bg-opacity:1;background-color:#a7f3d0;background-color:rgb(167 243 208/var(--tw-bg-opacity,1));content:var(--tw-content)}.last\:border-0:last-child{border-width:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-110:hover,.hover\:scale-\[1\.02\]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02}.hover\:border-\[\#1565c0\]:hover{--tw-border-opacity:1;border-color:#1565c0;border-color:rgb(21 101 192/var(--tw-border-opacity,1))}.hover\:border-\[\#1565c0\]\/30:hover{border-color:rgba(21,101,192,.3)}.hover\:border-\[\#1565c0\]\/40:hover{border-color:rgba(21,101,192,.4)}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:#fde68a;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.hover\:border-amber-400:hover{--tw-border-opacity:1;border-color:#fbbf24;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:#93c5fd;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:#60a5fa;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:#a855f7;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:#f87171;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:border-white\/20:hover{border-color:hsla(0,0%,100%,.2)}.hover\:bg-\[\#0d47a1\]:hover{--tw-bg-opacity:1;background-color:#0d47a1;background-color:rgb(13 71 161/var(--tw-bg-opacity,1))}.hover\:bg-\[\#1565c0\]:hover{--tw-bg-opacity:1;background-color:#1565c0;background-color:rgb(21 101 192/var(--tw-bg-opacity,1))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:#93c5fd;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-50\/30:hover{background-color:rgba(239,246,255,.3)}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-emerald-100:hover{--tw-bg-opacity:1;background-color:#d1fae5;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.hover\:bg-emerald-500\/30:hover{background-color:rgba(16,185,129,.3)}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:#059669;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/30:hover{background-color:rgba(239,68,68,.3)}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:#94a3b8;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-50\/50:hover{background-color:rgba(248,250,252,.5)}.hover\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:#ede9fe;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/15:hover{background-color:hsla(0,0%,100%,.15)}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:bg-white\/25:hover{background-color:hsla(0,0%,100%,.25)}.hover\:bg-white\/5:hover{background-color:hsla(0,0%,100%,.05)}.hover\:bg-white\/50:hover{background-color:hsla(0,0%,100%,.5)}.hover\:bg-white\/60:hover{background-color:hsla(0,0%,100%,.6)}.hover\:from-\[\#0d47a1\]:hover{--tw-gradient-from:#0d47a1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(13,71,161,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-600:hover{--tw-gradient-from:#059669 var(--tw-gradient-from-position);--tw-gradient-to:rgba(5,150,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-primary-700:hover{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,78,216,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-\[\#0a3880\]:hover{--tw-gradient-to:#0a3880 var(--tw-gradient-to-position)}.hover\:to-green-600:hover{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.hover\:to-primary-800:hover{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}.hover\:text-\[\#1565c0\]:hover{--tw-text-opacity:1;color:#1565c0;color:rgb(21 101 192/var(--tw-text-opacity,1))}.hover\:text-amber-600:hover{--tw-text-opacity:1;color:#d97706;color:rgb(217 119 6/var(--tw-text-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:#059669;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.hover\:shadow-sm:hover,.hover\:shadow-xl:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.hover\:shadow-amber-100:hover{--tw-shadow-color:#fef3c7;--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-amber-500\/25:hover{--tw-shadow-color:rgba(245,158,11,.25);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-blue-100:hover{--tw-shadow-color:#dbeafe;--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-blue-500\/10:hover{--tw-shadow-color:rgba(59,130,246,.1);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-blue-500\/20:hover{--tw-shadow-color:rgba(59,130,246,.2);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-blue-500\/25:hover{--tw-shadow-color:rgba(59,130,246,.25);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-blue-500\/30:hover{--tw-shadow-color:rgba(59,130,246,.3);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-blue-900\/40:hover{--tw-shadow-color:rgba(30,58,138,.4);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-blue-900\/50:hover{--tw-shadow-color:rgba(30,58,138,.5);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-emerald-100\/40:hover{--tw-shadow-color:rgba(209,250,229,.4);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-emerald-500\/25:hover{--tw-shadow-color:rgba(16,185,129,.25);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-emerald-500\/40:hover{--tw-shadow-color:rgba(16,185,129,.4);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-purple-500\/20:hover{--tw-shadow-color:rgba(168,85,247,.2);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-red-100:hover{--tw-shadow-color:#fee2e2;--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-red-500\/50:hover{--tw-shadow-color:rgba(239,68,68,.5);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-slate-200\/50:hover{--tw-shadow-color:rgba(226,232,240,.5);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-violet-500\/25:hover{--tw-shadow-color:rgba(139,92,246,.25);--tw-shadow:var(--tw-shadow-colored)}.focus\:border-\[\#1565c0\]:focus{--tw-border-opacity:1;border-color:#1565c0;border-color:rgb(21 101 192/var(--tw-border-opacity,1))}.focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:#60a5fa;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-white\/25:focus{border-color:hsla(0,0%,100%,.25)}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:bg-white\/20:focus{background-color:hsla(0,0%,100%,.2)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#1565c0\]\/20:focus{--tw-ring-color:rgba(21,101,192,.2)}.focus\:ring-blue-500\/20:focus{--tw-ring-color:rgba(59,130,246,.2)}.focus\:ring-blue-500\/30:focus{--tw-ring-color:rgba(59,130,246,.3)}.focus\:ring-blue-800\/30:focus{--tw-ring-color:rgba(30,64,175,.3)}.focus\:ring-emerald-400\/50:focus{--tw-ring-color:rgba(52,211,153,.5)}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-white\/30:focus{--tw-ring-color:hsla(0,0%,100%,.3)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:translate-y-0:active{--tw-translate-y:0px}.active\:scale-95:active,.active\:translate-y-0:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-\[0\.97\]:active{--tw-scale-x:0.97;--tw-scale-y:0.97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:transform-none:disabled{transform:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-200:disabled{--tw-bg-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-70:disabled{opacity:.7}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.disabled\:hover\:scale-100:hover:disabled{--tw-scale-x:1;--tw-scale-y:1}.disabled\:hover\:scale-100:hover:disabled,.group:hover .group-hover\:translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0{--tw-translate-x:0px}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.group:hover .group-hover\:scale-105,.group:hover .group-hover\:scale-110{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}@keyframes pulse{50%{opacity:.5}}.group\/link:hover .group-hover\/link\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.group:hover .group-hover\:bg-slate-200{--tw-bg-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.group:hover .group-hover\:from-\[\#1565c0\]{--tw-gradient-from:#1565c0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(21,101,192,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.group:hover .group-hover\:from-\[\#1565c0\]\/20{--tw-gradient-from:rgba(21,101,192,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(21,101,192,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.group:hover .group-hover\:to-\[\#0d47a1\]{--tw-gradient-to:#0d47a1 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-blue-500\/20{--tw-gradient-to:rgba(59,130,246,.2) var(--tw-gradient-to-position)}.group\/add:hover .group-hover\/add\:text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.group\/att:hover .group-hover\/att\:text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.group\/del:hover .group-hover\/del\:text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.group\/dl:hover .group-hover\/dl\:text-\[\#1565c0\],.group\/edit:hover .group-hover\/edit\:text-\[\#1565c0\],.group\/eye:hover .group-hover\/eye\:text-\[\#1565c0\]{--tw-text-opacity:1;color:#1565c0;color:rgb(21 101 192/var(--tw-text-opacity,1))}.group\/rm:hover .group-hover\/rm\:text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-\[\#1565c0\],.group\/view:hover .group-hover\/view\:text-\[\#1565c0\]{--tw-text-opacity:1;color:#1565c0;color:rgb(21 101 192/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:flex{display:flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-10{gap:2.5rem}.sm\:p-8{padding:2rem}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (min-width:1024px){.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:mb-8{margin-bottom:2rem}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/2{width:50%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>option\]\:text-slate-800>option{--tw-text-opacity:1;color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1))}.\[\&_\.Spreadsheet\]\:w-full .Spreadsheet{width:100%}.\[\&_\.Spreadsheet__active-cell\]\:border-\[\#1565c0\] .Spreadsheet active-cell{--tw-border-opacity:1;border-color:#1565c0;border-color:rgb(21 101 192/var(--tw-border-opacity,1))}.\[\&_\.Spreadsheet__active-cell\]\:ring-2 .Spreadsheet active-cell{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\[\&_\.Spreadsheet__active-cell\]\:ring-\[\#1565c0\]\/40 .Spreadsheet active-cell{--tw-ring-color:rgba(21,101,192,.4)}.\[\&_\.Spreadsheet__cell\]\:min-w-\[80px\] .Spreadsheet cell{min-width:80px}.\[\&_\.Spreadsheet__cell\]\:border .Spreadsheet cell{border-width:1px}.\[\&_\.Spreadsheet__cell\]\:border-slate-200\/80 .Spreadsheet cell{border-color:rgba(226,232,240,.8)}.\[\&_\.Spreadsheet__cell\]\:px-2 .Spreadsheet cell{padding-left:.5rem;padding-right:.5rem}.\[\&_\.Spreadsheet__cell\]\:py-1\.5 .Spreadsheet cell{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\.Spreadsheet__cell\]\:text-sm .Spreadsheet cell{font-size:.875rem;line-height:1.25rem}.\[\&_\.Spreadsheet__header\]\:bg-slate-50 .Spreadsheet header{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.\[\&_\.Spreadsheet__header\]\:font-semibold .Spreadsheet header{font-weight:600}.\[\&_\.Spreadsheet__header\]\:text-slate-600 .Spreadsheet header{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.\[\&_\.ql-container\]\:flex-1 .ql-container{flex:1 1}.\[\&_\.ql-container\]\:border-slate-200\/80 .ql-container{border-color:rgba(226,232,240,.8)}.\[\&_\.ql-container\]\:text-\[15px\] .ql-container{font-size:15px}.\[\&_\.ql-editor\]\:min-h-\[300px\] .ql-editor{min-height:300px}.\[\&_\.ql-toolbar\]\:border-slate-200\/80 .ql-toolbar{border-color:rgba(226,232,240,.8)}.\[\&_\.ql-toolbar\]\:bg-white .ql-toolbar{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\[\&_\.ql-toolbar\]\:px-3 .ql-toolbar{padding-left:.75rem;padding-right:.75rem}
/*# sourceMappingURL=main.7338c3c1.css.map*/