*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{color:#333;scrollbar-width:none;-ms-overflow-style:none;background-color:#f5f5f5;font-family:Roboto,sans-serif;line-height:1.6}body::-webkit-scrollbar{display:none}.container{min-height:100vh;display:flex}.login-screen{background-color:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background-color:#fff;border:1px solid #dcdcdc;width:100%;max-width:360px;padding:32px 28px}.login-card h2{color:#1e293b;text-align:center;margin-bottom:22px;font-size:1.1rem;font-weight:700}.phone-input-row{gap:8px;display:flex}.phone-input-row .phone-country-code{text-align:center;flex-shrink:0;width:76px}.phone-input-row input:not(.phone-country-code){flex:1;min-width:0}.sidebar{color:#475569;scrollbar-width:none;-ms-overflow-style:none;z-index:1000;background-color:#fff;width:250px;height:100vh;transition:all .3s;position:fixed;overflow-y:auto}.sidebar::-webkit-scrollbar{display:none}.sidebar.collapsed{width:70px}.toggle-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:1.1rem}.toggle-btn:hover{color:#1e293b}.sidebar.collapsed .toggle-btn{display:none}.sidebar-user{align-items:center;padding:22px 20px;display:flex}.user-avatar{color:#94a3b8;cursor:pointer;margin-right:10px;font-size:1.8rem;line-height:0}.user-avatar:hover{color:#1e293b}.user-info{flex:1;min-width:0}.sidebar.collapsed .user-info{display:none}.user-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.user-email{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.sidebar-nav ul{padding:0 12px;list-style:none}.sidebar-nav li{cursor:pointer;color:#475569;align-items:center;margin-bottom:2px;padding:11px 12px;font-size:.87rem;transition:background-color .15s,color .15s;display:flex}.sidebar-nav li:hover{color:#1e293b;background-color:#f1f5f9}.sidebar-nav li.active{color:#1e293b;background-color:#f1f5f9;font-weight:700}.sidebar-nav li i{text-align:center;color:#94a3b8;width:18px;margin-right:13px;font-size:1.05rem}.sidebar-nav li:hover i,.sidebar-nav li.active i{color:#1e293b}.sidebar.collapsed .sidebar-nav li span,.sidebar.collapsed .sidebar-nav li .toggle-switch{display:none}#logout-btn{margin-top:18px}.sidebar-separator{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;padding:20px 12px 8px;font-size:.68rem;font-weight:700}.sidebar.collapsed .sidebar-separator{display:none}.main-content{flex:1;margin-left:250px;padding:20px;transition:margin-left .3s}.sidebar.collapsed+.main-content{margin-left:70px}.page-header{justify-content:flex-end;align-items:center;margin-bottom:20px;display:flex}.header-actions{align-items:center;display:flex}.search-bar{margin-right:20px;position:relative}.search-bar input{border:1px solid #e0e0e0;border-radius:4px;width:250px;padding:8px 40px 8px 15px;font-size:.9rem}.search-bar button{cursor:pointer;color:#757575;background:0 0;border:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.notification{color:#757575;cursor:pointer;font-size:1.2rem;position:relative}.badge{color:#fff;background-color:#f50057;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;display:flex;position:absolute;top:-8px;right:-8px}.page{display:none}.page.active{display:block}.stat-group{margin-bottom:28px}.stat-group-title{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:12px;font-size:.8rem;font-weight:700}.stat-list{flex-direction:column;display:flex}.stat-list-row{border-bottom:1px solid #dcdcdc;justify-content:space-between;align-items:center;padding:11px 0;display:flex}.stat-list-row:last-child{border-bottom:none}.stat-list-label{color:#475569;align-items:center;gap:10px;font-size:.85rem;display:flex}.stat-list-value{color:#1e293b;font-size:1rem;font-weight:700}.stat-icon{color:#64748b;font-size:.9rem}.stat-value{color:#1e293b;font-size:1.6rem;font-weight:700}.hero-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px;display:grid}.hero-stat-card{background-color:#fff;border:1px solid #dcdcdc;flex-direction:column;gap:8px;padding:22px 24px;display:flex}.hero-stat-card h3{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.hero-stat-value{color:#1e293b;font-size:2.1rem;font-weight:700}.hero-stat-sub{color:#94a3b8;font-size:.8rem}.content-row{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px;display:grid}.chart-container{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px;margin-bottom:30px;display:grid}.chart-card{background-color:#fff;border:1px solid #dcdcdc;flex-direction:column;height:340px;padding:20px;display:flex;overflow:hidden}.chart-card.auto-height{height:auto;overflow:visible}.chart-card h3{color:#1e293b;margin-bottom:16px;font-size:.95rem;font-weight:600}.dashboard-toolbar{justify-content:flex-end;margin-bottom:16px;display:flex}.period-picker{position:relative}.period-picker-btn{color:#334155;cursor:pointer;background-color:#fff;border:1px solid #dcdcdc;align-items:center;gap:8px;padding:9px 14px;font-size:.82rem;font-weight:600;display:flex}.period-picker-btn:hover{background-color:#f8fafc}.period-picker-backdrop{z-index:40;position:fixed;inset:0}.period-picker-panel{z-index:50;background-color:#fff;border:1px solid #dcdcdc;width:270px;position:absolute;top:calc(100% + 6px);right:0}.period-picker-list{flex-direction:column;padding:6px;display:flex}.period-picker-item{color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:8px 10px;font-size:.83rem;display:flex}.period-picker-item:hover{background-color:#f1f5f9}.period-picker-item.active{color:#1e293b;font-weight:700}.period-picker-custom{border-top:1px solid #dcdcdc;flex-direction:column;gap:8px;padding:12px;display:flex}.period-picker-custom label{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-size:.68rem}.period-picker-custom input[type=date]{border:1px solid #dcdcdc;width:100%;padding:6px 8px;font-size:.8rem}.period-picker-apply{color:#fff;cursor:pointer;background-color:#3f51b5;border:none;margin-top:4px;padding:8px;font-size:.8rem;font-weight:600}canvas{width:100%;height:250px}.recent-container{grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:20px;display:grid}.recent-card{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 10px #00000014}.recent-card h3{color:#333;border-bottom:1px solid #e0e0e0;margin-bottom:20px;padding-bottom:10px;font-size:1.1rem;font-weight:500}.recent-section{margin-bottom:20px}.recent-section h4{color:#757575;margin-bottom:10px;font-size:.9rem;font-weight:500}.recent-list{list-style:none}.recent-list li{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:8px 0;display:flex}.item-name{font-weight:500}.item-date{color:#757575;font-size:.9rem}.page-actions{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.breadcrumb{align-items:center;font-size:.9rem;display:flex}.breadcrumb-item{color:#757575;cursor:pointer}.breadcrumb-item:hover{text-decoration:underline}.breadcrumb-item.active{color:#333;font-weight:500}.breadcrumb-item:not(:last-child):after{content:">";color:#757575;margin:0 10px}.item-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;display:grid}.hierarchy-item{cursor:pointer;background-color:#fff;border:1px solid #dcdcdc;transition:background-color .15s;overflow:hidden}.hierarchy-item:hover{background-color:#fafafa}.item-image{color:#94a3b8;background-color:#f5f5f5;justify-content:center;align-items:center;height:120px;font-size:3rem;display:flex}.item-image img{object-fit:cover;width:100%;height:100%}.item-content{padding:15px}.item-title{color:#1e293b;margin-bottom:5px;font-size:1rem;font-weight:600}.item-subtitle{color:#64748b;font-size:.85rem}.item-actions{border-top:1px solid #f0f0f0;justify-content:flex-end;padding:10px;display:flex}.item-action-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;margin-left:10px;font-size:.9rem}.item-action-btn:hover,.item-action-btn.edit:hover,.item-action-btn.delete:hover{color:#1e293b}.form-group label{color:#757575;margin-bottom:8px;font-size:.9rem;display:block}.form-group textarea[name=cours]{resize:vertical;height:200px}.form-row{gap:20px;margin-bottom:20px;display:flex}.form-row .form-group{flex:1;margin-bottom:0}.btn{cursor:pointer;border:none;border-radius:0;padding:10px 15px;font-size:.9rem;font-weight:500}.primary-btn{color:#fff;background-color:#1e293b}.secondary-btn{color:#333;background-color:#f5f5f5}.danger-btn{color:#fff;background-color:#f50057}.modal{z-index:2000;background-color:#00000080;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal.active{display:flex}.modal-content{box-shadow:none;background-color:#fff;border-radius:0;width:100%;max-width:none;height:100%;max-height:100vh;overflow-y:auto}.modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h2{font-size:1.3rem;font-weight:500}.close-btn{cursor:pointer;color:#757575;background:0 0;border:none;font-size:1.2rem}.modal-body{padding:20px}.block-card{background:0 0;border:2px dashed #3f51b51f;border-radius:8px;grid-column:1/-1;margin-bottom:12px;padding:14px;transition:transform .15s,box-shadow .15s,background .15s}.block-header{border-bottom:1px solid #f0f2fb;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:6px;display:flex}.block-title-input{color:#24324a;resize:none;box-sizing:border-box;background:#fff;border:1px solid #00000014;border-radius:6px;flex:1;width:100%;padding:10px 12px;font-size:1rem;font-weight:500;line-height:1.4;overflow:hidden}.block-code-input{text-align:center;background:#ffffffe6;border:1px solid #0000000f;border-radius:6px;width:48px;margin-right:8px;padding:6px 8px;font-weight:700}.block-actions button{margin-left:6px}.block-image-row{background:#3f51b508;border-top:1px dashed #3f51b51f;align-items:center;gap:8px;padding:6px 12px;display:flex}.block-image-row-icon{color:#9e9e9e;flex-shrink:0;font-size:.85rem}.block-image-upload-btn{color:#3f51b5;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #3f51b5;border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-size:.8rem;transition:background .15s;display:inline-flex}.block-image-upload-btn:hover{background:#3f51b50f}.block-image-remove{color:#e53935;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 5px;font-size:.85rem}.block-image-pos-select{color:#555;background:#fff;border:1px solid #e0e0e0;border-radius:5px;flex-shrink:0;padding:5px 8px;font-size:.82rem}.block-image-thumb{object-fit:cover;border:1px solid #e0e0e0;border-radius:4px;flex-shrink:0;width:36px;height:36px}.block-children{border-left:3px solid #3f51b50f;flex-flow:wrap;align-items:flex-start;gap:12px;margin-top:10px;padding-left:8px;display:flex}.block-children .question-card{box-sizing:border-box;flex:0 calc(33.333% - 12px);min-width:220px;margin-bottom:0}.select-checkbox{z-index:40;width:18px;height:18px;display:none;position:absolute;top:8px;left:8px}.question-card{position:relative}.question-card.selected{outline:3px solid #3f51b524;box-shadow:0 8px 20px #29323c0f}.selection-toolbar{gap:8px;margin-top:10px;padding:8px;display:flex}.block-choice-modal .modal-content{border-radius:10px;width:720px;max-width:95%;margin:40px auto;overflow:hidden}.block-choice-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));place-items:center;gap:12px;padding:12px;display:grid}.block-tile{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;color:#24324a;background:#fff;border:1px solid #0000000f;border-radius:8px;justify-content:center;align-items:center;width:120px;height:120px;padding:8px;font-weight:700;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 6px 20px #29323c0f}.block-tile:hover{transform:translateY(-6px);box-shadow:0 14px 36px #29323c1f}.block-tile .tile-word{font-size:1.05rem}.block-choice-modal .modal-footer{text-align:right;border-top:1px solid #f0f0f0;padding:12px 20px}.block-add-menu{z-index:3000;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px}.select-questions-list{max-height:300px;overflow:auto}.select-question-row{align-items:center;gap:8px;padding:6px 0;display:flex}.block-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #29323c17}.block-actions .btn{color:#5f6f89;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;padding:6px 8px;font-weight:600;display:inline-flex}.block-actions .btn:hover{color:#3f51b5;background:#3f51b50f}.icon-btn i{font-size:14px}.block-actions .danger{color:#f44336}.block-card.collapsed .block-children{display:none}.block-card .collapse-indicator{color:#78869a;justify-content:center;align-items:center;width:14px;height:14px;margin-right:8px;display:inline-flex}@media (width<=600px){.block-header{flex-direction:column;align-items:stretch;gap:8px}.block-actions{justify-content:flex-end;display:flex}}.modal-actions{justify-content:flex-end;margin-top:20px;display:flex}.modal-actions button{margin-left:10px}.error-message{color:#f50057;margin-bottom:15px;font-size:.9rem;display:none}.error-message.active{display:block}@media (width<=768px){.sidebar{width:70px}.sidebar .sidebar-header h2,.sidebar .user-info,.sidebar .sidebar-nav li span{display:none}.main-content{margin-left:70px}.sidebar.expanded{z-index:1500;width:250px}.sidebar.expanded .sidebar-header h2,.sidebar.expanded .user-info,.sidebar.expanded .sidebar-nav li span{display:block}.stats-container,.chart-container,.recent-container,.settings-container{grid-template-columns:1fr}.search-bar input{width:150px}}.modal.question-editor-modal{background:#000000a6;justify-content:stretch;align-items:stretch;padding:0}.qe-content{background:#fff;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.qe-header{color:#fff;background:#3f51b5;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.qe-header h2{color:#fff;align-items:center;gap:10px;margin:0;font-size:1.1rem;font-weight:500;display:flex}.qe-close{color:#fffc;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:2rem;line-height:1;transition:color .15s}.qe-close:hover{color:#fff}.qe-form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.qe-body{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow:hidden}.qe-fields{background:#fff;border-right:1px solid #e8e8e8;padding:24px 28px;overflow-y:auto}.qe-preview{background:#f4f5ff;padding:24px 28px;overflow-y:auto}.qe-section{margin-bottom:22px}.qe-section:last-child{margin-bottom:0}.qe-section-label{text-transform:uppercase;letter-spacing:.1em;color:#3f51b5;border-bottom:2px solid #e8eaf6;margin-bottom:12px;padding-bottom:7px;font-size:.7rem;font-weight:700}.qe-row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.qe-fields .form-group{margin-bottom:14px}.qe-fields .form-group:last-child{margin-bottom:0}.qe-fields label{color:#444;margin-bottom:5px;font-size:.82rem;font-weight:500;display:block}.qe-required{color:#f44336;margin-left:2px}.qe-fields input[type=text],.qe-fields input[type=number],.qe-fields select{box-sizing:border-box;color:#2c2c2c;background:#fff;border:1px solid #dde1e7;border-radius:6px;width:100%;padding:9px 12px;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.qe-fields input:focus,.qe-fields select:focus,.qe-textarea-lg:focus,.qe-textarea-md:focus{border-color:#3f51b5;outline:none;box-shadow:0 0 0 3px #3f51b51f}.qe-textarea-lg{box-sizing:border-box;resize:vertical;color:#2c2c2c;background:#fff;border:1px solid #dde1e7;border-radius:6px;width:100%;min-height:200px;padding:10px 12px;font-family:Consolas,Roboto Mono,monospace;font-size:.92rem;line-height:1.65;transition:border-color .2s,box-shadow .2s}.qe-textarea-md{box-sizing:border-box;resize:vertical;color:#2c2c2c;background:#fff;border:1px solid #dde1e7;border-radius:6px;width:100%;min-height:140px;padding:10px 12px;font-family:Consolas,Roboto Mono,monospace;font-size:.92rem;line-height:1.65;transition:border-color .2s,box-shadow .2s}.helper-text{color:#888;margin-top:6px;font-size:.76rem;line-height:1.5;display:block}.qe-preview-title{text-transform:uppercase;letter-spacing:.1em;color:#3f51b5;border-bottom:2px solid #d8dbf5;align-items:center;gap:7px;margin-bottom:18px;padding-bottom:7px;font-size:.7rem;font-weight:700;display:flex}.qe-preview-block{background:#fff;border:1px solid #e3e6f0;border-radius:8px;margin-bottom:14px;padding:16px 18px;box-shadow:0 1px 4px #3f51b50d}.qe-preview-block-label{text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin-bottom:10px;font-size:.68rem;font-weight:700}.qe-preview-rendered{word-break:break-word;font-size:.97rem;line-height:1.65}.qe-preview-img{object-fit:contain;border-radius:6px;width:auto;max-width:100%;max-height:220px;display:block}.qe-preview-empty{color:#bbb;margin:0;font-size:.88rem;font-style:italic}.qe-footer{background:#fff;border-top:1px solid #e8e8e8;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex;box-shadow:0 -2px 8px #0000000d}.qe-footer-start{margin-right:auto}.qe-upload-btn{color:#3f51b5;cursor:pointer;background:#fff;border:1px solid #3f51b5;border-radius:6px;align-items:center;gap:6px;margin-top:4px;padding:8px 14px;font-size:.85rem;transition:background .15s;display:inline-flex}.qe-upload-btn:hover{background:#3f51b50f}.qe-image-preview-row{align-items:center;gap:8px;margin-top:8px;display:flex}.qe-image-thumb{object-fit:cover;border:1px solid #e0e0e0;border-radius:6px;width:64px;height:64px}.qe-image-remove{color:#e53935;cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:1rem}.question-container{grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:20px;margin-top:20px;display:grid}.question-card{background-color:#fff;border-left:4px solid #4caf50;border-radius:8px;transition:box-shadow .3s;overflow:hidden;box-shadow:0 2px 10px #00000014}.question-card:hover{box-shadow:0 4px 15px #0000001a}.question-header{background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:15px;display:flex}.question-title{color:#333;margin:0;font-size:1.1rem;font-weight:500}.question-course{color:#fff;background-color:#3f51b5;border-radius:4px;padding:3px 8px;font-size:.8rem;font-weight:500}.question-body{padding:15px}.question-section:last-child{margin-bottom:0}.question-text{white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.5}.question-options{margin:0;padding:0;list-style:none}.question-option{background-color:#f5f5f5;border-radius:4px;margin-bottom:5px;padding:8px 10px;font-size:.95rem}.question-option.correct{background-color:#e8f5e9;border-left:3px solid #4caf50}.question-image{object-fit:contain;border-radius:4px;width:auto;max-width:100%;max-height:240px;margin:10px 0;display:block}.proposition-list{flex-direction:column;gap:4px;margin:8px 0 0;display:flex}.proposition-item{background:#f7f8fc;border-left:3px solid #c5cae9;border-radius:0 4px 4px 0;margin-bottom:4px;padding:5px 8px;font-size:.93rem;line-height:1.45}.question-source{color:#757575;font-size:.85rem;font-style:italic}.question-actions{border-top:1px solid #f0f0f0;justify-content:flex-end;padding:10px 15px;display:flex}.question-action-btn{color:#757575;cursor:pointer;background:0 0;border:none;margin-left:10px;font-size:.9rem}.question-action-btn:hover{color:#3f51b5}.question-action-btn.edit:hover{color:#ff9800}.question-action-btn.delete:hover{color:#f50057}.entete-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;grid-column:1/-1;transition:transform .3s,box-shadow .3s;overflow:hidden;box-shadow:0 2px 10px #00000026}.entete-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0003}.entete-header{color:#fff;align-items:center;padding:20px;display:flex}.entete-icon{opacity:.9;margin-right:15px;font-size:2rem}.entete-content{flex:1}.entete-title{color:#fff;margin:0 0 5px;font-size:1.4rem;font-weight:600}.entete-description{opacity:.9;color:#fff;margin:0;font-size:.95rem}.entete-actions{gap:10px;display:flex}.entete-action-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:4px;padding:8px 12px;font-size:1rem;transition:background .3s}.entete-action-btn:hover{background:#ffffff4d}.entete-action-btn.edit:hover{background:#ff980080}.entete-action-btn.delete:hover{background:#f5005780}.detail-modal{z-index:2000;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.detail-modal.active{display:flex}.detail-modal-content{background-color:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;animation:.3s ease-out slideIn;overflow-y:auto;box-shadow:0 4px 20px #00000026}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.detail-modal-header{background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:20px;display:flex}.detail-modal-title{color:#333;margin:0;font-size:1.3rem;font-weight:500}.detail-modal-close{cursor:pointer;color:#757575;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.2rem;transition:background-color .3s;display:flex}.detail-modal-close:hover{color:#333;background-color:#e0e0e0}.detail-modal-body{padding:20px}.detail-section{border-bottom:1px solid #f0f0f0;margin-bottom:20px;padding-bottom:20px}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section-title{color:#333;margin-bottom:10px;font-size:1.1rem;font-weight:500}.detail-property{margin-bottom:10px;display:flex}.detail-property:last-child{margin-bottom:0}.detail-label{color:#757575;flex-shrink:0;width:150px;font-weight:500}.detail-value{flex:1}.detail-image{border-radius:4px;max-width:100%;height:auto;margin-top:10px;box-shadow:0 1px 3px #0000001a}.detail-actions{background-color:#f9f9f9;border-top:1px solid #e0e0e0;border-radius:0 0 8px 8px;justify-content:flex-end;padding:15px 20px;display:flex}.detail-btn{cursor:pointer;border:none;border-radius:4px;margin-left:10px;padding:8px 15px;font-size:.9rem;font-weight:500;transition:background-color .3s}.detail-btn-primary{color:#fff;background-color:#3f51b5}.detail-btn-primary:hover{background-color:#303f9f}.detail-btn-secondary{color:#333;background-color:#f5f5f5}.detail-btn-secondary:hover{background-color:#e0e0e0}.settings-section{background-color:#fff;border:1px solid #dcdcdc;margin-bottom:20px;padding:20px}.settings-section h2{color:#1e293b;border-bottom:1px solid #f0f0f0;margin-top:0;margin-bottom:20px;padding-bottom:12px;font-size:1.1rem;font-weight:700}.setting-item{border-bottom:1px solid #f5f5f5;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;padding-bottom:15px;display:flex}.setting-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.setting-label{flex:1}.setting-label label{color:#334155;margin-bottom:5px;font-size:.9rem;font-weight:600;display:block}.setting-description{color:#94a3b8;margin:5px 0 0;font-size:.85rem}.settings-section input,.settings-section select{background-color:#fff;border:1px solid #dcdcdc;border-radius:0;min-width:150px;padding:8px 12px;font-size:.9rem}.settings-section input[type=checkbox]{min-width:0}.firebase-config-info{background-color:#fafafa;border:1px solid #f0f0f0;margin-top:15px;padding:15px}.config-status{align-items:center;margin-bottom:10px;display:flex}.status-indicator{color:#f44336;margin-right:10px;font-size:.8rem}.status-indicator.configured{color:#4caf50}.firebase-instruction{color:#334155;font-size:.9rem}.firebase-instruction p{margin-top:0;font-weight:600}.firebase-instruction ol{margin-bottom:0;padding-left:20px}.firebase-instruction li{margin-bottom:5px}.firebase-instruction code{background-color:#f0f0f0;padding:2px 4px;font-family:monospace}.firebase-instruction a{color:#3f51b5;text-decoration:none}.firebase-instruction a:hover{text-decoration:underline}.user-stats{gap:16px;margin-bottom:20px;display:flex}.user-stat-card{background-color:#fff;border:1px solid #dcdcdc;flex-direction:column;flex:1;gap:6px;padding:16px 20px;display:flex}.stat-number{color:#1e293b;font-size:1.6rem;font-weight:700}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.users-toolbar input[type=text],.users-toolbar select{color:#334155;background-color:#fff;border:1px solid #dcdcdc;padding:10px 12px;font-size:.9rem}.users-toolbar input[type=text]{flex:1;min-width:200px}.users-table-container{background-color:#fff;border:1px solid #dcdcdc;overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.03em;background-color:#fafafa;border-bottom:1px solid #dcdcdc;padding:12px 15px;font-size:.75rem;font-weight:600}.users-table td{color:#334155;border-bottom:1px solid #f0f0f0;padding:12px 15px;font-size:.88rem}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover td{background-color:#fafafa}.user-status,.user-role{color:#334155;font-size:.85rem;font-weight:600}.user-status.inactive,.user-status.pending,.user-role.student{color:#94a3b8;font-weight:500}.loading-cell{text-align:center;color:#64748b;padding:30px!important}@media (width<=768px){.user-stats{flex-direction:column}.users-toolbar{flex-direction:column;align-items:stretch!important}}.toast-container{z-index:9999;flex-direction:column;gap:10px;max-width:350px;display:flex;position:fixed;top:20px;right:20px}.toast{color:#333;background-color:#fff;border-radius:4px;align-items:center;padding:12px 15px;animation:.3s ease-in-out toast-in;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026}.toast-icon{margin-right:10px;font-size:1.2rem}.toast-success{background-color:#e8f5e9;border-left:4px solid #2e7d32}.toast-success .toast-icon{color:#2e7d32}.toast-error{background-color:#ffebee;border-left:4px solid #c62828}.toast-error .toast-icon{color:#c62828}.toast-warning{background-color:#fff8e1;border-left:4px solid #ff8f00}.toast-warning .toast-icon{color:#ff8f00}.toast-info{background-color:#e3f2fd;border-left:4px solid #1976d2}.toast-info .toast-icon{color:#1976d2}.toast-fade-out{animation:.3s ease-in-out forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.ressource-pedagogique{border-left:4px solid #4caf50;transition:all .3s}.ressource-pedagogique.cours{border-left-color:#2196f3}.ressource-pedagogique.tp{border-left-color:#ff9800}.ressource-pedagogique.td{border-left-color:#9c27b0}.ressource-pedagogique.examen{border-left-color:#f44336}.ressource-pedagogique.stage{border-left-color:#009688}.ressource-pedagogique.autre{border-left-color:#795548}.file-preview-container{background-color:#f5f5f5;border-radius:4px;min-height:40px;margin-top:10px;padding:10px}.file-link{color:#3f51b5;align-items:center;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.file-link:hover{color:#283593;text-decoration:underline}.file-link i{margin-right:8px}.upload-info{color:#607d8b;align-items:center;font-size:.9em;display:flex}.upload-info i{color:#03a9f4;margin-right:8px}.upload-success{color:#43a047;align-items:center;font-size:.9em;display:flex}.upload-success i{color:#4caf50;margin-right:8px}.upload-error{color:#e53935;align-items:center;font-size:.9em;display:flex}.upload-error i{margin-right:8px}.resource-type-badge{color:#fff;border-radius:12px;margin-top:5px;padding:3px 8px;font-size:.8em;font-weight:500;display:inline-block}.resource-type-badge.cours{background-color:#2196f3}.resource-type-badge.tp{background-color:#ff9800}.resource-type-badge.td{background-color:#9c27b0}.resource-type-badge.examen{background-color:#f44336}.resource-type-badge.stage{background-color:#009688}.resource-type-badge.autre{background-color:#795548}.download-button{color:#fff;cursor:pointer;background-color:#4285f4;border:none;border-radius:4px;align-items:center;margin-top:8px;padding:6px 12px;font-size:.9em;transition:background-color .2s;display:inline-flex}.download-button:hover{background-color:#3367d6}.download-button i{margin-right:8px}.resources-year-wrapper{flex-direction:column;gap:12px;display:flex}.year-tabs-container{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.year-tab{padding:4px 10px;font-size:.85rem}.year-tab.active{color:#fff;background-color:#1e293b;border-color:#1e293b}.resources-grid-by-year.item-grid{display:grid}.hierarchy-access-tree{border:1px solid #dcdcdc;max-height:420px;margin-top:10px;padding:12px 15px;overflow-y:auto}.access-picker-breadcrumb{margin-bottom:12px}.access-picker-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.access-picker-card .item-image{height:70px;font-size:1.8rem}.access-picker-card .item-content{padding:8px 10px}.access-picker-card .item-title{font-size:.82rem}.access-picker-checkbox{color:#64748b;cursor:pointer;align-items:center;gap:6px;width:100%;padding:8px 10px;font-size:.78rem;display:flex}.access-picker-checkbox input{width:auto;margin:0}.tree-loading,.tree-empty{color:#94a3b8;padding:6px 0;font-size:.8rem}.support-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:20px;display:grid}.support-stat-card{background:#fff;border:1px solid #dcdcdc;align-items:center;padding:16px 20px;display:flex}.support-stat-card .stat-icon{color:#64748b;justify-content:center;align-items:center;width:32px;height:32px;margin-right:12px;font-size:1.1rem;display:flex}.support-stat-card .stat-content h3{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:.75rem;font-weight:600}.support-stat-card .stat-content .stat-value{color:#1e293b;font-size:1.4rem;font-weight:700}.support-filters{gap:15px;margin-bottom:20px;display:flex}.support-filter{flex-direction:column;display:flex}.support-filter label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;font-size:.75rem;font-weight:600}.support-filter select{background-color:#fff;border:1px solid #dcdcdc;border-radius:0;min-width:190px;padding:8px 12px}.support-conversations{border:1px solid #dcdcdc;height:calc(100vh - 320px);display:flex;overflow:hidden}.conversation-list{background-color:#fafafa;border-right:1px solid #dcdcdc;width:30%;overflow-y:auto}.conversation-item{cursor:pointer;border-bottom:1px solid #eee;padding:15px;transition:background-color .15s}.conversation-item:hover,.conversation-item.active{background-color:#f1f5f9}.conversation-info{justify-content:space-between;margin-bottom:5px;display:flex}.conversation-device{color:#1e293b;font-size:.9rem;font-weight:600}.conversation-date{color:#94a3b8;font-size:.75rem}.conversation-preview{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.conversation-status{text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;margin-top:6px;font-size:.7rem;font-weight:600;display:inline-block}.status-active{color:#1e293b}.status-resolved,.status-closed{color:#94a3b8}.chat-container{background-color:#fff;flex-direction:column;flex-grow:1;display:flex}.chat-header{background-color:#fafafa;border-bottom:1px solid #dcdcdc;justify-content:space-between;align-items:center;padding:15px;display:flex}.chat-header-info h3{color:#1e293b;margin:0;font-size:1rem}.chat-header-info p{color:#94a3b8;margin:5px 0 0;font-size:.8rem}.chat-header-actions{gap:10px;display:flex}.chat-header-actions button{color:#334155;cursor:pointer;background-color:#fff;border:1px solid #dcdcdc;border-radius:0;align-items:center;gap:5px;padding:6px 12px;font-size:.85rem;transition:background-color .15s;display:flex}.chat-header-actions button:hover{background-color:#f1f5f9}.chat-header-actions button:disabled{opacity:.5;cursor:not-allowed}.chat-messages{flex-direction:column;flex-grow:1;gap:10px;padding:15px;display:flex;overflow-y:auto}.message{border-radius:0;max-width:80%;padding:10px 15px;position:relative}.message-user{color:#1e293b;background-color:#f1f5f9;align-self:flex-start}.message-admin{color:#fff;background-color:#1e293b;align-self:flex-end}.message-content{word-break:break-word;margin:0}.message-image{cursor:pointer;border-radius:8px;max-width:100%;max-height:260px;margin-bottom:6px;display:block}.message-time{color:#94a3b8;text-align:right;margin-top:5px;font-size:.7rem}.message-admin .message-time{color:#fff9}.chat-input{border-top:1px solid #dcdcdc;gap:10px;padding:15px;display:flex}.chat-input textarea{resize:none;border:1px solid #dcdcdc;border-radius:0;flex-grow:1;height:60px;padding:10px;font-family:inherit}.chat-input button{color:#fff;cursor:pointer;background-color:#1e293b;border:none;border-radius:0;justify-content:center;align-items:center;padding:0 15px;transition:background-color .2s;display:flex}.chat-input button:hover{background-color:#334155}.chat-input button:disabled{cursor:not-allowed;background-color:#cbd5e1}.empty-state{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:20px;display:flex}.empty-state i{color:#cbd5e1;margin-bottom:10px;font-size:3rem}.empty-state p{margin:5px 0}@media (width<=768px){.support-conversations{flex-direction:column;height:auto}.conversation-list{width:100%;max-height:300px}.chat-container{height:500px}}.subscriptions-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px;display:grid}.subscription-stat-card{background:#fff;border:1px solid #dcdcdc;align-items:center;padding:16px 20px;display:flex}.subscription-stat-card .stat-icon{color:#64748b;justify-content:center;align-items:center;width:32px;height:32px;margin-right:12px;font-size:1.1rem;display:flex}.subscription-stat-card .stat-content h3{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:.75rem;font-weight:600}.subscription-stat-card .stat-content .stat-value{color:#1e293b;font-size:1.4rem;font-weight:700}.subscriptions-tabs{gap:8px;margin:8px 0 16px;display:flex}.subscriptions-content{display:none}.subscriptions-content.active{display:block}.subscriptions-table-container{background:#fff;border:1px solid #dcdcdc;padding:12px}.subscriptions-table{border-collapse:collapse;width:100%}.subscriptions-table th,.subscriptions-table td{text-align:left;border-bottom:1px solid #eee;padding:10px}.subscriptions-table th{background:#fafafa;font-weight:600}.badge{color:#334155;font-size:.8rem;font-weight:600}.badge.active{color:#334155}.badge.expired,.badge.pending{color:#94a3b8;font-weight:500}.badge-bonus{color:#92400e;text-transform:uppercase;background:#fef3c7;border-radius:10px;margin-left:6px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.limit-pill{color:#334155;font-size:12px;font-weight:600}.subscription-modal .modal-body .form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.feature-list{gap:10px;display:grid}.feature-item{align-items:center;gap:8px;display:flex}.feature-item input[type=number]{width:100px}.feature-title{flex:1}.search-inline{align-items:center;gap:8px;margin-bottom:8px;display:flex}.search-inline input,.search-inline select{border:1px solid #dcdcdc;padding:8px}.small{color:#64748b;font-size:12px}.user-form-group{margin-bottom:15px}.user-form-group label{color:#334155;margin-bottom:5px;font-size:.85rem;font-weight:600;display:block}.user-form-group input,.user-form-group select{border:1px solid #dcdcdc;width:100%;padding:10px;font-size:.9rem}.announcements-header{justify-content:flex-end;align-items:center;margin-bottom:20px;display:flex}.announcement-title{color:#1e293b;margin-bottom:4px;font-weight:600}.announcement-body{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:400px;font-size:.85rem;overflow:hidden}.announcement-status{color:#94a3b8;font-size:.75rem;font-weight:600;display:inline-block}.announcement-status.active{color:#1e293b}#announcement-modal .modal-content{max-width:600px}#announcement-form .form-group{margin-bottom:20px}#announcement-form label{color:#334155;margin-bottom:8px;font-weight:600;display:block}#announcement-form input,#announcement-form textarea{border:1px solid #dcdcdc;border-radius:0;width:100%;padding:12px;font-family:inherit;font-size:.9rem}#announcement-form textarea{resize:vertical;min-height:120px}#announcement-form input:focus,#announcement-form textarea:focus{border-color:#1e293b;outline:none}.char-count{text-align:right;color:#94a3b8;margin-top:4px;font-size:.75rem}.loading-row{text-align:center;padding:40px!important}.loading-cell{color:#64748b}.loading-cell i{margin-right:8px}.empty-state i{opacity:.5;margin-bottom:16px;font-size:48px}.empty-state p{margin:0;font-size:16px}.surveys-container{padding:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px;display:grid}.survey-stat-card{background:#fff;border:1px solid #dcdcdc;align-items:center;gap:12px;padding:16px 20px;display:flex}.filters{background:#fff;border:1px solid #dcdcdc;margin-bottom:20px;padding:20px}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;display:grid}.surveys-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:20px;display:grid}.survey-card{cursor:pointer;background:#fff;border:1px solid #dcdcdc;padding:20px;transition:background-color .15s}.survey-card:hover{background-color:#fafafa}.survey-card-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.survey-sheet-overlay{z-index:2000;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.survey-sheet{background:#fff;border-top:1px solid #dcdcdc;width:100%;max-width:640px;max-height:85vh;animation:.25s ease-out survey-sheet-up;overflow-y:auto}@keyframes survey-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.survey-sheet-handle{background:#dcdcdc;width:40px;height:4px;margin:12px auto}.survey-sheet-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:0 20px 16px;display:flex}.survey-sheet-header h2{color:#1e293b;font-size:1.05rem;font-weight:700}.survey-sheet-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.survey-sheet-close:hover{color:#1e293b}.survey-sheet-body{padding:20px}.survey-sheet-body p{color:#334155;margin-bottom:10px;font-size:.9rem}.page-access-group{margin-top:14px}.page-access-group-title{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.75rem;font-weight:700}.page-access-list{border:1px solid #dcdcdc;flex-direction:column;display:flex}.page-access-item{color:#334155;cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:center;gap:10px;padding:9px 12px;font-size:.85rem;font-weight:400;display:flex}.page-access-item:last-child{border-bottom:none}.page-access-item:hover{background-color:#fafafa}.page-access-item input{width:auto;margin:0}.modal-close{cursor:pointer;color:#757575;background:0 0;border:none;padding:0;font-size:1.8rem;line-height:1}.modal-close:hover{color:#333}table .badge,.users-table .badge,.subscriptions-table .badge,td .badge{color:#334155;background-color:#0000;border-radius:0;width:auto;height:auto;padding:0;font-size:.8rem;font-weight:600;display:inline-block;position:static}td .badge.expired,td .badge.pending{color:#94a3b8;font-weight:500}td .badge.active{color:#334155}.hierarchy-header,.subscriptions-header,.support-header,.announcements-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.subscriptions-tabs .tab-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:10px 16px;font-weight:500;transition:color .15s,border-color .15s}.subscriptions-tabs .tab-btn.active{color:#1e293b;background:0 0;border-bottom-color:#1e293b;font-weight:700}.empty-state{text-align:center;color:#999;padding:40px 20px}.empty-state i{margin-bottom:15px;font-size:2.5rem;display:block}.question-card{background:#fff;border-radius:8px;margin-bottom:15px;padding:15px;transition:transform .15s,box-shadow .15s;position:relative;box-shadow:0 2px 10px #00000014}.question-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001f}.question-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.question-title{color:#3f51b5;font-size:1rem;font-weight:600}.question-course{color:#999;background:#f5f5f5;border-radius:4px;padding:2px 8px;font-size:.8rem}.question-section{margin-bottom:10px}.question-section-title{color:#555;margin-bottom:4px;font-size:.85rem;font-weight:600}.question-text{color:#333;font-size:.9rem;line-height:1.5}.question-actions{border-top:1px solid #f0f0f0;justify-content:flex-end;gap:5px;margin-top:10px;padding-top:8px;display:flex}.question-action-btn{color:#757575;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 8px;font-size:.9rem}.question-action-btn:hover{color:#3f51b5;background:#3f51b50f}.question-action-btn.delete:hover{color:#f44336;background:#f443360f}.question-image{border-radius:4px;max-width:100%;max-height:200px;margin:8px 0}.entete-card{background:linear-gradient(135deg,#f5f7ff,#fff);border-left:4px solid #3f51b5;border-radius:8px;margin-bottom:15px;padding:15px}.entete-header{align-items:center;gap:12px;display:flex}.entete-icon{color:#3f51b5;font-size:1.5rem}.entete-title{color:#333;font-size:1.1rem;font-weight:600}.entete-description{color:#757575;margin-top:4px;font-size:.85rem}.question-container{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;display:grid}.danger-btn,.btn.danger-btn{color:#fff;background-color:#f44336}.danger-btn:hover{background-color:#d32f2f}.small-btn{padding:4px 6px;font-size:.8rem}.sidebar-nav a{color:inherit;text-decoration:none;display:block}.sidebar.collapsed~.main-content,.sidebar.collapsed+.main-content{margin-left:70px}.support-conversations{gap:20px;min-height:500px;display:flex}.modal-body{max-height:70vh;overflow-y:auto}.form-group{margin-bottom:15px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e0e0e0;border-radius:4px;width:100%;padding:10px;font-size:.9rem}.bold-text{font-weight:700}.highlight-text{background:#fff3cd;border-radius:2px;padding:1px 3px}.special-format{color:#3f51b5;font-style:italic}.solution-text{color:#4caf50}table{border-collapse:collapse;width:100%}table th{color:#555;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:500}.modal-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:10px;padding:15px 20px;display:flex}.btn-primary{color:#fff;cursor:pointer;background-color:#1e293b;border:none;border-radius:0;padding:10px 18px;font-size:.9rem;font-weight:500}.btn-primary:hover{background-color:#334155}.btn-secondary{color:#334155;cursor:pointer;background-color:#fff;border:1px solid #dcdcdc;border-radius:0;padding:10px 18px;font-size:.9rem;font-weight:500}.btn-secondary:hover{background-color:#f1f5f9}.btn-icon{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:0;padding:6px 8px;font-size:1rem;transition:color .2s,background .2s}.btn-icon:hover,.btn-icon.edit:hover,.btn-icon.delete:hover{color:#1e293b;background:#f1f5f9}.modal-header .close{cursor:pointer;color:#757575;background:0 0;border:none;padding:0;font-size:1.8rem;line-height:1}.modal-header .close:hover{color:#333}.input-hint{color:#999;margin-top:4px;font-size:.8rem;display:block}.checkbox-inline{cursor:pointer;align-items:center;gap:6px;display:flex}.checkbox-inline input[type=checkbox]{width:auto;margin:0}.feature-toggle-inline{color:#555;align-items:center;gap:8px;font-size:.9rem;display:flex}.form-control{border:1px solid #dcdcdc;border-radius:0;width:100%;padding:8px 12px;font-size:.9rem}.char-count{color:#999;text-align:right;margin-top:4px;font-size:.8rem}.survey-rating{margin-bottom:10px}.survey-comment{color:#555;margin:0 0 8px;font-size:.9rem;line-height:1.5}.survey-university{color:#999;font-size:.8rem}.survey-university i{margin-right:4px}.survey-date{color:#999;font-size:.8rem}.loading-cell,.empty-cell{text-align:center;color:#999;padding:25px}.loading-cell i,.empty-cell i{margin-right:8px}.features-group{background:#f9f9f9;border-radius:4px;margin-bottom:8px;padding:10px}.announcements-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px;display:grid}.announcement-stat-card{background:#fff;border:1px solid #dcdcdc;align-items:center;padding:16px 20px;display:flex}.announcement-stat-card .stat-icon{color:#64748b;border-radius:0;justify-content:center;align-items:center;width:32px;height:32px;margin-right:12px;font-size:1.1rem;display:flex}.announcement-stat-card .stat-content h3{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:.75rem;font-weight:600}.announcement-stat-card .stat-content .stat-value{color:#1e293b;font-size:1.4rem;font-weight:700}.announcements-table-container{background:#fff;border:1px solid #dcdcdc;padding:12px}.announcements-table{border-collapse:collapse;width:100%}.announcements-table th,.announcements-table td{text-align:left;border-bottom:1px solid #eee;padding:10px}.announcements-table th{background:#fafafa;font-weight:600}.toggle-switch{width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch label{cursor:pointer;background-color:#cbd5e1;border-radius:0;transition:all .2s;position:absolute;inset:0}.toggle-switch label:before{content:"";background-color:#fff;border-radius:0;width:18px;height:18px;transition:all .2s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+label{background-color:#1e293b}.toggle-switch input:checked+label:before{transform:translate(20px)}.item-visible-toggle{align-items:center;display:flex}.qm-title-block{flex-direction:column;gap:2px;min-width:0;display:flex}.qm-title{color:#2c3e50;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.25rem;font-weight:600;overflow:hidden}.entete-modal-box{background:#fff;border-radius:10px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 8px 30px #0000002e}.entete-modal-header{background:#f8f9ff;border-bottom:1px solid #e8e8e8;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.entete-modal-header h2{color:#333;align-items:center;gap:8px;margin:0;font-size:1.1rem;font-weight:600;display:flex}.entete-modal-header h2 i{color:#3f51b5}.entete-modal-body{flex-direction:column;gap:14px;padding:20px;display:flex}.entete-modal-footer{background:#fafafa;border-top:1px solid #e8e8e8;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
